| Commit message (Collapse) | Author | Age |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Change focus to modified docs on quit
When quitting with modified documents, automatically switch focus to
one of them.
* Update helix-term/src/commands/typed.rs
Co-authored-by: Poliorcetics <poliorcetics@users.noreply.github.com>
* Make it work with buffer-close-all and the like
* Cleanup
Use Cow instead of String, and rename DoesntExist -> DoesNotExist
Co-authored-by: Poliorcetics <poliorcetics@users.noreply.github.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Add option to skip the first indent guide
* reorder skip_first option
* change indent-guides.skip_first to a number
* rename skip -> skip_levels
* add skip_levels to the book
* Update book/src/configuration.md
Co-authored-by: A-Walrus <58790821+A-Walrus@users.noreply.github.com>
* Update helix-term/src/ui/editor.rs
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
Co-authored-by: Robin <robinvandijk@klippa.com>
Co-authored-by: A-Walrus <58790821+A-Walrus@users.noreply.github.com>
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
|
| | |
|
| |
| |
| |
| |
| | |
* feat(statusline): add option to show total line numbers in file
* feat(line numbers): add config to doc book
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Added 'long-mode' statusline element
* Added customizable statusline mode names
* Removed a string clone
* Added documentation
* Updated documentation, moved modenames to a seperate section
* Update configuration.md
* Documentation update
* Documentation update
* Documentation update
* Update configuration.md
* Update configuration.md
* Fixed merge error
* Update configuration.md
* Update configuration.md
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Add RawTheme to handle inheritance with theme palette
* Add a intermediate step in theme loading
it uses RawTheme struct to load the original ThemePalette, so we can merge it with the inherited one.
* Load default themes via RawThemes, remove Theme deserialization
* Allow naming custom theme same as inherited one
* Remove RawTheme and use toml::Value directly
* Resolve all review changes resulting in a cleaner code
* Simplify return for Loader::load
* Add implementation to avoid extra step for loading of base themes
|
|/ |
|
|
|
|
|
|
|
|
| |
Applying document-change transactions to diagnostic ranges is not stable
with respect to the ordering of diagnostics. This can cause diagnostics
to become temporarily unordered with some edits to a document, which can
eventually break some invariants/assumptions in syntax::merge.
With this change, Document::diagnostics are always sorted.
|
| |
|
|
|
|
|
| |
If you type a nonexistant language an appropriate message will show,
and the language won't be changed.
|
| |
|
|
|
| |
If formatting fails, report error to log and save without formatting.
|
|
|
|
|
|
|
|
| |
Currently it is not possible to save a file with a language that
has an external formatter configuration unless the external
formatter is installed, even if the language has a Language Server
configuration capable of auto-format. This change checks that the
external formatter exists before using it to create a formatting
callback.
|
| |
|
|
|
|
| |
This simplifies the code and hides away unwraps
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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>
|
|
|
|
|
| |
* Fix closing buffer with custom keymap
* Add comment explaining if
|
| |
|
| |
|
|
|
|
|
| |
* Fix process spawning error handling
* Log stderr in any case
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Derive Document language name from `languages.toml` `name` key
This changes switches from deriving the language name from the
`languages.toml` `scope` key to `name` (`language_id` in the
`LanguageConfiguration` type). For the most part it works to derive the
language name from scope by chopping off `source.` or `rsplit_once` on
`.` but for some languages we have now like html (`text.html.basic`),
it doesn't. This also should be a more accurate fallback for the
`language_id` method which is used in LSP and currently uses the
`rsplit_once` strategy.
Here we expose the language's name as `language_name` on `Document` and
replace ad-hoc calculations of the language name with the new method.
This is most impactful for the `file-type` statusline element which is
using `language_id`.
* Use `Document::language_name` for the `file-type` statusline element
The `file-type` indicator element in the statusline was using
`Document::language_id` which is meant to be used to for telling
Language Servers what language we're using. That works for languages
with `language-server` configurations in `languages.toml` but shows
text otherwise. The new `Document::language_name` method from the
parent commit is a more accurate way to determine the language.
|
|
|
|
|
| |
* Allow less than and greater than in macros
* Fix failing test
|
| |
|
|
|
| |
https://github.com/wez/wezterm is a terminal emulator with its own built-in multiplexer
|
|
|
|
| |
Fixes #3090
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Fixes #1699
|
|
|
|
| |
Virtual whitespace tabs are created from the `tab` character padded
with `tabpad` up to the tab width.
|
|
|
|
|
|
|
|
|
|
| |
Ported over from 61365dfbf3 in the `gui` branch. This will allow
adding our own events, most notably an idle timer event (useful
for adding debounced input in [dynamic pickers][1] used by interactive
global search and workspace symbols).
[1]: https://github.com/helix-editor/helix/pull/3110
Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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>
|
| |
|
|
|
|
|
|
|
| |
* add logging to clipboard setup
* healthcheck: add clipboard provider name
Co-authored-by: amitbeka <--->
|
|
|
|
|
|
|
|
|
|
|
| |
* add configurable separator element to statusline
* themable separator
* clippy fixes
* changed default separator to │
* doc updates
|
|
|
|
|
|
|
|
|
| |
* added position-pct as a statusline indicator
* removed unnecessary mutable reference
* pct -> percent
* percent -> percentage
|
| |
|
|
|
|
| |
Remove padding gutter type, and automatically add 1 padding if gutters is
non-empty.
|
|
|
|
|
| |
* add spacer element to statusline
* docs
|
|
|
| |
Would panic when given the view for the current document for a different document.
|
| |
|
|
|
|
|
|
|
| |
* keep jump/file history when using :split
* move history cloning into the switch function
Co-authored-by: Robin <robinvandijk@klippa.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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>
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
| |
If all gutters are removed, there are still an extra one padding, would be nice
to remove that to save some space.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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!()
|