Commit Graph

812 Commits

Author SHA1 Message Date
Ivan Tham
8985c58fd3 Add infobox 2021-07-04 18:01:59 +09:00
Kirawi
c5b2973739
:reload (#374)
* reloading functionality

* fn with_newline_eof()

* fmt

* wip

* wip

* wip

* wip

* moved to core, added simd feature for encoding_rs

* wip

* rm

* .gitignore

* wip

* local wip

* wip

* wip

* no features

* wip

* nit

* remove simd

* doc

* clippy

* clippy

* address comments

* add indentation & line ending change
2021-07-02 23:54:50 +09:00
Kirawi
acaf22d005
Added native Windows clipboard support (#373)
* Added native Windows clipboard support

* make conditional

wip

better conditional

wip

wip

wip

wip

make conditional
2021-06-30 17:11:56 +09:00
Blaž Hrastnik
c832aa5a49 There is no direct dirs-next dependency in term 2021-06-27 23:28:22 +09:00
Blaž Hrastnik
44566ea812 Release 0.3.0 2021-06-27 13:27:47 +09:00
Keith Simmons
4418e17547
reverse the dependency between helix-tui and helix-view (#366)
* reverse the dependency between helix-tui and helix-view by moving a fiew types to view

* fix tests

* clippy and format fixes

Co-authored-by: Keith Simmons <keithsim@microsoft.com>
2021-06-25 12:58:15 +09:00
Shafkath Shuhan
fd98e743e8 Handle non-UTF8 files 2021-06-23 15:40:27 +09:00
Nathan Vegdahl
2ff9b362fb Update to Ropey v1.3.1 with needed bugfix. 2021-06-23 12:43:09 +09:00
Blaž Hrastnik
a70de6e980
Merge pull request #224 from helix-editor/line_ending_detection
Line ending detection
2021-06-22 11:09:19 +09:00
dependabot[bot]
c704970fd7 Bump tokio from 1.6.1 to 1.7.1
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.6.1 to 1.7.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.6.1...tokio-1.7.1)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-22 09:26:14 +09:00
Nathan Vegdahl
e686c3e462 Merge branch 'master' of github.com:helix-editor/helix into line_ending_detection
Rebasing was making me manually fix conflicts on every commit, so
merging instead.
2021-06-20 16:09:14 -07:00
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
Blaž Hrastnik
240e5f4e3d Initial import. 2020-05-20 18:14:51 +09:00