Triton171
f044059a2a
Implement LSP workspace/configuration
and workspace/didChangeConfiguration
( #1684 )
...
* Implement LSP `workspace/configuration` request
* Implement LSP `workspace/didChangeConfiguration` notification.
* Simplify retrieval of LSP configuration
* Implement suggestions from PR discussion
Co-authored-by: Triton171 <triton0171@gmail.com>
2022-02-28 17:57:22 +09:00
Blaž Hrastnik
9712bbb23b
Use which to resolve lsp/dap binaries
...
This resolves the following issue: https://github.com/helix-editor/helix/discussions/962#discussioncomment-1580046
2022-02-24 11:38:40 +09:00
Blaž Hrastnik
7b1d682fe5
dap: fix runInTerminal with lldb-vscode
2022-02-18 14:37:59 +09:00
Blaž Hrastnik
d11b652139
Allow static strings in set_status/set_error so API is nicer
2022-02-15 16:45:28 +09:00
Blaž Hrastnik
fd0e4b1159
dap: Reduce amount of block_on uses
2022-02-15 16:30:23 +09:00
Ludwig Stecher
4429993842
Add PageUp
, PageDown
, Ctrl-u
, Ctrl-d
, Home
, End
keyboard shortcuts to file picker ( #1612 )
...
* Add `PageUp`, `PageDown`, `Ctrl-u`, `Ctrl-d`, `Home`, `End` keyboard shortcuts to file picker
* Refactor file picker paging logic
* change key mapping
* Add overlay component
* Use closure instead of margin to calculate size
* Don't wrap file picker in `Overlay` automatically
2022-02-15 10:24:03 +09:00
Gokul Soumya
4c424d5ee4
Refactor language config loading ( #1658 )
2022-02-15 01:41:53 +09:00
Blaž Hrastnik
bd549d8a20
Merge remote-tracking branch 'origin/master' into debug
2022-02-13 18:31:51 +09:00
Blaž Hrastnik
6ea477ab60
Don't use block_on in jobs.finish(), we can .await
2022-02-05 15:05:19 +09:00
Ivan Tham
759b850859
Allow specifying file start position ( #445 )
...
Like helix-term/src/commands.rs:3426:15
2022-01-23 16:54:03 +09:00
Kevin Sjöberg
3a34036310
Use the correct language ID for JavaScript & TypeScript ( #1466 )
...
* Use correct language ID for JavaScript/TypeScript
* Add missing slash
* Only calculate fallback when needed
2022-01-15 15:23:06 +09:00
Matouš Dzivjak
0e7d757869
feat(lsp): configurable diagnostic severity ( #1325 )
...
* feat(lsp): configurable diagnostic severity
Allow severity of diagnostic messages to be configured.
E.g. allow turning of Hint level diagnostics.
Fixes: https://github.com/helix-editor/helix/issues/1007
* Use language_config() method
* Add documentation for diagnostic_severity
* Use unreachable for unknown severity level
* fix: documentation for diagnostic_severity config
2021-12-25 14:32:43 +09:00
Matouš Dzivjak
75a8b789d2
LSP code action commands ( #1304 )
...
* feat(lsp): codeAction commands
* Don't block on command call
* Fix lifetime of command execution
* Fix lint issues
2021-12-21 18:21:45 +09:00
Omnikar
98ce2a301d
Load alt default theme if true color is not supported
...
* Move `runtime/themes/base16_default_terminal.toml` to
`base16_theme.toml` alongside `theme.toml`
* Use `terminfo` crate to detect whether the terminal supports true
color and, if the user has no theme configured and their terminal does
not support true color, load the alt default theme instead of the
normal default.
Remove `terminfo` dependency, use `COLORTERM` env instead
Prevent user from switching to an unsupported theme
Add `true-color-override` option
If the terminal is wrongly detected to not support true color,
`true-color-override = true` will override the detection.
Rename `true-color-override` to `true-color`
2021-12-14 00:47:18 +09:00
Blaž Hrastnik
dc8df7ba21
Make thread_picker non-blocking
2021-12-06 09:35:59 +09:00
Blaž Hrastnik
2b4de41bf0
dap: Reply to RunInTerminal
2021-12-06 09:32:21 +09:00
Blaž Hrastnik
5545f8ebb5
dap: Add RunInTerminal reverse request, support replying to requests
2021-12-03 16:09:28 +09:00
Blaž Hrastnik
2dbf966293
dap: Start working on runInTerminal support
2021-12-03 11:59:44 +09:00
Blaž Hrastnik
573cb39926
dap: Remove some unwraps
2021-12-02 10:20:19 +09:00
Blaž Hrastnik
8ffafb826f
dap: Rewrite breakpoints so that there's a single set maintained
2021-11-30 17:56:00 +09:00
Blaž Hrastnik
9ed930b233
Merge remote-tracking branch 'origin/master' into debug
2021-11-30 13:06:30 +09:00
Blaž Hrastnik
6e62c3de47
Simplify some code in editor.rs
2021-11-26 18:26:22 +09:00
Blaž Hrastnik
72576822f3
dap: Replace breakpoint when changed event comes through
2021-11-22 16:30:56 +09:00
Blaž Hrastnik
d1854d8e6a
Merge remote-tracking branch 'origin/master' into debug
2021-11-21 20:06:45 +09:00
Dan Nases Sha
6a4d9693ba
File picker config ( #988 )
...
* squashed WIP commits
* hide_gitignore working with config
* pass reference to new config parameter of file_picker()
* update config option name to match name on walk builder
* add comments to config and documentation of option to book
* add git_ignore option to WalkBuilder within prompt in commands.rs
* WIP: add FilePickerConfig struct
* WIP: cleanup
* WIP: add more options including max_depth
* WIP: changed defaults to match ignore crate defaults
* WIP: change WalkBuilder in global_search() to use config options
* WIP: removed follow_links, changed max_depth to follow config setting
* WIP: update book with file-picker inline table notation
* update documentation for file-picker config in book
* adjusted to [editor.file-picker] in book configuration.md
* adjust comments in editor.rs to be doc comments, cleanup
* adjust comments
* adjust book
2021-11-20 23:23:36 +09:00
Blaž Hrastnik
fa4c59df46
Simplify compositor.find
2021-11-18 11:09:04 +09:00
Cole Helbling
87e61a0894
helix-term/commands: implement cquit ( #1096 )
...
This allows you to exit helix with an exit code, e.g. `:cq 2`.
2021-11-15 13:06:12 +09:00
Jason Hansen
cf831b1a65
Allow piping from stdin into a buffer on startup ( #996 )
...
* Allow piping from stdin into a buffer on startup
* Refactor
* Don't allow piping into new buffer on macOS
* Update helix-term/src/application.rs
Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
* Update helix-term/src/application.rs
Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
* Fix
Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
2021-11-10 10:53:14 +09:00
Omnikar
a424ef4e20
Use default languages.toml
if user's is invalid ( #994 )
2021-11-09 11:07:54 +09:00
Blaž Hrastnik
8b85903116
wip
2021-11-08 10:03:08 +09:00
Blaž Hrastnik
f2b709a3c3
Merge branch 'master' into debug
2021-11-07 00:28:19 +09:00
Ivan Tham
49f6c2623f
Bump lsp-types to 0.91.0 ( #932 )
2021-10-29 12:00:18 +09:00
Omnikar
e2ed691537
Implement hx --tutor
and :tutor
to load tutor.txt
( #898 )
...
* Implement `hx --tutor` and `:tutor` to load `tutor.txt`
* Document `hx --tutor` and `:tutor`
* Change `Document::set_path` to take an `Option`
* `Document::set_path` accepts an `Option<&Path>` instead of `&Path`.
* Remove `Editor::open_tutor` and make tutor-open functionality use
`Editor::open` and `Document::set_path`.
* Use `PathBuf::join`
Co-authored-by: Ivan Tham <pickfire@riseup.net>
* Add comments explaining unsetting tutor path
Co-authored-by: Ivan Tham <pickfire@riseup.net>
2021-10-28 10:23:46 +09:00
radical3dd
d61e5e686b
Use current dir for file picker, after change dir. ( #910 )
2021-10-26 09:43:14 +09:00
Blaž Hrastnik
e9b23c29d8
Ignore errors when disabling mouse capture
2021-10-20 00:01:11 +09:00
CossonLeo
9ac0c95161
Improve completion trigger ( #838 )
...
* improve idle completion trigger
* add completion-trigger-len to book
* rename semantics_completion to language_server_completion and optimize idle completion trigger
2021-10-18 15:14:50 +09:00
Blaž Hrastnik
bda05ec4bf
Use a newtype for ThreadId
2021-10-17 14:06:52 +09:00
Blaž Hrastnik
0a6b60085a
Merge branch 'master' into debug
2021-10-17 13:51:56 +09:00
Ivan Tham
89707a858f
Make auto-completion a config ( #853 )
2021-10-16 22:57:41 +09:00
Omnikar
c71b49497d
Set CWD when editor is started with a directory ( #849 )
2021-10-16 10:04:26 +09:00
Leoi Hung Kin
4d07eaa48b
Prevent LSP Messages from displaying when a prompt is presented ( #824 )
...
* Prevent LSP Messages from displaying when a prompt is presented
* use match guard
2021-10-15 17:36:39 +09:00
Blaž Hrastnik
c7f3a971c0
Remove resolved TODOs
2021-10-10 12:22:11 +09:00
Blaž Hrastnik
8ca91891d1
fix compilation
2021-10-05 22:35:38 +09:00
Blaž Hrastnik
66f26e82ce
Filter the initial completion
2021-10-05 22:27:35 +09:00
Blaž Hrastnik
40abec80e1
Experiment with autocompletion on idle
2021-10-05 22:27:33 +09:00
Blaž Hrastnik
f99bea404f
idle timer wip
2021-10-05 22:27:10 +09:00
Dmitry Sharshakov
bf53aff27d
Merge branch 'master' into debug
2021-09-25 23:14:59 +03:00
Blaž Hrastnik
1540b37f34
lsp: Silence window/logMessage if -v isn't used
2021-09-13 17:45:02 +09:00
Blaž Hrastnik
46f3c69f06
lsp: Don't send notifications until initialize completes
...
Then send open events for all documents with the LSP attached.
2021-09-06 15:25:46 +09:00
Blaž Hrastnik
dc7799b980
lsp: Refactor code that could use document_by_path_mut
2021-09-06 15:25:46 +09:00
Blaž Hrastnik
63e191ea3b
lsp: Simplify lookup under method call
2021-09-06 15:25:46 +09:00
Dmitry Sharshakov
507a1f8dd6
Get breakpoint reports from debugger
2021-09-06 08:47:54 +03:00
Dmitry Sharshakov
c9cd06e904
Fetch stack traces for all threads when debugger sets all_thread_stopped flag
2021-09-05 16:09:38 +03:00
Dmitry Sharshakov
cb31d20b46
mark thread as running when resumed
2021-09-04 10:22:29 +03:00
Dmitry Sharshakov
9939dbf119
Fix clippy warnings
2021-09-04 09:08:52 +03:00
Blaž Hrastnik
b997d2cdeb
dap: Allow setting breakpoints before starting the adapter
2021-09-03 13:26:30 +09:00
Blaž Hrastnik
289303a30d
dap: small TODO
2021-09-03 11:48:55 +09:00
Blaž Hrastnik
42f9718f55
dap: Extract thread_picker, make pause explicitly select a thread
2021-09-03 11:43:11 +09:00
Blaž Hrastnik
27c1b3f98b
dap: Extract a thread_states map
2021-09-03 11:30:25 +09:00
Blaž Hrastnik
5b920c53f0
Refactor resume_application state handling
2021-09-03 11:11:22 +09:00
Dmitry Sharshakov
9c64650a26
force update of stack trace when stopped
2021-09-02 22:51:41 +03:00
Dmitry Sharshakov
e0180a4b88
find main thread automatically if thread stopped is not known
2021-09-02 11:08:24 +03:00
Blaž Hrastnik
0b0b1d850a
dap: Stop comparing file paths per line number
2021-08-30 11:22:26 +09:00
Blaž Hrastnik
2c7b75475f
dap: refactor frame handling
2021-08-30 11:07:59 +09:00
Blaž Hrastnik
986828e75c
dap: Remap keys, match current thread behavior from dap-mode, switch-thread
2021-08-29 23:32:46 +09:00
Blaž Hrastnik
03b2d81406
dap: better yet, use Selection::single..
2021-08-29 23:03:27 +09:00
Blaž Hrastnik
4d24a43651
dap: use smallvec! macro
2021-08-29 23:02:46 +09:00
Blaž Hrastnik
81f51c13fa
dap: continued: THis check is already done before the match statement
2021-08-29 23:01:18 +09:00
Blaž Hrastnik
51328a4966
dap: extract dap_pos_to_pos
2021-08-29 22:59:29 +09:00
Dmitry Sharshakov
e315394631
Merge remote-tracking branch 'origin/master' into debug
2021-08-28 14:59:26 +03:00
Yusuf Bera Ertan
dc57f8dc89
feat: merge default languages.toml with user provided languages.toml, add a generic TOML value merge function ( #654 )
...
* feat: merge default languages.toml with user provided languages.toml
* refactor: use catch-all to override all other values for merge toml
* tests: add a test case for merging languages configs
* refactor: change test module name
2021-08-27 00:29:14 +09:00
Dmitry Sharshakov
2c3e2b979b
Workaround for debugging Go tests
2021-08-24 21:28:51 +03:00
Dmitry Sharshakov
34c6094604
refactor
2021-08-24 11:32:44 +03:00
Dmitry Sharshakov
c4085b4e88
Use saturating_sub for lenght
2021-08-24 08:54:32 +03:00
Dmitry Sharshakov
ec599a1eac
Do not panic if entered unknown code via stack trace
...
e.g. Rust std library
2021-08-23 21:25:58 +03:00
Dmitry Sharshakov
3a5e044c89
languages: support debug for Rust with LLDB
2021-08-23 21:11:45 +03:00
Dmitry Sharshakov
09c994a97a
editor: drop telemetry output messages
2021-08-23 20:22:55 +03:00
Dmitry Sharshakov
d0b0c9b2ef
editor: select a range if stack pointer has an end
2021-08-22 12:06:43 +03:00
Dmitry Sharshakov
132198323c
editor: go to pos where stack pointer is located
2021-08-22 11:56:22 +03:00
Dmitry Sharshakov
be9dc5802a
editor: mark target as running when continued
2021-08-22 11:21:02 +03:00
Dmitry Sharshakov
d93cd2a261
editor: support stepIn, stepOut, next and pause commands
2021-08-22 11:16:11 +03:00
Blaž Hrastnik
28658836ee
Add more event types, simplify event decoding
2021-08-22 16:05:12 +09:00
Dmitry Sharshakov
2aee5f02d0
Style
2021-08-22 09:52:37 +03:00
Dmitry Sharshakov
7233ab2deb
Merge branch 'debug' of https://github.com/sh7dm/helix into debug
2021-08-22 09:47:22 +03:00
Blaž Hrastnik
a964cbae65
Extract handle_debugger_message, we should avoid bloating tokio::select!
2021-08-22 15:36:07 +09:00
Dmitry Sharshakov
91f2c60b36
Jump to stack pointer when stopped
2021-08-22 09:28:50 +03:00
Dmitry Sharshakov
f3e47bfee4
Disable continuing when running
2021-08-21 20:55:45 +03:00
Dmitry Sharshakov
6709b4242f
Drop and terminate debugger
2021-08-21 20:38:03 +03:00
Dmitry Sharshakov
462c8a6ec8
Show debugger output in the statusline
2021-08-21 20:29:01 +03:00
Dmitry Sharshakov
5a06263b78
report status when target started or stopped
2021-08-21 20:08:37 +03:00
Dmitry Sharshakov
bcab93c94e
Update editor window when stopped
2021-08-21 17:26:51 +03:00
Dmitry Sharshakov
a938f5a87a
refactor: handle DAP events in editor main loop
2021-08-21 17:21:35 +03:00
Dmitry Sharshakov
c4970c617e
make CI green
2021-08-20 16:48:59 +03:00
Blaž Hrastnik
94a1951d40
Work towards a breakpoint UI
2021-08-20 13:51:38 +09:00
Blaž Hrastnik
d39baa3b4e
Start integrating into the editor's event loop
2021-08-20 13:48:32 +09:00
Blaž Hrastnik
a4564adadd
fix: Don't crash if language servers time out
2021-08-10 10:52:53 +09:00
Blaž Hrastnik
a2ccfffda1
config: Rename [terminal] to [editor] and pass it into Editor
2021-08-08 14:10:01 +09:00
Luctius
8714b71991
Do not shutdown lsp during claim_term
...
Fixes a bug where the language server is told to shutdown directly after application start.
2021-08-07 10:41:41 +09:00
Blaž Hrastnik
585793eb46
Use an empty stream on Windows to remove duplication
2021-08-03 09:32:21 +09:00
Ivan Tham
821565e4ef
Add ctrl-z to suspend
2021-08-03 09:32:21 +09:00
Dmitry Sharshakov
8361de45dc
Mouse selection support ( #509 )
...
* Initial mouse selection support
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Disable mouse event capture if editor crashes
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Translate screen coordinates to view position
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Select full lines by dragging on line numbers
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* editor: don't register dragging as a jump
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Count graphemes correctly
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Do not select lines when dragging on the line number bar
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Split out verify_screen_coords
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Do not iterate over the graphemes twice
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Switch view by clicking on it
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Add disable-mouse config option
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Support multiple selections with mouse
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Remove unnecessary check
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Refactor using match expression
Co-authored-by: Gokul Soumya <gokulps15@gmail.com>
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Rename local variable
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Rename mouse option
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Refactor code
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Fix dragging selection
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Fix crash when clicking past last line
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Count characters better
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Remove comparison not needed anymore
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Validate coordinates before resolving position
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Tidy up references to editor tree
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Better way to determine line end and avoid overflow
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Fix for last line
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Add unit tests for text_pos_at_screen_coords
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
Co-authored-by: Gokul Soumya <gokulps15@gmail.com>
2021-07-30 16:52:00 +09:00
Cor
9fcbbfa467
Changed startup behaviour to only open a single view when multiple files are specified on the commandline.
...
Changed the behaviour; the first argument on the commandline is the file on display
2021-07-18 00:29:05 +09:00
Ivan Tham
a0a5bd555b
More responsive key input
...
Use biased select!, don't eagerly process lsp message since we want to
prioritize user input rather than lsp messages, but still limit rendering
for lsp messages.
2021-07-06 10:07:01 +09:00
Blaž Hrastnik
83e7dd8602
fix: Temporary fix for #402
2021-07-03 12:30:13 +09:00
Nathan Vegdahl
0b2d51cf5a
Fix unused Result
warnings in helix-term.
2021-07-01 19:06:52 -07:00
Nathan Vegdahl
efa3389b6a
Fix unused variable, parameter, and mut
warnings in helix-term.
2021-07-01 19:06:52 -07:00
Nathan Vegdahl
702a0491db
Remove #[allow(unused)] from helix-term, and fix unused imports.
...
Lots of other warning still left. Will address in subsequent commits.
2021-07-01 19:06:52 -07:00
Joe Neeman
ffa2f2590b
Satisfy clippy.
2021-06-30 17:08:50 +09:00
Joe Neeman
d64d75e724
Add some async job infrastructure.
2021-06-30 17:08:50 +09:00
Blaž Hrastnik
f2d8ce3415
Use a deadline when eagerly processing notifications
2021-06-25 13:22:50 +09:00
Keith Simmons
4418e17547
reverse the dependency between helix-tui and helix-view ( #366 )
...
* reverse the dependency between helix-tui and helix-view by moving a fiew types to view
* fix tests
* clippy and format fixes
Co-authored-by: Keith Simmons <keithsim@microsoft.com>
2021-06-25 12:58:15 +09:00
Ivan Tham
10548bf0e3
Fix previous broken refactor key into helix-view
...
Need to be used for autoinfo
Revert "Revert "Refactor key into helix-view""
This reverts commit 10f9f72232
.
2021-06-25 00:39:03 +09:00
Blaž Hrastnik
20f33ead67
minor: Remove old TODOs
2021-06-22 23:26:34 +09:00
Blaž Hrastnik
2f321b9335
lsp: Eagerly process notifications/server calls to avoid re-rendering
2021-06-22 13:47:57 +09:00
Wojciech Kępka
ee80fa8ea9
Cleanup spinners and messages on progress end
2021-06-21 18:51:04 +09:00
wojciechkepka
aca9d73fe4
Hold Config
in Application
, expect at least one editor view
2021-06-21 12:59:06 +09:00
wojciechkepka
cc357d5096
Add progress spinners to status line
2021-06-21 12:59:06 +09:00
wojciechkepka
ce97a2f05f
Add ability to change theme on editor
2021-06-20 00:07:13 +09:00
Blaž Hrastnik
10f9f72232
Revert "Refactor key into helix-view"
...
Did not use defaults when custom keymap was used
This reverts commit ca806d4f85
.
2021-06-19 23:59:19 +09:00
Ivan Tham
ca806d4f85
Refactor key into helix-view
...
Now also make use of Deserialize for Config.
2021-06-19 16:37:15 +09:00
wojciechkepka
c5a2fd5da3
Add close_language_servers
method on Editor
2021-06-19 13:02:56 +09:00
wojciechkepka
c2aad859b1
Handle language server shutdown with timeout
2021-06-19 13:02:56 +09:00
wojciechkepka
bbefc1db63
Add an option to disable display of progress in status bar
2021-06-18 17:42:38 +09:00
wojciechkepka
612511dc98
Handle workDoneProgress/create request
2021-06-18 17:42:38 +09:00
wojciechkepka
e1109a5a01
Update handling of progress notification
2021-06-18 17:42:38 +09:00
wojciechkepka
38cb934d8f
Add unique id to each lsp client/server pair
2021-06-18 17:42:38 +09:00
PabloMansanet
f7e00cf720
Configurable keys 2 (Mapping keys to commands) ( #268 )
...
* Add convenience/clarity wrapper for Range initialization
* Add keycode parse and display methods
* Add remapping functions and tests
* Implement key remapping
* Add remapping book entry
* Use raw string literal for toml
* Add command constants
* Make command functions private
* Map directly to commands
* Match key parsing/displaying to Kakoune
* Formatting pass
* Update documentation
* Formatting
* Fix example in the book
* Refactor into single config file
* Formatting
* Refactor configuration and add keymap newtype wrappers
* Address first batch of PR comments
* Replace FromStr with custom deserialize
2021-06-17 20:08:05 +09:00
Wojciech Kępka
c754df12b3
lsp: Check bounds when converting lsp positions ( #204 )
...
* lsp: Make position conversion funcs return `Option`
* Add tests
* Fixes
* Revert pos_to_lsp_pos to panic
2021-06-12 16:04:30 +09:00
Wojciech Kępka
098806ce2a
lsp: Display LSP progress messages ( #216 )
2021-06-11 12:42:16 +09:00
Ivan Tham
b5682f984b
Separate helix-term as a library
...
helix-term stuff will now be documented in rustdoc.
2021-06-07 21:35:31 +08:00
Wojciech Kępka
16b1cfa3be
Add diagnostics keybindings
2021-06-07 09:11:52 +09:00
wojciechkepka
43b92b24d2
Show file picker when directory passed as first arg
2021-06-04 11:02:06 +09:00
Blaž Hrastnik
138787f76e
Drop clap for pico-args
...
We barely have any flags so it's not worth the compilation time or
binary size to use clap.
2021-05-31 17:07:43 +09:00
Blaž Hrastnik
caf4349925
Remove some of the panics, just log instead.
2021-05-08 18:17:13 +09:00
Blaž Hrastnik
c20813690f
View::new is infallible, so is editor.switch/new_file.
2021-05-07 14:45:49 +09:00
Blaž Hrastnik
1ad0581ddd
Eliminate a few more futures dependencies.
2021-05-06 14:33:53 +09:00
Blaž Hrastnik
355ad3cb82
Tokio migration.
2021-05-06 13:56:34 +09:00
Blaž Hrastnik
3b90317060
Add window/showMessage / logMessage stubs so gopls fully starts.
2021-04-15 17:34:38 +09:00
Blaž Hrastnik
3e5f24a9d5
lsp: support both utf-8 and utf-16 offsets.
...
Still need to implement the clangd encoding negotiation, but it's
a start. Should also manually override to utf8 for pyls.
2021-04-14 15:39:31 +09:00
Blaž Hrastnik
8b33ba2284
Correct the naming issue with vsplit and hsplit being swapped.
2021-04-08 15:52:04 +09:00
Blaž Hrastnik
91462af546
Allow starting hx without a file. A new blank file will be created.
2021-04-06 19:02:22 +09:00
Blaž Hrastnik
ceea5eacd8
clippy lint
2021-03-31 23:42:16 +09:00
Blaž Hrastnik
ebfd67ac6a
Use StreamExt::select_next_some to avoid infinitely spinning on empty stream.
2021-03-30 16:39:24 +09:00
Blaž Hrastnik
2a3910c1d9
wip: Async async. Delay response handling with a callback.
2021-03-26 17:12:45 +09:00
Blaž Hrastnik
8a0ab447ec
editor.open can now either replace the current view or open in a split.
2021-03-24 14:28:26 +09:00
Blaž Hrastnik
8328fe926d
Drop refcell use, make view simply ref doc.id.
2021-03-23 18:14:35 +09:00
Blaž Hrastnik
bf95ee27aa
Store Document on the Editor type, make View reference it.
2021-03-22 13:53:43 +09:00
Blaž Hrastnik
cbcacb1063
Merge some imports.
2021-03-22 12:40:07 +09:00
Blaž Hrastnik
c4792efead
clippy lints
2021-03-22 12:29:55 +09:00
Blaž Hrastnik
e9bd9e72c3
Pos conversions always operate on whole documents.
2021-03-18 15:23:42 +09:00
Blaž Hrastnik
51c15da3c3
Hold a reference to executor on the Editor type.
2021-03-16 23:14:51 +09:00
Blaž Hrastnik
143cfe13e0
minor: TODO comment cleanup
2021-03-16 15:41:42 +09:00
Blaž Hrastnik
87e3cd3df2
ui: Render diagnostic errors in sideline.
2021-03-15 16:19:31 +09:00
Blaž Hrastnik
9dcfe25e4a
Use diagnostic.severity to distinguish between error colors.
2021-03-11 16:31:49 +09:00
Blaž Hrastnik
8fe4590666
ui: popup: scroll documentation popups with c-u/c-d.
2021-03-08 17:32:13 +09:00
Blaž Hrastnik
5ea610c41d
ui: Move terminal into compositor, redo required_size hints.
2021-03-08 17:00:32 +09:00
Blaž Hrastnik
00808afe3c
ui: Make editor more resilient about being shrunk too small.
2021-03-01 14:23:10 +09:00
Blaž Hrastnik
9132c6a591
Make some Document fields read-only.
2021-02-21 19:47:21 +09:00
Blaž Hrastnik
7877647cf0
Allow closing individual views.
2021-02-19 17:46:43 +09:00
Blaž Hrastnik
c9dd1c930e
treewide: &RopeSlice -> RopeSlice. It's Copy so no reason to pass by ref
2021-02-18 18:34:22 +09:00
Blaž Hrastnik
48ef6598db
Increase the log level in LSP and log server errors.
2021-02-16 18:18:35 +09:00
Blaž Hrastnik
d4b85ce18d
popup: wip work on completion popups
2021-02-09 15:40:47 +09:00
Blaž Hrastnik
f2c2fa0cad
Restore diagnostics.
2021-02-05 17:50:31 +09:00
Blaž Hrastnik
448c1abba0
View tree implementation: render multiple split views.
...
Cursors are still a bit buggy and we should render in focus statusbar
differently than in the other pane.
2021-02-03 19:36:54 +09:00
Blaž Hrastnik
05c7fb98df
Refactoring: move language_servers into Editor, proper load for doc.
2021-01-21 16:55:46 +09:00
Blaž Hrastnik
3cbab20908
lsp: Fix pos_to_lsp_pos calculation.
2020-12-25 17:42:50 +09:00
Blaž Hrastnik
2ab069bb3f
lsp: Work on syncing the state with the language server.
2020-12-25 17:20:09 +09:00
Blaž Hrastnik
56f2193811
Retrieve completion options on ctrl-x.
2020-12-23 16:20:49 +09:00
Blaž Hrastnik
955cb81687
Init lsp through the registry.
2020-12-23 15:50:16 +09:00
Blaž Hrastnik
c8424c6ff0
lsp: Re-enable hooks.
2020-12-22 16:58:00 +09:00
Blaž Hrastnik
7dc24a25ba
Move ui modules under a ui:: namespace.
2020-12-13 13:44:51 +09:00
Blaž Hrastnik
ef0d062b1f
Fix cursor positioning.
2020-12-13 13:30:19 +09:00
Blaž Hrastnik
8695415fbf
wip: Move to new rendering structure.
2020-12-13 12:23:50 +09:00
Blaž Hrastnik
29cb33300b
wip
2020-12-12 20:18:44 +09:00
Blaž Hrastnik
ada3f92c5b
wip: Getting the new prompt to render in a new layer.
2020-12-11 18:25:09 +09:00
Blaž Hrastnik
5103dc9617
move commands and keymap back to terminal.
...
Command needs to be able to deal with UI. We'll separate it again later
on.
2020-12-10 18:13:42 +09:00
Blaž Hrastnik
be3c021046
snapshot
2020-12-07 15:18:37 +09:00
Blaž Hrastnik
83f2c24115
wip: Compositor
2020-12-06 11:53:58 +09:00
Blaž Hrastnik
a7869c728c
wip
2020-12-03 13:12:07 +09:00
Blaž Hrastnik
8f0bcfe286
Introduce a command context that carries the executor and other fields.
2020-12-03 13:11:12 +09:00
Blaž Hrastnik
ae8a9e5bac
lsp: Make base request methods take &self instead of &mut self.
2020-12-03 13:10:35 +09:00
Blaž Hrastnik
cc6bdf8f66
Text change generation, RPC call handling.
2020-12-03 13:10:35 +09:00
Blaž Hrastnik
b39849dde1
Refactor: Document type as a wrapper around barebones State.
2020-12-03 13:10:35 +09:00
Blaž Hrastnik
ef5e5f9296
state.version tracking
2020-12-03 13:10:34 +09:00
Blaž Hrastnik
49254d7180
Total mess but it works: diagnostic marking.
2020-12-03 13:10:34 +09:00
Blaž Hrastnik
f9bfba4d96
Reroute LSP notification events into the main app event loop.
2020-12-03 13:10:32 +09:00
Blaž Hrastnik
64b5b23315
Move theme from view to editor, support multiple views in editor.
2020-12-03 13:07:55 +09:00
Blaž Hrastnik
b2b3083a62
Support multiple open views.
2020-12-03 13:04:42 +09:00
Jan Hrastnik
1a3c647adf
added col_height calculation
2020-11-13 00:07:21 +01:00
Jan Hrastnik
2b44031929
various fixes
2020-11-03 10:57:12 +01:00
Jan Hrastnik
c9e9fcf7c5
added base col width
2020-11-02 10:41:27 +01:00
Jan Hrastnik
28a1e11fda
added more completions per line
2020-10-30 12:22:58 +01:00
Jan Hrastnik
a123cf37a0
several fixes
2020-10-24 13:36:34 +02:00
Jan Hrastnik
8f37c26f35
completion highlighting
2020-10-20 23:02:02 +02:00
Jan Hrastnik
f3ddb8631f
wip completion
2020-10-19 20:08:47 +02:00
Jan Hrastnik
06502e5a2e
added prompt close
2020-10-19 19:39:35 +02:00
Blaž Hrastnik
bc2c652fe8
Bugfix
2020-10-16 16:58:26 +09:00
Blaž Hrastnik
49b4cdb566
Refactor command calling.
2020-10-16 14:37:12 +09:00
Blaž Hrastnik
49cc6c1924
Refactor Editor into Application and Editor/Workspace.
2020-10-16 12:30:46 +09:00