Commit Graph

318 Commits

Author SHA1 Message Date
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
Federico Terzi
bbf07a0ac0 Refactor Windows factory code 2019-09-10 18:23:27 +02:00
Federico Terzi
43a49ccc86 Add specific config field validation 2019-09-09 18:56:55 +02:00
Federico Terzi
e0bc3721e7 Moved config to custom module 2019-09-09 17:59:44 +02:00
Federico Terzi
d189d11114 Add config caching interval parameter 2019-09-09 17:48:29 +02:00
Federico Terzi
97841963b3 Add config caching 2019-09-09 17:45:08 +02:00
Federico Terzi
f4fecccd99 Add filters for class and executable 2019-09-09 17:20:10 +02:00
Federico Terzi
d59034390f Add disable setting 2019-09-09 17:13:58 +02:00
Federico Terzi
5bc8de2408 Add clipboard backend for MacOS. Fix #9 2019-09-09 17:03:59 +02:00
Federico Terzi
1c0266c793 Add macos clipboard bridge implementation 2019-09-09 16:43:32 +02:00
Federico Terzi
90dd708014 Add system backend for MacOS 2019-09-09 15:46:57 +02:00
Federico Terzi
fbd053f67d Implement notification on MacOS 2019-09-09 15:15:01 +02:00
Federico Terzi
68fd2fccc1 Rename UI bridge 2019-09-08 13:50:09 +02:00
Federico Terzi
db902ab425 Improve Windows notification 2019-09-08 13:37:58 +02:00
Federico Terzi
4e98e4801d Add working windows notification mechanism 2019-09-08 12:31:36 +02:00
Federico Terzi
108220e82b First steps in windows notification 2019-09-08 00:51:08 +02:00
Federico Terzi
cd2c159696 Implement filter bindings for Windows and moved extern in bridge. Fix #13 2019-09-07 22:23:04 +02:00
Federico Terzi
d04bd9d7f6 First logging steps 2019-09-07 17:59:34 +02:00
Federico Terzi
2a4c411ca1 Add basic filtering in config 2019-09-07 16:48:55 +02:00
Federico Terzi
2332054bd2 Improve config manager and clean code 2019-09-07 16:13:13 +02:00
Federico Terzi
4f712db7cb Add check to load auxiliary config files 2019-09-07 13:55:31 +02:00
Federico Terzi
64d67eba99 First ConfigSet steps 2019-09-07 13:35:45 +02:00
Federico Terzi
5276dc262d Update config module to manage a directory instead of a file 2019-09-07 11:27:08 +02:00
Federico Terzi
9c680445f0 Add backend configuration option. Fix #10 2019-09-07 10:43:23 +02:00
Federico Terzi
30c127786d Add experimental support for clipboard backend on linux. 2019-09-07 00:38:13 +02:00
Federico Terzi
0a651cc187 Add modifier keys support on Linux. Fix #3 2019-09-06 22:38:21 +02:00
Federico Terzi
3114c7b7ff Add basic linux notification support 2019-09-06 22:30:20 +02:00
Federico Terzi
1b34e626c4 Add newline support on linux. Fix #6 2019-09-06 22:19:28 +02:00
Federico Terzi
d02f90bd44 First steps in macos notification 2019-09-06 16:06:41 +02:00
Federico Terzi
3479c9a709 Add newline support on MacOS 2019-09-06 10:49:05 +02:00
Federico Terzi
072d883583 Add experimental new line support for windows 2019-09-06 10:21:33 +02:00
Federico Terzi
e604749433 Add basic command line arguments support 2019-09-05 23:06:43 +02:00
Federico Terzi
778375c574 Add backspace corrections 2019-09-05 22:34:35 +02:00
Federico Terzi
189da97f0d Add enable toggle 2019-09-05 19:51:16 +02:00
Federico Terzi
e81e168f4f Add windows support for modifiers 2019-09-05 19:36:53 +02:00
Federico Terzi
5d51b856b3 Add trigger for toggle 2019-09-05 20:54:19 +02:00
Federico Terzi
2d9af53e74 Add modifier keys to macos 2019-09-05 19:18:55 +02:00
Federico Terzi
02c08c18da Add basic MacOS typing functionality 2019-09-05 18:34:03 +02:00
Federico Terzi
ab93bb6879 First steps in macos support 2019-09-05 17:20:52 +02:00
Federico Terzi
cafc3c158f Move config to external file 2019-09-04 20:30:38 +02:00
Federico Terzi
0be2c9cb84 Remove warnings 2019-09-04 19:33:14 +02:00
Federico Terzi
c5bbdf447b Add default espanso config file generation 2019-09-04 19:31:02 +02:00
Federico Terzi
94556d868f Add yaml config loading 2019-09-01 22:00:31 +02:00
Federico Terzi
796b08b430 Improve code quality 2019-09-01 20:46:46 +02:00
Federico Terzi
952fd89c42 Improve delay in linux config 2019-09-01 18:49:08 +02:00
Federico Terzi
0ba18eba51 Add basic typing functionality on linux 2019-09-01 16:50:20 +02:00
Federico Terzi
dc2868b217 Add initial linux interceptor implementation 2019-09-01 14:58:39 +02:00
Federico Terzi
191d350650 Add matching mechanism 2019-08-31 17:00:23 +02:00
Federico Terzi
0c860c0b5f Add engine and connecting between layers 2019-08-31 16:07:45 +02:00
Federico Terzi
c0cd826b45 Add windows send keys 2019-08-30 21:24:03 +02:00
Federico Terzi
c05652618f First windows sender channel implementation 2019-08-30 19:45:27 +02:00
Federico Terzi
197bd5be34 Add callback to windows implementation 2019-08-30 18:32:10 +02:00
Federico Terzi
b25858ad05 First attempt at Windows native bindings 2019-08-30 17:58:18 +02:00
Federico Terzi
356c1c7a44 First native windows bridge 2019-08-30 14:33:40 +02:00
Federico Terzi
39ec131ef9 First commit 2019-08-30 09:58:54 +02:00