Michael Davis
467fad51b1
clipboard: Sway builtin provider yank and paste commands
...
The configuration here is not super intuitive - in order to yank from
a clipboard provider we want it to paste the clipboard and in order to
paste to the clipboard we want it to yank the contents we pass.
This swaps the programs for yank and paste to align with that.
Ref #10839
2024-11-20 18:10:46 -05:00
Michael Davis
b855cd0cda
clipboard: Fix builtin_names for x-clip, x-sel, win-32-yank
...
Copy/paste error from #10839
2024-11-20 18:10:31 -05:00
Alfie Richards
68ee87695b
Add clipboard provider configuration ( #10839 )
2024-11-20 16:06:23 -06:00
Christopher Smyth
5e3de68591
FIx incorrectly spelled cfg options ( #10703 )
...
* Fix incorrect cfg key for wasm32
* Fix unicode-lines cfg in helix-view not not being used
2024-05-07 18:14:02 +02:00
Tshepang Mbambo
3e2b85c61b
remove redundant imports ( #10154 )
2024-04-04 23:28:44 +09:00
Michael Davis
6d724a8f33
Re-export `which` from `helix-stdx::env`
...
We use `which::which` in many crates, so `which` was a separate
dependency across all of them. We can centralize `which` into the
stdx crate so it's easy for all crates to depend on it.
I also moved the rest of `helix-view/src/env.rs` into helix-stdx's
`env` module since it only contained a thin wrapper around `which`
and `std::env`.
2024-01-24 15:47:49 +09:00
Jonathan LEI
8778083b5a
Detect tmux clipboard provider on macOS ( #8182 )
2023-09-06 14:01:32 +09:00
ZJPzjp
3b8c15618f
Fix warnings from clippy ( #7013 )
...
* Fix warnings from clippy
* revert MAIN_SEPARATOR_STR
2023-05-11 14:44:52 +09:00
Pascal Kuthe
8a3ec443f1
Fix new clippy lints ( #5892 )
2023-02-09 16:27:08 -06:00
Skyler Hawthorne
0e038fb80c
make clipboard message debug
2023-02-02 14:53:18 -05:00
gavynriebau
cce19713fb
Fix for lost clipboard contents ( #5424 ) ( #5426 )
...
* Fix for lost clipboard contents (#5424 )
* PR feedback: Call "setsid" for all unix systems
* PR Feedback: Only install libc for unix targets
2023-01-16 16:13:48 +09:00
Jonathan LEI
d3f670c0e2
Use OSC 52 for tmux copy ( #5027 )
2022-12-07 11:11:45 +09:00
Charlie Groves
1bed2f3043
Use OSC 52 as a fallback for setting the system clipboard ( #3220 )
...
This adds a simple base64 implementation to keep us from adding a crate for one function. It's
mostly based on
a675443d32/src/engine/naive.rs (L42)
2022-11-02 10:12:40 +09:00
Skyler Hawthorne
6a0b450f55
Fix multi byte auto pairs ( #4024 )
...
* Fix test::print for Unicode
The print function was not generating correct translations when
the input has Unicode (non-ASCII) in it. This is due to its use of
String::len, which gives the length in bytes, not chars.
* Fix multi-code point auto pairs
The current code for auto pairs is counting offsets by summing the
length of the open and closing chars with char::len_utf8. Unfortunately,
this gives back bytes, and the offset needs to be in chars.
Additionally, it was discovered that there was a preexisting bug where
the selection was not computed correctly in the case that the cursor
was:
1. a single grapheme in width
2. this grapheme was more than one char
3. the direction of the cursor is backwards
4. a secondary range
In this case, the offset was not being added into the anchor. This was
fixed.
* migrate auto pairs tests to integration
* review comments
2022-10-21 09:22:20 +09:00
Blaž Hrastnik
d993c6349b
One more windows fix...
2022-08-22 10:29:11 +09:00
Blaž Hrastnik
e863f6fe27
Fix compilation on windows
2022-08-22 10:18:53 +09:00
Blaž Hrastnik
cb7615e0ed
Make external terminal provider configurable
...
Fixes #1699
2022-08-22 10:11:04 +09:00
Amit Beka
fe3a9a868e
clipboard: add logging and healthcheck ( #3271 )
...
* add logging to clipboard setup
* healthcheck: add clipboard provider name
Co-authored-by: amitbeka <--->
2022-07-31 17:05:34 +09:00
Kirawi
77ff8d3550
cfg-gate unused functions on macos & windows ( #2332 )
2022-05-02 23:31:23 +09:00
Blaž Hrastnik
ade4cbffaa
Add a nop clipboard provider for wasm
2022-05-01 11:39:31 +09:00
جاد
a9635659f7
Reintroduce win32yank as a clipboard provider on Linux for WSL2 + Windows 10 ( #1912 )
...
* feat(clipboard): reintroduce win32yank for wsl2 linux
* refactor(clipboard): adjust win32yank position to not interrupt wayland/x11
Co-authored-by: jiqb <gthbji@ml1.net>
2022-04-01 11:35:47 +09:00
Blaž Hrastnik
511f37c736
clipboard: fix import on macOS
2022-03-28 11:08:38 +09:00
Blaž Hrastnik
8611c5b84e
Refactor clipboard to make it easier to feature gate std::process
2022-03-28 11:02:56 +09:00
Blaž Hrastnik
adf97e088e
Simplify get_clipboard_provider by defining one per host
2022-03-03 16:52:41 +09:00
Kirawi
0cb5e0b2ca
log syntax highlighting init errors ( #895 )
2021-10-23 21:52:18 +09:00
Blaž Hrastnik
6dd7dc4eb2
fix: xsel copy should not freeze the editor
...
If using --nodetach, xsel would end up continually running in the
foreground, so the command execution would never finish.
Fixes #630
2021-08-22 15:01:12 +09:00
Shafkath Shuhan
b63afbe74c
fix warnings
2021-08-18 11:45:01 -07:00
Dmitry Sharshakov
7d51805e94
Support primary clipboard ( #548 )
...
* clipboard-none: add in-memory fallback buffer
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* view: add Wayland primary clipboard
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Format
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* helix-term: copy to primary selection after mouse move stops
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* helix-term: don't update primary selection if it is a single character
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* helix-term: discard result of setting primary selection
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* helix-term: add commands for interaction with primary clipboard
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* editor: implement primary selection copy/paste using commands
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* clipboard: support xsel for primary selection
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* clipboard: support xclip for primary selection
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* helix-term: multiple cursor support for middle click paste
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* rename primary selection to primary clipboard in scope of PR
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* helix-term: make middle click paste optional
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Format
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Update helix-term/src/ui/editor.rs
* fix formatting
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* config: correct defaults if terminal prop is not set
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* refactor: merge clipboard and primary selection implementations
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Tidy up code
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* view: remove names for different clipboard/selection providers
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Update helix-view/src/clipboard.rs
Co-authored-by: Gokul Soumya <gokulps15@gmail.com>
* helix-view: tidy macros
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* helix-term: refactor paste-replace commands
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* helix-term: use new config for middle-click-paste
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* clipboard: remove memory fallback for command and windows providers
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* clipboard-win: fix build
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* clipboard: return empty string when primary clipboard is missing
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* clipboard: fix errors in Windows build
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
Co-authored-by: Gokul Soumya <gokulps15@gmail.com>
2021-08-12 11:53:48 +09:00
Kirawi
acaf22d005
Added native Windows clipboard support ( #373 )
...
* Added native Windows clipboard support
* make conditional
wip
better conditional
wip
wip
wip
wip
make conditional
2021-06-30 17:11:56 +09:00
Blaž Hrastnik
994ff4b269
Don't run wl-copy with --foreground
...
It stalls the hx process
2021-06-21 19:06:57 +09:00
Benoît CORTIER
a2b8cfca34
Add system clipboard yank and paste commands
...
This commit adds six new commands to interact with system clipboard:
- clipboard-yank
- clipboard-yank-join
- clipboard-paste-after
- clipboard-paste-before
- clipboard-paste-replace
- show-clipboard-provider
System clipboard provider is detected by checking a few environment
variables and executables. Currently only built-in detection is
supported.
`clipboard-yank` will only yank the "main" selection, which is currently the first
one. This will need to be revisited later.
Closes https://github.com/helix-editor/helix/issues/76
2021-06-20 23:25:53 +09:00