Angelo Fallaria
9567883fed
feat: add Display functionality for config errs
2 years ago
Angelo Fallaria
f78e40c67c
test: add tests for error display
2 years ago
EdenQwQ
85fe0f70f2
[update] config: support for ascii character as range
2 years ago
EdenQwQ
165d6b50af
[rustfmt] config
2 years ago
EdenQwQ
62cbe3e420
[update] config: basic range syntax(support numbers only)
2 years ago
EdenQwQ
f60903d2f3
[refactor, update] config: basic curly brace syntax
2 years ago
EdenQwQ
c7da0a4669
[update] config: a new function to extract all the items inside a pair of curly braces
2 years ago
EdenQwQ
a780a6ea4b
[update] config.rs: comment out unimplemented modifiers; add delete, brightness
2 years ago
EdenQwQ
4eea8ee20f
improve(server): collapse nested if block; &String to &str
2 years ago
EdenQwQ
7541118640
improve(daemon): collapse nested if block; use vec! instead of Vec::new()
2 years ago
Shinyzenith
870fcbf354
[remove] unused imports.
2 years ago
Angelo Fallaria
2739434273
refactor(daemon): reduce indent w/ guard clause
2 years ago
Angelo Fallaria
ce3b551628
style: fix formatting w/ rustfmt
2 years ago
Angelo Fallaria
7098ff3aab
refactor(config): put test-only modules in own mod
...
std::fs and std::io::Write are used in the unit tests,
but not in the main program itself, which results in a
warning by the Rust compiler. They are now only used
in the test module, when `cargo test` is run.
2 years ago
Angelo Fallaria
e10d2ac005
fix(config): alleviate panic on blank config filee
...
Whenever the config parse was parsed an empty config,
a panic would result because of trying to process an
empty vector:
---- config::tests::test_blank_config stdout ----
thread 'config::tests::test_blank_config' panicked at 'index out of bounds: the len is 0 but the index is 0', src/config.rs:237:33
This commit alleviates that by simply returning an empty
Hotkey vector whenever an empty config is passed.
2 years ago
EdenQwQ
106bef257c
added many keysyms
2 years ago
EdenQwQ
1ef54df4f7
support single keysym
2 years ago
Shinyzenith
92b8b6f24b
[feature] Do not allow multiple instances.
2 years ago
Shinyzenith
078135bc55
[update] Mention failed line on parse error.
2 years ago
Shinyzenith
44568d19fc
[Update] add printscr to enum
2 years ago
EdenQwQ
8499692702
Implement inline comments support when parsing config
2 years ago
Shinyzenith
a415b24323
[update] Example config file uploaded.
2 years ago
Shinyzenith
4eb86e8a74
[update] remove sock test
2 years ago
EdenQwQ
9886b6c194
fix the bug caused by wrong comparing method
2 years ago
Shinyzenith
bd1227a245
[Bug fix] fix auto repeat bug
2 years ago
Shinyzenith
0af29511f5
[wip] working cooldown
2 years ago
Shinyzenith
e949a8bd72
[wip] Check last hotkey for duplicate removal.
2 years ago
EdenQwQ
4d3c58cca8
rustfmt
2 years ago
EdenQwQ
d5ba98f2f3
fix
2 years ago
EdenQwQ
48c1e58564
finish
2 years ago
EdenQwQ
902a2b545f
a hashmap from evdev:Key to config::Modifiers
2 years ago
EdenQwQ
ed00571241
small improvement
2 years ago
Shinyzenith
cc2c0f4f68
[update] lower sleep time.
2 years ago
Shinyzenith
25987beba6
[testing] Documentation.
2 years ago
Shinyzenith
465c155be5
[testing]Print possible matches based on key count
2 years ago
Aakash Sen Sharma
6ac6ede0d9
[merge] Config handler refactor by EdenQwQ
...
[feature] Ignore duplicate key signatures by EdenQwQ
2 years ago
Shinyzenith
61633a5799
[update] Concise notation.
2 years ago
EdenQwQ
34c2426e03
modify test to make sure this also work with empty modifier
2 years ago
EdenQwQ
d697eaea36
ignore duplicated keys
2 years ago
EdenQwQ
d83063fc1e
convert to lowercase
2 years ago
Eden
eca333e62e
Merge pull request #29 from waycrate/config_new
...
refactor
2 years ago
Shinyzenith
bdc878ea45
[Remove] test code was pushed on accident.
2 years ago
Shinyzenith
978fa8195b
[update] Change git slug
2 years ago
Shinyzenith
45b3b1b260
[update] make all fields in hotkey struct, pub
2 years ago
EdenQwQ
271c8c32b2
finished
2 years ago
EdenQwQ
d007cfdace
join lines ending with backslash and have the same type before actual parsing
2 years ago
EdenQwQ
2e84be120e
a new vector called lines_with_types to store the position and the type of each line
2 years ago
EdenQwQ
c64ed4bcc3
ignore some tests concerning empty commands
2 years ago
Shinyzenith
70b8634de8
[update] Change git slug
2 years ago
Aakash Sen Sharma
707ca1b816
Merge branch 'main' into config
2 years ago
Angelo Fallaria
560f69dc0a
test: refactor return statement in tests
...
In many tests, the structure at the end of the test function is like
this:
```rust
eval_test(...);
Ok(())
```
It can be simplified to just:
```rust
eval_test(...)
```
2 years ago
Angelo Fallaria
f9e0db9309
fix: remove unused code in parse_keybind
2 years ago
Angelo Fallaria
5ad8877e73
feat: allow empty commands
2 years ago
Angelo Fallaria
0f3f64551f
style(config): format w/ rustfmt
2 years ago
Angelo Fallaria
f272fcfc64
feat: add more modifiers
...
Modifiers added: Escape, BackSpace, Return, Tab, Minus, Equal, Grave
2 years ago
Angelo Fallaria
b06323540e
test: add tests for more keysyms
2 years ago
Angelo Fallaria
252e09a5d2
refactor: use 'map' instead of iteration for modifiers
2 years ago
Angelo Fallaria
5e2b74d923
feat: add detection of modifier keys
2 years ago
Angelo Fallaria
981d4c0387
refactor: reduce one line of indent in parsing
...
Checking if the current line is a command can be refactored
into a guard clause.
2 years ago
Angelo Fallaria
ff635cc3d9
refactor: remove unused 'keysyms' var in parse_contents
2 years ago
Angelo Fallaria
5aa87b60cc
test: add tests for invalid configs
2 years ago
Angelo Fallaria
b5ba778072
feat: add modifiers field to Hotkey
2 years ago
Angelo Fallaria
7a34a1e664
test: add #[test] to #[ignore] tests
2 years ago
Angelo Fallaria
1953fe269e
test: refactor valid config tests into a wrapper
2 years ago
Angelo Fallaria
920458cdf7
style: put the error checks next to each other
2 years ago
Angelo Fallaria
067cbe2843
feat: add handling for multiline commands
2 years ago
Angelo Fallaria
4fd18d753e
style: remove one whitespace in config.rs for clarity
2 years ago
Angelo Fallaria
60b3c7ff24
style: format w/ rustfmt
2 years ago
Angelo Fallaria
d886ff18eb
fix: return missing command line nr. w/ blank line
2 years ago
Angelo Fallaria
e2027b2a04
style: improve style w/ rustfmt
2 years ago
Angelo Fallaria
7117317001
style: slightly improve style of parse_contents
2 years ago
Angelo Fallaria
681d553654
test: add test wrapper function to check err types
2 years ago
Angelo Fallaria
66c3792927
test: remove test for commented-out commands
...
Reason: Commented commands can be handled by the shell itself.
There's nothing really wrong with a commented-out command.
2 years ago
Shinyzenith
ca629df880
[update] fixed pid file name.
2 years ago
Shinyzenith
f919ff91f3
[update] Warn on no server instances.
2 years ago
Shinyzenith
35d4960d87
[refactor] Simple IPC implementation using std::os
2 years ago
EdenQwQ
6fae0fce24
rustfmt, improve
2 years ago
Angelo Fallaria
4bce5f71d1
style: split the whitespace error return statement
2 years ago
EdenQwQ
b794b89c80
return the command line instead
2 years ago
EdenQwQ
84fd84cc65
error if command doesn't start with whitespace
2 years ago
EdenQwQ
a7529c49f2
small improvement
2 years ago
Angelo Fallaria
cffd1694d1
style: format config.rs using rust-analyzer
2 years ago
Angelo Fallaria
b47904b3f3
test: add test for command with blank space
2 years ago
Angelo Fallaria
c61e92a3a2
style: add comment in ParseError to explain u32 field
2 years ago
Angelo Fallaria
60c2539413
feat: add public load config function
2 years ago
Angelo Fallaria
d26c4666ee
test: edit tests to accomodate the edited functions
2 years ago
Angelo Fallaria
9b6d67f45e
refactor: make parse_contents accept string, not PathBuf
2 years ago
Angelo Fallaria
0a76516178
test: rewrite basic hotkey tests
2 years ago
Angelo Fallaria
d5a95a26ef
refactor: refactor file loading into own function
2 years ago
Angelo Fallaria
0266ab2718
refactor: rename key_presses field in Hotkey to keysyms
2 years ago
Angelo Fallaria
abe8987d79
refactor: rename Keybind to Hotkey
2 years ago
Angelo Fallaria
17d0f02baa
test: add blank tests to fill in later
2 years ago
Angelo Fallaria
d153526037
test: improve test for nonexistent file
2 years ago
Angelo Fallaria
fd9524eaf5
style: remove some newlines in start of parse_config
2 years ago
Angelo Fallaria
ebd9db0689
fix: remove unneeded PartialEq derive in enum
2 years ago
Angelo Fallaria
7103537e31
fix: return actual line number in error
...
Because arrays, vectors, and list-style structures in Rust are
zero-index, we need to increment the line number returned by errors
by one so that it represents their actual line numbers.
2 years ago
Angelo Fallaria
8918b03f6e
feat: add handling of empty command
2 years ago
Angelo Fallaria
5763be0a7b
style: improve styling and comments of config parse func
2 years ago
Angelo Fallaria
503f174672
feat: add more error situations in the config parser
2 years ago
Angelo Fallaria
c2c1a0285d
feat(config): return error if keybind at last line
2 years ago