Commit Graph

264 Commits

Author SHA1 Message Date
Aram Drevekenin
fbe8042695 HOTFIX: allow cargo publish 2021-05-04 16:58:23 +02:00
Aram Drevekenin
1f88b342e2
fix(colors): stabilize colors (#453)
* fix(colors): stabilize colors

* style(fmt): rustfmt
2021-05-04 16:06:55 +02:00
denis
ce1f81bcec chore: remove unused dependency from zellij-tile 2021-05-02 13:04:12 +03:00
denis
56cf446275 chore: added zellij-tile-extra, moved macros from zellij-tile 2021-05-02 12:57:48 +03:00
denis
452940fb65 Merge branch 'main' into x-colors 2021-05-02 11:59:20 +03:00
Yutaka Kamei
168deabea7
Load config before start()
Previously, a config file was loaded within `start()`, and if the config
file is invalid, Zellij was supposed to show a user what's wrong with
it. However, since `start()` starts setting up its terminal with an
alternative screen buffer, neither standard output nor standard error
could display such an error.

This change intends to address this issue by making Zellij load a config
file before `start()`.

In addition, the patch also includes some refactorings:

* Redefine `from_cli_config` with `TryFrom`, which was introduced in
  Rust 1.34
* Remove conditional declaration `cfg(not(test))` because `start()` now
  receive a `Config` as the third argument
* Introduce [`tempfile`](https://crates.io/crates/tempfile) in order to
  run tests with actual files
* Typo?: "Deserialisation" -> "Deserialization"
2021-05-02 06:18:40 +09:00
denis
f85822972a chore: cleanup, fix: the tests finally pass 2021-05-01 14:44:43 +03:00
denis
eabecde90b chore: painless merge this time 2021-05-01 13:45:01 +03:00
Aram Drevekenin
28af9f077d chore(version): boost development version to 0.7.0 and update changelog 2021-04-29 16:50:48 +02:00
Brooks J Rady
2814c30272 feat(plugin): added the get_plugin_ids() query function 2021-04-27 14:57:54 +01:00
denis
47a918a53c wip: merge main 2021-04-24 09:18:37 +03:00
Aram Drevekenin
20a6a8e844 chore(version): boost development version to 0.6.0 2021-04-23 11:59:35 +02:00
Aram Drevekenin
f2fa8839d4 chore(version): 0.5.1 2021-04-22 20:59:20 +02:00
denis
8d98ca7da0 wip: merge main in 2021-04-22 11:45:29 +03:00
Brooks J Rady
74cc48fc50 fix(release): beta tag breaks cargo install 2021-04-20 00:27:43 +01:00
Brooks J Rady
3d6312938f chore(release): bump version and add some pre-release info 2021-04-20 00:23:01 +01:00
Brooks J Rady
fee999ec40 fix(naming): made plugin terminology more consistent 2021-04-19 23:37:47 +01:00
Brooks J Rady
03011c1e5a fix(crates.io): fix outdated zellij-tile library 2021-04-14 20:04:02 +01:00
Brooks J Rady
e98dd69a88 chore(crates.io): bump version to publish 2021-04-14 19:20:27 +01:00
Brooks J Rady
a16a8ad6e3 chore(crates.io): bump version to publish 2021-04-13 20:58:23 +01:00
Brooks J Rady
ee70927611 chore(crates.io): bump version to test upload 2021-04-13 18:59:45 +01:00
Brooks J Rady
0e73227fe2 merge(main): update branch with changes from main 2021-04-13 16:17:40 +01:00
Brooks J Rady
d2a7d100ac docs(build): documented the new build system 2021-04-13 16:06:04 +01:00
denis
7774edd45a wip: need to figure out how to clear lines 2021-04-08 16:29:52 +03:00
Aram Drevekenin
1739f370f9
* fix(ui): react to terminal window size changes (SIGWINCH) (#245)
* fix(ui): react to terminal window size changes (SIGWINCH)

* style(fmt): rustfmt

* style(format): remove some warnings

* style(fmt): rustfmt
2021-04-01 17:38:13 +02:00
Brooks J Rady
ccc34f1fe2 Rudamentary running support implemented 2021-04-01 12:18:05 +01:00
denis
6e276ae386 wip: move Palette out of zellij-tile 2021-03-27 15:30:53 +02:00
denis
b71315b036 wip: latest plugin system merge in 2021-03-27 14:43:16 +02:00
Brooks J Rady
4c662fc6d0 Start porting to cargo-make 2021-03-26 16:01:22 +00:00
denis
2c402b0b1d wip: scary how messy it is, but it's a start 2021-03-26 16:42:38 +02:00
denis
a35cade8de wip: reading colors from xrdb 2021-03-25 18:05:16 +02:00
Brooks J Rady
f2f7758384 Merge in changes from main and fix clippy lints 2021-03-25 14:24:11 +00:00
Brooks J Rady
ac55e59047 Initial implementation of the update callback + upstream termion 2021-03-23 19:52:59 +00:00
Brooks J Rady
9bc7a268ce Merge changes from main 2021-03-23 16:42:54 +00:00
denis
448c426c2b Merge branch 'main' into focused-pane 2021-03-17 10:05:43 +02:00
Aram Drevekenin
8d0ff0fe40
feat(input): new shortcuts and ui (#220)
* feat(statusbar): new shortcuts

* feat(input): new shortcuts and ui

* style(fmt): rustfmt
2021-03-11 16:03:28 +01:00
Brooks J Rady
06bce9a1fd Deduplicate the WASM interface structs 2021-03-09 19:39:42 +00:00
Brooks J Rady
3e10e34575 Rename init() to load() in plugin API + Bump deps 2021-03-09 17:09:21 +00:00
denis
1a5d30d17d wip: visually marking the focused pane 2021-03-07 18:39:44 +02:00
Brooks J Rady
b6ce24280f infra(crates.io): clear the correct directory in build.rs 2021-02-26 09:27:59 +00:00
Brooks J Rady
a20e49d77e infra(crates.io): readd wasm assets to the repo 2021-02-26 09:09:54 +00:00
Jonah Caplan
ce54127d7d add basic tab bar #166 2021-02-25 01:44:10 -05:00
Aram Drevekenin
58c41c5ada chore(version): 0.1.1 2021-02-17 16:07:38 +01:00
henil
fb701afb0f Use temporary fork of termion for now
Because crates.io require each package in the dependency to be published on
crates.io
2021-02-10 17:26:13 +05:30
Brooks J Rady
9791970856 Well, it turns out that I spent 4 hours on something impossible... 2021-02-09 22:19:34 +00:00
Brooks J Rady
678a6f877c Work towards a functional build 2021-02-09 19:06:47 +00:00
Brooks J Rady
fd001860f4 Push the mosaic folder down a directory 2021-02-09 17:27:36 +00:00
Kyle Sutherland-Cash
b6fb330da3
refactor(input): hotkeys (#132)
* Initial definitions and thoughts for hotkeys

* Actually document InputKey properly

* Add a to string function for input keys

* Define keybinds and actions; restructure

* Implement hash and start on defining key bindings

* Derive Serialize for input keys

* Store the key strings as tuples for two-way mapping

* Some string to key functions

* Use termion's Key definition and implement action dispatch

* Fix some borrow-checker errors

* Missing keybind and command mode switching

* Fix incorrect handling of spawn terminal command

* fix(plugins): work with new input - tests not passing

* fix(infra): stabilize tests and properly close pty sessions

* style(fmt): rustfmt

Co-authored-by: Brooks J Rady <b.j.rady@gmail.com>
Co-authored-by: Aram Drevekenin <aram@poor.dev>
2021-02-05 11:28:34 +01:00
denis
bd1e3d2d7b Merge branch 'main' into server-client 2021-01-22 08:24:56 +02:00
Kyle
09b1e03843 Add some message types for server-client comms 2021-01-17 19:15:32 +00:00
Brooks J Rady
555f9af37a Install default layouts and plugins at build-time 2021-01-11 23:00:19 +00:00
Brooks J Rady
58a2fc1656 Finished plugin system! (Added file opening) 2021-01-07 15:23:54 +00:00
Brooks J Rady
6e19401200 Add LTO and use a termion fork with serde support 2021-01-07 12:20:52 +00:00
Brooks J Rady
01eaedcd37 Parse bytes into keys with Termion 2021-01-07 09:39:16 +00:00
Brooks J Rady
a6ba792e89 Also borken 2021-01-06 12:53:12 +00:00
Brooks Rady
22890c53fe
fix(plugins): fully Working WebAssembly Loading! (#125)
* Fully Working WebAssembly Loading!

* Move some wasm code to it's own module
2020-12-30 09:59:32 +01:00
Kunal Mohan
56c53d2487
feat(infra): add custom panic hook. Print backtrace and thread, error info on panic. (#75)
* Add custom panic hook. Print backtrace and thread, error info on panic.

* use sync_channel and SyncSender

* nit fixes and cleanup

* disable custom panic hook while running tests

* make separate errors.rs file and address other review comments

* improve panic message

* debug: does increasing time between snapshots make tests pass? (this is temporary)

* fix(tests): suspend before sending quit command

* fix(tests): add missing use

* style(format): commas are important apparently

* fix(tests): can we get away with reducing the QUIT suspense time?

* fix(tests): can we get away with 50?

Co-authored-by: Aram Drevekenin <aram@poor.dev>
2020-12-03 15:35:16 +01:00
Brooks J Rady
06b5ef8c26 Well, it compiles... 2020-11-25 19:39:45 +00:00
Aram Drevekenin
47954166a2
feat(ux): initial layout engine (#50)
* prototype

* refactor(layout): move stuff around

* style(format): make rustfmt happy
2020-11-15 19:55:56 +01:00
Aram Drevekenin
3ea03edfdd feat(ipc): send external ipc messages to active session through cli 2020-10-21 09:24:31 +02:00
Aram Drevekenin
bd5824ce3f feat(ipc): listen to external ipc messages including a basic api 2020-10-20 19:17:57 +02:00
Aram Drevekenin
9e204e0dcc tests! 2020-09-03 16:47:44 +02:00
Aram Drevekenin
b74dca4fa1 channels 2020-08-20 16:06:38 +02:00
Aram Drevekenin
22f109e8cf line wrap kinda working 2020-07-13 15:04:45 +02:00