Commit Graph

37 Commits

Author SHA1 Message Date
m-lima
d1b458e37b
chore(build): make the singlepass compiler opt-in through flags (#2146) 2023-02-13 17:52:10 +01:00
m-lima
5b3e1ecacd
chore(development): use singlepass in debug mode (#2134)
* Add new feature flags

* Use singlepass in debug mode

* Use Cow to avoid unnecessary copies

- Instead of removing and reinserting into the memory cache, use Cow to
  model both owned an borrowed data
- Log at debug-level the time to compile/load a wasm module
- A little clippy drive-by on touched files

* Satisfy the assumption from zellij-utils/src/consts.rs for target-dir

* Allow forcing cranlift in debug mode

* Remove deprecated comments

* PR comment: typo

* Remove extras
2023-02-07 17:55:37 +01:00
Aram Drevekenin
d1cacc3fa8
chore(repo): remove nix support (#2038) 2022-12-20 12:24:19 +01:00
har7an
d1f50150f6
WIP: Use xtask as build system (#2012)
* xtask: Implement a new build system

xtask is a cargo alias that is used to extend the cargo build system
with custom commands. For an introduction to xtask, see here:
https://github.com/matklad/cargo-xtask/

The idea is that instead of writing makefiles, xtask requires no
additional dependencies except `cargo` and `rustc`, which must be
available to build the project anyway.

This commit provides a basic implementation of the `build` and `test`
subcommands.

* xtask/deps: Add 'which'

* xtask/test: Handle error when cargo not found

* xtask/flags: Add more commands

to perform different useful tasks. Includes:

- clippy
- format
- "make" (composite)
- "install" (composite)

Also add more options to `build` to selectively compile plugins or leave
them out entirely.

* xtask/main: Return error when cargo not found

* xtask/build: Add more subtasks

- `wasm_opt_plugins` and
- `manpage`

that perform other build commands. Add thorough documentation on what
each of these does and also handle the new `build` cli flags
appropriately.

* xtask/clippy: Add job to run clippy

* xtask/format: Add job to run rustfmt

* xtask/pipeline: Add composite commands

that perform multiple atomic xtask commands sequentially in a pipeline
sort of fashion.

* xtask/deps: Pin dependencies

* xtask/main: Integrate new jobs

and add documentation.

* xtask: Implement 'dist'

which performs an 'install' and copies the resulting zellij binary along
with some other assets to a `target/dist` folder.

* cargo: Update xflags version

* xtask: Measure task time, update tty title

* xtask: Update various tasks

* xtask: wasm-opt plugins in release builds

automatically.

* xtask/build: Copy debug plugins to assets folder

* xtask: Add 'run' subcommand

* xtask: Add arbitrary args to test and run

* xtask: Rearrange CLI commands in help

* xtask: Add deprecation notice

* docs: Replace `cargo make` with `xtask`

* github: Use `xtask` in workflows.

* xtask: Add support for CI commands

* xtask: Streamline error handling

* github: Use new xtask commands in CI

* xtask: Add 'publish' job

* xtask/publish: Add retry when publish fails

* xtask: Apply rustfmt

* xtask: Refine 'make' deprecation warning

* xtask: add task to build manpage

* contributing: Fix e2e commands

* xtask/run: Add missing `--`

to pass all arguments following `xtask run` directly to the zellij
binary being run.

* xtask: Stay in invocation dir

and make all tasks that need it change to the project root dir
themselves.

* xtask/run: Add `--data-dir` flag

which will allow very quick iterations when not changing the plugins
between builds.

* xtask/ci: Install dependencies without asking

* utils: Allow including plugins from target folder

* utils/assets: Reduce asset map complexity

* utils/consts: Update asset map docs

* xtask: Fix plugin includes

* xtask/test: Build plugins first

because the zellij binary needs to include the plugins.

* xtask/test: Fix formatting

* xtask: Add notice on how to disable it
2022-12-17 13:27:18 +00:00
哇呜哇呜呀咦耶
8626e7ab40
update log path (#1927) 2022-11-13 23:25:37 +09:00
har7an
49b831c032
docs: Improve error handling docs (#1919)
* docs: Improve error handling docs

and add more TL;DRs and new sections about handling specific errors, and
logging errors.

* contributing: Add more coding tips
2022-11-09 18:01:36 +00:00
har7an
0711591ad3
docs: Describe how to handle Options as errors (#1805)
* docs: Describe how to handle Options as errors

* CONTRIBUTING: Add tips for code contributions

which will be home to condensed tips and best-practices around the
zellij code. Currently explains to prefer returning `Result` types
instead of `unwrap`ing on them.

The tips in here are meant to be short, concise guides that allow the
user to get started without a lot of reading. The individual tips can
(and should) be supplemented with links to "further reading" where the
topic at hand is explained in greater detail.
2022-10-18 14:14:38 +00:00
Aram Drevekenin
68c5f1e051
docs(contributing): document logging (#1627)
* docs(contributing): document logging

* docs(contributing): add logging example
2022-08-01 18:07:06 +02:00
a-kenji
f3d8b31635
fix(readme): cargo install instructions (#1616) 2022-07-29 18:59:50 +02:00
a-kenji
d71c212fe8
chore(docs): add more matrix links (#1581) 2022-07-10 19:51:01 +02:00
a-kenji
147fd729dc docs(contrib): fix markup 2022-03-04 17:43:31 +01:00
a-kenji
8a9fb73791
docs(contributing): add a small nix section (#1172) 2022-03-04 16:33:42 +01:00
a-kenji
a7e2d55aa7
docs(add): podman as alternative to docker (#1137) 2022-02-27 13:21:36 +01:00
Ken Matsui
1dd548eb2b
fix(docs): add information about clippy lints (#1126) 2022-02-27 11:52:20 +01:00
Ken Matsui
abbf40e014
fix(docs): fix a grammatical error in CONTRIBUTING.md (#1070)
The verb `consider` is followed by a gerund form verb.
When you want to follow `consider` by to-infinitive verb, you should use it with a pronoun.
2022-02-24 11:35:23 +01:00
Joseph Post
485b9e4f98
fix: Update CONTRIBUTING.md (#909)
added a newline to fix URLs
2021-11-30 08:01:24 +01:00
Ken Matsui
382acd9fc8
fix(docs): Add additional e2e test instruction for macOS users (including m1) (#845) 2021-11-09 17:37:54 +01:00
Ken Matsui
b61489c218
fix(docs): fix wrong arguments for cargo make run given in CONTRIBUTING.md (#819) 2021-10-31 20:41:49 +01:00
Aram Drevekenin
a232a8c39d
docs(contributing): clean up language 2021-09-29 16:17:06 +02:00
a-kenji
da415657df Add new dependencies to CONTRIBUTING.md 2021-06-29 23:19:23 +02:00
Aram Drevekenin
3313634fe9
Add e2e tests (#582)
* feature(tests): e2e tests

* chore(build): github action

* chore(build): fix workflow

* chore(build): fix workflow

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* working

* working

* working

* bring back the proper errors

* make e2e flow run properly

* style(fmt): make rustfmt happy

* style(fmt): make rustfmt happy

* run on everything just to test the workflow

* bring back running behaviour on workflow
2021-06-21 10:45:18 +02:00
Matthias
7f67e6d97f
docs(contributing): add the invite link to the discord server (#570) 2021-06-10 09:23:26 +02:00
a-kenji
0dfd610388 chore(docs): Fix references
* `xrdb` is not included currently
2021-05-19 10:48:30 +02:00
NKGoc
24b4ae831c wrapped lines in CONTRIBUTING.md 2021-05-05 12:07:47 +02:00
NKGoc
0ab7a51d04 simplifications 2021-05-05 12:05:05 +02:00
a-kenji
d0d83b048d docs(contributing): Update Dependencies 2021-05-02 16:14:27 +02:00
Brooks J Rady
a52aa9be97 docs(build): update CONTRIBUTING.md 2021-04-14 19:11:24 +01:00
Brooks J Rady
6f4dcfbf65 fix(clippy): get ci passing again 2021-04-13 18:14:13 +01:00
Brooks J Rady
d2a7d100ac docs(build): documented the new build system 2021-04-13 16:06:04 +01:00
a-kenji
0e88c921d0
Doc build (#207)
* docs(build): Add information about binaryen dep

* docs(build): Add information about binaryen dep
2021-02-24 17:05:19 +01:00
Brooks J Rady
0f5363679d Add updated build instructions 2021-02-16 18:40:20 +00:00
henil
30f0567d8a Update references of mosaic to Zellij in md files 2021-02-10 12:12:19 +05:30
henil
b1006b9f4d Follow Conventional commits where necessary 2021-02-05 21:03:24 +05:30
henil
81989ede17 change heading level 2021-02-04 18:51:00 +05:30
henil
0854461519 fix links 2021-02-04 18:48:47 +05:30
henil
c906a8b2fa removed CHANGELOG for now and added some more details 2021-02-04 14:51:11 +05:30
henil
aa8da0b142 Add initial issue template and CONTRIBUTING.md 2021-01-31 12:12:55 +05:30