Benoît CORTIER
42142cf680
Fix panic when entering unicode in command prompt
...
It was attempted to use `String::insert` and `String::remove` to insert
without taking care of unicodes.
Fixes https://github.com/helix-editor/helix/issues/282
3 years ago
Benoît CORTIER
8664d70e73
Replace `Editor::current` by a macro
...
This is necessary to workaround ownership issues across function calls.
The issue notably arised when implementing the registers into `Editor`
and I was getting annoyed again when implementing copy/pasting into
system clipboard.
The problem is addressed by using macro calls instead of function calls.
There is no notable side effect.
3 years ago
Perry Thompson
f65db9397a
Fix typos in Markdown documentation
3 years ago
Blaž Hrastnik
14db2cc68b
Add homebrew tap instructions again
3 years ago
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
3 years ago
Gokul Soumya
47d2e3aefa
Let o, O take counts for multiple cursors
3 years ago
Gokul Soumya
20d6b202d5
Fix cursor position bugs related to o and O
...
- `O` at the beginning of file didn't move cursor
- `o` and `O` messed up cursor position with multiple cursors
Fixes #127
3 years ago
Ivan Tham
a364d6c383
Add latex
3 years ago
Gokul Soumya
d1c8a74771
Add theme key for selected line number
...
Adds `ui.linenr.selected` which controls highlight of linu numbes which
have cursors on.
- Fallback to linenr if linenr.selected is missing
- Update docs and themes
- Add TODOs for themes with temporary linenr.selected
3 years ago
Ivan Tham
33a35b7589
Add other cursor shape
3 years ago
Ivan Tham
124514aa70
Add cursor kind to separate hidden cursor from pos
...
Now IME cursor position should be correct since we can still set cursor
position without drawing the cursor.
3 years ago
Benoît CORTIER
6bdf609caa
Remove RwLock for registers
...
Registers are stored inside `Editor` and accessed without `RwLock`.
To work around ownership, I added a sister method to `Editor::current`:
`Editor::current_with_context`. I tried to modify `Editor::current`
directly but it's used at a lot of places so I reverted into this for
now at least.
3 years ago
Benoît CORTIER
6fb2d2679d
Use `_impl` suffix instead of `_` prefix
...
Helpers / internal implementations where using the `_` prefix.
However, this prefix also suppress unused warnings.
I suggest we use the `_impl` suffix instead.
3 years ago
Gokul Soumya
eb77de6a51
Format docs for better readability
...
- Wrapped appropriate table elements in inline code blocks
- Added links to different modes
- Capitalised table elements
3 years ago
Ivan Tham
05ed3e8fb8
Remove unused variables
3 years ago
Ivan Tham
002f1ad397
Add filter ability to picker
...
Inspired by doom emacs. Able to filter picker options multiple times.
3 years ago
Nathan Vegdahl
7c2fb92c91
Report indent style when calling indent-style with no arguments.
...
Also print an error message when the argument is malformed.
3 years ago
Nathan Vegdahl
d415a666fe
Address PR comments.
...
* Clean up "indent-style" command argument parsing.
* Adjust command's name to match the style of other commands.
* Add a "0" alias to the command, for tabs indent style.
3 years ago
Nathan Vegdahl
ecb39da3e0
Cosmetic changes and better comments for the indent auto-detect code.
3 years ago
Nathan Vegdahl
4faf1d3bf4
Remove indent style status-line display for now.
3 years ago
Nathan Vegdahl
0a5580aa21
Address PR comments.
...
- Move char functions into their own module under helix_core.
- Use matches!() macro where appropriate.
- Use a static lifetime on indent_unit() now that we can.
3 years ago
Nathan Vegdahl
358ea6a37c
Implement command to change the indent-style setting of a document.
3 years ago
Nathan Vegdahl
8648e483f7
Render indent-style status in status line.
...
Also cleaned up the status line code a little.
3 years ago
Nathan Vegdahl
5ca043c17a
Fix clippy warnings.
3 years ago
Nathan Vegdahl
2329512122
Attempt to auto-detect indentation style on document load.
...
This also moves the primary indentation-style setting into Document.
3 years ago
Ivan Tham
1bda454149
Add ctrl-w for prompt
3 years ago
Blaž Hrastnik
e819121f6e
fix: wq/wqa functions need to wait for save to finish before closing
3 years ago
Gokul Soumya
f33aaba53f
Add ui.selection to theme.toml
...
Enables changing the color of the selection which was previously
hard coded.
3 years ago
Gokul Soumya
9cfa163370
Refactor keymap definitions using macros
...
Adds a macro rule to the `key!` macro so that keymaps using `Left`,
`Home`, `Esc`, etc. will also be accepted.
3 years ago
Gokul Soumya
6b8c6ed535
Correct onedark theme file location
3 years ago
dependabot[bot]
e4b3a666d2
Bump once_cell from 1.7.2 to 1.8.0 ( #255 )
...
Bumps [once_cell](https://github.com/matklad/once_cell ) from 1.7.2 to 1.8.0.
- [Release notes](https://github.com/matklad/once_cell/releases )
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md )
- [Commits](https://github.com/matklad/once_cell/compare/v1.7.2...v1.8.0 )
---
updated-dependencies:
- dependency-name: once_cell
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
3 years ago
Gokul Soumya
43e3173231
Add onedark theme
3 years ago
dependabot[bot]
8c1edd22af
Bump anyhow from 1.0.40 to 1.0.41
...
Bumps [anyhow](https://github.com/dtolnay/anyhow ) from 1.0.40 to 1.0.41.
- [Release notes](https://github.com/dtolnay/anyhow/releases )
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.40...1.0.41 )
---
updated-dependencies:
- dependency-name: anyhow
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
3 years ago
dependabot[bot]
9b352ceefd
Bump crossterm from 0.19.0 to 0.20.0
...
Bumps [crossterm](https://github.com/crossterm-rs/crossterm ) from 0.19.0 to 0.20.0.
- [Release notes](https://github.com/crossterm-rs/crossterm/releases )
- [Changelog](https://github.com/crossterm-rs/crossterm/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crossterm-rs/crossterm/compare/0.19...0.20 )
---
updated-dependencies:
- dependency-name: crossterm
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
3 years ago
dependabot[bot]
f882ea92b6
Bump lsp-types from 0.89.1 to 0.89.2
...
Bumps [lsp-types](https://github.com/gluon-lang/lsp-types ) from 0.89.1 to 0.89.2.
- [Release notes](https://github.com/gluon-lang/lsp-types/releases )
- [Changelog](https://github.com/gluon-lang/lsp-types/blob/master/CHANGELOG.md )
- [Commits](https://github.com/gluon-lang/lsp-types/compare/v0.89.1...v0.89.2 )
---
updated-dependencies:
- dependency-name: lsp-types
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
3 years ago
dependabot[bot]
98485524c8
Bump ignore from 0.4.17 to 0.4.18
...
Bumps [ignore](https://github.com/BurntSushi/ripgrep ) from 0.4.17 to 0.4.18.
- [Release notes](https://github.com/BurntSushi/ripgrep/releases )
- [Changelog](https://github.com/BurntSushi/ripgrep/blob/master/CHANGELOG.md )
- [Commits](https://github.com/BurntSushi/ripgrep/compare/ignore-0.4.17...ignore-0.4.18 )
---
updated-dependencies:
- dependency-name: ignore
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
3 years ago
Wojciech Kępka
f47da891db
Fix a typo in theme name
3 years ago
Andreas Liljeqvist
5d23667a26
fix offset by one problem in replace_with_yanked
3 years ago
Wojciech Kępka
b6e363ef0e
Add `bogster` theme
3 years ago
Yusuf Bera Ertan
ca02024199
chore(nix): update nixCargoIntegration input
3 years ago
Blaž Hrastnik
ae5ecfdf66
Release v0.2.0
3 years ago
Blaž Hrastnik
d545e61644
ui: Prompt should figure out a reasonable column width
...
Fixes #192
Refs #225
3 years ago
Wojciech Kępka
df217f71c1
Fix `wq`
3 years ago
Wojciech Kępka
d008e86037
`Document::is_modified` should not check if path is set
...
If there is a new document we still want to know if there are unsaved changes
3 years ago
Wojciech Kępka
b9100fbd44
Fix clippy
3 years ago
Wojciech Kępka
52d3c29244
Deduplicate code
3 years ago
Wojciech Kępka
17c9a8499e
Add `qa` and `qa!`
3 years ago
Wojciech Kępka
62e6232a32
Update write_all
3 years ago
Wojciech Kępka
d8b5d1181f
Add `Copy` derive to `PromptEvent`
3 years ago
Wojciech Kępka
b500a2a138
commands: Add more write commands
3 years ago