Release 0.3.0
This commit is contained in:
parent
cad14c6b46
commit
44566ea812
9 changed files with 109 additions and 22 deletions
87
CHANGELOG.md
Normal file
87
CHANGELOG.md
Normal file
|
@ -0,0 +1,87 @@
|
||||||
|
# 0.3.0
|
||||||
|
|
||||||
|
Another big release.
|
||||||
|
|
||||||
|
Highlights:
|
||||||
|
|
||||||
|
- Indentation is now automatically detected from file heuristics. ([#245](https://github.com/helix-editor/helix/pull/245))
|
||||||
|
- Support for other line endings (CRLF). Significantly improved Windows support. ([#224](https://github.com/helix-editor/helix/pull/224))
|
||||||
|
- Encodings other than UTF-8 are now supported! ([#228](https://github.com/helix-editor/helix/pull/228))
|
||||||
|
- Key bindings can now be configured via a `config.toml` file ([#268](https://github.com/helix-editor/helix/pull/268))
|
||||||
|
- 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))
|
||||||
|
- System clipboard yank/paste is now supported! ([#310](https://github.com/helix-editor/helix/pull/310))
|
||||||
|
- Surround commands were implemented ([#320](https://github.com/helix-editor/helix/pull/320))
|
||||||
|
|
||||||
|
Features:
|
||||||
|
|
||||||
|
- File picker can now be repeatedly filtered ([#232](https://github.com/helix-editor/helix/pull/232))
|
||||||
|
- LSP progress is now received and rendered as a spinner ([#234](https://github.com/helix-editor/helix/pull/234))
|
||||||
|
- Current line number can now be themed ([#260](https://github.com/helix-editor/helix/pull/260))
|
||||||
|
- Arrow keys & home/end now work in insert mode ([#305](https://github.com/helix-editor/helix/pull/305))
|
||||||
|
- Cursors and selections can now be themed ([#325](https://github.com/helix-editor/helix/pull/325))
|
||||||
|
- Language servers are now gracefully shut down before `hx` exits ([#287](https://github.com/helix-editor/helix/pull/287))
|
||||||
|
- `:show-directory`/`:change-directory` ([#335](https://github.com/helix-editor/helix/pull/335))
|
||||||
|
- File picker is now sorted by access time (before filtering) ([#336](https://github.com/helix-editor/helix/pull/336))
|
||||||
|
- Code is being migrated from helix-term to helix-view (prerequisite for
|
||||||
|
alternative frontends) ([#366](https://github.com/helix-editor/helix/pull/366))
|
||||||
|
- `x` and `X` merged
|
||||||
|
([f41688d9](https://github.com/helix-editor/helix/commit/f41688d960ef89c29c4a51c872b8406fb8f81a85))
|
||||||
|
|
||||||
|
Fixes:
|
||||||
|
|
||||||
|
- The IME popup is now correctly positioned ([#273](https://github.com/helix-editor/helix/pull/273))
|
||||||
|
- A bunch of bugs regarding `o`/`O` behavior ([#281](https://github.com/helix-editor/helix/pull/281))
|
||||||
|
- `~` expansion now works in file completion ([#284](https://github.com/helix-editor/helix/pull/284))
|
||||||
|
- Several UI related overflow crashes ([#318](https://github.com/helix-editor/helix/pull/318))
|
||||||
|
- Fix a test failure occuring only on `test --release` ([4f108ab1](https://github.com/helix-editor/helix/commit/4f108ab1b2197809506bd7305ad903a3525eabfa))
|
||||||
|
- Prompts now support unicode input ([#295](https://github.com/helix-editor/helix/pull/295))
|
||||||
|
- Completion documentation no longer overlaps the popup ([#322](https://github.com/helix-editor/helix/pull/322))
|
||||||
|
- Fix a crash when trying to select `^` ([9c534614](https://github.com/helix-editor/helix/commit/9c53461429a3e72e3b1fb87d7ca490e168d7dee2))
|
||||||
|
- Prompt completions are now paginated ([39dc09e6](https://github.com/helix-editor/helix/commit/39dc09e6c4172299bc79de4c1c52288d3f624bd7))
|
||||||
|
- Goto did not work on Windows ([503ca112](https://github.com/helix-editor/helix/commit/503ca112ae57ebdf3ea323baf8940346204b46d2))
|
||||||
|
|
||||||
|
# 0.2.1
|
||||||
|
|
||||||
|
Includes a fix where wq/wqa could exit before file saving completed.
|
||||||
|
|
||||||
|
# 0.2.0
|
||||||
|
|
||||||
|
Enough has changed to bump the version. We're skipping 0.1.x because
|
||||||
|
previously the CLI would always report version as 0.1.0, and we'd like
|
||||||
|
to distinguish it in bug reports..
|
||||||
|
|
||||||
|
- The `runtime/` directory is now properly detected on binary releases and
|
||||||
|
on cargo run. `~/.config/helix/runtime` can also be used.
|
||||||
|
- Registers can now be selected via " (for example `"ay`)
|
||||||
|
- Support for Nix files was added
|
||||||
|
- Movement is now fully tested and matches kakoune implementation
|
||||||
|
- A per-file LSP symbol picker was added to space+s
|
||||||
|
- Selection can be replaced with yanked text via R
|
||||||
|
|
||||||
|
- `1g` now correctly goes to line 1
|
||||||
|
- `ctrl-i` now correctly jumps backwards in history
|
||||||
|
- A small memory leak was fixed, where we tried to reuse tree-sitter
|
||||||
|
query cursors, but always allocated a new one
|
||||||
|
- Auto-formatting is now only on for certain languages
|
||||||
|
- The root directory is now provided in LSP initialization, fixing
|
||||||
|
certain language servers (typescript)
|
||||||
|
- LSP failing to start no longer panics
|
||||||
|
- Elixir language queries were fixed
|
||||||
|
|
||||||
|
# 0.0.10
|
||||||
|
|
||||||
|
Keymaps:
|
||||||
|
- Add mappings to jump to diagnostics
|
||||||
|
- Add gt/gm/gb mappings to jump to top/middle/bottom of screen
|
||||||
|
- ^ and $ are now gh, gl
|
||||||
|
|
||||||
|
- The runtime/ can now optionally be embedded in the binary
|
||||||
|
- Haskell syntax added
|
||||||
|
- Window mode (ctrl-w) added
|
||||||
|
- Show matching bracket (vim's matchbrackets)
|
||||||
|
- Themes now support style modifiers
|
||||||
|
- First user contributed theme
|
||||||
|
- Create a document if it doesn't exist yet on save
|
||||||
|
- Detect language on a new file on save
|
||||||
|
|
||||||
|
- Panic fixes, lots of them
|
12
Cargo.lock
generated
12
Cargo.lock
generated
|
@ -290,7 +290,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "helix-core"
|
name = "helix-core"
|
||||||
version = "0.2.0"
|
version = "0.3.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arc-swap",
|
"arc-swap",
|
||||||
"etcetera",
|
"etcetera",
|
||||||
|
@ -311,7 +311,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "helix-lsp"
|
name = "helix-lsp"
|
||||||
version = "0.2.0"
|
version = "0.3.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"futures-executor",
|
"futures-executor",
|
||||||
|
@ -329,7 +329,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "helix-syntax"
|
name = "helix-syntax"
|
||||||
version = "0.2.0"
|
version = "0.3.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cc",
|
"cc",
|
||||||
"serde",
|
"serde",
|
||||||
|
@ -339,7 +339,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "helix-term"
|
name = "helix-term"
|
||||||
version = "0.2.0"
|
version = "0.3.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"chrono",
|
"chrono",
|
||||||
|
@ -365,7 +365,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "helix-tui"
|
name = "helix-tui"
|
||||||
version = "0.2.0"
|
version = "0.3.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags",
|
"bitflags",
|
||||||
"cassowary",
|
"cassowary",
|
||||||
|
@ -379,7 +379,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "helix-view"
|
name = "helix-view"
|
||||||
version = "0.2.0"
|
version = "0.3.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"bitflags",
|
"bitflags",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "helix-core"
|
name = "helix-core"
|
||||||
version = "0.2.0"
|
version = "0.3.0"
|
||||||
authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
|
authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MPL-2.0"
|
license = "MPL-2.0"
|
||||||
|
@ -14,7 +14,7 @@ include = ["src/**/*", "README.md"]
|
||||||
embed_runtime = ["rust-embed"]
|
embed_runtime = ["rust-embed"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
helix-syntax = { version = "0.2", path = "../helix-syntax" }
|
helix-syntax = { version = "0.3", path = "../helix-syntax" }
|
||||||
|
|
||||||
ropey = "1.3"
|
ropey = "1.3"
|
||||||
smallvec = "1.4"
|
smallvec = "1.4"
|
||||||
|
|
|
@ -194,7 +194,7 @@ impl LanguageConfiguration {
|
||||||
let language = get_language_name(self.language_id).to_ascii_lowercase();
|
let language = get_language_name(self.language_id).to_ascii_lowercase();
|
||||||
|
|
||||||
let toml = load_runtime_file(&language, "indents.toml").ok()?;
|
let toml = load_runtime_file(&language, "indents.toml").ok()?;
|
||||||
toml::from_slice(&toml.as_bytes()).ok()
|
toml::from_slice(toml.as_bytes()).ok()
|
||||||
})
|
})
|
||||||
.as_ref()
|
.as_ref()
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "helix-lsp"
|
name = "helix-lsp"
|
||||||
version = "0.2.0"
|
version = "0.3.0"
|
||||||
authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
|
authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MPL-2.0"
|
license = "MPL-2.0"
|
||||||
|
@ -12,7 +12,7 @@ homepage = "https://helix-editor.com"
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
helix-core = { version = "0.2", path = "../helix-core" }
|
helix-core = { version = "0.3", path = "../helix-core" }
|
||||||
|
|
||||||
anyhow = "1.0"
|
anyhow = "1.0"
|
||||||
futures-executor = "0.3"
|
futures-executor = "0.3"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "helix-syntax"
|
name = "helix-syntax"
|
||||||
version = "0.2.0"
|
version = "0.3.0"
|
||||||
authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
|
authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MPL-2.0"
|
license = "MPL-2.0"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "helix-term"
|
name = "helix-term"
|
||||||
version = "0.2.0"
|
version = "0.3.0"
|
||||||
description = "A post-modern text editor."
|
description = "A post-modern text editor."
|
||||||
authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
|
authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
|
@ -22,9 +22,9 @@ name = "hx"
|
||||||
path = "src/main.rs"
|
path = "src/main.rs"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
helix-core = { version = "0.2", path = "../helix-core" }
|
helix-core = { version = "0.3", path = "../helix-core" }
|
||||||
helix-view = { version = "0.2", path = "../helix-view" }
|
helix-view = { version = "0.3", path = "../helix-view" }
|
||||||
helix-lsp = { version = "0.2", path = "../helix-lsp" }
|
helix-lsp = { version = "0.3", path = "../helix-lsp" }
|
||||||
|
|
||||||
anyhow = "1"
|
anyhow = "1"
|
||||||
once_cell = "1.8"
|
once_cell = "1.8"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "helix-tui"
|
name = "helix-tui"
|
||||||
version = "0.2.0"
|
version = "0.3.0"
|
||||||
authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
|
authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
|
||||||
description = """
|
description = """
|
||||||
A library to build rich terminal user interfaces or dashboards
|
A library to build rich terminal user interfaces or dashboards
|
||||||
|
@ -22,5 +22,5 @@ unicode-segmentation = "1.2"
|
||||||
unicode-width = "0.1"
|
unicode-width = "0.1"
|
||||||
crossterm = { version = "0.20", optional = true }
|
crossterm = { version = "0.20", optional = true }
|
||||||
serde = { version = "1", "optional" = true, features = ["derive"]}
|
serde = { version = "1", "optional" = true, features = ["derive"]}
|
||||||
helix-view = { path = "../helix-view", features = ["term"] }
|
helix-view = { version = "0.3", path = "../helix-view", features = ["term"] }
|
||||||
helix-core = { version = "0.2", path = "../helix-core" }
|
helix-core = { version = "0.3", path = "../helix-core" }
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "helix-view"
|
name = "helix-view"
|
||||||
version = "0.2.0"
|
version = "0.3.0"
|
||||||
authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
|
authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MPL-2.0"
|
license = "MPL-2.0"
|
||||||
|
@ -16,8 +16,8 @@ term = ["crossterm"]
|
||||||
[dependencies]
|
[dependencies]
|
||||||
bitflags = "1.0"
|
bitflags = "1.0"
|
||||||
anyhow = "1"
|
anyhow = "1"
|
||||||
helix-core = { version = "0.2", path = "../helix-core" }
|
helix-core = { version = "0.3", path = "../helix-core" }
|
||||||
helix-lsp = { version = "0.2", path = "../helix-lsp"}
|
helix-lsp = { version = "0.3", path = "../helix-lsp"}
|
||||||
crossterm = { version = "0.20", optional = true }
|
crossterm = { version = "0.20", optional = true }
|
||||||
|
|
||||||
# Conversion traits
|
# Conversion traits
|
||||||
|
|
Loading…
Add table
Reference in a new issue