Commit Graph

151 Commits (ea2b4c687d4ee360cc8cbdbd6cf1c1cb2728a23d)

Author SHA1 Message Date
Nathan Vegdahl 4efd6713c5 Work on moving code over to LineEnding instead of assuming '\n'.
Also some general cleanup and some minor fixes along the way.
2021-06-20 15:33:02 -07:00
Benoît CORTIER a2b8cfca34 Add system clipboard yank and paste commands
This commit adds six new commands to interact with system clipboard:
- clipboard-yank
- clipboard-yank-join
- clipboard-paste-after
- clipboard-paste-before
- clipboard-paste-replace
- show-clipboard-provider

System clipboard provider is detected by checking a few environment
variables and executables. Currently only built-in detection is
supported.

`clipboard-yank` will only yank the "main" selection, which is currently the first
one. This will need to be revisited later.

Closes https://github.com/helix-editor/helix/issues/76
2021-06-20 23:25:53 +09:00
Blaž Hrastnik e9a3245aae Re-export unicode crates from helix_core 2021-06-20 16:38:58 +09:00
Blaž Hrastnik 9275021497 ui: prompt: Better unicode support
We copied over eval_movement from wezterm, that already solves most of
our problems. self.cursor is now byte-based.
2021-06-20 16:38:58 +09:00
wojciechkepka ce97a2f05f Add ability to change theme on editor 2021-06-20 00:07:13 +09:00
wojciechkepka c5a2fd5da3 Add `close_language_servers` method on `Editor` 2021-06-19 13:02:56 +09:00
Benoît CORTIER b0522239e7 Update ropey dependency to 1.3 2021-06-18 22:56:36 +09:00
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>
2021-06-14 17:46:12 +09:00
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>
2021-06-14 17:36:56 +09:00
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>
2021-06-14 17:36:47 +09:00
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>
2021-06-14 17:36:40 +09:00
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>
2021-06-14 17:36:31 +09:00
Blaž Hrastnik ae5ecfdf66 Release v0.2.0 2021-06-13 22:35:13 +09:00
notoria 1b14e9a19a Downgrade `unicode-segmentation` 2021-06-10 22:00:08 +09:00
notoria 9887b1275a Implement missing Debug and update Cargo.lock 2021-06-10 22:00:08 +09:00
Kirawi b873fb9897
Fix Unicode (#135)
* init

* wip

* wip

* fix unicode break

* fix unicode break

* Update helix-core/src/transaction.rs

Co-authored-by: Benoît Cortier <benoit.cortier@fried-world.eu>

* clippy

* fix

* add changes

* added test

* wip

* wip

* wip

* wip

* fix

* fix view

* fix #88

Co-authored-by: Benoît Cortier <benoit.cortier@fried-world.eu>
2021-06-08 13:20:15 +09:00
Egor Karavaev ea6667070f helix-lsp cleanup 2021-06-08 10:56:46 +09:00
Blaž Hrastnik d5de9183ef Use upstream jsonrpc again 2021-06-07 21:33:17 +09:00
Blaž Hrastnik f48a60b8e2 Release 0.0.10 2021-06-07 09:42:15 +09:00
Ingrid 54f3548d54
theme: Enable style modifiers in theme.toml, add Ingrid's theme (#113)
* theme: Enable style modifiers in theme.toml

* docs: theme documentation

* fixup: parse modifiers with filter_map

* theme: tests for parse_style

* theme: Log invalid cases in theme.toml parse

* docs: theme documentation fixup

* docs: Blaz's theming comments

* docs: Theme doc fixes from pickfire

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

* theme: More context in logs, TODO for alerting users

* contrib: Ingrid's theme

* docs: Theme subsection fixes

Co-authored-by: Ivan Tham <pickfire@riseup.net>
2021-06-06 21:45:59 +09:00
Brian Dawn 62d181de78 Provide a feature flag to be able to embed the runtime folder.
These changes provide a new feature flag "embed_runtime" that when
enabled and built in release mode will embed the runtime folder into the
resulting binary.
2021-06-06 10:49:17 +09:00
Corey Powell 7202953e69 Dropped pico-args in favour of a simpler hand roller parser
Not the greatest looking, but it gets the job done
2021-06-02 14:26:13 -05: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
dependabot[bot] 76eed4caad
Bump tokio from 1.6.0 to 1.6.1
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.6.0 to 1.6.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.6.0...tokio-1.6.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-30 08:54:43 +00:00
Blaž Hrastnik 094203c74e Update deps, introduce the new tree-sitter lifetimes 2021-05-28 00:00:51 +09:00
Blaž Hrastnik f366b97bce Update dependencies 2021-05-18 18:30:48 +09:00
Blaž Hrastnik 4a9d1163e0 Hacky way to specify indent scopes per language via toml configs.
Can't do it via a scm query nicely because it returns an iterator over
all the matches, whereas we want to traverse the tree ourselves.

Can't extract the pattern data from a parsed query either.

Oh well, toml files for now.
2021-05-14 19:21:46 +09:00
Blaž Hrastnik 99c1c477e9 Update deps. 2021-05-12 17:28:46 +09:00
Blaž Hrastnik 1f2d87cb95 Make the config dir locator work on Windows. 2021-05-10 16:21:55 +09:00
Blaž Hrastnik 35606a3daa Inline tui as helix-tui fork.
We only rely on some of the rendering primitives and implement our
Cursive-style compositor on top.
2021-05-09 17:52:55 +09:00
Blaž Hrastnik 8a949fb011 Drop shellexpand. 2021-05-08 11:54:19 +09:00
Blaž Hrastnik 570c253ffb Disable default features on futures-util to drop proc macros. 2021-05-08 11:51:18 +09:00
Blaž Hrastnik ba97005495 Work around the rest of the blocking issues. 2021-05-06 17:15: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 b6a22e955b Closer to a full flake build via naersk.
Blocked on https://github.com/NixOS/nix/issues/4423, build doesn't see
submodules.
2021-05-03 22:39:53 +09:00
Blaž Hrastnik 91767c3848 Update dependencies. 2021-04-21 13:36:32 +09:00
Blaž Hrastnik 71c06c11cb Import tree sitter queries. 2021-04-08 23:25:35 +09:00
Blaž Hrastnik bc4e54c0c4 Load config files from ~/.config/helix, fallback to defaults. 2021-04-07 23:56:20 +09:00
Blaž Hrastnik 89f81be31b Add yet more language definitions. 2021-04-07 14:04:13 +09:00
Blaž Hrastnik 7d677d32ae Update deps. 2021-04-01 18:31:27 +09:00
Blaž Hrastnik 2a3910c1d9 wip: Async async. Delay response handling with a callback. 2021-03-26 17:12:45 +09:00
Blaž Hrastnik a65395d94b Load theme from toml file. 2021-03-25 16:42:14 +09:00
Blaž Hrastnik e3c4edae32 Add the machinery to load syntax config from TOML.
It's embedded into the binary at build time for now, but it's progress.
2021-03-25 15:26:25 +09:00
Blaž Hrastnik a900159a86 Update deps. 2021-03-24 18:17:47 +09:00
Blaž Hrastnik 1abf2953cd Bump deps. 2021-03-15 16:19:04 +09:00
Blaž Hrastnik 1d42b95915 ui: wip: Markdown doc renderer. 2021-03-05 16:07:46 +09:00
Blaž Hrastnik 4102992c46 Bump deps. 2021-03-01 14:33:02 +09:00
Blaž Hrastnik c6456d04b9 syntax: Drop the rayon dependency for threadpool.
We just need a small concurrent threadpool for compilation.
2021-02-24 13:17:10 +09:00
Blaž Hrastnik 41c0d5828f flake: Packaging definition. 2021-02-22 17:02:59 +09:00
Blaž Hrastnik 3f6f82b0c4 Always store the log file under home dir. 2021-02-19 16:48:51 +09:00
Blaž Hrastnik bd85460698 Bump jsonrpc-core, lsp-types. 2021-02-18 14:10:52 +09:00
Blaž Hrastnik d8bc19f715 Update deps, switch tendril over to crates.io 2021-02-16 18:11:17 +09:00
Blaž Hrastnik 755632f231 deps update 2021-02-09 15:40:06 +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 22fe2ebe72 helix-syntax: Speed up compilation by compiling langs in parallel. 2021-01-19 16:51:58 +09:00
Blaž Hrastnik 5ec9b4329b Bump deps. 2021-01-08 16:44:10 +09:00
Blaž Hrastnik 941c34a7fc lsp: Move timeouts into client.request 2021-01-06 17:48:14 +09:00
Blaž Hrastnik 3bf4e1e8fa Update deps. 2021-01-06 14:08:23 +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 cd16df19c1 lsp: generate_transaction_from_text_edits 2020-12-23 18:16:17 +09:00
Blaž Hrastnik 4f9cde25cf Bump deps. 2020-12-17 19:35:29 +09:00
Blaž Hrastnik 7c75ec04e8 File picker mockup, reuses the line editor work done on Prompt. 2020-12-17 18:08:16 +09:00
Blaž Hrastnik 8695415fbf wip: Move to new rendering structure. 2020-12-13 12:23:50 +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 39bf1ca825 Update deps. 2020-12-03 13:12:07 +09:00
Blaž Hrastnik a7869c728c wip 2020-12-03 13:12:07 +09:00
Blaž Hrastnik 3f707c19f4 Save command 2020-12-03 13:12:05 +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 af1924404a Configure logging (-vv for debug level logs) 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 81ccca0c6a Improve error typing. 2020-12-03 13:10:35 +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 13cb442850 wip: Fetching diagnostics, parsing notifications. 2020-12-03 13:04:42 +09:00
Blaž Hrastnik f03830b047 wip: Basic LSP lifecycle requests/notifications. 2020-12-03 13:04:42 +09:00
Blaž Hrastnik 8adcf5083f wip 2020-12-03 13:04:42 +09:00
Blaž Hrastnik 6ae3c26def Updated dependencies. 2020-10-14 14:34:09 +09:00
Blaž Hrastnik c7616d248e Update deps 2020-10-13 23:13:56 +09:00
Jan Hrastnik 038201647c started work on goto mode 2020-10-04 23:47:37 +02:00
Blaž Hrastnik e39bd211d1 argh -> clap to speed up compilation (no syn/proc_macro) 2020-10-01 12:25:03 +09:00
Blaž Hrastnik 3020077da8 Extend selection commands. 2020-09-29 01:00:35 +09:00
Blaž Hrastnik eb639eb2e4 More robust syntax detection/grammar loading. 2020-09-22 18:27:37 +09:00
Blaž Hrastnik 935cfeae57 Split parts of helix-term into helix-view.
It still largely depends on term for some types but I plan to change
that later.
2020-09-21 18:24:16 +09:00
Blaž Hrastnik 3859f6963d More work on the UI. 2020-09-19 11:58:08 +09:00
Blaž Hrastnik 088f8a82af Incremental parsing: rough draft. 2020-09-17 16:32:40 +09:00
Blaž Hrastnik b17a77b8b8 cleanup: Import tree-sitter-highlight so we can cache trees. 2020-09-11 14:14:44 +09:00
Blaž Hrastnik 25b3f98e3d draft: tree-sitter highlighting 2020-09-09 15:48:25 +09:00
Blaž Hrastnik 7eac12a4bb Add helix-syntax as a wrapper around tree-sitter parsers. 2020-09-09 14:41:12 +09:00
Blaž Hrastnik e282fc7595 Bump deps, eliminate a lot of transitive deps. 2020-09-08 21:05:28 +09:00
Blaž Hrastnik 9ad40bc40b Experiment with TUI so we can render selections. 2020-09-07 18:10:08 +09:00
Blaž Hrastnik 0d56ce9296 Bump deps, make it compile with latest smol. 2020-09-04 18:18:40 +09:00
Blaž Hrastnik bfa7533070 Bump deps 2020-08-20 16:39:03 +09:00
Blaž Hrastnik 4733afa6c2 Update dependencies.
smol 0.3 makes setup a whole lot easier.
2020-08-11 23:19:23 +09:00
Blaž Hrastnik 073fe61264 Use ropey 1.2.0 2020-06-15 13:51:59 +09:00
Blaž Hrastnik aada88abf5 Bump dependencies. 2020-06-10 13:57:28 +09:00
Blaž Hrastnik 6ed2f56a01 Update Cargo.lock 2020-06-02 10:49:21 +09:00
Blaž Hrastnik 613d06dfb0 wip: importing to github 2020-06-01 17:42:28 +09:00
Blaž Hrastnik 6905ff03c2 Start swapping from termwiz to crossterm + async. 2020-05-28 17:47:35 +09:00
Blaž Hrastnik 23109f1512 OT: changeset: Implement compose and apply. 2020-05-26 18:11:11 +09:00
Blaž Hrastnik 44ff4d3c1f Implement a new core based on CodeMirror. 2020-05-25 13:02:21 +09:00