Commit Graph

2096 Commits (feature/file-explorer)

Author SHA1 Message Date
trivernis bd32cb3114
Add --show-explorer cli arg 2 years ago
trivernis 432522e724
Add update of selected file in explorer when switching buffers 2 years ago
wongjiahau cf9669f276 fix(ci): clippy error 2 years ago
wongjiahau 88ac941407 Merge branch 'master' of https://github.com/helix-editor/helix into tree_explore 2 years ago
wongjiahau f37c795c96 chore(ui/prompt): use &str instead of Cow<str>
- Resolve https://github.com/helix-editor/helix/pull/5768/files#r1140994104
2 years ago
wongjiahau a331e52971 chore(keymap): remove "<space>E"
- Personally, I never uses this shortcut
- Secondly, we are running out of keys for mappings, so I would like to
  reserve "<space>E" for other more useful mappings
2 years ago
wongjiahau f5aec54fe2 chore(commands): revert accidental typo
- Resolve https://github.com/helix-editor/helix/pull/5768/files#r1143859919
2 years ago
wongjiahau 33542e9ddb refactor: remove unnecessary dev-dependencies
- Resolve https://github.com/helix-editor/helix/pull/5768/files#r1126720143
2 years ago
wongjiahau 898c1670d1 fix(integration-test/test_goto_file_impl): failing due to untested changes 2 years ago
wongjiahau 404f950b09 fix(tests/explorer/new_folder): failing on Windows
Co-authored-by: LEI <github@lei.sh>
Reference: https://github.com/helix-editor/helix/pull/5768#discussion_r1143991188
2 years ago
Francesc Elies 05ee673197
Show diagnostic codes for LSP diagnostics (#6378)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2 years ago
sarah 28632c6cee
Run shell commands asynchronously (#6373) 2 years ago
Skyler Hawthorne 4bdeb9927b migrate test_with_config to use AppBuilder 2 years ago
Skyler Hawthorne d3b051d28e fix test::plain
test::plain uses char indices when it should use byte indices
2 years ago
Skyler Hawthorne 58ea193054 Allow explicit newlines in test DSL
The current test DSL currently has no way to express being at the end of
a line, save for putting an explicit LF or CRLF inside the `#[|]#`. The
problem with this approach is that it can add unintended extra new lines
if used in conjunction with raw strings, which insert newlines for you.

This is a simple attempt to mitigate this problem. If there is an
explicit newline character at the end of the selection, and then it
is immediately followed by the same newline character at the right end
of the selection, this following newline is removed. This way, one can
express a cursor at the end of a line explicitly.
2 years ago
Skyler Hawthorne a264faa98d refactor test editor config 2 years ago
Skyler Hawthorne 1db252913b print doc state during tests 2 years ago
Skyler Hawthorne 5b07ce76fc make TestCase::From more generic 2 years ago
Skyler Hawthorne 8c5ec95ac0 factor write command tests to own module 2 years ago
exp80 770496511c
Fix highlighting in picker with multiple columns (#6333) 2 years ago
wongjiahau ee34720a31 style(explorer): move title to statusline
- so that the UI is more consistent with other component of the editor
- also it may improve the focus indication
2 years ago
wongjiahau 1be2ac286b fix(ui/explorer): tree search cursor not rendered 2 years ago
wongjiahau e5dfde2a9b refactor(explorer): remove overlay option 2 years ago
wongjiahau afda68a11d chore: cargo fmt 2 years ago
wongjiahau f5af209f09 refactor(explorer): remove preview
- Also moved Tree search prompt to bottom
2 years ago
Pascal Kuthe b6a4927f00 discard outdated workspace edits recived from the LS 2 years ago
Pascal Kuthe 3c9d5d0215 discard outdated diagnostics recived by the LS 2 years ago
Thomas Schollenberger 2a27d1b505
Prevent whitespace from rendering inside inlay hints (#6312)
* fix spaces and nbsps showing in inlay hints

* remove origin

* virtual tab + fix unneeded clone

* update virtual tab determining location

* fix clippy lint
2 years ago
wongjiahau 52be2e0c43 refactor(ui/tree): remove filter 2 years ago
wongjiahau 41ebc30ea6 fix(ui/tree/clone): `is_openend` should not be false
Resolve https://github.com/helix-editor/helix/pull/5768#discussion_r1133066209
2 years ago
wongjiahau 8b561e2e88 fix: type error 2 years ago
wongjiahau 9a1aff25bd refactor(ui/explorer/close_documents): concise code
Resolve https://github.com/helix-editor/helix/pull/5768#discussion_r1133065427
2 years ago
wongjiahau 178086767f refactor(ui/explorer/handle_prompt_event): remove unnecessary function
Resolve https://github.com/helix-editor/helix/pull/5768#discussion_r1133064955
2 years ago
wongjiahau c4c3e8075e style(explorer/delete): capitalize default choice
Resolve https://github.com/helix-editor/helix/pull/5768#discussion_r1133064678
2 years ago
wongjiahau 54b16936db Merge branch 'master' of https://github.com/helix-editor/helix into tree_explore 2 years ago
Blaž Hrastnik 75ebc1fcbc
fix compilation 2 years ago
Kyle Smith 27aa919f1c
Only complete appropriate arguments for typed commands. (#5966) 2 years ago
Jonatan Pettersson d479adfdc6
Add undercurl config option #6196 (#6253)
If set to 'true' this option will force terminal undercurl support.
2 years ago
dependabot[bot] b558ce7148
build(deps): bump indoc from 2.0.0 to 2.0.1 (#6302)
Bumps [indoc](https://github.com/dtolnay/indoc) from 2.0.0 to 2.0.1.
- [Release notes](https://github.com/dtolnay/indoc/releases)
- [Commits](https://github.com/dtolnay/indoc/compare/2.0.0...2.0.1)

---
updated-dependencies:
- dependency-name: indoc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 4d4bb07419
build(deps): bump libc from 0.2.139 to 0.2.140 (#6304)
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.139 to 0.2.140.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.139...0.2.140)

---
updated-dependencies:
- dependency-name: libc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
Francesc Elies d15f9721a5
LSP: Separate diagnostic picker message and code (#6095) 2 years ago
misiasty3 db8e9f5bb2
Check language server symbol renaming support before prompting (#6257)
Co-authored-by: Poliorcetics <poliorcetics@users.noreply.github.com>
2 years ago
Cole Helbling 34934733b3
helix-term: send the STOP signal to all processes in the process group (#3546)
* helix-term: send the STOP signal to all processes in the process group

From kill(3p):

    If pid is 0, sig shall be sent to all processes (excluding an unspecified set
    of  system processes) whose process group ID is equal to the process group ID
    of the sender, and for which the process has permission to send a signal.

This fixes the issue of running `git commit`, attempting to suspend
helix with ^Z, and then not regaining control over the terminal and
having to press ^Z again.

* helix-term: use libc directly to send STOP signal

* helix-term: document safety of libc::kill

* helix-term: properly handle libc::kill's failure

I misread the manpage for POSIX `kill` -- it returns `-1` in
the failure case, and sets `errno`, which is retrieved via
`std::io::Error::last_os_error()`, has its string representation printed
out, and then exits with the matching status code (or 1 if, for whatever
reason, there is no matching status code).

* helix-term: expand upon why we need to SIGSTOP the entire process group

Also add a link back to one of the upstream issues.
2 years ago
wongjiahau 20241fb256 Merge branch 'master' of https://github.com/helix-editor/helix into tree_explore 2 years ago
Michael Davis 4f066b1cc6
LSP: No-op client/registerCapability requests (#6258) 2 years ago
Pascal Kuthe 171d28d2bd
indent snippets to line indent instead of completion start (#6263) 2 years ago
Poliorcetics bdcd4d9411
Feat: LSP Type Hints (#5934)
* misc: missing inline, outdated link

* doc: Add new theme keys and config option to book

* fix: don't panic in Tree::try_get(view_id)

Necessary for later, where we could be receiving an LSP response
for a closed window, in which case we don't want to crash while
checking for its existence

* fix: reset idle timer on all mouse events

* refacto: Introduce Overlay::new and InlineAnnotation::new

* refacto: extract make_job_callback from Context::callback

* feat: add LSP display_inlay_hint option to config

* feat: communicate inlay hints support capabilities of helix to LSP server

* feat: Add function to request range of inlay hint from LSP

* feat: Save inlay hints in document, per view

* feat: Update inlay hints on document changes

* feat: Compute inlay hints on idle timeout

* nit: Add todo's about inlay hints for later

* fix: compute text annotations for current view in view.rs, not document.rs

* doc: Improve Document::text_annotations() description

* nit: getters don't use 'get_' in front

* fix: Drop inlay hints annotations on config refresh if necessary

* fix: padding theming for LSP inlay hints

* fix: tracking of outdated inlay hints should not be dependant on document revision (because of undos and such)

* fix: follow LSP spec and don't highlight padding as virtual text

* config: add some LSP inlay hint configs
2 years ago
Dimitar Gyurov 1661e4b5e1
Add a version-control statusline element (#5682) 2 years ago
Pascal Kuthe d63e570e0a treat replace/insertmode consistently, default to insert 2 years ago
Pascal Kuthe b1f7528090 fix snippet bugs and multicursor completion edgecases
Multicursor completions may overlap and therefore overlapping
completions must be dropped to avoid crashes. Furthermore, multicursor
edits might simply be out of range if the word before/after the cursor
is shorter. This currently leads to crashes, instead these selections
are now also removed for completions.

This commit also significantly refactors snippet transaction generation
so that tabstops behave correctly with the above rules. Furthermore,
snippet tabstops need to be carefully mapped to ensure their position
is correct and consistent with our selection semantics. Finally,
we now keep a partially updated Rope while creating snippet
transactions so that we can fill information into snippets that
depends on the position in the document.
2 years ago