on master help sign in
Release 0.3.0
commit44566ea812eed023c89ab49b59f62e76ef2bd6c7 authorBlaž Hrastnik <blaz@mxxn.io> dateSun 27 Jun 2021, 13:27 (5 years ago) parentcad14c6
9 files changed+109−22
CHANGELOG.md+87 Cargo.lock+6−6 helix-core/Cargo.toml+2−2 helix-core/src/syntax.rs+1−1 helix-lsp/Cargo.toml+2−2 helix-syntax/Cargo.toml+1−1 helix-term/Cargo.toml+4−4 helix-tui/Cargo.toml+3−3 helix-view/Cargo.toml+3−3
CHANGELOG.mdnew file+87
@@ -0,0 +1,87 @@
1+# 0.3.0
2+
3+Another big release.
4+
5+Highlights:
6+
7+- Indentation is now automatically detected from file heuristics. ([#245](https://github.com/helix-editor/helix/pull/245))
8+- Support for other line endings (CRLF). Significantly improved Windows support. ([#224](https://github.com/helix-editor/helix/pull/224))
9+- Encodings other than UTF-8 are now supported! ([#228](https://github.com/helix-editor/helix/pull/228))
10+- Key bindings can now be configured via a `config.toml` file ([#268](https://github.com/helix-editor/helix/pull/268))
11+- Theme can now be configured and changed at runtime ([please feel free to contribute more themes!](https://github.com/helix-editor/helix/tree/master/runtime/themes)) ([#267](https://github.com/helix-editor/helix/pull/267))
12+- System clipboard yank/paste is now supported! ([#310](https://github.com/helix-editor/helix/pull/310))
13+- Surround commands were implemented ([#320](https://github.com/helix-editor/helix/pull/320))
14+
15+Features:
16+
17+- File picker can now be repeatedly filtered ([#232](https://github.com/helix-editor/helix/pull/232))
18+- LSP progress is now received and rendered as a spinner ([#234](https://github.com/helix-editor/helix/pull/234))
19+- Current line number can now be themed ([#260](https://github.com/helix-editor/helix/pull/260))
20+- Arrow keys & home/end now work in insert mode ([#305](https://github.com/helix-editor/helix/pull/305))
21+- Cursors and selections can now be themed ([#325](https://github.com/helix-editor/helix/pull/325))
22+- Language servers are now gracefully shut down before `hx` exits ([#287](https://github.com/helix-editor/helix/pull/287))
23+- `:show-directory`/`:change-directory` ([#335](https://github.com/helix-editor/helix/pull/335))
24+- File picker is now sorted by access time (before filtering) ([#336](https://github.com/helix-editor/helix/pull/336))
25+- Code is being migrated from helix-term to helix-view (prerequisite for
26+ alternative frontends) ([#366](https://github.com/helix-editor/helix/pull/366))
27+- `x` and `X` merged
28+ ([f41688d9](https://github.com/helix-editor/helix/commit/f41688d960ef89c29c4a51c872b8406fb8f81a85))
29+
30+Fixes:
31+
32+- The IME popup is now correctly positioned ([#273](https://github.com/helix-editor/helix/pull/273))
33+- A bunch of bugs regarding `o`/`O` behavior ([#281](https://github.com/helix-editor/helix/pull/281))
34+- `~` expansion now works in file completion ([#284](https://github.com/helix-editor/helix/pull/284))
35+- Several UI related overflow crashes ([#318](https://github.com/helix-editor/helix/pull/318))
36+- Fix a test failure occuring only on `test --release` ([4f108ab1](https://github.com/helix-editor/helix/commit/4f108ab1b2197809506bd7305ad903a3525eabfa))
37+- Prompts now support unicode input ([#295](https://github.com/helix-editor/helix/pull/295))
38+- Completion documentation no longer overlaps the popup ([#322](https://github.com/helix-editor/helix/pull/322))
39+- Fix a crash when trying to select `^` ([9c534614](https://github.com/helix-editor/helix/commit/9c53461429a3e72e3b1fb87d7ca490e168d7dee2))
40+- Prompt completions are now paginated ([39dc09e6](https://github.com/helix-editor/helix/commit/39dc09e6c4172299bc79de4c1c52288d3f624bd7))
41+- Goto did not work on Windows ([503ca112](https://github.com/helix-editor/helix/commit/503ca112ae57ebdf3ea323baf8940346204b46d2))
42+
43+# 0.2.1
44+
45+Includes a fix where wq/wqa could exit before file saving completed.
46+
47+# 0.2.0
48+
49+Enough has changed to bump the version. We're skipping 0.1.x because
50+previously the CLI would always report version as 0.1.0, and we'd like
51+to distinguish it in bug reports..
52+
53+- The `runtime/` directory is now properly detected on binary releases and
54+ on cargo run. `~/.config/helix/runtime` can also be used.
55+- Registers can now be selected via " (for example `"ay`)
56+- Support for Nix files was added
57+- Movement is now fully tested and matches kakoune implementation
58+- A per-file LSP symbol picker was added to space+s
59+- Selection can be replaced with yanked text via R
60+
61+- `1g` now correctly goes to line 1
62+- `ctrl-i` now correctly jumps backwards in history
63+- A small memory leak was fixed, where we tried to reuse tree-sitter
64+ query cursors, but always allocated a new one
65+- Auto-formatting is now only on for certain languages
66+- The root directory is now provided in LSP initialization, fixing
67+ certain language servers (typescript)
68+- LSP failing to start no longer panics
69+- Elixir language queries were fixed
70+
71+# 0.0.10
72+
73+Keymaps:
74+- Add mappings to jump to diagnostics
75+- Add gt/gm/gb mappings to jump to top/middle/bottom of screen
76+- ^ and $ are now gh, gl
77+
78+- The runtime/ can now optionally be embedded in the binary
79+- Haskell syntax added
80+- Window mode (ctrl-w) added
81+- Show matching bracket (vim's matchbrackets)
82+- Themes now support style modifiers
83+- First user contributed theme
84+- Create a document if it doesn't exist yet on save
85+- Detect language on a new file on save
86+
87+- Panic fixes, lots of them
Cargo.lock+6−6
@@ -290,7 +290,7 @@ dependencies = [
290290
291291[[package]]
292292name = "helix-core"
293−version = "0.2.0"
293+version = "0.3.0"
294294dependencies = [
295295 "arc-swap",
296296 "etcetera",
@@ -311,7 +311,7 @@ dependencies = [
311311
312312[[package]]
313313name = "helix-lsp"
314−version = "0.2.0"
314+version = "0.3.0"
315315dependencies = [
316316 "anyhow",
317317 "futures-executor",
@@ -329,7 +329,7 @@ dependencies = [
329329
330330[[package]]
331331name = "helix-syntax"
332−version = "0.2.0"
332+version = "0.3.0"
333333dependencies = [
334334 "cc",
335335 "serde",
@@ -339,7 +339,7 @@ dependencies = [
339339
340340[[package]]
341341name = "helix-term"
342−version = "0.2.0"
342+version = "0.3.0"
343343dependencies = [
344344 "anyhow",
345345 "chrono",
@@ -365,7 +365,7 @@ dependencies = [
365365
366366[[package]]
367367name = "helix-tui"
368−version = "0.2.0"
368+version = "0.3.0"
369369dependencies = [
370370 "bitflags",
371371 "cassowary",
@@ -379,7 +379,7 @@ dependencies = [
379379
380380[[package]]
381381name = "helix-view"
382−version = "0.2.0"
382+version = "0.3.0"
383383dependencies = [
384384 "anyhow",
385385 "bitflags",
helix-core/Cargo.toml+2−2
@@ -1,6 +1,6 @@
11[package]
22name = "helix-core"
3−version = "0.2.0"
3+version = "0.3.0"
44authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
55edition = "2018"
66license = "MPL-2.0"
@@ -14,7 +14,7 @@ include = ["src/**/*", "README.md"]
1414embed_runtime = ["rust-embed"]
1515
1616[dependencies]
17−helix-syntax = { version = "0.2", path = "../helix-syntax" }
17+helix-syntax = { version = "0.3", path = "../helix-syntax" }
1818
1919ropey = "1.3"
2020smallvec = "1.4"
helix-core/src/syntax.rs+1−1
@@ -194,7 +194,7 @@ impl LanguageConfiguration {
194194 let language = get_language_name(self.language_id).to_ascii_lowercase();
195195
196196 let toml = load_runtime_file(&language, "indents.toml").ok()?;
197− toml::from_slice(&toml.as_bytes()).ok()
197+ toml::from_slice(toml.as_bytes()).ok()
198198 })
199199 .as_ref()
200200 }
helix-lsp/Cargo.toml+2−2
@@ -1,6 +1,6 @@
11[package]
22name = "helix-lsp"
3−version = "0.2.0"
3+version = "0.3.0"
44authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
55edition = "2018"
66license = "MPL-2.0"
@@ -12,7 +12,7 @@ homepage = "https://helix-editor.com"
1212# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
1313
1414[dependencies]
15−helix-core = { version = "0.2", path = "../helix-core" }
15+helix-core = { version = "0.3", path = "../helix-core" }
1616
1717anyhow = "1.0"
1818futures-executor = "0.3"
helix-syntax/Cargo.toml+1−1
@@ -1,6 +1,6 @@
11[package]
22name = "helix-syntax"
3−version = "0.2.0"
3+version = "0.3.0"
44authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
55edition = "2018"
66license = "MPL-2.0"
helix-term/Cargo.toml+4−4
@@ -1,6 +1,6 @@
11[package]
22name = "helix-term"
3−version = "0.2.0"
3+version = "0.3.0"
44description = "A post-modern text editor."
55authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
66edition = "2018"
@@ -22,9 +22,9 @@ name = "hx"
2222path = "src/main.rs"
2323
2424[dependencies]
25−helix-core = { version = "0.2", path = "../helix-core" }
26−helix-view = { version = "0.2", path = "../helix-view" }
27−helix-lsp = { version = "0.2", path = "../helix-lsp" }
25+helix-core = { version = "0.3", path = "../helix-core" }
26+helix-view = { version = "0.3", path = "../helix-view" }
27+helix-lsp = { version = "0.3", path = "../helix-lsp" }
2828
2929anyhow = "1"
3030once_cell = "1.8"
helix-tui/Cargo.toml+3−3
@@ -1,6 +1,6 @@
11[package]
22name = "helix-tui"
3−version = "0.2.0"
3+version = "0.3.0"
44authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
55description = """
66A library to build rich terminal user interfaces or dashboards
@@ -22,5 +22,5 @@ unicode-segmentation = "1.2"
2222unicode-width = "0.1"
2323crossterm = { version = "0.20", optional = true }
2424serde = { version = "1", "optional" = true, features = ["derive"]}
25−helix-view = { path = "../helix-view", features = ["term"] }
26−helix-core = { version = "0.2", path = "../helix-core" }
25+helix-view = { version = "0.3", path = "../helix-view", features = ["term"] }
26+helix-core = { version = "0.3", path = "../helix-core" }
helix-view/Cargo.toml+3−3
@@ -1,6 +1,6 @@
11[package]
22name = "helix-view"
3−version = "0.2.0"
3+version = "0.3.0"
44authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
55edition = "2018"
66license = "MPL-2.0"
@@ -16,8 +16,8 @@ term = ["crossterm"]
1616[dependencies]
1717bitflags = "1.0"
1818anyhow = "1"
19−helix-core = { version = "0.2", path = "../helix-core" }
20−helix-lsp = { version = "0.2", path = "../helix-lsp"}
19+helix-core = { version = "0.3", path = "../helix-core" }
20+helix-lsp = { version = "0.3", path = "../helix-lsp"}
2121crossterm = { version = "0.20", optional = true }
2222
2323# Conversion traits