Commit graph

520 commits

Author SHA1 Message Date
Artem Pyanykh
08937fc00e Add Markdown LSP via Marksman
Marksman is an LSP server for Markdown: https://github.com/artempyanykh/marksman
It supports a bunch of LSP features: symbols, references, rename, diag,
etc. and already has integrations with emacs, neovim, and vscode.
2022-09-17 20:58:42 +02:00
taupiqueur
a73e83ef4d
Fix typos (#3858) 2022-09-17 06:34:48 -05:00
Benjamin Streit
ffb41a94f0
feat: Syntax highlighting for Astro files (#3829) 2022-09-13 01:53:55 -05:00
Skyler Hawthorne
0d8ffa6b4a
add example config for all removed insert mode bindings (#3827) 2022-09-13 01:49:18 -05:00
Pablo Ovelleiro Corral
03612174ee
Update usage.md with paragraph textobject(#3797) 2022-09-11 16:41:35 +05:30
Blaž Hrastnik
c2e41082e4
Remove the .txt suffix from tutor
The tutor file is loaded as .txt which can potentially spawn a
language server. Then the path is unset, but the LS remains active.
This can cause panics since updates are now submitted for a doc
with no path.

As a quick workaround we remove the extension which should avoid
detection.

Fixes #3730
2022-09-11 11:11:07 +09:00
Erasin
a15420ed1c
Add textobject for gdscript (#3760) 2022-09-10 08:47:08 -05:00
Erasin
54e78dd24f
Add godot resource support (#3759)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2022-09-10 08:45:52 -05:00
Matouš Dzivjak
76b3f502c4 feat(lsp): jsonnet-language-server
Add jsonnet-language-server for jsonnet language.
See: https://github.com/grafana/jsonnet-language-server
2022-09-08 18:38:41 -05:00
ChemicalXandco
7210b39587
change to openscad-lsp (#3750) 2022-09-08 18:36:03 -05:00
Skyler Hawthorne
e12690e2f5 Remove default insert mode movement bindings
Helix is first and foremost a modal editor. Willingness to support non-modal
editing is there, but it is not one that should be encouraged with the default
settings. There are an increasing number of users who are stumbling because
they are trying to use Helix as a non-modal editor, so this is an effort to
encourage new users to stop and take notice that Helix has a different paradigm
than VSCode, Sublime, etc. Users can still add these bindings back to their own
configs if they wish.
2022-09-08 17:36:04 -05:00
Matouš Dzivjak
5ab85283e9
feat(languages): jsonnet (#3714)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2022-09-08 09:04:18 -05:00
Giorbo
5b1113766d
Add syntax highlighting for SML (#3692)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2022-09-07 13:13:06 -05:00
Michael Davis
43b31f702a
Update tree-sitter-diff (#3708)
This change also renames the grammar from `git-diff` to `diff`.
The grammar covers regular diff syntax so I renamed the repository
a while ago.
2022-09-06 12:02:37 +09:00
Kirawi
8882615483
Delete hooks.md (#3711) 2022-09-05 14:38:37 -05:00
NotAgentBilly
df1ed0a5fd
xcopy - assume destination is a directory (#3686) 2022-09-05 08:42:17 -05:00
Michael Kohl
16197664ab
Add file_picker_in_current_directory to keymap.md (#3701) 2022-09-05 15:11:06 +09:00
aaron404
e8730ca5fd
initial implementation of bufferline (#2759)
* initial implementation of bufferline

* fixed lint

* changed to 'bufferline', added enum for config modes, some cleanup

* fixed lint

* added file modification indicator

* removed redundant code, added proper themeing with fallback, changed 'file modified' indicator

* remove commented code

* Update helix-term/src/ui/editor.rs

simplify text and offset computation

Co-authored-by: Gokul Soumya <gokulps15@gmail.com>

* add ui.bufferline.background key for themes

Co-authored-by: lazytanuki <43273245+lazytanuki@users.noreply.github.com>

* address PR comments

* Update helix-term/src/ui/editor.rs

* simplify computation of editor area:

* change to set_stringn to avoid overflow

* Update configuration.md

Updates documentation to reflect decision re: defaulting to never showing bufferline.

* addressed pr comments

* fix build error

* address pr comments

* revert accidental change

Co-authored-by: Gokul Soumya <gokulps15@gmail.com>
Co-authored-by: lazytanuki <43273245+lazytanuki@users.noreply.github.com>
Co-authored-by: Seth Bromberger <sbromberger@users.noreply.github.com>
2022-09-02 11:39:38 +09:00
Michael Davis
e441b1c472
packaging: Point to homebrew-core instead of tap (#3513) 2022-08-31 17:45:38 +09:00
Michael Davis
73d5bd739e Delete invalid indents.scm queries 2022-08-31 17:45:23 +09:00
Bob
411c5e4871
let extend-line respect range direction (#3046)
* let extend-line respect range direction

* fix extend above logic

* keep `x` existing binding

* Update book/src/keymap.md

Co-authored-by: Ivan Tham <pickfire@riseup.net>

Co-authored-by: Ivan Tham <pickfire@riseup.net>
2022-08-29 10:00:40 +09:00
Gustavo Bogarín
e066782782
Add c-sharp textobjects (#3494)
Co-authored-by: Gustavo Bogarín <gbogarin@outlook.com>
Co-authored-by: Gustavo Bogarín <gbogarin@posibillian.tech>
2022-08-27 09:24:47 -05:00
ath3
86a8ea57bb
Pascal support (#3542) 2022-08-25 17:59:02 -05:00
ath3
45add73fb1
AWK support (#3528) 2022-08-24 11:58:15 -05:00
Jaden
2b16fd43f9
feat(lang): Add esdl grammar (#3526) 2022-08-24 09:51:10 -05:00
ChemicalXandco
6b912b8641
add syntax highlights for xit (#3521) 2022-08-23 20:52:01 -05:00
A-Walrus
ed74e6d5d4
Switch to tabpad configuration option (#3458)
Virtual whitespace tabs are created from the `tab` character padded
with `tabpad` up to  the tab width.
2022-08-21 13:54:02 +09:00
Alexander Brevig
aef00a3ab6
feat: add taskwarrior to languages so task N edit is nice (#3468)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2022-08-19 19:16:54 -05:00
Manuel Schmidbauer
8a75795472
Improved file-picker configuration documentation (#3422) 2022-08-14 13:36:08 -05:00
nosa
c5deb30814
Theme Related Fixes (#3412) 2022-08-14 08:35:15 -05:00
notusknot
d773a6e5f2
Update keymap.md to have Tab and Shift-tab listed (#3365)
Co-authored-by: notusknot <notusknot@gmail.com>
2022-08-11 00:21:37 -05:00
Erasin
921027fb32
Update tree-sitter-latex and highlights (#3370)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2022-08-10 07:29:43 -05:00
jdrst
598aa7c424
adds xcopy param to recursively copy runtime folder (#3378) 2022-08-09 20:47:04 -05:00
Kyle L. Davis
4ce5a94552
Add language: beancount (#3297)
Co-authored-by: erasin <erasinoo@gmail.com>
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
Co-authored-by: Erasin <erasinoo@gmail.com>
2022-08-08 17:59:55 -05:00
Erasin
f09d2bc56b Add slint-ui support
<https://slint-ui.com/>
lsp: <https://github.com/slint-ui/slint/tree/HEAD/tools/lsp>
tree-sitter-slint: <https://github.com/jrmoulton/tree-sitter-slint>
2022-08-08 17:57:08 -05:00
Matthias Deiml
ea04220874
Use split_parser branch for markdown grammar (#3108) 2022-08-06 10:56:48 -05:00
Michael Davis
5d33dbacac
add a CLI flag for specifying config file location (#2666) 2022-08-04 13:05:52 +09:00
PiergiorgioZagaria
219d2c2515
Change default formatter for any language (#2942)
* Change default formatter for any language

* Fix clippy error

* Close stdin for Stdio formatters

* Better indentation and pattern matching

* Return Result<Option<...>> for fn format instead of Option

* Remove unwrap for stdin

* Handle FormatterErrors instead of Result<Option<...>>

* Use Transaction instead of LspFormatting

* Use Transaction directly in Document::format

* Perform stdin type formatting asynchronously

* Rename formatter.type values to kebab-case

* Debug format for displaying io::ErrorKind (msrv fix)

* Solve conflict?

* Use only stdio type formatters

* Remove FormatterType enum

* Remove old comment

* Check if the formatter exited correctly

* Add formatter configuration to the book

* Avoid allocations when writing to stdin and formatting errors

* Remove unused import

Co-authored-by: Gokul Soumya <gokulps15@gmail.com>
2022-08-04 13:01:48 +09:00
Banst
7e06681413
feat: add cue support (#3262) 2022-07-31 07:04:57 -05:00
Erasin
919edfb323
Add Graphviz Dot lang support (#3241)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2022-07-30 12:34:00 -05:00
Erasin
681c0a91dc
Add textobject for javascript (#3213) 2022-07-28 08:31:20 -05:00
Ricardo Silva
2f1d3d0899
Add LSP config for Odin (#3214) 2022-07-27 12:28:20 -05:00
Seth Bromberger
846a6b65c3
add configurable / theme-able statusline separator string (#3175)
* add configurable separator element to statusline

* themable separator

* clippy fixes

* changed default separator to │

* doc updates
2022-07-27 08:47:22 +09:00
Seth Bromberger
3dd2196e4f
add position-percentage as a statusline indicator (#3168)
* added position-pct as a statusline indicator

* removed unnecessary mutable reference

* pct -> percent

* percent -> percentage
2022-07-26 15:05:12 +09:00
Gokul Soumya
de8ade8967
Shorten embedded command descriptions (#3070)
* Shorten embedded command descriptions

- Compact descriptions in command palette and infobox

* Shorten typed command descriptions

* Fix typo in decrement command description
2022-07-26 12:04:23 +09:00
Daniel Longeuay
2ede98c4b4
feat(tree-sitter): add go template support (#3091)
* feat(tree-sitter):  add go template support

* fix(tree-sitter): 🐛 go template highlight scope selectors

* chore(tree-sitter): 🔧 update go template grammar commit
2022-07-26 10:17:28 +09:00
Clay
b55573dc1d
Add elixir & heex comment textobjects (#3179) 2022-07-26 10:14:45 +09:00
Blaž Hrastnik
255c1734cf
Rename padding to spacer, remove by default 2022-07-26 10:10:06 +09:00
Ivan Tham
2f980471f8
Make gutters padding automatic (#3163)
Remove padding gutter type, and automatically add 1 padding if gutters is
non-empty.
2022-07-26 10:08:09 +09:00
Seth Bromberger
bfdcfec8c9
add spacer element to statusline (#3165)
* add spacer element to statusline

* docs
2022-07-26 10:07:59 +09:00
Joe
d0c63409cc
Add table of contents to keymap.md (#3174) 2022-07-26 09:41:09 +09:00
Bob
2f53644c6d
jumplist picker (#3033)
* jumplist picker

* remove jumps slicing

Co-authored-by: Benoît Cortier <bcortier@proton.me>

* remove unnecessary deref format! parameter

Co-authored-by: Benoît Cortier <bcortier@proton.me>

Co-authored-by: Benoît Cortier <bcortier@proton.me>
2022-07-22 10:21:46 +09:00
Clay
e560212ec5
Gleam: add support for built-in language server (#3139)
* Add gleam lsp support

* Docgen gleam lsp support
2022-07-22 10:19:42 +09:00
Alexis Kalabura
8b2a14153b
add statusline element to display file line endings (#3113)
* add statusline element to display file line endings

* run cargo fmt --all

* change the word *ending* from plural to singular

* support for the unicode-lines feature flag
2022-07-21 13:03:12 +09:00
Gokul Soumya
791bf7e50a
Add lsp signature help (#1755)
* Add lsp signature help

* Do not move signature help popup on multiple triggers

* Highlight current parameter in signature help

* Auto close signature help

* Position signature help above to not block completion

* Update signature help on backspace/insert mode delete

* Add lsp.auto-signature-help config option

* Add serde default annotation for LspConfig

* Show LSP inactive message only if signature help is invoked manually

* Do not assume valid signature help response from LSP

Malformed LSP responses are common, and these should not crash the
editor.

* Check signature help capability before sending request

* Reuse Open enum for PositionBias in popup

* Close signature popup and exit insert mode on escape

* Add config to control signature help docs display

* Use new Margin api in signature help

* Invoke signature help on changing to insert mode
2022-07-19 11:28:24 +09:00
Ivan Tham
e8214fb1e6
Make gutters padding optional (#2996)
If all gutters are removed, there are still an extra one padding, would be nice
to remove that to save some space.
2022-07-18 10:13:47 +09:00
Bob
2a8d38c27b
support toggling pickers' preview panel (#3021)
* support toggling pickers' preview panel

* add doc for toggling preview
2022-07-18 10:11:25 +09:00
Mr. E
dbf68e0370
Customizable/configurable status line (#2434)
* feat(statusline): add the file type (language id) to the status line

* refactor(statusline): move the statusline implementation into an own struct

* refactor(statusline): split the statusline implementation into different functions

* refactor(statusline): Append elements using a consistent API

This is a preparation for the configurability which is about to be
implemented.

* refactor(statusline): implement render_diagnostics()

This avoid cluttering the render() function and will simplify
configurability.

* feat(statusline): make the status line configurable

* refactor(statusline): make clippy happy

* refactor(statusline): avoid intermediate StatusLineObject

Use a more functional approach to obtain render functions and write to
the buffers, and avoid an intermediate StatusLineElement object.

* fix(statusline): avoid rendering the left elements twice

* refactor(statusline): make clippy happy again

* refactor(statusline): rename `buffer` into `parts`

* refactor(statusline): ensure the match is exhaustive

* fix(statusline): avoid an overflow when calculating the maximal center width

* chore(statusline): Describe the statusline configurability in the book

* chore(statusline): Correct and add documentation

* refactor(statusline): refactor some code following the code review

Avoid very small helper functions for the diagnositcs and inline them
instead.
Rename the config field `status_line` to `statusline` to remain
consistent with `bufferline`.

* chore(statusline): adjust documentation following the config field refactoring

* revert(statusline): revert regression introduced by c0a1870

* chore(statusline): slight adjustment in the configuration documentation

* feat(statusline): integrate changes from #2676 after rebasing

* refactor(statusline): remove the StatusLine struct

Because none of the functions need `Self` and all of them are in an own
file, there is no explicit need for the struct.

* fix(statusline): restore the configurability of color modes

The configuration was ignored after reintegrating the changes of #2676
in 8d28f95.

* fix(statusline): remove the spinner padding

* refactor(statusline): remove unnecessary format!()
2022-07-18 09:57:01 +09:00
Joe
0c9594e41e
Add SCSS language support (#3074) 2022-07-17 17:55:20 +08:00
Alex Kim
bcacc703d7
fix wrong value for cursor shape config in the docs (#3081) 2022-07-15 20:21:34 +05:30
Benoît Cortier
333ab27837
feat(term): uniformize word-wise movement and deletion (#2500)
Ctrl-based shortcuts are common in numerous applications.

This change:
- Adds Ctrl+{Left/Right/Backspace/Delete} for word-wise movement/deletion in prompt, picker, …
- Removes Alt-Left and Alt-Right in prompt, picker, …
- Adds Alt-Delete in insert mode for forward word deletion

In some terminals, Alt-Backspace might not work because it is ambigous.
See: https://github.com/helix-editor/helix/pull/2193#issuecomment-1105042501
Hence, Alt alternative is not removed.
2022-07-15 21:59:00 +08:00
Mateusz S. Szczygieł
5f69beb87f
Add textobjects.scm to GLSL (#3051) 2022-07-12 10:13:57 -05:00
Philipp Mildenberger
e97b8607c1
Added ungrammar language support (#3048) 2022-07-12 10:06:53 -05:00
Austen LeBeau
0cb0c30618
add fortran language (#3025) 2022-07-10 11:27:44 -05:00
Timothy DeHerrera
fefa4d8c59
nix flake: make the binary cache "just work" (#2999) 2022-07-09 11:09:37 -05:00
Amit Beka
6100b1ba08
book: add wiki links to the title page and install page (#3017)
Co-authored-by: amitbeka <--->
2022-07-09 11:08:47 -05:00
Jake Langford
230ba264bf
Introduce storage highlighting for typescript/javascript (#2961) 2022-07-06 08:54:07 -05:00
A-Walrus
1378b911b6
Fix some typos (#2978) 2022-07-05 21:49:54 -05:00
Matthew Toohey
d78354c537
add language idris (#2971) 2022-07-05 20:00:38 +09:00
川田 恵氏 (Kawada Keishi a.k.a megumish)
244825b9e1
Add runtime xcopy command on powershell in docs (#2958) 2022-07-04 12:32:46 -05:00
rsteube
4c30a3609a
languages: added elvish (#2948) 2022-07-03 16:19:12 -05:00
Blaž Hrastnik
a1c1abca2b fix CI 2022-07-01 21:24:10 +09:00
Mathspy
d06800f1dd
Add mode specific styles (#2676)
* Add mode specific styles

In similar vein to neovim's lualine and similar statusline packages this
allows helix users to style their mode based on which mode it is thus
making each mode more visually distinct at a glance

* Add an example based on rosepine

* Add editor.colors-mode config

* Document statusline mode styles
2022-06-30 18:26:00 +09:00
Falco Hirschenberger
ed89f8897e
Add workspace and document diagnostics picker (#2013)
* Add workspace and document diagnostics picker

fixes #1891

* Fix some of @archseer's annotations

* Add From<&Spans> impl for String

* More descriptive parameter names.

* Adding From<Cow<str>> impls for Span and Spans

* Add new keymap entries to docs

* Avoid some clones

* Fix api change

* Update helix-term/src/application.rs

Co-authored-by: Bjorn Ove Hay Andersen <bjrnove@gmail.com>

* Fix a clippy hint

* Sort diagnostics first by URL and then by severity.

* Sort diagnostics first by URL and then by severity.

* Ignore missing lsp severity entries

* Add truncated filepath

* Typo

* Strip cwd from paths and use url-path without schema

* Make tests a doctest

* Better variable names

Co-authored-by: Falco Hirschenberger <falco.hirschenberger@itwm.fraunhofer.de>
Co-authored-by: Bjorn Ove Hay Andersen <bjrnove@gmail.com>
2022-06-30 18:16:18 +09:00
Michael Davis
64de0b7288
add docs for cursorline scopes (#2904) 2022-06-28 08:55:09 +05:30
Michael Davis
64cf4c859b
support Bazel languages (#2903) 2022-06-28 08:48:38 +05:30
Tobias Menzi
8dc86beabd
Implement cursorline (#2170)
* Implement cursorline

* Binary search possible lines
2022-06-27 17:09:34 +09:00
Gokul Soumya
a26943de4e
Right align scrollbar with track in completion popup (#2754)
- Align the scollbar to the right edge of the popup rather than at
  a margin of one.
- Add a scrollbar track and a new scope `ui.menu.scroll`.
2022-06-27 16:52:31 +09:00
Amit Beka
ba85779902
book: fix the description of dot repeat (#2878)
Co-authored-by: amitbeka <--->
2022-06-25 15:28:26 -05:00
Hekno25
33e6df8707
feat: add wgsl_analyzer as wgsl language server (#2872) 2022-06-24 16:21:26 -05:00
Gokul Soumya
8ad0b83e30 Make indent guides configurable 2022-06-21 18:43:25 +02:00
Gokul Soumya
924b4ebb39 Add theme scopes for indent guides 2022-06-21 18:43:25 +02:00
Connor Lay (Clay)
67f6c85792 text-objects: add test capture & elixir queries 2022-06-21 11:32:03 -05:00
Michael Davis
0ad10ce6f7
rewrite language configuration docs (#2838)
This change moves the configuration tables from the Adding
Languages guide into the overall Languages section. It also
adds more detailed documentation on the `language-server`
configuration key and fixes a typo in the "mylang" example
(the scope was `scope.mylang` instead of `source.mylang`).
2022-06-21 01:15:50 +02:00
Gygaxis Vainhardt
debd2405d9
views -> buffers in write-all (#2788) 2022-06-16 16:09:30 -05:00
Axot
4d604d3b50
Add clojure language support (#2780)
Co-authored-by: Mateusz Ledwoń <mateusz.ledwon@iteo.com>
2022-06-16 11:47:52 -05:00
Tennix
11dadab371
Add migrate from Vim wiki link (#2781) 2022-06-15 11:04:17 -05:00
Anton Romanov
7983c71752
Introduce storage_class highlight scope (#2731) 2022-06-14 12:35:36 -05:00
Ivan
0bc7259672
add prisma tree-sitter and lsp support (#2703)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2022-06-12 14:08:51 -05:00
Michael Davis
f7a3d35752 add textobject queries for gleam 2022-06-07 20:03:31 +09:00
Michael Davis
bcafdf404f add textobject queries for elixir 2022-06-07 20:03:31 +09:00
Michael Davis
7a9147489e add textobject queries for erlang 2022-06-07 20:03:31 +09:00
farwyler
f0d1c85553
support for openscad (#2680)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2022-06-06 12:26:56 -05:00
Henry
8351a82c2c
simplify some keymap key names (#2677) 2022-06-05 21:22:10 -05:00
Termina94
f1ae496860
Add shell insert commands to typable and config (#2589)
* Add shell insert commands to typable and config

* generate docs

Co-authored-by: Dean Revell <revell@gmail.com>
2022-06-05 19:52:41 +09:00
farwyler
f92a25a856
Passing extra formatting options to LSPs (#2635)
* allows passing extra formatting options to LSPs

- adds optional field 'format' to [[language]] sections in 'languages.toml'

- passes specified options the LSPs via FormattingOptions

* cleaner conversion of formatting properties

* move formatting options inside lsp::Client

* cleans up formatting properties merge
2022-06-05 19:50:57 +09:00
nosa
dfd0754394
Update keymap docs for window swapping (#2659) 2022-06-03 07:09:35 -05:00
Michael Davis
fd4858c03d
add tree-sitter-jsdoc (#2650) 2022-06-03 10:26:47 +05:30
Michael Davis
42d780b103
add tree-sitter-edoc (#2640)
* add tree-sitter-edoc

* fix escape character capture in markdown queries

* add field negation operator "!" to tsq highlights
2022-06-03 07:41:17 +08:00
Ryan Russell
ae12c58f0f
Improve Readability (#2639) 2022-06-01 12:01:37 -05:00
pancake
7706a4a0d8
Add Vlang tree-sitter in the languages.toml (#2526)
Co-authored-by: pancake <pancake@nopcode.org>
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2022-05-28 14:46:10 -05:00
nitish-17
b31788102e
mention the requirement of C++ compiler for building grammar in doc (#2592) 2022-05-28 11:02:47 -05:00
Michael Davis
efae76160d
add section on syntax tree motions to the usage docs (#2568) 2022-05-26 10:39:58 +09:00
Andrey Tkachenko
67fe16008e
Basic verilog support (#2552) 2022-05-24 12:52:32 -05:00
Erasin
386dccc84e
Add lua lsp (#2560) 2022-05-24 10:03:53 -05:00
Daniel S Poulin
0c05447d49
Add shrink equivalent of extend_to_line_bounds (#2450)
* Add shrink equivalent of extend_to_line_bounds

* Add a check for being past rope end in end position calc

* Include the EOL character in calculations

* Bind to `A-x` for now

* Document new keybind
2022-05-22 10:33:11 +09:00
kyrime
bfc4ff4dcf
Add theme key for picker separator (#2523)
Co-authored-by: ky <>
2022-05-22 10:24:51 +09:00
Blaž Hrastnik
8df8ff27c2
cargo xtask docgen 2022-05-22 00:20:45 +09:00
Jacob Thompson
e8e252648f
Added a default lsp server for Java in languages.toml (#2511)
* Added a default lsp server for Java in languages.toml

* Added a default lsp server for Java in languages.toml cont.

Co-authored-by: Jacob Thompson <a01657923@usu.edu>
2022-05-20 15:17:46 +09:00
Robert Walter
776686ab24
Separate colors for different diagnostics types (#2437)
* feat(theme): add separate diagnostic colors

This commit adds separate diagnostic highlight colors for the different
types of LSP severities. If the severity type doesn't exist or is
unknown, we use some fallback coloring which was in use before this
commit.

Some initial color options were also added in the theme.toml

Resolves issue #2157

* feat(theme): add docs for new diagnostic options

* feat(theme): adjust defaults & reduce redundancy

- the different colors for different diagnostic severities are now
  disabled in the default theme, instead diagnostics are just generally
  underlined (as prior to the changes of this feature)
- the theme querying is now done once instead of every iteration in the
  loop of processing every diagnostic message
2022-05-20 10:30:28 +09:00
Bob
6462542fc5
support insert register in prompt (#2458)
* support insert register in prompt

* use next_char_handler instead of a flag

* Fix clippy issue

* show autoinfo when inserting register

* Revert "show autoinfo when inserting register"

This reverts commit 5488344de1c607d44bdf8693287a85b92cb32518.

* use completion instead of autoinfo

autoinfo is overlapped when using prompt

* recalculate_completion after inserting register

* Update helix-term/src/ui/prompt.rs

Co-authored-by: Ivan Tham <pickfire@riseup.net>

Co-authored-by: Ivan Tham <pickfire@riseup.net>
2022-05-20 10:27:59 +09:00
midnightexigent
8493b5fca6
Add tree-sitter ssh client config queries (#2498)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2022-05-18 14:49:50 -05:00
amaihoefner
a5bc69c2b5
feat(commands): add log-open command (#2422) 2022-05-11 10:18:45 +09:00
unrelentingtech
2cb1ea7127
feat(lang): add Meson language support (#2314)
https://mesonbuild.com/Syntax.html
2022-05-11 10:06:37 +09:00
Robert Walter
495ba40eaf
feat(languages): add odin language (#2399) 2022-05-05 12:09:09 -05:00
Matthew Toohey
a5f4925f53
feat(languages): git-ignore and git-attributes (#2397) 2022-05-05 08:47:28 -05:00
Ben Lee-Cohen
09a17e4fa3
Making the 'set-option' command help more descriptive. (#2365)
* Making the 'set-option' command help more descriptive.

* Adding the generated docs

* Making the message multi-line

* Replace newline with break in generated docs
2022-05-04 11:17:08 +09:00
Michael Davis
f59b3b91c8
rewrite auto-pairs docs (#2384) 2022-05-04 11:16:34 +09:00
Robert Walter
fba198c1e0
Add documentation for hx --health (#2357) 2022-05-02 16:46:25 -05:00
unrelentingtech
20162a426b
feat(commands): make it possible to disable format-on-save via the 'auto-format' option (#2321) 2022-05-02 23:31:07 +09:00
Vince Mutolo
f9baced216
add reflow command (#2128)
* add reflow command

Users need to be able to hard-wrap text for many applications, including
comments in code, git commit messages, plaintext documentation, etc. It
often falls to the user to manually insert line breaks where appropriate
in order to hard-wrap text.

This commit introduces the "reflow" command (both in the TUI and core
library) to automatically hard-wrap selected text to a given number of
characters (defined by Unicode "extended grapheme clusters"). It handles
lines with a repeated prefix, such as comments ("//") and indentation.

* reflow: consider newlines to be word separators

* replace custom reflow impl with textwrap crate

* Sync reflow command docs with book

* reflow: add default max_line_len language setting

Co-authored-by: Vince Mutolo <vince@mutolo.org>
2022-05-02 23:24:22 +09:00
Ryosuke Hayashi
f85f0b7272
Add run-shell-command for Commands (#1682)
* add run_shell_command

* docgen

* fix command name

Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>

* refactored Info::new

* show 'Command failed' if execution fails

* TypedCommand takes care of error handling and printing the error to the statusline.

* docgen

* use Popup instead of autoinfo

* remove to_string in format!

* Revert chage in info.rs

* Show "Command succeed" when success

* Fix info.rs

Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
2022-05-02 23:15:02 +09:00
Fanda Vacek
1668183590
feat(lang): Cpon lang support (#2355)
Co-authored-by: Fanda Vacek <fvacek@elektroline.cz>
2022-05-01 09:34:46 -05:00
Blaž Hrastnik
8bb89dafa2
cargo xtask docgen 2022-05-01 11:37:14 +09:00
unrelentingtech
2c60798b00
feat(ui): add nbsp (non-breaking space) to rendered whitespace (#2322) 2022-04-30 09:48:52 +09:00
unrelentingtech
8e77e3388c
feat(lang): add devicetree (Flattened Device Tree Source) (#2329) 2022-04-29 15:08:00 -05:00
unrelentingtech
030e7ab988
fix(docs): cleanup obsolete indents.toml mentions (#2327) 2022-04-29 12:40:59 -05:00
Gokul Soumya
de15d70171 Add m textobject to select closest surround pair 2022-04-29 15:51:14 +09:00
Ivan Tham
c22873c33f
Change A-left right to C-left right in insert (#2193)
Currently A-left move one word left and the behavior will be more
consistent for people coming GUI world if the key was changed to control
given that both browsers and editors like vscode uses C-left right by
default to move word rather than alt.
2022-04-29 15:50:01 +09:00
Ivan Tham
ab6a00e196
Make A-hjkl tree-sitter nav A-pion (#2205)
A-hl currently is not very consistent with hl when next object is
selected, since it may go up/down or left/right and this behavior is
confusing such that some people think it should swap the keys with A-jk,
so it is better to use A-pn since that only specifies two direction.

A-jk have the same issue as in it usually moves right and is not
consistent with the behavior of jk so people may think A-hl is better,
maybe A-oi is better here since A-hl will be swapped to A-pn, A-oi can
convey the meaning of in and out, similar to some window manager keys?
2022-04-29 15:49:15 +09:00
chunghha
3a398eec56
fix typos (#2304) 2022-04-27 14:21:20 -05:00
Alexis Kalabura
2e46961886
feat(lsp): add toml lsp (#2302) 2022-04-27 13:48:04 -05:00
meak
1a3d6252b9
feat(lang): add hare language support (#2289)
Co-authored-by: Mehdi Katranji <hello@mek.yt>
2022-04-26 14:55:00 -05:00
ttys3
a8cb46680d
feat(lsp): add vala language support (#2243) 2022-04-24 11:21:07 -05:00
Daniel
15db6031bb
Add :get-option command (#2231) 2022-04-24 16:00:18 +05:30
Lukas
5ca8dfe57c
fix(lsp): divide hcl into seperate languages (#2244) 2022-04-23 16:08:12 -05:00
Lukas
1c1ba006ae
feat(lsp): add yaml lsp (#2234) 2022-04-23 08:38:29 -05:00
Kirawi
dd5a7c6191
Replace line endings using set_line_ending command (#1871)
* set_line_ending: now replace line endings

* use ending.len_chars() directly

* account for unicode-lines feaure in line-ending doc
2022-04-23 17:01:08 +09:00
Justin Ma
5c2570582b
feat(lang): add nushell language support (#2225)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2022-04-22 09:37:51 -05:00
Michael Davis
6de2e7634f
Document ui.virtual.ruler scope in theme docs (#2199)
From the rulers feature (#2060)
2022-04-20 23:34:17 +05:30
ttys3
4144c9d2f2
feat(lang): add go.mod and go.work support (#2197) 2022-04-20 11:16:02 -05:00
Erin van der Veen
9616477197
Add Nickel language (#2173) 2022-04-20 09:31:59 -05:00
Omnikar
e6b865ed0b allow whitespace to be rendered
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2022-04-20 11:37:23 +09:00
Thomas
5d5b6bab9b
Add rulers option (#2060)
* Add color_column option

* Rename to ruler

Co-authored-by: DeviousStoat <devious@stoat.com>
2022-04-20 10:44:32 +09:00
matan h
02426072cb
add table of OS/command for copy/symlink the runtime folder to the config (#2073)
* create table of OS and commands in the readme

* add link to wiki from health check (without color; just simple println)

* move the table from readme to docs and add link from the readme to docs

* drop copy on unix,and apply some style fixes from the conversations

* by mistake, I edit master insted of develop

* remove this file from pr

* Update README.md

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>

* copy table to readme

Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
2022-04-20 10:44:11 +09:00
Kirawi
c2a40d9d52
Add support for local language configuration (#1249)
* add local configuration

* move config loading to Application::new

* simplify find_root_impl
2022-04-18 12:10:51 +09:00
Danillo Melo
be656c14e3
Ruby TextObjects and more file extensions (#2143) 2022-04-17 19:25:44 -05:00
Thomas
2eca2901f3
Pipe typable command (#1972)
Co-authored-by: DeviousStoat <devious@stoat.com>
2022-04-17 12:03:47 +09:00
Dr. David A. Kunz
b04c425c63
Make gutters configurable (#1967)
* config option line numbers none

* view tests

* added tests

* doc

* comment

* Make gutters configurable

* docu

* docu

* rm none docu

* order

* order

* precedence

* simpler

* rm todo

* fixed clippy

* order

* double quotes

* only allow diagnostics and line-numbers

* tests

* docu

* format

* rm short variant and more docu

* performance improvements

* typo

* rename
2022-04-16 10:41:25 +09:00
EmmChriss
50df924811
gdscript support (#1985) 2022-04-16 00:35:23 +09:00