Commit Graph

304 Commits

Author SHA1 Message Date
Federico Terzi
69001c6546 Move the incompatible backend warning 2020-03-08 20:17:47 +01:00
Federico Terzi
43a82872d3 Add "other" event type on macOS to improve word matches reliability 2020-03-08 20:11:57 +01:00
Federico Terzi
5273d8b805 Add register special keys to improve word matches reliability 2020-03-08 19:51:38 +01:00
Federico Terzi
33cfb156db Change way Inject backend handles multiline matches on Linux 2020-03-08 19:10:26 +01:00
Federico Terzi
23095d4394 Add Auto backend to automatically switch between Inject and Clipboard on Linux based on match content 2020-03-08 19:06:01 +01:00
Federico Terzi
3221b41d01 Add ! and ? characters as word separators 2020-03-08 18:37:26 +01:00
Federico Terzi
fb032deb56 Refactor Windows context with new anti self-injection mechanism 2020-03-08 09:57:21 +01:00
Federico Terzi
6235377b86 Refactor anti self-injection mechanism 2020-03-08 00:23:26 +01:00
Federico Terzi
3e3f314aa2 Add clipboard extension. Fix #192 2020-03-03 00:18:46 +01:00
Federico Terzi
9183e1f1b9 Merge branch 'case-propagation' into dev 2020-03-02 23:51:45 +01:00
Federico Terzi
4e6de02410 Implement case propagation. Fix #152 2020-03-02 23:51:31 +01:00
Federico Terzi
0c37ccec06 Add propagate_case option to matches and related automatic trigger generation 2020-03-02 22:03:56 +01:00
Federico Terzi
06a6e75e8d Refactor edit subcommand to consider the case of handling corrupted configuration files 2020-03-02 21:51:53 +01:00
Federico Terzi
73557b6af8 Refactor matches to support multiple triggers. Fix #144 2020-03-02 21:43:26 +01:00
Federico Terzi
d7160dc6b7 Add missing import 2020-02-29 19:20:38 +01:00
Federico Terzi
1c63295a56 Change warning level of utf8 decoding log, as with snap packages it became too verbose. 2020-02-29 18:55:19 +01:00
Federico Terzi
7921e0fcdc Change urxvt terminal paste shortcut to CTRL+ALT+V. Fix #166 2020-02-28 21:38:15 +01:00
Federico Terzi
3e98748c54 Add edit subcommand. Fix #171 2020-02-27 21:56:20 +01:00
Federico Terzi
a89438f3ba First draft of edit-command on windows 2020-02-26 21:24:02 +01:00
Federico Terzi
0ee8ffbcef Make preserve_clipboard option enabled by default 2020-02-26 21:04:24 +01:00
Federico Terzi
ec68fd767a Add the possibility to escape double brackets in replacements. Fix #187 2020-02-26 21:03:52 +01:00
Federico Terzi
f429f58027 Fix #186 2020-02-26 20:55:09 +01:00
Federico Terzi
0dfcb9cef7 First draft of global variables. Fix #162 2020-01-26 23:56:50 +01:00
Federico Terzi
a6282b1a9d Add delay to mitigate clipboard restoration race condition. Fix #148 2020-01-26 22:40:32 +01:00
Federico Terzi
025d00ad26 Add options to selectively disable active and passive mode 2020-01-26 22:30:54 +01:00
Federico Terzi
793855a515 Merge branch 'feature-passive' into dev
# Conflicts:
#	src/config/mod.rs
2020-01-22 22:09:06 +01:00
Federico Terzi
86586623cc Add trigger_copy implementation on MacOS 2020-01-22 21:51:36 +01:00
Federico Terzi
67e8ece408 Add tests for #153 2020-01-21 23:11:14 +01:00
Federico Terzi
73c8f5be86 Add check to warn the user about conflicting triggers. Fix #135 2020-01-21 21:58:10 +01:00
Federico Terzi
6135787eb0 Add passive mode Windows implementation 2020-01-21 00:22:22 +01:00
Federico Terzi
6e03e7e8e4 Add passive only matches 2020-01-20 00:03:23 +01:00
Federico Terzi
e2c98284b6 Add check to avoid espanso reinterpreting its own actions 2020-01-19 23:41:11 +01:00
Federico Terzi
9332899969 First draft of working passive mode on linux 2020-01-19 00:30:30 +01:00
Federico Terzi
9e5a2a7c95 Add argument handling in extensions 2020-01-18 23:33:02 +01:00
Federico Terzi
6378aa3bcc Add argument rendering in passive matches 2020-01-18 22:55:50 +01:00
Federico Terzi
0eb58704a9 First steps in passive match rendering 2020-01-10 23:29:21 +01:00
Federico Terzi
6eec895b21 Move match rendering to standalone component. Add support for nested triggers ( Fix #110 ) 2019-12-22 00:06:55 +01:00
Federico Terzi
47f2cc1661 Add preserve_clipboard mode 2019-12-13 23:17:53 +01:00
Federico Terzi
fc532d1a9c Merge branch 'preserve-clipboard' into feature-clipboard-saving 2019-12-13 23:00:24 +01:00
Federico Terzi
4c172a9d54 Add Random Extension to enable non-deterministic matches 2019-12-13 22:52:24 +01:00
Federico Terzi
5db9d92642 Fix shell extension tests on Windows 2019-12-13 22:33:35 +01:00
Federico Terzi
12fc31700e Add trim option to shell extension and tests 2019-12-13 22:28:43 +01:00
Federico Terzi
db2ff8c6ca Fix bug that prevented espanso from working with Emacs #122 2019-12-13 22:05:56 +01:00
Federico Terzi
284482e2d5 Attempt to improve support for Simple terminal on linux. #112 2019-12-13 21:57:06 +01:00
Federico Terzi
1f5cdc025d Fix #139 #134 2019-12-13 20:45:50 +01:00
Matt Harrison
92d99c30bc
preserve the current clipboard when using the Clipboard backend.
Store the current clipboard and restore it after the expansion has been
pasted.
This prevents your current clipboard from being lost if using the
Clipboard backend.
2019-12-11 12:12:40 -05:00
Federico Terzi
3873bccdd8 Fix bug that prevented a test from working correctly 2019-11-30 19:06:19 +01:00
Federico Terzi
87ca08c059 Add Shift Insert shortcut on Linux backend 2019-11-29 22:20:37 +01:00
Federico Terzi
182d44580a Add configurable Paste shortcuts. Helps to fix #130 2019-11-29 22:09:02 +01:00
Federico Terzi
f884ade3ff Add image clipboard backend on Linux 2019-11-29 21:38:29 +01:00
Federico Terzi
89d0bd8596 Add Windows backend on Image clipboard 2019-11-29 00:01:26 +01:00
Federico Terzi
283db379c8 Move image check in the engine 2019-11-28 23:06:12 +01:00
Federico Terzi
5c875eeaed Refactor to generalize Match and implemented macOS backend for image clipboard 2019-11-28 22:56:00 +01:00
Nikita Tchayka
746957c65c Allow turning the toggle key off 2019-11-24 21:55:55 +00:00
Federico Terzi
fddc4980c0 Add a command line option to print the default configuration file path, useful to rapidly edit the configs. 2019-11-08 22:20:32 +01:00
Federico Terzi
bee17c262a Fix #109 2019-11-01 21:35:57 +01:00
Federico Terzi
0237c9e061 Add the 22th Ascii character, produced by the CTRL+V combination on Linux, as word separator to workaround a bug that prevented multiple word matches from being expanded on Linux. 2019-10-26 22:37:38 +02:00
Federico Terzi
2c9a9c2287 Merge branch 'feature-pointer' into dev 2019-10-25 22:37:12 +02:00
Federico Terzi
b63e2b2592 Add cursor position implementation on Linux 2019-10-25 22:34:31 +02:00
Timo Runge
888a0f32ec High res status icon for macOS. Fix #98. 2019-10-24 21:43:34 +02:00
Federico Terzi
8afacf4efb Refactor cursor hint to support dynamic matches 2019-10-24 18:48:55 +02:00
Federico Terzi
861030ab7a Fix bug that prevented espanso detect from working correctly on macOS. Fix #91 2019-10-23 20:55:54 +02:00
Federico Terzi
1a3e2c7111 Attempt to fix #98 2019-10-23 20:17:38 +02:00
Federico Terzi
0c8812eb02 Improve word matches support on macOS 2019-10-23 19:26:06 +02:00
Federico Terzi
4f9be699ac Add cursor position implementation for MacOS 2019-10-23 19:13:21 +02:00
Federico Terzi
9bbdb8d95f First draft of Cursor Position hint on Windows 2019-10-22 23:03:58 +02:00
Federico Terzi
34ce0ee9b1 Refactor matcher to support word separators 2019-10-22 20:41:33 +02:00
Federico Terzi
2e60042b2b Improve newline support on windows for Word matches 2019-10-21 23:52:03 +02:00
Federico Terzi
6c1977f48a First draft of the word separation feature, proposed in issue #82 2019-10-19 23:31:05 +02:00
Federico Terzi
43b079017d Include support for $HOME/.config/espanso directory location. Fix #88 2019-10-19 21:52:42 +02:00
Federico Terzi
a557cc0bf7 Fix wrong path subcommand output. Fix #89 2019-10-19 21:45:27 +02:00
Federico Terzi
5537d70989 Fix bug that caused the deprecation warning message to be printed multiple times. Fix #85. 2019-10-19 21:44:59 +02:00
Federico Terzi
b542800c03 Fix #84 2019-10-12 16:24:08 +02:00
Federico Terzi
fc74483369 Add systemd integration on Linux. Fix #80 2019-10-11 23:35:17 +02:00
Federico Terzi
640fac5bf5 Add unicode match support on MacOS 2019-10-11 21:40:46 +02:00
Federico Terzi
de296b77ea Add windows support to unicode matches 2019-10-10 21:34:50 +02:00
Federico Terzi
a19b90e50a Convert matching system to unicode strings instead of chars. Fix #78 2019-10-10 20:53:27 +02:00
Federico Terzi
ebc4cacd27 Make Clipboard the default backend on Linux. Partial fix for #76 2019-10-10 19:19:26 +02:00
Federico Terzi
6ef8ec0cdb Add portable mode. Fix #81 2019-10-10 18:36:24 +02:00
Federico Terzi
cfbb15ac48 Moved default location for configuration and packages. Fix #73. Merge #77. Create path subcommand. Updated tests 2019-10-09 00:37:42 +02:00
Sefa Eyeoglu
59206b6384 fix: put package directory in config path. 2019-10-08 19:00:56 +02:00
Sefa Eyeoglu
c0f4fe04ac fix: create packages directory in correct path 2019-10-08 18:33:46 +02:00
Sefa Eyeoglu
fe1c3afa82 fix: use local data dir for context module, too 2019-10-08 18:33:25 +02:00
Sefa Eyeoglu
a4146d2402 fix: use correct system directories for configs and packages 2019-10-08 18:05:30 +02:00
Federico Terzi
c704ab3c82 Add package uninstall option. Fix #63 2019-10-04 21:53:22 +02:00
Federico Terzi
ca4ed6013c Fix #54 2019-09-30 22:51:18 +02:00
Federico Terzi
a5347cfffe Improve code quality and add tests 2019-09-28 10:44:25 +02:00
Federico Terzi
7ddd7f8235 Add icon to notification on linux. Fix #48 2019-09-28 10:04:45 +02:00
Federico Terzi
a51e140117 Fix #52 2019-09-28 09:56:59 +02:00
Federico Terzi
b4b89704c3 First draft of complete package manager functionality 2019-09-27 23:41:15 +02:00
Federico Terzi
6fa2204aa8 Fix #42 2019-09-27 23:06:52 +02:00
Federico Terzi
35ee1950cf Fix bad leak when using WalkDir on linux 2019-09-27 22:12:34 +02:00
Federico Terzi
909ad6b6ee Add package parsing from README 2019-09-26 21:01:12 +02:00
Federico Terzi
6765702d4a Implement install package 2019-09-26 18:21:27 +02:00
Federico Terzi
76439e28fe Add git cloning 2019-09-26 10:58:24 +02:00
Federico Terzi
79d803386b First steps in install package method 2019-09-26 10:33:28 +02:00
Federico Terzi
16aff94dda Add package manager update operation with tests 2019-09-26 09:45:00 +02:00
Federico Terzi
fb8018d855 Add local index in package manager 2019-09-25 20:52:21 +02:00
Federico Terzi
c9ecdabb25 Refactored configuration file structure and add parent hierarchy 2019-09-24 22:53:12 +02:00
Federico Terzi
efc6a9c860 Change default config structure 2019-09-23 23:34:55 +02:00
Federico Terzi
a0b0842273 Convert .yaml extension to .yml Fix #43 2019-09-23 22:08:46 +02:00
Federico Terzi
9e8272944b Fix #41 2019-09-22 15:08:47 +02:00
Federico Terzi
afbb5553b8 Add automatic deploy to Homebrew on CI 2019-09-21 18:59:29 +02:00
Federico Terzi
ae0f68d0ea Test CI should fail 2019-09-21 18:21:26 +02:00
Federico Terzi
32dce72acf Rename install/uninstall to register/unregister 2019-09-20 22:33:14 +02:00
Federico Terzi
78451d122a Fix bug on Windows that prevented ALT key from being registered correctly 2019-09-18 10:28:34 +02:00
Federico Terzi
8e6af972ad Create macOS install/uninstall subcommands 2019-09-17 00:11:31 +02:00
Federico Terzi
2af285d01d Fix warnings on macOS 2019-09-16 17:52:33 +02:00
Federico Terzi
077bf76887 Merge branch 'readme' 2019-09-16 14:42:59 +02:00
Federico Terzi
463432d981 Update default config 2019-09-16 14:42:51 +02:00
Federico Terzi
7e71baed7e Clean up tray icon on windows when exiting 2019-09-16 11:59:23 +02:00
Federico Terzi
8e6c536673 Remove warnings and add espanso version to logs 2019-09-16 11:47:25 +02:00
Federico Terzi
14268b1bc7 Add clipboard support on Windows. Fix #8 2019-09-16 11:35:05 +02:00
Federico Terzi
478d30189f Implement start subcommand on Windows. Fix #34 2019-09-16 10:56:14 +02:00
Federico Terzi
6e6f644472 Add ipc support on Windows. Fix #28 2019-09-16 10:16:37 +02:00
Federico Terzi
b84418cea8 Add GPL preamble 2019-09-15 18:29:11 +02:00
Federico Terzi
05ec00698f Fix #32 2019-09-15 16:04:27 +02:00
Federico Terzi
69b026c73c Fix #33 2019-09-15 15:51:29 +02:00
Federico Terzi
29629afa52 Solve some TODOs 2019-09-15 15:46:24 +02:00
Federico Terzi
fbee38d5b8 Add prechecks 2019-09-15 15:39:18 +02:00
Federico Terzi
a2b3ab90f0 Add Match deserialization tests 2019-09-15 15:19:11 +02:00
Federico Terzi
1181ac9beb Add script extension 2019-09-15 15:05:41 +02:00
Federico Terzi
7122bd37eb Add shell extension 2019-09-15 14:33:27 +02:00
Federico Terzi
b70d99c7ab Add extension mechanism and date extension 2019-09-15 13:03:21 +02:00
Federico Terzi
43dc66c25e Improve logging. Add log subcommand 2019-09-14 22:54:16 +02:00
Federico Terzi
b40778cc84 Add match merging with parent config. Fix #16. Fix #17 2019-09-14 22:14:39 +02:00
Federico Terzi
7a679c6395 Add start/stop/restart subcommands. Fix #24. Fix #23. Fix #26 2019-09-14 21:38:47 +02:00
Federico Terzi
2b4835171a Add IPC on Unix systems 2019-09-14 20:13:09 +02:00
Federico Terzi
041f53842f First steps in ipcmanager 2019-09-14 12:19:11 +02:00
Federico Terzi
7a680bf0b1 Refactor log location 2019-09-14 10:30:51 +02:00
Federico Terzi
d2b812b275 Create start subcommand implementation for unix systems 2019-09-14 10:03:25 +02:00
Federico Terzi
4a2b0b9881 Add lock file to prevent multiple instances from running. Add status subcommand. Fix #5. Fix #22 2019-09-14 00:38:45 +02:00
Federico Terzi
c899fa9f52 Convert dump option to subcommand 2019-09-14 00:10:52 +02:00
Federico Terzi
6138fb1268 Add "detect" tool to simplify filters creation. Fix #21 2019-09-13 23:30:34 +02:00
Federico Terzi
2f87826881 Fix #12 2019-09-13 23:05:01 +02:00
Federico Terzi
d0270eb99b Refactor Linux events and add executable filter detection 2019-09-13 22:57:53 +02:00
Federico Terzi
3e976784b8 Add basic plist file 2019-09-13 16:17:47 +02:00
Federico Terzi
99f4cb96c4 Fix #1 #4 2019-09-13 15:26:17 +02:00
Federico Terzi
28c7cf1f09 Clean code and remove some TODOs 2019-09-13 15:03:03 +02:00
Federico Terzi
c63783d2fa Refactor event manager to use dynamic dispatch 2019-09-13 14:43:48 +02:00
Federico Terzi
2a60a87f3d Add MacOS context menu callback 2019-09-13 14:35:46 +02:00
Federico Terzi
1261a76bcd Add macos context 2019-09-13 11:55:42 +02:00
Federico Terzi
a19b070fde Fix tests on macos and linux 2019-09-13 11:50:39 +02:00
Federico Terzi
2e068154a7 Improve event handling system 2019-09-12 23:53:17 +02:00
Federico Terzi
8f47c6b216 Add context menu handling on windows 2019-09-12 23:24:55 +02:00
Federico Terzi
714dffe6c1 First draft of new event architecture 2019-09-12 22:14:41 +02:00
Federico Terzi
a8300832bc First draft of context menu on windows 2019-09-11 15:51:45 +02:00
Federico Terzi
1602f1c014 Add RuntimeConfigManager tests 2019-09-11 12:44:04 +02:00
Federico Terzi
550f298d54 Add some config manager tests 2019-09-10 23:32:43 +02:00
Federico Terzi
20fbb622a1 Add config_set tests 2019-09-10 22:53:45 +02:00