Merge pull request 'master' (#3) from Mirrors/helix:master into master

Reviewed-on: #3
master
Trivernis 2 years ago
commit 4a54f995f2

112
Cargo.lock generated

@ -57,9 +57,9 @@ checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61"
[[package]]
name = "arc-swap"
version = "1.5.1"
version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "983cd8b9d4b02a6dc6ffa557262eb5858a27a0038ffffe21a0f133eaa819a164"
checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6"
[[package]]
name = "atoi"
@ -190,9 +190,9 @@ dependencies = [
[[package]]
name = "clipboard-win"
version = "4.4.2"
version = "4.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c4ab1b92798304eedc095b53942963240037c0516452cb11aeba709d420b2219"
checksum = "7191c27c2357d9b7ef96baac1773290d4ca63b24205b82a3fd8a0637afcf0362"
dependencies = [
"error-code",
"str-buf",
@ -541,9 +541,9 @@ dependencies = [
[[package]]
name = "git-actor"
version = "0.15.0"
version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7def29b46f25f95a2e196323cfb336eae9965e0a3c7c35ad9506f295c3a8e234"
checksum = "d9e5fd7bc63ad527d64584f8d01f99b89c051f5fbb8144b58ae5f812775065cf"
dependencies = [
"bstr 1.0.1",
"btoi",
@ -555,9 +555,9 @@ dependencies = [
[[package]]
name = "git-attributes"
version = "0.7.0"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0affaed361598fdd06b2a184a566c823d0b5817b09f576018248fb267193a96"
checksum = "f8013dfce47c1e29236d732308933e2c77af5355ec5105755d26faf7764d3f7b"
dependencies = [
"bstr 1.0.1",
"compact_str",
@ -589,18 +589,18 @@ dependencies = [
[[package]]
name = "git-command"
version = "0.2.0"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a6b98a6312fef79b326c0a6e15d576c2bd30f7f9d0b7964998d166049e0d7b9e"
checksum = "215145cc1686a45bc6f9872b153a0d3f3c40a1b94173a928325e1b53dfa5e2af"
dependencies = [
"bstr 1.0.1",
]
[[package]]
name = "git-config"
version = "0.13.0"
version = "0.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5ff189268cfb19d5151529ac30b6b708072ebfa1075643d785232675456ec320"
checksum = "c9da662fd64ac69772158dcf04777da6266f0f36bc9a310b3eb2d805bb696315"
dependencies = [
"bstr 1.0.1",
"git-config-value",
@ -632,9 +632,9 @@ dependencies = [
[[package]]
name = "git-credentials"
version = "0.8.0"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "28da3d029be10258007699d002321a3b1ebe45e67b0e140a4cf464ba3ee79b32"
checksum = "97cd6bbe001afd6356b35ef13f2a6b0f0abc0133d1b2ecaec1033bdd769616d6"
dependencies = [
"bstr 1.0.1",
"git-command",
@ -648,9 +648,9 @@ dependencies = [
[[package]]
name = "git-date"
version = "0.3.1"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a2874ce2f3a77cb144167901ea830969e5c991eac7bfee85e6e3f53ef9fcdf2"
checksum = "412c9b89026505bd24d5f8acafa578de6eea3b271ece307a73b8e646e671302a"
dependencies = [
"bstr 1.0.1",
"itoa",
@ -660,9 +660,9 @@ dependencies = [
[[package]]
name = "git-diff"
version = "0.24.0"
version = "0.26.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f30011a43908645c492dfbea7b004e10528be6bd667bf5cdc12ff4297fe1e3c"
checksum = "ca87474422d26d606d04cec6bedfabcd92a0a74102cd7936785358ced6a4a25a"
dependencies = [
"git-hash",
"git-object",
@ -672,9 +672,9 @@ dependencies = [
[[package]]
name = "git-discover"
version = "0.10.0"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "93c244b1cf7cf45501116e948506c25324e33ddc613f00557ff5bfded2132009"
checksum = "1e9e26e0bc434643228cd418185bd28ca5c7cf831bde1da434807391c27ac40e"
dependencies = [
"bstr 1.0.1",
"git-hash",
@ -686,9 +686,9 @@ dependencies = [
[[package]]
name = "git-features"
version = "0.25.1"
version = "0.26.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0f98e6ede7b790dfba16bf3c62861ae75c3719485d675b522cf7d7e748a4011c"
checksum = "5ff74064fa007c5beefa89a64bb72834f32b3c497750a56c79c6802bbdb311f9"
dependencies = [
"crc32fast",
"flate2",
@ -733,9 +733,9 @@ dependencies = [
[[package]]
name = "git-index"
version = "0.10.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "20627f71f3a884b0ae50f9f3abb3a07d9b117d06e16110d25b85da4d71d478c0"
checksum = "485da97dd4f69c7d9a8dc238cd6f4a726387ffc34573489e8e0d2bee266e3454"
dependencies = [
"atoi",
"bitflags",
@ -766,9 +766,9 @@ dependencies = [
[[package]]
name = "git-mailmap"
version = "0.7.0"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f90e3ee2eaeebda8a12d17f4d99dff5b19d81536476020bcebb99ee121820466"
checksum = "0316b4346f3e162ade368209efb8a609b587793c74aa3b8de0ec01a4f3580120"
dependencies = [
"bstr 1.0.1",
"git-actor",
@ -777,9 +777,9 @@ dependencies = [
[[package]]
name = "git-object"
version = "0.24.0"
version = "0.26.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "35b658f1e3e149d88cb3e0a2234be749bb0cab65887405975dbe6f3190cf6571"
checksum = "3f8563e2d6f524d7053f3106714f99ecdc3adbba2cb7108c09d71a02579f2e19"
dependencies = [
"bstr 1.0.1",
"btoi",
@ -796,9 +796,9 @@ dependencies = [
[[package]]
name = "git-odb"
version = "0.38.1"
version = "0.40.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "55333419bbb25aa6d39e29155f747ad8e1777fe385f70f447be9d680824d23dd"
checksum = "616115a0e3daff6e08842758d24547b37a6eb6d0e2eedd95a740c3aaa2750333"
dependencies = [
"arc-swap",
"git-features",
@ -814,9 +814,9 @@ dependencies = [
[[package]]
name = "git-pack"
version = "0.28.0"
version = "0.30.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ed3c9af66949553af9795b9eac9d450a5bdceee9959352cda468997ddce0d2f"
checksum = "7cd16b88f4b66041f41ca510c28bd81c4ee7363c5a544b3d62b4170432965871"
dependencies = [
"bytesize",
"clru",
@ -872,9 +872,9 @@ dependencies = [
[[package]]
name = "git-ref"
version = "0.21.0"
version = "0.23.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c97b7d719e4320179fb64d081016e7faca56fed4a8ee4cf84e4697faad9235a3"
checksum = "5e6767925a6fc4af5c5a81e348d1d851c1b3ab2b512bd7f562ac11be37c14468"
dependencies = [
"git-actor",
"git-features",
@ -891,9 +891,9 @@ dependencies = [
[[package]]
name = "git-refspec"
version = "0.5.0"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d478e9db0956d60cd386d3348b5ec093e3ae613105a7a75ff6084b886254eba8"
checksum = "ddf310ed5f2829ac0af96e7d4aebd4ae4b89f0718a7ae3666d09b02b2c5a1dfd"
dependencies = [
"bstr 1.0.1",
"git-hash",
@ -905,9 +905,9 @@ dependencies = [
[[package]]
name = "git-repository"
version = "0.30.2"
version = "0.32.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1925a65a9fea6587e969a7a85cb239c8e1e438cf6dc520406df1b4c9d0e83bdc"
checksum = "993277960cb7e2d3991a11c1ec6951c1d142de052c26a18d2db64304e52d3741"
dependencies = [
"git-actor",
"git-attributes",
@ -948,9 +948,9 @@ dependencies = [
[[package]]
name = "git-revision"
version = "0.8.0"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f7516b1db551756b4d3176c4b7d18ccc4b79d35dcc5e74f768c90f5bb11bb6c9"
checksum = "4f9a6bd28c9d1676bb96f428cd09614ae18a0087d7cea1cebfd177e25f99b2af"
dependencies = [
"bstr 1.0.1",
"git-date",
@ -989,9 +989,9 @@ dependencies = [
[[package]]
name = "git-traverse"
version = "0.20.0"
version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e5141dde56d0c4861193c760e01fb61c7e03a32d0840ba93a0ac1c597588d4d"
checksum = "bd356da21ec00f69b9d4f105df4cb85543c746b18f4b7fc81529ce77713cdb29"
dependencies = [
"git-hash",
"git-hashtable",
@ -1001,9 +1001,9 @@ dependencies = [
[[package]]
name = "git-url"
version = "0.12.2"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8651924c9692a778f09141ca44d1bf2dada229fe9b240f1ff1bdecd9621a1a93"
checksum = "c85af407ed0dbb8d8da2a7241827d2fd5681186d9dab3570fc8dd8d6152ec48f"
dependencies = [
"bstr 1.0.1",
"git-features",
@ -1025,9 +1025,9 @@ dependencies = [
[[package]]
name = "git-worktree"
version = "0.10.0"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "17d748c54c3d904c914b987654a1416c7abe7cf048fdc83eeae69e6ac3d76f20"
checksum = "ca3bc63878f134e08ed52dba5d82422798c01a3f2e48c38ae9a2f7ff9194f362"
dependencies = [
"bstr 1.0.1",
"git-attributes",
@ -1585,9 +1585,9 @@ dependencies = [
[[package]]
name = "once_cell"
version = "1.16.0"
version = "1.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860"
checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66"
[[package]]
name = "parking_lot"
@ -1666,9 +1666,9 @@ dependencies = [
[[package]]
name = "prodash"
version = "22.1.0"
version = "23.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "38e2b91fcc982d0d8ae5e9d477561c73e09c24c5c19bac4858e202f6f065a13e"
checksum = "5d8c414345b4a98cbcd0e8d8829c8f54b47a7ed4fb771c45b7c5c6c0ae23dc4c"
dependencies = [
"bytesize",
"dashmap",
@ -1751,9 +1751,9 @@ dependencies = [
[[package]]
name = "regex"
version = "1.7.0"
version = "1.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a"
checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733"
dependencies = [
"aho-corasick",
"memchr",
@ -1783,9 +1783,9 @@ dependencies = [
[[package]]
name = "ropey"
version = "1.5.1-alpha"
version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "917e62c0dee8926492dd13164b3cefaad2b0e03ab49f48c0d41635797a7409b3"
checksum = "a4f832915525613e83f275694cb8c184f5df13ca26a9ef0ea6ce736921964c8e"
dependencies = [
"smallvec",
"str_indices",
@ -2121,9 +2121,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
[[package]]
name = "tokio"
version = "1.23.0"
version = "1.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eab6d665857cc6ca78d6e80303a02cea7a7851e85dfbd77cbdc09bd129f1ef46"
checksum = "1d9f76183f91ecfb55e1d7d5602bd1d979e38a3a522fe900241cf195624d67ae"
dependencies = [
"autocfg",
"bytes",

@ -52,7 +52,7 @@ If you would like to build from source:
```shell
git clone https://github.com/helix-editor/helix
cd helix
cargo install --path helix-term
cargo install --locked --path helix-term
```
This will install the `hx` binary to `$HOME/.cargo/bin` and build tree-sitter grammars in `./runtime/grammars`.
@ -84,7 +84,7 @@ mklink /D runtime "<helix-repo>\runtime"
The runtime location can be overridden via the `HELIX_RUNTIME` environment variable.
> NOTE: if `HELIX_RUNTIME` is set prior to calling `cargo install --path helix-term`,
> NOTE: if `HELIX_RUNTIME` is set prior to calling `cargo install --locked --path helix-term`,
> tree-sitter grammars will be built in `$HELIX_RUNTIME/grammars`.
If you plan on keeping the repo locally, an alternative to copying/symlinking
@ -112,6 +112,7 @@ If installing from source, to use Helix in desktop environments that supports [X
```bash
cp contrib/Helix.desktop ~/.local/share/applications
cp contrib/helix.png ~/.local/share/icons
```
To use another terminal than the default, you will need to modify the `.desktop` file. For example, to use `kitty`:
@ -121,8 +122,6 @@ sed -i "s|Exec=hx %F|Exec=kitty hx %F|g" ~/.local/share/applications/Helix.deskt
sed -i "s|Terminal=true|Terminal=false|g" ~/.local/share/applications/Helix.desktop
```
Please note: there is no icon for Helix yet, so the system default will be used.
## macOS
Helix can be installed on macOS through homebrew:

@ -97,6 +97,7 @@ The following statusline elements can be configured:
| `mode` | The current editor mode (`mode.normal`/`mode.insert`/`mode.select`) |
| `spinner` | A progress spinner indicating LSP activity |
| `file-name` | The path/name of the opened file |
| `file-base-name` | The basename of the opened file |
| `file-encoding` | The encoding of the opened file if it differs from UTF-8 |
| `file-line-ending` | The file line endings (CRLF or LF) |
| `total-line-numbers` | The total line numbers of the opened file |

@ -16,12 +16,13 @@
| common-lisp | ✓ | | | `cl-lsp` |
| cpon | ✓ | | ✓ | |
| cpp | ✓ | ✓ | ✓ | `clangd` |
| crystal | ✓ | | | |
| crystal | ✓ | | | |
| css | ✓ | | | `vscode-css-language-server` |
| cue | ✓ | | | `cuelsp` |
| d | ✓ | ✓ | ✓ | `serve-d` |
| dart | ✓ | | ✓ | `dart` |
| devicetree | ✓ | | | |
| dhall | ✓ | ✓ | | `dhall-lsp-server` |
| diff | ✓ | | | |
| dockerfile | ✓ | | | `docker-langserver` |
| dot | ✓ | | | `dot-language-server` |
@ -93,6 +94,7 @@
| pascal | ✓ | ✓ | | `pasls` |
| perl | ✓ | ✓ | ✓ | |
| php | ✓ | ✓ | ✓ | `intelephense` |
| ponylang | ✓ | ✓ | ✓ | |
| prisma | ✓ | | | `prisma-language-server` |
| prolog | | | | `swipl` |
| protobuf | ✓ | | ✓ | |
@ -120,7 +122,7 @@
| swift | ✓ | | | `sourcekit-lsp` |
| tablegen | ✓ | ✓ | ✓ | |
| task | ✓ | | | |
| tfvars | | | | `terraform-ls` |
| tfvars | | | | `terraform-ls` |
| toml | ✓ | | | `taplo` |
| tsq | ✓ | | | |
| tsx | ✓ | ✓ | ✓ | `typescript-language-server` |

@ -69,17 +69,21 @@ choco install helix
**MSYS2:**
Choose the proper command for your system from below:
- For 32 bit Windows 7 or above:
```
pacman -S mingw-w64-i686-helix
```
or
- For 64 bit Windows 7 or above:
```
pacman -S mingw-w64-x86_64-helix
```
or
- For 64 bit Windows 8.1 or above:
```
pacman -S mingw-w64-ucrt-x86_64-helix
@ -90,7 +94,7 @@ pacman -S mingw-w64-ucrt-x86_64-helix
```
git clone https://github.com/helix-editor/helix
cd helix
cargo install --path helix-term
cargo install --path helix-term --locked
```
This will install the `hx` binary to `$HOME/.cargo/bin` and build tree-sitter grammars in `./runtime/grammars`.
@ -123,7 +127,7 @@ mklink /D runtime "<helix-repo>\runtime"
The runtime location can be overridden via the `HELIX_RUNTIME` environment variable.
> NOTE: if `HELIX_RUNTIME` is set prior to calling `cargo install --path helix-term`,
> NOTE: if `HELIX_RUNTIME` is set prior to calling `cargo install --path helix-term --locked`,
> tree-sitter grammars will be built in `$HELIX_RUNTIME/grammars`.
If you plan on keeping the repo locally, an alternative to copying/symlinking

@ -323,8 +323,8 @@ Mappings in the style of [vim-unimpaired](https://github.com/tpope/vim-unimpaire
| `[p` | Go to previous paragraph | `goto_prev_paragraph` |
| `]g` | Go to next change | `goto_next_change` |
| `[g` | Go to previous change | `goto_prev_change` |
| `]G` | Go to first change | `goto_first_change` |
| `[G` | Go to last change | `goto_last_change` |
| `[G` | Go to first change | `goto_first_change` |
| `]G` | Go to last change | `goto_last_change` |
| `[Space` | Add newline above | `add_newline_above` |
| `]Space` | Add newline below | `add_newline_below` |

@ -35,7 +35,7 @@ Each language is configured by adding a `[[language]]` section to a
[[language]]
name = "mylang"
scope = "source.mylang"
injection-regex = "^mylang$"
injection-regex = "mylang"
file-types = ["mylang", "myl"]
comment-token = "#"
indent = { tab-width = 2, unit = " " }

@ -140,6 +140,8 @@ We use a similar set of scopes as
- `type` - Types
- `builtin` - Primitive types provided by the language (`int`, `usize`)
- `enum`
- `variant`
- `constructor`
- `constant` (TODO: constant.other.placeholder for %v)
@ -202,6 +204,8 @@ We use a similar set of scopes as
- `namespace`
- `special`
- `markup`
- `heading`
- `marker`

@ -82,7 +82,8 @@
packages = with common.pkgs;
[lld_13 cargo-flamegraph rust-analyzer]
++ (lib.optional (stdenv.isx86_64 && stdenv.isLinux) cargo-tarpaulin)
++ (lib.optional stdenv.isLinux lldb);
++ (lib.optional stdenv.isLinux lldb)
++ (lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.CoreFoundation);
env = [
{
name = "HELIX_RUNTIME";
@ -94,10 +95,10 @@
}
{
name = "RUSTFLAGS";
value =
eval =
if common.pkgs.stdenv.isLinux
then "-C link-arg=-fuse-ld=lld -C target-cpu=native -Clink-arg=-Wl,--no-rosegment"
else "";
then "$RUSTFLAGS\" -C link-arg=-fuse-ld=lld -C target-cpu=native -Clink-arg=-Wl,--no-rosegment\""
else "$RUSTFLAGS";
}
];
};

@ -17,7 +17,7 @@ integration = []
[dependencies]
helix-loader = { version = "0.6", path = "../helix-loader" }
ropey = { version = "1.5.1-alpha", default-features = false, features = ["simd"] }
ropey = { version = "1.5.1", default-features = false, features = ["simd"] }
smallvec = "1.10"
smartstring = "1.0.1"
unicode-segmentation = "1.10"
@ -26,7 +26,7 @@ unicode-general-category = "0.6"
# slab = "0.4.2"
slotmap = "1.0"
tree-sitter = "0.20"
once_cell = "1.16"
once_cell = "1.17"
arc-swap = "1"
regex = "1"
bitflags = "1.3"

@ -17,7 +17,7 @@ pub const DEFAULT_PAIRS: &[(char, char)] = &[
];
/// The type that represents the collection of auto pairs,
/// keyed by the opener.
/// keyed by both opener and closer.
#[derive(Debug, Clone)]
pub struct AutoPairs(HashMap<char, Pair>);

@ -70,7 +70,7 @@ impl Client {
process: Option<Child>,
) -> Result<(Self, UnboundedReceiver<Payload>)> {
let (server_rx, server_tx) = Transport::start(rx, tx, err, id);
let (client_rx, client_tx) = unbounded_channel();
let (client_tx, client_rx) = unbounded_channel();
let client = Self {
id,
@ -86,9 +86,9 @@ impl Client {
quirks: DebuggerQuirks::default(),
};
tokio::spawn(Self::recv(server_rx, client_rx));
tokio::spawn(Self::recv(server_rx, client_tx));
Ok((client, client_tx))
Ok((client, client_rx))
}
pub async fn tcp(

@ -19,7 +19,7 @@ serde = { version = "1.0", features = ["derive"] }
toml = "0.5"
etcetera = "0.4"
tree-sitter = "0.20"
once_cell = "1.16"
once_cell = "1.17"
log = "0.4"
# TODO: these two should be on !wasm32 only

@ -23,6 +23,6 @@ lsp-types = { version = "0.93", features = ["proposed"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
thiserror = "1.0"
tokio = { version = "1.23", features = ["rt", "rt-multi-thread", "io-util", "io-std", "time", "process", "macros", "fs", "parking_lot", "sync"] }
tokio = { version = "1.24", features = ["rt", "rt-multi-thread", "io-util", "io-std", "time", "process", "macros", "fs", "parking_lot", "sync"] }
tokio-stream = "0.1.11"
which = "4.2"

@ -170,6 +170,10 @@ impl Params {
serde_json::from_value(value)
.map_err(|err| Error::invalid_params(format!("Invalid params: {}.", err)))
}
pub fn is_none(&self) -> bool {
self == &Params::None
}
}
impl From<Params> for Value {
@ -187,7 +191,7 @@ impl From<Params> for Value {
pub struct MethodCall {
pub jsonrpc: Option<Version>,
pub method: String,
#[serde(default = "default_params")]
#[serde(default = "default_params", skip_serializing_if = "Params::is_none")]
pub params: Params,
pub id: Id,
}
@ -197,7 +201,7 @@ pub struct MethodCall {
pub struct Notification {
pub jsonrpc: Option<Version>,
pub method: String,
#[serde(default = "default_params")]
#[serde(default = "default_params", skip_serializing_if = "Params::is_none")]
pub params: Params,
}
@ -334,6 +338,33 @@ fn notification_serialize() {
);
}
#[test]
fn serialize_skip_none_params() {
use serde_json;
let m = MethodCall {
jsonrpc: Some(Version::V2),
method: "shutdown".to_owned(),
params: Params::None,
id: Id::Num(1),
};
let serialized = serde_json::to_string(&m).unwrap();
assert_eq!(
serialized,
r#"{"jsonrpc":"2.0","method":"shutdown","id":1}"#
);
let n = Notification {
jsonrpc: Some(Version::V2),
method: "exit".to_owned(),
params: Params::None,
};
let serialized = serde_json::to_string(&n).unwrap();
assert_eq!(serialized, r#"{"jsonrpc":"2.0","method":"exit"}"#);
}
#[test]
fn success_output_deserialize() {
use serde_json;

@ -35,7 +35,7 @@ helix-vcs = { version = "0.6", path = "../helix-vcs" }
helix-loader = { version = "0.6", path = "../helix-loader" }
anyhow = "1"
once_cell = "1.16"
once_cell = "1.17"
which = "4.2"
@ -45,7 +45,7 @@ crossterm = { version = "0.25", features = ["event-stream"] }
signal-hook = "0.3"
tokio-stream = "0.1"
futures-util = { version = "0.3", features = ["std", "async-await"], default-features = false }
arc-swap = { version = "1.5.1" }
arc-swap = { version = "1.6.0" }
# Logging
fern = "0.6"

@ -397,34 +397,53 @@ impl Application {
self.editor.refresh_config();
}
/// refresh language config after config change
fn refresh_language_config(&mut self) -> Result<(), Error> {
let syntax_config = helix_core::config::user_syntax_loader()
.map_err(|err| anyhow::anyhow!("Failed to load language config: {}", err))?;
self.syn_loader = std::sync::Arc::new(syntax::Loader::new(syntax_config));
self.editor.syn_loader = self.syn_loader.clone();
for document in self.editor.documents.values_mut() {
document.detect_language(self.syn_loader.clone());
}
Ok(())
}
/// Refresh theme after config change
fn refresh_theme(&mut self, config: &Config) {
fn refresh_theme(&mut self, config: &Config) -> Result<(), Error> {
if let Some(theme) = config.theme.clone() {
let true_color = self.true_color();
match self.theme_loader.load(&theme) {
Ok(theme) => {
if true_color || theme.is_16_color() {
self.editor.set_theme(theme);
} else {
self.editor
.set_error("theme requires truecolor support, which is not available");
}
}
Err(err) => {
let err_string = format!("failed to load theme `{}` - {}", theme, err);
self.editor.set_error(err_string);
}
let theme = self
.theme_loader
.load(&theme)
.map_err(|err| anyhow::anyhow!("Failed to load theme `{}`: {}", theme, err))?;
if true_color || theme.is_16_color() {
self.editor.set_theme(theme);
} else {
anyhow::bail!("theme requires truecolor support, which is not available")
}
}
Ok(())
}
fn refresh_config(&mut self) {
match Config::load_default() {
Ok(config) => {
self.refresh_theme(&config);
let mut refresh_config = || -> Result<(), Error> {
let default_config = Config::load_default()
.map_err(|err| anyhow::anyhow!("Failed to load config: {}", err))?;
self.refresh_language_config()?;
self.refresh_theme(&default_config)?;
// Store new config
self.config.store(Arc::new(default_config));
Ok(())
};
// Store new config
self.config.store(Arc::new(config));
match refresh_config() {
Ok(_) => {
self.editor.set_status("Config refreshed");
}
Err(err) => {
self.editor.set_error(err.to_string());

@ -2053,16 +2053,10 @@ fn extend_line_impl(cx: &mut Context, extend: Extend) {
let selection = doc.selection(view.id).clone().transform(|range| {
let (start_line, end_line) = range.line_range(text.slice(..));
let start = text.line_to_char(match extend {
Extend::Above => start_line.saturating_sub(count - 1),
Extend::Below => start_line,
});
let start = text.line_to_char(start_line);
let end = text.line_to_char(
match extend {
Extend::Above => end_line + 1, // the start of next line
Extend::Below => end_line + count,
}
.min(text.len_lines()),
(end_line + 1) // newline of end_line
.min(text.len_lines()),
);
// extend to previous/next line if current line is selected
@ -2076,8 +2070,11 @@ fn extend_line_impl(cx: &mut Context, extend: Extend) {
}
} else {
match extend {
Extend::Above => (end, start),
Extend::Below => (start, end),
Extend::Above => (end, text.line_to_char(start_line.saturating_sub(count - 1))),
Extend::Below => (
start,
text.line_to_char((end_line + count).min(text.len_lines())),
),
}
};
@ -3173,8 +3170,7 @@ pub mod insert {
let on_auto_pair = doc
.auto_pairs(cx.editor)
.and_then(|pairs| pairs.get(prev))
.and_then(|pair| if pair.close == curr { Some(pair) } else { None })
.is_some();
.map_or(false, |pair| pair.open == prev && pair.close == curr);
let local_offs = if on_auto_pair {
let inner_indent = indent.clone() + doc.indent_style.as_str();

@ -65,6 +65,7 @@ fn open(cx: &mut compositor::Context, args: &[Cow<str>], event: PromptEvent) ->
ensure!(!args.is_empty(), "wrong argument count");
for arg in args {
let (path, pos) = args::parse_file(arg);
let path = helix_core::path::expand_tilde(&path);
// If the path is a directory, open a file picker on that directory and update the status
// message
if let Ok(true) = std::fs::canonicalize(&path).map(|p| p.is_dir()) {
@ -1796,7 +1797,7 @@ fn run_shell_command(
let shell = &cx.editor.config().shell;
let (output, success) = shell_impl(shell, &args.join(" "), None)?;
if success {
cx.editor.set_status("Command succeed");
cx.editor.set_status("Command succeeded");
} else {
cx.editor.set_error("Command failed");
}

@ -1,4 +1,4 @@
// Each component declares it's own size constraints and gets fitted based on it's parent.
// Each component declares its own size constraints and gets fitted based on its parent.
// Q: how does this work with popups?
// cursive does compositor.screen_mut().add_layer_at(pos::absolute(x, y), <component>)
use helix_core::Position;
@ -97,6 +97,7 @@ impl Compositor {
self.area = area;
}
/// Add a layer to be rendered in front of all existing layers.
pub fn push(&mut self, mut layer: Box<dyn Component>) {
let size = self.size();
// trigger required_size on init
@ -136,7 +137,8 @@ impl Compositor {
let mut consumed = false;
// propagate events through the layers until we either find a layer that consumes it or we
// run out of layers (event bubbling)
// run out of layers (event bubbling), starting at the front layer and then moving to the
// background.
for layer in self.layers.iter_mut().rev() {
match layer.handle_event(event, cx) {
EventResult::Consumed(Some(callback)) => {

@ -463,20 +463,30 @@ pub mod completers {
use ignore::WalkBuilder;
use std::path::Path;
let is_tilde = input.starts_with('~') && input.len() == 1;
let is_tilde = input == "~";
let path = helix_core::path::expand_tilde(Path::new(input));
let (dir, file_name) = if input.ends_with(std::path::MAIN_SEPARATOR) {
(path, None)
} else {
let file_name = path
.file_name()
.and_then(|file| file.to_str().map(|path| path.to_owned()));
let path = match path.parent() {
Some(path) if !path.as_os_str().is_empty() => path.to_path_buf(),
// Path::new("h")'s parent is Some("")...
_ => std::env::current_dir().expect("couldn't determine current directory"),
let is_period = (input.ends_with((format!("{}.", std::path::MAIN_SEPARATOR)).as_str())
&& input.len() > 2)
|| input == ".";
let file_name = if is_period {
Some(String::from("."))
} else {
path.file_name()
.and_then(|file| file.to_str().map(|path| path.to_owned()))
};
let path = if is_period {
path
} else {
match path.parent() {
Some(path) if !path.as_os_str().is_empty() => path.to_path_buf(),
// Path::new("h")'s parent is Some("")...
_ => std::env::current_dir().expect("couldn't determine current directory"),
}
};
(path, file_name)

@ -42,6 +42,10 @@ impl<T: Component> Popup<T> {
}
}
/// Set the anchor position next to which the popup should be drawn.
///
/// Note that this is not the position of the top-left corner of the rendered popup itself,
/// but rather the screen-space position of the information to which the popup refers.
pub fn position(mut self, pos: Option<Position>) -> Self {
self.position = pos;
self
@ -51,6 +55,10 @@ impl<T: Component> Popup<T> {
self.position
}
/// Set the popup to prefer to render above or below the anchor position.
///
/// This preference will be ignored if the viewport doesn't have enough space in the
/// chosen direction.
pub fn position_bias(mut self, bias: Open) -> Self {
self.position_bias = bias;
self
@ -78,6 +86,8 @@ impl<T: Component> Popup<T> {
self
}
/// Calculate the position where the popup should be rendered and return the coordinates of the
/// top left corner.
pub fn get_rel_position(&mut self, viewport: Rect, cx: &Context) -> (u16, u16) {
let position = self
.position

@ -139,6 +139,7 @@ where
match element_id {
helix_view::editor::StatusLineElement::Mode => render_mode,
helix_view::editor::StatusLineElement::Spinner => render_lsp_spinner,
helix_view::editor::StatusLineElement::FileBaseName => render_file_base_name,
helix_view::editor::StatusLineElement::FileName => render_file_name,
helix_view::editor::StatusLineElement::FileEncoding => render_file_encoding,
helix_view::editor::StatusLineElement::FileLineEnding => render_file_line_ending,
@ -426,6 +427,26 @@ where
write(context, title, None);
}
fn render_file_base_name<F>(context: &mut RenderContext, write: F)
where
F: Fn(&mut RenderContext, String, Option<Style>) + Copy,
{
let title = {
let rel_path = context.doc.relative_path();
let path = rel_path
.as_ref()
.and_then(|p| p.as_path().file_name().map(|s| s.to_string_lossy()))
.unwrap_or_else(|| SCRATCH_BUFFER_NAME.into());
format!(
" {}{} ",
path,
if context.doc.is_modified() { "[+]" } else { "" }
)
};
write(context, title, None);
}
fn render_separator<F>(context: &mut RenderContext, write: F)
where
F: Fn(&mut RenderContext, String, Option<Style>) + Copy,

@ -311,3 +311,46 @@ async fn test_undo_redo() -> anyhow::Result<()> {
Ok(())
}
#[tokio::test(flavor = "multi_thread")]
async fn test_extend_line() -> anyhow::Result<()> {
// extend with line selected then count
test((
platform_line(indoc! {"\
#[l|]#orem
ipsum
dolor
"})
.as_str(),
"x2x",
platform_line(indoc! {"\
#[lorem
ipsum
dolor
|]#
"})
.as_str(),
))
.await?;
// extend with count on partial selection
test((
platform_line(indoc! {"\
#[l|]#orem
ipsum
"})
.as_str(),
"2x",
platform_line(indoc! {"\
#[lorem
ipsum
|]#
"})
.as_str(),
))
.await?;
Ok(())
}

@ -16,7 +16,7 @@ helix-core = { version = "0.6", path = "../helix-core" }
tokio = { version = "1", features = ["rt", "rt-multi-thread", "time", "sync", "parking_lot", "macros"] }
parking_lot = "0.12"
git-repository = { version = "0.30", default-features = false , optional = true }
git-repository = { version = "0.32", default-features = false , optional = true }
imara-diff = "0.1.5"
log = "0.4"

@ -24,10 +24,10 @@ crossterm = { version = "0.25", optional = true }
helix-vcs = { version = "0.6", path = "../helix-vcs" }
# Conversion traits
once_cell = "1.16"
once_cell = "1.17"
url = "2"
arc-swap = { version = "1.5.1" }
arc-swap = { version = "1.6.0" }
tokio = { version = "1", features = ["rt", "rt-multi-thread", "io-util", "io-std", "time", "process", "macros", "fs", "parking_lot"] }
tokio-stream = "0.1"
@ -46,7 +46,7 @@ which = "4.2"
[target.'cfg(windows)'.dependencies]
clipboard-win = { version = "4.4", features = ["std"] }
clipboard-win = { version = "4.5", features = ["std"] }
[dev-dependencies]
helix-tui = { path = "../helix-tui" }

@ -314,7 +314,10 @@ pub enum StatusLineElement {
/// The LSP activity spinner
Spinner,
/// The file nane/path, including a dirty flag if it's unsaved
/// The base file name, including a dirty flag if it's unsaved
FileBaseName,
/// The relative file path, including a dirty flag if it's unsaved
FileName,
/// The file encoding
@ -1338,6 +1341,8 @@ impl Editor {
.find(|doc| doc.path().map(|p| p == path.as_ref()).unwrap_or(false))
}
/// Gets the primary cursor position in screen coordinates,
/// or `None` if the primary cursor is not visible on screen.
pub fn cursor(&self) -> (Option<Position>, CursorKind) {
let config = self.config();
let (view, doc) = current_ref!(self);

@ -14,15 +14,23 @@ use toml::{map::Map, Value};
use crate::graphics::UnderlineStyle;
pub use crate::graphics::{Color, Modifier, Style};
pub static DEFAULT_THEME_DATA: Lazy<Value> = Lazy::new(|| {
toml::from_slice(include_bytes!("../../theme.toml")).expect("Failed to parse default theme")
});
pub static BASE16_DEFAULT_THEME_DATA: Lazy<Value> = Lazy::new(|| {
toml::from_slice(include_bytes!("../../base16_theme.toml"))
.expect("Failed to parse base 16 default theme")
});
pub static DEFAULT_THEME: Lazy<Theme> = Lazy::new(|| Theme {
name: "default".into(),
..toml::from_slice(include_bytes!("../../theme.toml")).expect("Failed to parse default theme")
..Theme::from(DEFAULT_THEME_DATA.clone())
});
pub static BASE16_DEFAULT_THEME: Lazy<Theme> = Lazy::new(|| Theme {
name: "base16_theme".into(),
..toml::from_slice(include_bytes!("../../base16_theme.toml"))
.expect("Failed to parse base 16 default theme")
name: "base16_default".into(),
..Theme::from(BASE16_DEFAULT_THEME_DATA.clone())
});
#[derive(Clone, Debug)]
@ -78,11 +86,16 @@ impl Loader {
)
})?;
let parent_theme_toml = self.load_theme(
parent_theme_name,
base_them_name,
base_them_name == parent_theme_name,
)?;
let parent_theme_toml = match parent_theme_name {
// load default themes's toml from const.
"default" => DEFAULT_THEME_DATA.clone(),
"base16_default" => BASE16_DEFAULT_THEME_DATA.clone(),
_ => self.load_theme(
parent_theme_name,
base_them_name,
base_them_name == parent_theme_name,
)?,
};
self.merge_themes(parent_theme_toml, theme_toml)
} else {

@ -138,7 +138,7 @@ indent = { tab-width = 2, unit = " " }
name = "json"
scope = "source.json"
injection-regex = "json"
file-types = ["json"]
file-types = ["json", "jsonc"]
roots = []
language-server = { command = "vscode-json-language-server", args = ["--stdio"] }
auto-format = true
@ -147,7 +147,7 @@ indent = { tab-width = 2, unit = " " }
[[grammar]]
name = "json"
source = { git = "https://github.com/tree-sitter/tree-sitter-json", rev = "65bceef69c3b0f24c0b19ce67d79f57c96e90fcb" }
source = { git = "https://github.com/tree-sitter/tree-sitter-json", rev = "73076754005a460947cafe8e03a8cf5fa4fa2938" }
[[language]]
name = "c"
@ -221,7 +221,7 @@ args = { console = "internalConsole", attachCommands = [ "platform select remote
[[grammar]]
name = "cpp"
source = { git = "https://github.com/tree-sitter/tree-sitter-cpp", rev = "d5e90fba898f320db48d81ddedd78d52c67c1fed" }
source = { git = "https://github.com/tree-sitter/tree-sitter-cpp", rev = "2d2c4aee8672af4c7c8edff68e7dd4c07e88d2b1" }
[[language]]
name = "crystal"
@ -230,10 +230,7 @@ file-types = ["cr"]
roots = ["shard.yml", "shard.lock"]
comment-token = "#"
indent = { tab-width = 2, unit = " " }
[[grammar]]
name = "crystal"
source = { git = "https://github.com/will/tree-sitter-crystal", rev = "15597b307b18028b04d288561f9c29794621562b" }
grammar = "ruby"
[[language]]
name = "c-sharp"
@ -537,7 +534,7 @@ source = { git = "https://github.com/tree-sitter/tree-sitter-ruby", rev = "4c600
name = "bash"
scope = "source.bash"
injection-regex = "(shell|bash|zsh|sh)"
file-types = ["sh", "bash", "zsh", ".bash_login", ".bash_logout", ".bash_profile", ".bashrc", ".profile", ".zshenv", ".zlogin", ".zlogout", ".zprofile", ".zshrc", "APKBUILD", "PKGBUILD", "eclass", "ebuild", "bazelrc"]
file-types = ["sh", "bash", "zsh", ".bash_login", ".bash_logout", ".bash_profile", ".bashrc", ".profile", ".zshenv", ".zlogin", ".zlogout", ".zprofile", ".zshrc", "APKBUILD", "PKGBUILD", "eclass", "ebuild", "bazelrc", ".bash_aliases"]
shebangs = ["sh", "bash", "dash", "zsh"]
roots = []
comment-token = "#"
@ -1579,6 +1576,7 @@ name = "sshclientconfig"
scope = "source.sshclientconfig"
file-types = [{ suffix = ".ssh/config" }, { suffix = "/etc/ssh/ssh_config" }]
roots = []
comment-token = "#"
[[grammar]]
name = "sshclientconfig"
@ -1676,7 +1674,7 @@ indent = { tab-width = 2, unit = " " }
[[grammar]]
name = "prisma"
source = { git = "https://github.com/victorhqc/tree-sitter-prisma", rev = "17a59236ac25413b81b1613ea6ba5d8d52d7cd6c" }
source = { git = "https://github.com/victorhqc/tree-sitter-prisma", rev = "eca2596a355b1a9952b4f80f8f9caed300a272b5" }
[[language]]
name = "clojure"
@ -2081,3 +2079,31 @@ indent = { tab-width = 2, unit = " " }
[[grammar]]
name = "matlab"
source = { git = "https://github.com/mstanciu552/tree-sitter-matlab", rev = "2d5d3d5193718a86477d4335aba5b34e79147326" }
[[language]]
name = "ponylang"
scope = "source.pony"
file-types = ["pony"]
injection-regex = "pony"
roots = ["corral.json", "lock.json"]
indent = { tab-width = 2, unit = " " }
comment-token = "//"
[[grammar]]
name = "ponylang"
source = { git = "https://github.com/mfelsche/tree-sitter-ponylang", rev = "ef66b151bc2604f431b5668fcec4747db4290e11" }
[[language]]
name = "dhall"
scope = "source.dhall"
injection-regex = "dhall"
file-types = ["dhall"]
roots = []
comment-token = "--"
indent = { tab-width = 2, unit = " " }
language-server = { command = "dhall-lsp-server" }
formatter = { command = "dhall" , args = ["format"] }
[[grammar]]
name = "dhall"
source = { git = "https://github.com/jbellerb/tree-sitter-dhall", rev = "affb6ee38d629c9296749767ab832d69bb0d9ea8" }

@ -1 +1,4 @@
; inherits: c
(raw_string_literal
delimiter: (raw_string_delimiter) @injection.language
(raw_string_content) @injection.content)

@ -1,66 +1 @@
[
"class"
"struct"
"module"
"def"
"alias"
"do"
"end"
"require"
"include"
"extend"
] @keyword
[
"[" "]"
"(" ")"
"{" "}"
] @punctuation.bracket
(operator) @operator
(comment) @comment
; literals
(nil) @constant.builtin
(bool) @constant.builtin.boolean
(integer) @constant.numeric.integer
(float) @constant.numeric.float
[
(string)
(char)
(commandLiteral)
] @string
(symbol) @string.special.symbol
(regex) @string.special.regex
; variables
(local_variable) @variable
[
(instance_variable)
(class_variable)
] @variable.other.member
(constant) @constant
; type defintitions
(type_identifier) @constructor
; method definition/call
(identifier) @function.method
; types
(generic_type) @type
(union_type) @type
(type_identifier) @type
; inherits: ruby

@ -0,0 +1,52 @@
;; Literals
(integer_literal) @constant.numeric.integer
(natural_literal) @constant.numeric.integer
(double_literal) @constant.numeric.float
(boolean_literal) @constant.builtin.boolean
(text_literal) @string
(local_import) @string.special.path
(http_import) @string.special.url
(import_hash) @string
;; Comments
[
(line_comment)
(block_comment)
] @comment
;; Keywords
[
("let")
("in")
(assign_operator)
(type_operator)
(lambda_operator)
(arrow_operator)
(infix_operator)
(completion_operator)
("using")
("assert")
(assert_operator)
("as")
(forall_operator)
("with")
] @keyword
;; Builtins
[
(builtin_function)
(missing_import)
] @function.builtin
[
(builtin)
(import_as_text)
] @type.builtin
;; Conditionals
[
("if")
("then")
("else")
] @keyword.control.conditional

@ -0,0 +1,23 @@
(lambda_expression
(label) @parameter.inside
(expression) @function.inside
) @function.around
(forall_expression
(label) @parameter.inside
(expression) @function.inside
) @function.around
(assert_expression
(expression) @test.inside
) @test.around
[
(block_comment_content)
(line_comment_content)
] @comment.inside
[
(block_comment)
(line_comment)
] @comment.around

@ -0,0 +1,176 @@
[
(line_comment)
(block_comment)
] @comment
(bool) @constant.builtin.boolean
(integer) @constant.numeric.integer
(float) @constant.numeric.float
(character) @constant.character
;; strings and docstring
(source_file docstring: (string) @string.special)
(entity docstring: (string) @string.special)
(method docstring: (string) @string.special) ; docstring for methods without body
(behavior docstring: (string) @string.special) ; docstring for methods without body
(constructor docstring: (string) @string.special) ; docstring for methods without body
(method body: (block . (string) @string.special)) ; docstring for methods with body
(behavior body: (block . (string) @string.special))
(constructor body: (block . (string) @string.special))
(field docstring: (string) @string.special)
(string) @string
;; Punctuation
[
"("
")"
"{"
"}"
"["
"]"
] @punctuation.bracket
[
";"
"."
","
] @punctuation.delimiter
(this) @variable.builtin
(field name: (identifier) @variable.other.member)
"use" @keyword.control.import
[
"for"
"in"
"while"
"do"
"repeat"
"until"
] @keyword.control.repeat
[
"if"
"ifdef"
"iftype"
"then"
"elseif"
"else"
"match"
] @keyword.control.conditional
[
"break"
"continue"
"return"
"error"
"compile_error"
"compile_intrinsic"
] @keyword.control.return
[
"recover"
"consume"
"end"
"try"
"with"
] @keyword.control
[
"as"
"is"
"isnt"
"not"
"and"
"or"
"xor"
"digestof"
"addressof"
(location)
] @keyword.operator
(entity_type) @keyword.storage.type
[
"var"
"let"
"embed"
] @keyword.storage
[
"fun"
"be"
"new"
] @keyword.function
[
(cap)
(gencap)
"where"
] @keyword
[
(partial)
"=>"
"~"
".>"
"+"
"-"
"*"
"/"
"%"
"%%"
"+~"
"-~"
"/~"
"*~"
"%~"
"%%~"
">>"
"<<"
">>~"
"<<~"
"=="
"!="
">"
"<"
">="
"<="
] @operator
;; Types
(entity name: (identifier) @type)
(nominal_type name: (identifier) @type)
(typeparams (typeparam name: (identifier) @type))
;; constructors / methods / behaviors
(constructor name: (identifier) @constructor)
(method name: (identifier) @function.method)
(behavior name: (identifier) @function.method)
;; method calls
; TODO: be more specific about what is the actual function reference
(call callee: (field_access field: (identifier) @function.method))
(call callee: (_) @function.method)
(ffi_call name: (_) @function)
(partial_application function: (identifier) @function.method)
(chain function: (identifier) @function.method)
;; fields and params
(field name: (identifier) @variable.other.member)
(param (identifier) @variable.parameter)
(lambdaparam (identifier) @variable.parameter)
;; this.field is considered a member access
(field_access base: (this) field: (identifier) @variable.other.member)
;; annotations
(annotations (identifier) @attribute)
;; variables
;; references to upper case things are considered constructors
(
(identifier) @constructor
(#match @constructor "^[A-Z]")
)
(identifier) @variable

@ -0,0 +1,32 @@
; queries for helix to do automatic indentation upon hitting enter
; TODO: needs more work, cover more cases
[
(entity)
(method)
(behavior)
(constructor)
(block)
(tuple)
(grouped)
] @indent
(match_case body: (block) @indent)
; ffi_call and call
(_ arguments: (_) @indent)
(assignment right: (_) @indent
(#set! "scope" "all")
)
[
(params)
(object)
("if")
] @extend
(lambda params: (_) @extend)
[
"end"
"}"
"]"
")"
"|"
] @outdent

@ -0,0 +1,37 @@
[
(entity)
(method)
(behavior)
(constructor)
("if")
(elseif)
(ifdef)
(elseifdef)
(iftype)
(elseiftype)
(match)
(match_case)
("while")
("repeat")
("for")
(lambda)
(try_block)
(with)
] @local.scope
(match else_block: (block) @local.scope)
(try_block else_block: (block) @local.scope)
(try_block then_block: (block) @local.scope)
(with else_block: (block) @local.scope)
(field name: (identifier) @local.definition)
(local name: (identifier) @local.definition)
(param name: (identifier) @local.definition)
(lambdaparam name: (identifier) @local.definition)
("for" element: (idseq (identifier) @local.definition))
(withelem name: (idseq (identifier) @local.definition))
; only lower case identifiers are references
(
(identifier) @local.reference
(#match? @local.reference "^[a-z_][a-zA-Z_]*")
)

@ -0,0 +1,64 @@
;; Queries for helix to select textobjects: https://docs.helix-editor.com/usage.html#textobjects
;; function.inside
;; function.around
;; class.inside
;; class.around
;; test.inside
;; test.around
;; parameter.inside
;; comment.inside
;; comment.around
;; Queries for navigating using textobjects
[
(line_comment)
(block_comment)
] @comment.inside
(line_comment)+ @comment.around
(block_comment) @comment.around
(entity members: (members)? @class.inside) @class.around
(object members: (members)? @class.inside) @class.around
(method
body: (block)? @function.inside
) @function.around
(behavior
body: (block)? @function.inside
) @function.around
(constructor
body: (block)? @function.inside
) @function.around
(lambda
body: (block)? @function.inside
) @function.outside
(params
((_) @parameter.inside . ","? @parameter.around) @parameter.around
)
(lambda
params: ((_) @parameter.inside . ","? @parameter.around) @parameter.around
)
(typeargs
((_) @parameter.inside . ","? @parameter.around) @parameter.around
)
(typeparams
((_) @parameter.inside . ","? @parameter.around) @parameter.around
)
(arguments
positional: (positional_args
((_) @parameter.inside . ","? @parameter.around)? @parameter.around)
; TODO: get named args right
named: (named_args ((_) @parameter.inside . ","? @parameter.around)? @parameter.around)
)
(
(entity
provides: (type (nominal_type name: (identifier) @_provides))
members: (members) @test.inside
) @test.outside
(#eq? @_provides "UnitTest")
)

@ -8,6 +8,7 @@
(arguments) @variable.other.member
(model_declaration (identifier) @type)
(view_declaration (identifier) @type)
[
"datasource"
@ -15,6 +16,7 @@
"generator"
"model"
"type"
"view"
] @keyword
[

@ -29,6 +29,19 @@
(class_definition)
] @indent
; Workaround for the tree-sitter grammar creating large errors when a
; try_statement is missing the except/finally clause
(ERROR
"try"
.
":" @indent @extend)
(ERROR
.
"def") @indent @extend
(ERROR
(block) @indent @extend
(#set! "scope" "all"))
[
(if_statement)
(for_statement)

@ -231,13 +231,6 @@
((identifier) @type
(#match? @type "^[A-Z]"))
(attribute
(identifier) @_macro
arguments: (token_tree (identifier) @constant.numeric.integer)
(#eq? @_macro "derive")
)
@special
; -------
; Functions
; -------
@ -269,6 +262,12 @@
; Macros
; ---
(attribute
(identifier) @special
arguments: (token_tree (identifier) @type)
(#eq? @special "derive")
)
(attribute
(identifier) @function.macro)
(attribute

@ -2,6 +2,8 @@
"ui.background" = {bg="acme_bg"}
"ui.text" = "black"
"ui.linenr" = {bg="acme_bg", fg="black"}
"ui.linenr.selected" = {bg="acme_bg", fg="black"}
"ui.selection" = {bg="selected"}
"ui.cursorline" = {bg="acme_bar_bg"}
"ui.statusline" = {fg="black", bg="acme_bar_bg"}
@ -20,7 +22,7 @@
"diagnostic.error" = {bg="red", fg="white", modifiers=["bold"]}
"diagnostic.warning" = {bg="orange", fg="black", modifiers=["bold"]}
"diagnostic.hint" = {fg="gray", modifiers=["bold"]}
"ui.bufferline" = { fg = "indent", bg = "acme_bar_bg" }
"ui.bufferline" = { fg = "black", bg = "acme_bar_bg" }
"ui.bufferline.active" = { fg = "black", bg = "acme_bg" }
"diff.plus" = {fg = "green"}
"diff.delta" = {fg = "acme_bar_bg"}

@ -75,7 +75,7 @@ my_black = "#212121" # Cursorline
my_gray0 = "#262626" # Default Background
my_gray1 = "#2b2b2b" # Ruler
my_gray2 = "#323232" # Lighter Background (Used for status bars, line number and folding marks)
my_gray3 = "#505050" # Selection Background
my_gray3 = "#3d3d3d" # Selection Background
my_gray4 = "#7c7c7c" # Comments, Invisibles, Line Highlighting
my_gray5 = "#a8a8a8" # Dark Foreground (Used for status bars)
my_gray6 = "#c8c8c8" # Light Foreground (Not often used)

@ -54,10 +54,10 @@
"error" = { fg = "red", modifiers = ["bold"] }
"info" = { fg = "blue", modifiers = ["bold"] }
"hint" = { fg = "blue", modifiers = ["bold"] }
"diagnostic"= { fg = "red", modifiers = ["underlined"] }
"diagnostic.info"= { fg = "blue", modifiers = ["underlined"] }
"diagnostic.warning"= { fg = "yellow", modifiers = ["underlined"] }
"diagnostic.error"= { fg = "red", modifiers = ["underlined"] }
"diagnostic.hint" = { underline = { color = "blue", style="curl"} }
"diagnostic.info"= { underline = { color = "blue", style="curl"} }
"diagnostic.warning"= { underline = { color = "yellow", style="curl"} }
"diagnostic.error"= { underline = { color = "red", style="curl"} }
"ui.bufferline" = { fg = "gray", bg = "background" }
"ui.bufferline.active" = { fg = "foreground", bg = "dark_gray" }

@ -54,10 +54,10 @@
"error" = { fg = "red", modifiers = ["bold"] }
"info" = { fg = "blue", modifiers = ["bold"] }
"hint" = { fg = "blue", modifiers = ["bold"] }
"diagnostic"= { fg = "red", modifiers = ["underlined"] }
"diagnostic.info"= { fg = "blue", modifiers = ["underlined"] }
"diagnostic.warning"= { fg = "yellow", modifiers = ["underlined"] }
"diagnostic.error"= { fg = "red", modifiers = ["underlined"] }
"diagnostic.hint"= { underline = { color = "blue", style = "curl" } }
"diagnostic.info"= { underline = { color = "blue", style = "curl" } }
"diagnostic.warning"= { underline = { color = "yellow", style = "curl" } }
"diagnostic.error"= { underline = { color = "red", style = "curl" } }
"ui.bufferline" = { fg = "gray", bg = "background" }
"ui.bufferline.active" = { fg = "foreground", bg = "dark_gray" }

@ -54,10 +54,10 @@
"error" = { fg = "red", modifiers = ["bold"] }
"info" = { fg = "blue", modifiers = ["bold"] }
"hint" = { fg = "blue", modifiers = ["bold"] }
"diagnostic"= { fg = "red", modifiers = ["underlined"] }
"diagnostic.info"= { fg = "blue", modifiers = ["underlined"] }
"diagnostic.warning"= { fg = "yellow", modifiers = ["underlined"] }
"diagnostic.error"= { fg = "red", modifiers = ["underlined"] }
"diagnostic.hint"= { underline = { color = "blue", style = "curl" } }
"diagnostic.info"= { underline = { color = "blue", style = "curl" } }
"diagnostic.warning"= { underline = { color = "yellow", style = "curl" } }
"diagnostic.error"= { underline = { color = "red", style = "curl" } }
"ui.bufferline" = { fg = "gray", bg = "background" }
"ui.bufferline.active" = { fg = "foreground", bg = "dark_gray" }

@ -72,7 +72,10 @@
"hint" = "bogster-blue"
# make diagnostic underlined, to distinguish with selection text.
diagnostic = { modifiers = ["underlined"] }
"diagnostic.warning" = { underline = { color = "bogster-orange", style = "curl"} }
"diagnostic.error" = { underline = { color = "bogster-lred", style = "curl"} }
"diagnostic.info" = { underline = { color = "bogster-teal", style = "curl"} }
"diagnostic.hint" = { underline = { color = "bogster-blue", style = "curl"} }
[palette]
bogster-yellow = "#dcb659"

@ -72,7 +72,10 @@
"hint" = "bogster-blue"
# make diagnostic underlined, to distinguish with selection text.
diagnostic = { modifiers = ["underlined"] }
"diagnostic.warning" = { underline = { color = "bogster-orange", style = "curl"} }
"diagnostic.error" = { underline = { color = "bogster-lred", style = "curl"} }
"diagnostic.info" = { underline = { color = "bogster-teal", style = "curl"} }
"diagnostic.hint" = { underline = { color = "bogster-blue", style = "curl"} }
[palette]
bogster-orange = "#dc7759"

@ -60,7 +60,11 @@
"warning" = { fg = "gold" }
"info" = { fg = "lilac" }
"hint" = { fg = "lilac" }
"diagnostic" = { modifiers = ["underlined"] }
"diagnostic.warning" = { underline = { color = "bubblegum", style = "curl"} }
"diagnostic.error" = { underline = { color = "gold", style = "curl"} }
"diagnostic.info" = { underline = { color = "lilac", style = "curl"} }
"diagnostic.hint" = { underline = { color = "lilac", style = "curl"} }
[palette]
berry = "#3A2A4D"

@ -1,108 +1,4 @@
# Syntax highlighting
# -------------------
"type" = "yellow"
"type.enum.variant" = "peach"
"constructor" = "sapphire"
"constant" = "peach"
"constant.character" = "teal"
"constant.character.escape" = "pink"
"string" = "green"
"string.regexp" = "peach"
"string.special" = "pink"
"comment" = { fg = "overlay1", modifiers = ["italic"] }
"variable" = "text"
"variable.parameter" = { fg = "maroon", modifiers = ["italic"] }
"variable.builtin" = "red"
"variable.other.member" = "teal"
"label" = "sapphire" # used for lifetimes
"punctuation" = "overlay2"
"keyword" = "mauve"
"keyword.control.conditional" = { fg = "mauve", modifiers = ["italic"] }
"operator" = "sky"
"function" = "blue"
"function.builtin" = "peach"
"function.macro" = "teal"
"tag" = "mauve"
"namespace" = { fg = "blue", modifiers = ["italic"] }
"special" = "blue" # fuzzy highlight
"markup.heading.marker" = { fg = "peach", modifiers = ["bold"] }
"markup.heading.1" = "lavender"
"markup.heading.2" = "mauve"
"markup.heading.3" = "green"
"markup.heading.4" = "yellow"
"markup.heading.5" = "pink"
"markup.heading.6" = "teal"
"markup.list" = "mauve"
"markup.bold" = { modifiers = ["bold"] }
"markup.italic" = { modifiers = ["italic"] }
"markup.link.url" = { fg = "peach", modifiers = ["underlined"] }
"markup.link.text" = "blue"
"markup.raw" = "flamingo"
"diff.plus" = "green"
"diff.minus" = "red"
"diff.delta" = "yellow"
# User Interface
# --------------
"ui.background" = { fg = "text", bg = "base" }
"ui.linenr" = { fg = "surface1" }
"ui.linenr.selected" = { fg = "lavender" }
"ui.statusline" = { fg = "overlay1", bg = "surface0" }
"ui.statusline.inactive" = { fg = "overlay1", bg = "mantle" }
"ui.statusline.normal" = { fg = "surface0", bg = "lavender", modifiers = ["bold"] }
"ui.statusline.insert" = { fg = "surface0", bg = "green", modifiers = ["bold"] }
"ui.statusline.select" = { fg = "surface0", bg = "flamingo", modifiers = ["bold"] }
"ui.bufferline" = { fg = "subtext1", bg = "mantle" }
"ui.bufferline.active" = { fg = "text", bg = "surface0", modifiers = ["bold"] }
"ui.popup" = { fg = "text", bg = "surface0" }
"ui.window" = { fg = "crust" }
"ui.help" = { fg = "overlay2", bg = "surface0" }
"ui.text" = "text"
"ui.text.focus" = { fg = "text", bg = "surface0", modifiers = ["bold"] }
"ui.virtual" = "overlay0"
"ui.virtual.ruler" = { bg = "surface0" }
"ui.virtual.indent-guide" = "surface0"
"ui.selection" = { bg = "surface1" }
"ui.cursor" = { fg = "base", bg = "secondary_cursor" }
"ui.cursor.primary" = { fg = "base", bg = "rosewater" }
"ui.cursor.match" = { fg = "peach", modifiers = ["bold"] }
"ui.cursorline.primary" = { bg = "cursorline" }
"ui.highlight" = { bg = "surface1" }
"ui.menu" = { fg = "overlay2", bg = "surface0" }
"ui.menu.selected" = { fg = "text", bg = "surface1", modifiers = ["bold"] }
diagnostic = { modifiers = ["underlined"] }
error = "red"
warning = "yellow"
info = "sky"
hint = "teal"
inherits = "catppuccin_mocha"
[palette]
# catppuccin palette colors

@ -1,109 +1,4 @@
# Syntax highlighting
# -------------------
"type" = "yellow"
"type.enum.variant" = "peach"
"constructor" = "sapphire"
"constant" = "peach"
"constant.character" = "teal"
"constant.character.escape" = "pink"
"string" = "green"
"string.regexp" = "peach"
"string.special" = "pink"
"comment" = { fg = "overlay1", modifiers = ["italic"] }
"variable" = "text"
"variable.parameter" = { fg = "maroon", modifiers = ["italic"] }
"variable.builtin" = "red"
"variable.other.member" = "teal"
"label" = "sapphire" # used for lifetimes
"punctuation" = "overlay2"
"keyword" = "mauve"
"keyword.control.conditional" = { fg = "mauve", modifiers = ["italic"] }
"operator" = "sky"
"function" = "blue"
"function.builtin" = "peach"
"function.macro" = "teal"
"tag" = "mauve"
"namespace" = { fg = "blue", modifiers = ["italic"] }
"special" = "blue" # fuzzy highlight
"markup.heading.marker" = { fg = "peach", modifiers = ["bold"] }
"markup.heading.1" = "lavender"
"markup.heading.2" = "mauve"
"markup.heading.3" = "green"
"markup.heading.4" = "yellow"
"markup.heading.5" = "pink"
"markup.heading.6" = "teal"
"markup.list" = "mauve"
"markup.bold" = { modifiers = ["bold"] }
"markup.italic" = { modifiers = ["italic"] }
"markup.link.url" = { fg = "peach", modifiers = ["underlined"] }
"markup.link.text" = "blue"
"markup.raw" = "flamingo"
"diff.plus" = "green"
"diff.minus" = "red"
"diff.delta" = "yellow"
# User Interface
# --------------
"ui.background" = { fg = "text", bg = "base" }
"ui.linenr" = { fg = "surface1" }
"ui.linenr.selected" = { fg = "lavender" }
"ui.statusline" = { fg = "overlay1", bg = "surface0" }
"ui.statusline.inactive" = { fg = "overlay1", bg = "mantle" }
"ui.statusline.normal" = { fg = "surface0", bg = "lavender", modifiers = ["bold"] }
"ui.statusline.insert" = { fg = "surface0", bg = "green", modifiers = ["bold"] }
"ui.statusline.select" = { fg = "surface0", bg = "flamingo", modifiers = ["bold"] }
"ui.bufferline" = { fg = "overlay2", bg = "surface1", modifiers = ["italic"] }
"ui.bufferline.active" = { fg = "text", bg = "surface0", modifiers = ["bold"] }
"ui.bufferline.background" = { bg = "surface1" }
"ui.popup" = { fg = "text", bg = "surface0" }
"ui.window" = { fg = "crust" }
"ui.help" = { fg = "overlay2", bg = "surface0" }
"ui.text" = "text"
"ui.text.focus" = { fg = "text", bg = "surface0", modifiers = ["bold"] }
"ui.virtual" = "overlay0"
"ui.virtual.ruler" = { bg = "surface0" }
"ui.virtual.indent-guide" = "surface0"
"ui.selection" = { bg = "surface1" }
"ui.cursor" = { fg = "base", bg = "secondary_cursor" }
"ui.cursor.primary" = { fg = "base", bg = "rosewater" }
"ui.cursor.match" = { fg = "peach", modifiers = ["bold"] }
"ui.cursorline.primary" = { bg = "cursorline" }
"ui.highlight" = { bg = "surface1" }
"ui.menu" = { fg = "overlay2", bg = "surface0" }
"ui.menu.selected" = { fg = "text", bg = "surface1", modifiers = ["bold"] }
diagnostic = { modifiers = ["underlined"] }
error = "red"
warning = "yellow"
info = "sky"
hint = "teal"
inherits = "catppuccin_mocha"
[palette]
# catppuccin palette colors

@ -1,108 +1,4 @@
# Syntax highlighting
# -------------------
"type" = "yellow"
"type.enum.variant" = "peach"
"constructor" = "sapphire"
"constant" = "peach"
"constant.character" = "teal"
"constant.character.escape" = "pink"
"string" = "green"
"string.regexp" = "peach"
"string.special" = "pink"
"comment" = { fg = "overlay1", modifiers = ["italic"] }
"variable" = "text"
"variable.parameter" = { fg = "maroon", modifiers = ["italic"] }
"variable.builtin" = "red"
"variable.other.member" = "teal"
"label" = "sapphire" # used for lifetimes
"punctuation" = "overlay2"
"keyword" = "mauve"
"keyword.control.conditional" = { fg = "mauve", modifiers = ["italic"] }
"operator" = "sky"
"function" = "blue"
"function.builtin" = "peach"
"function.macro" = "teal"
"tag" = "mauve"
"namespace" = { fg = "blue", modifiers = ["italic"] }
"special" = "blue" # fuzzy highlight
"markup.heading.marker" = { fg = "peach", modifiers = ["bold"] }
"markup.heading.1" = "lavender"
"markup.heading.2" = "mauve"
"markup.heading.3" = "green"
"markup.heading.4" = "yellow"
"markup.heading.5" = "pink"
"markup.heading.6" = "teal"
"markup.list" = "mauve"
"markup.bold" = { modifiers = ["bold"] }
"markup.italic" = { modifiers = ["italic"] }
"markup.link.url" = { fg = "peach", modifiers = ["underlined"] }
"markup.link.text" = "blue"
"markup.raw" = "flamingo"
"diff.plus" = "green"
"diff.minus" = "red"
"diff.delta" = "yellow"
# User Interface
# --------------
"ui.background" = { fg = "text", bg = "base" }
"ui.linenr" = { fg = "surface1" }
"ui.linenr.selected" = { fg = "lavender" }
"ui.statusline" = { fg = "overlay1", bg = "surface0" }
"ui.statusline.inactive" = { fg = "overlay1", bg = "mantle" }
"ui.statusline.normal" = { fg = "surface0", bg = "lavender", modifiers = ["bold"] }
"ui.statusline.insert" = { fg = "surface0", bg = "green", modifiers = ["bold"] }
"ui.statusline.select" = { fg = "surface0", bg = "flamingo", modifiers = ["bold"] }
"ui.bufferline.active" = { fg = "text", bg = "base", modifiers = ["bold"] }
"ui.bufferline" = { fg = "overlay1", bg = "mantle" }
"ui.popup" = { fg = "text", bg = "surface0" }
"ui.window" = { fg = "crust" }
"ui.help" = { fg = "overlay2", bg = "surface0" }
"ui.text" = "text"
"ui.text.focus" = { fg = "text", bg = "surface0", modifiers = ["bold"] }
"ui.virtual" = "overlay0"
"ui.virtual.ruler" = { bg = "surface0" }
"ui.virtual.indent-guide" = "surface0"
"ui.selection" = { bg = "surface1" }
"ui.cursor" = { fg = "base", bg = "secondary_cursor" }
"ui.cursor.primary" = { fg = "base", bg = "rosewater" }
"ui.cursor.match" = { fg = "peach", modifiers = ["bold"] }
"ui.cursorline.primary" = { bg = "cursorline" }
"ui.highlight" = { bg = "surface1" }
"ui.menu" = { fg = "overlay2", bg = "surface0" }
"ui.menu.selected" = { fg = "text", bg = "surface1", modifiers = ["bold"] }
diagnostic = { modifiers = ["underlined"] }
error = "red"
warning = "yellow"
info = "sky"
hint = "teal"
inherits = "catppuccin_mocha"
[palette]
# catppuccin palette colors

@ -1,19 +1,19 @@
# Syntax highlighting
# -------------------
"type" = "yellow"
"type.enum.variant" = "peach"
"constructor" = "sapphire"
"constant" = "peach"
"constant.builtin" = "peach"
"constant.character" = "teal"
"constant.character.escape" = "pink"
"string" = "green"
"string.regexp" = "peach"
"string.special" = "pink"
"string.special" = "blue"
"comment" = { fg = "overlay1", modifiers = ["italic"] }
"comment" = { fg = "surface2", modifiers = ["italic"] }
"variable" = "text"
"variable.parameter" = { fg = "maroon", modifiers = ["italic"] }
@ -23,6 +23,7 @@
"label" = "sapphire" # used for lifetimes
"punctuation" = "overlay2"
"punctuation.special" = "sky"
"keyword" = "mauve"
"keyword.control.conditional" = { fg = "mauve", modifiers = ["italic"] }
@ -31,7 +32,7 @@
"function" = "blue"
"function.builtin" = "peach"
"function.macro" = "teal"
"function.macro" = "mauve"
"tag" = "mauve"
@ -49,13 +50,13 @@
"markup.list" = "mauve"
"markup.bold" = { modifiers = ["bold"] }
"markup.italic" = { modifiers = ["italic"] }
"markup.link.url" = { fg = "peach", modifiers = ["underlined"] }
"markup.link.url" = { fg = "rosewater", modifiers = ["italic", "underlined"] }
"markup.link.text" = "blue"
"markup.raw" = "flamingo"
"diff.plus" = "green"
"diff.minus" = "red"
"diff.delta" = "yellow"
"diff.delta" = "blue"
# User Interface
# --------------
@ -64,20 +65,24 @@
"ui.linenr" = { fg = "surface1" }
"ui.linenr.selected" = { fg = "lavender" }
"ui.statusline" = { fg = "overlay1", bg = "surface0" }
"ui.statusline.inactive" = { fg = "overlay1", bg = "mantle" }
"ui.statusline.normal" = { fg = "surface0", bg = "lavender", modifiers = ["bold"] }
"ui.statusline.insert" = { fg = "surface0", bg = "green", modifiers = ["bold"] }
"ui.statusline.select" = { fg = "surface0", bg = "flamingo", modifiers = ["bold"] }
"ui.bufferline.active" = { fg = "text", bg = "base", modifiers = ["bold"] }
"ui.bufferline" = { fg = "overlay1", bg = "mantle" }
"ui.statusline" = { fg = "text", bg = "mantle" }
"ui.statusline.inactive" = { fg = "surface2", bg = "mantle" }
"ui.statusline.normal" = { fg = "base", bg = "lavender", modifiers = ["bold"] }
"ui.statusline.insert" = { fg = "base", bg = "green", modifiers = ["bold"] }
"ui.statusline.select" = { fg = "base", bg = "flamingo", modifiers = ["bold"] }
"ui.popup" = { fg = "text", bg = "surface0" }
"ui.window" = { fg = "crust" }
"ui.help" = { fg = "overlay2", bg = "surface0" }
"ui.text" = "text"
"ui.bufferline" = { fg = "surface1", bg = "mantle" }
"ui.bufferline.active" = { fg = "text", bg = "base", modifiers = [
"bold",
"italic",
] }
"ui.bufferline.background" = { bg = "surface0" }
"ui.text" = "text"
"ui.text.focus" = { fg = "text", bg = "surface0", modifiers = ["bold"] }
"ui.virtual" = "overlay0"
@ -92,12 +97,15 @@
"ui.cursorline.primary" = { bg = "cursorline" }
"ui.highlight" = { bg = "surface1" }
"ui.highlight" = { bg = "surface1", modifiers = ["bold"] }
"ui.menu" = { fg = "overlay2", bg = "surface0" }
"ui.menu.selected" = { fg = "text", bg = "surface1", modifiers = ["bold"] }
diagnostic = { modifiers = ["underlined"] }
"diagnostic.error" = { fg = "red", underline = { color = "red", style = "curl" } }
"diagnostic.warning" = { fg = "yellow", underline = { color = "yellow", style = "curl" } }
"diagnostic.info" = { fg = "sky", underline = { color = "sky", style = "curl" } }
"diagnostic.hint" = { fg = "teal", underline = { color = "teal", style = "curl" } }
error = "red"
warning = "yellow"

@ -65,7 +65,11 @@
"diff.delta" = "grey"
"diff.minus" = "red"
"diagnostic" = { modifiers = ["underlined"] }
"diagnostic.warning" = { underline = { color = "orange", style = "curl"} }
"diagnostic.error" = { underline = { color = "red", style = "curl"} }
"diagnostic.info" = { underline = { color = "grey05", style = "curl"} }
"diagnostic.hint" = { underline = { color = "grey05", style = "curl"} }
"info" = "grey05"
"hint" = "grey05"
"debug" = "grey05"

@ -73,10 +73,10 @@
'info' = { fg = 'blue', modifiers = ['bold'] }
'hint' = { fg = 'blue', modifiers = ['bold'] }
'diagnostic'= { fg = 'red', modifiers = ['underlined'] }
'diagnostic.error'= { fg = 'red', modifiers = ['underlined'] }
'diagnostic.info'= { fg = 'blue', modifiers = ['underlined'] }
'diagnostic.warning'= { fg = 'yellow', modifiers = ['underlined'] }
'diagnostic.hint'= { underline = { color = 'red', style = "curl"} }
'diagnostic.error'= { underline = { color = 'red', style = "curl"} }
'diagnostic.info'= { underline = { color = 'blue', style = "curl"} }
'diagnostic.warning'= { underline = { color = 'yellow', style = "curl"} }
'special' = { fg = 'orange' }

@ -45,7 +45,7 @@
"ui.background" = { fg = "black", bg = "white" }
"ui.background.separator" = { fg = "black", bg = "white" }
"ui.cursor" = { fg = "white", bg = "gray70" }
"ui.cursor" = { fg = "white", bg = "gray70" }
"ui.cursor.primary" = { fg = "white", bg = "black" }
"ui.cursor.match" = { fg = "black", bg = "turquoise" }
"ui.cursor.select" = { fg = "white", bg = "black" }
@ -68,19 +68,23 @@
"ui.selection" = { bg = "lightgoldenrod1" }
"ui.selection.primary" = { bg = "lightgoldenrod2" }
"ui.virtual.whitespace" = "highlight"
"ui.virtual.ruler" = { bg ="gray95" }
"ui.virtual.ruler" = { bg = "gray95" }
"ui.cursorline.primary" = { bg = "darkseagreen2" }
"ui.cursorline.secondary" = { bg = "darkseagreen2" }
"diff.plus" = { fg = "#22aa22", bg = "#eeffee" }
"diff.delta" = { fg = "#aaaa22", bg = "#ffffcc" }
"diff.minus" = { fg = "#aa2222", bg = "#ffdddd" }
"diff.plus" = { fg = "green3" }
"diff.delta" = { fg = "orange2" }
"diff.minus" = { fg = "red2" }
"error" = { fg = "red1" }
"warning" = { fg = "dark_orange" }
"info" = { fg = "forest_green" }
"hint" = { fg = "dark_cyan" }
"diagnostic" = { modifiers = ["underlined"] }
"diagnostic.error" = { underline = { color = "red1", style = "curl" } }
"diagnostic.warning" = { underline = { color = "dark_orange", style = "curl" } }
"diagnostic.info" = { underline = { color = "forest_green", style = "curl" } }
"diagnostic.hint" = { underline = { color = "dark_cyan", style = "curl" } }
[palette]
black = "#000000"

@ -88,7 +88,12 @@
"info" = "aqua"
"warning" = "yellow"
"error" = "red"
"diagnostic" = { modifiers = ["underlined"] }
"diagnostic.hint" = { underline = { color = "blue", style = "curl" } }
"diagnostic.info" = { underline = { color = "aqua", style = "curl" } }
"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
[palette]

@ -88,7 +88,11 @@
"info" = "aqua"
"warning" = "yellow"
"error" = "red"
"diagnostic" = { modifiers = ["underlined"] }
"diagnostic.hint" = { underline = { color = "blue", style = "curl" } }
"diagnostic.info" = { underline = { color = "aqua", style = "curl" } }
"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
[palette]

@ -21,6 +21,11 @@
"variable.parameter" = { fg = "blue_text", bg = "blue_bg" }
"diagnostic" = { modifiers = ["underlined"] }
"diagnostic.info" = { underline = { color = "orange_text", style = "curl" } }
"diagnostic.warning" = { underline = { color = "orange_text", style = "curl" } }
"diagnostic.error" = { underline = { color = "diff_delete", style = "curl" } }
"info" = { fg = "orange_text", bg = "orange_bg" }
"hint" = { modifiers = ["bold"] }
"warning" = { fg = "orange_text", bg = "orange_bg" }

@ -91,10 +91,10 @@
"warning" = "orange_accent"
"error" = "red_error"
"diagnostic" = { modifiers = [] }
"diagnostic.hint" = { underline = { color = "light", style = "line" } }
"diagnostic.info" = { underline = { color = "blue_accent", style = "line" } }
"diagnostic.warning" = { underline = { color = "yellow_accent", style = "line" } }
"diagnostic.error" = { underline = { color = "red_error", style = "line" } }
"diagnostic.hint" = { underline = { color = "light", style = "curl" } }
"diagnostic.info" = { underline = { color = "blue_accent", style = "curl" } }
"diagnostic.warning" = { underline = { color = "yellow_accent", style = "curl" } }
"diagnostic.error" = { underline = { color = "red_error", style = "curl" } }
[palette]
background = "#181818"

@ -0,0 +1,228 @@
# Author : OwOSwordsman <owoswordsman@gmail.com>
# An unofficial GitHub theme, generated using colors from: https://primer.style/primitives/colors
# Credit goes to the original VSCode theme: https://github.com/primer/github-vscode-theme
# Only the Light and Dark variants were specifically tested
attribute = "fg.default"
keyword = "scale.red.3"
"keyword.directive" = "scale.red.3" # -- preprocessor comments (#if in C)
namespace = "scale.orange.2"
punctuation = "fg.default"
"punctuation.delimiter" = "fg.default"
operator = "scale.red.3"
special = "scale.blue.1"
"variable.other.member" = "fg.default"
variable = "fg.default"
"variable.parameter" = "scale.orange.2"
"variable.builtin" = "scale.red.3"
type = "scale.orange.2"
"type.builtin" = "scale.blue.2"
constructor = "scale.purple.2"
function = "scale.purple.2"
"function.macro" = "scale.purple.2"
tag = "scale.green.1"
comment = "fg.muted"
constant = "scale.blue.2"
"constant.builtin" = "scale.blue.2"
string = "scale.blue.1"
"constant.numeric" = "scale.blue.2"
"constant.character.escape" = "scale.blue.2"
# used for lifetimes
label = "scale.red.3"
"markup.heading" = "scale.blue.2"
"markup.bold" = { modifiers = ["bold"] }
"markup.italic" = { modifiers = ["italic"] }
"markup.link.url" = { modifiers = ["underlined"] }
"markup.link.text" = { fg = "scale.blue.1", modifiers = ["underlined"] }
"markup.raw" = "scale.blue.2"
"diff.plus" = "open.fg"
"diff.minus" = "closed.fg"
"diff.delta" = "attention.fg"
"ui.background" = { bg = "canvas.default" }
"ui.background.separator" = { fg = "fg.subtle" }
"ui.linenr" = { fg = "fg.subtle" }
"ui.linenr.selected" = { fg = "fg.default" }
"ui.statusline" = { fg = "fg.muted", bg = "scale.gray.7" }
"ui.statusline.active" = { fg = "fg.default", bg = "canvas.default", underline = { color = "scale.coral.3", style = "line" } }
"ui.statusline.normal" = { fg = "fg.default", bg = "accent.muted" }
"ui.statusline.insert" = { fg = "fg.default", bg = "attention.muted" }
"ui.statusline.select" = { fg = "fg.default", bg = "sponsors.muted" }
"ui.popup" = { bg = "scale.gray.8" }
"ui.popup.info" = { fg = "fg.default", bg = "canvas.overlay" }
"ui.window" = { fg = "border.default" }
"ui.help" = { fg = "fg.default", bg = "canvas.overlay" }
"ui.text" = { fg = "fg.muted" }
"ui.text.focus" = { fg = "fg.default" }
"ui.text.inactive" = "fg.subtle"
"ui.virtual" = { fg = "scale.gray.6" }
"ui.selection" = { bg = "scale.blue.8" }
"ui.selection.primary" = { bg = "scale.blue.7" }
"ui.cursor.match" = { fg = "attention.fg", modifiers = [
"bold",
], underline = { style = "line" } }
"ui.cursor" = { modifiers = ["reversed"] }
"ui.cursorline.primary" = { bg = "canvas.subtle" }
"ui.menu" = { fg = "fg.default", bg = "canvas.overlay" }
"ui.menu.selected" = { bg = "scale.gray.4" }
"ui.menu.scroll" = { fg = "scale.gray.5", bg = "canvas.overlay" }
"diagnostic.hint" = { underline = { color = "success.fg", style = "curl" } }
"diagnostic.info" = { underline = { color = "accent.fg", style = "curl" } }
"diagnostic.warning" = { underline = { color = "attention.fg", style = "curl" } }
"diagnostic.error" = { underline = { color = "danger.fg", style = "curl" } }
hint = "success.fg"
info = "accent.fg"
warning = "attention.fg"
error = "danger.fg"
[palette]
"accent.emphasis" = "#1f6feb"
"accent.fg" = "#58a6ff"
"accent.muted" = "#388bfd66"
"accent.subtle" = "#388bfd26"
"attention.emphasis" = "#9e6a03"
"attention.fg" = "#d29922"
"attention.muted" = "#bb800966"
"attention.subtle" = "#bb800926"
"border.default" = "#30363d"
"border.muted" = "#21262d"
"border.subtle" = "#f0f6fc1a"
"canvas.default" = "#0d1117"
"canvas.inset" = "#010409"
"canvas.overlay" = "#161b22"
"canvas.subtle" = "#161b22"
"closed.emphasis" = "#da3633"
"closed.fg" = "#f85149"
"closed.muted" = "#f8514966"
"closed.subtle" = "#f8514926"
"danger.emphasis" = "#da3633"
"danger.fg" = "#f85149"
"danger.muted" = "#f8514966"
"danger.subtle" = "#f8514926"
"done.emphasis" = "#8957e5"
"done.fg" = "#a371f7"
"done.muted" = "#a371f766"
"done.subtle" = "#a371f726"
"fg.default" = "#c9d1d9"
"fg.muted" = "#8b949e"
"fg.onEmphasis" = "#ffffff"
"fg.subtle" = "#6e7681"
"neutral.emphasis" = "#6e7681"
"neutral.emphasisPlus" = "#6e7681"
"neutral.muted" = "#6e768166"
"neutral.subtle" = "#6e76811a"
"open.emphasis" = "#238636"
"open.fg" = "#3fb950"
"open.muted" = "#2ea04366"
"open.subtle" = "#2ea04326"
"scale.black" = "#010409"
"scale.blue.0" = "#cae8ff"
"scale.blue.1" = "#a5d6ff"
"scale.blue.2" = "#79c0ff"
"scale.blue.3" = "#58a6ff"
"scale.blue.4" = "#388bfd"
"scale.blue.5" = "#1f6feb"
"scale.blue.6" = "#1158c7"
"scale.blue.7" = "#0d419d"
"scale.blue.8" = "#0c2d6b"
"scale.blue.9" = "#051d4d"
"scale.coral.0" = "#ffddd2"
"scale.coral.1" = "#ffc2b2"
"scale.coral.2" = "#ffa28b"
"scale.coral.3" = "#f78166"
"scale.coral.4" = "#ea6045"
"scale.coral.5" = "#cf462d"
"scale.coral.6" = "#ac3220"
"scale.coral.7" = "#872012"
"scale.coral.8" = "#640d04"
"scale.coral.9" = "#460701"
"scale.gray.0" = "#f0f6fc"
"scale.gray.1" = "#c9d1d9"
"scale.gray.2" = "#b1bac4"
"scale.gray.3" = "#8b949e"
"scale.gray.4" = "#6e7681"
"scale.gray.5" = "#484f58"
"scale.gray.6" = "#30363d"
"scale.gray.7" = "#21262d"
"scale.gray.8" = "#161b22"
"scale.gray.9" = "#0d1117"
"scale.green.0" = "#aff5b4"
"scale.green.1" = "#7ee787"
"scale.green.2" = "#56d364"
"scale.green.3" = "#3fb950"
"scale.green.4" = "#2ea043"
"scale.green.5" = "#238636"
"scale.green.6" = "#196c2e"
"scale.green.7" = "#0f5323"
"scale.green.8" = "#033a16"
"scale.green.9" = "#04260f"
"scale.orange.0" = "#ffdfb6"
"scale.orange.1" = "#ffc680"
"scale.orange.2" = "#ffa657"
"scale.orange.3" = "#f0883e"
"scale.orange.4" = "#db6d28"
"scale.orange.5" = "#bd561d"
"scale.orange.6" = "#9b4215"
"scale.orange.7" = "#762d0a"
"scale.orange.8" = "#5a1e02"
"scale.orange.9" = "#3d1300"
"scale.pink.0" = "#ffdaec"
"scale.pink.1" = "#ffbedd"
"scale.pink.2" = "#ff9bce"
"scale.pink.3" = "#f778ba"
"scale.pink.4" = "#db61a2"
"scale.pink.5" = "#bf4b8a"
"scale.pink.6" = "#9e3670"
"scale.pink.7" = "#7d2457"
"scale.pink.8" = "#5e103e"
"scale.pink.9" = "#42062a"
"scale.purple.0" = "#eddeff"
"scale.purple.1" = "#e2c5ff"
"scale.purple.2" = "#d2a8ff"
"scale.purple.3" = "#bc8cff"
"scale.purple.4" = "#a371f7"
"scale.purple.5" = "#8957e5"
"scale.purple.6" = "#6e40c9"
"scale.purple.7" = "#553098"
"scale.purple.8" = "#3c1e70"
"scale.purple.9" = "#271052"
"scale.red.0" = "#ffdcd7"
"scale.red.1" = "#ffc1ba"
"scale.red.2" = "#ffa198"
"scale.red.3" = "#ff7b72"
"scale.red.4" = "#f85149"
"scale.red.5" = "#da3633"
"scale.red.6" = "#b62324"
"scale.red.7" = "#8e1519"
"scale.red.8" = "#67060c"
"scale.red.9" = "#490202"
"scale.white" = "#ffffff"
"scale.yellow.0" = "#f8e3a1"
"scale.yellow.1" = "#f2cc60"
"scale.yellow.2" = "#e3b341"
"scale.yellow.3" = "#d29922"
"scale.yellow.4" = "#bb8009"
"scale.yellow.5" = "#9e6a03"
"scale.yellow.6" = "#845306"
"scale.yellow.7" = "#693e00"
"scale.yellow.8" = "#4b2900"
"scale.yellow.9" = "#341a00"
"severe.emphasis" = "#bd561d"
"severe.fg" = "#db6d28"
"severe.muted" = "#db6d2866"
"severe.subtle" = "#db6d2826"
"sponsors.emphasis" = "#bf4b8a"
"sponsors.fg" = "#db61a2"
"sponsors.muted" = "#db61a266"
"sponsors.subtle" = "#db61a226"
"success.emphasis" = "#238636"
"success.fg" = "#3fb950"
"success.muted" = "#2ea04366"
"success.subtle" = "#2ea04326"

@ -0,0 +1,151 @@
# Author : OwOSwordsman <owoswordsman@gmail.com>
# An unofficial GitHub theme, generated using colors from: https://primer.style/primitives/colors
# Credit goes to the original VSCode theme: https://github.com/primer/github-vscode-theme
# Only the Light and Dark variants were specifically tested
inherits = "github_dark"
[palette]
"accent.emphasis" = "#1f6feb"
"accent.fg" = "#58a6ff"
"accent.muted" = "#388bfd66"
"accent.subtle" = "#388bfd26"
"attention.emphasis" = "#9e6a03"
"attention.fg" = "#d29922"
"attention.muted" = "#bb800966"
"attention.subtle" = "#bb800926"
"border.default" = "#30363d"
"border.muted" = "#21262d"
"border.subtle" = "#f0f6fc1a"
"canvas.default" = "#0d1117"
"canvas.inset" = "#010409"
"canvas.overlay" = "#161b22"
"canvas.subtle" = "#161b22"
"closed.emphasis" = "#6e7681"
"closed.fg" = "#8b949e"
"closed.muted" = "#6e768166"
"closed.subtle" = "#6e76811a"
"danger.emphasis" = "#b76100"
"danger.fg" = "#d47616"
"danger.muted" = "#d4761666"
"danger.subtle" = "#d4761626"
"done.emphasis" = "#8957e5"
"done.fg" = "#a371f7"
"done.muted" = "#a371f766"
"done.subtle" = "#a371f726"
"fg.default" = "#c9d1d9"
"fg.muted" = "#8b949e"
"fg.onEmphasis" = "#ffffff"
"fg.subtle" = "#6e7681"
"neutral.emphasis" = "#6e7681"
"neutral.emphasisPlus" = "#6e7681"
"neutral.muted" = "#6e768166"
"neutral.subtle" = "#6e76811a"
"open.emphasis" = "#b76100"
"open.fg" = "#ec8e2c"
"open.muted" = "#d4761666"
"open.subtle" = "#d4761626"
"scale.black" = "#010409"
"scale.blue.0" = "#cae8ff"
"scale.blue.1" = "#a5d6ff"
"scale.blue.2" = "#79c0ff"
"scale.blue.3" = "#58a6ff"
"scale.blue.4" = "#388bfd"
"scale.blue.5" = "#1f6feb"
"scale.blue.6" = "#1158c7"
"scale.blue.7" = "#0d419d"
"scale.blue.8" = "#0c2d6b"
"scale.blue.9" = "#051d4d"
"scale.coral.0" = "#ffddd2"
"scale.coral.1" = "#ffc2b2"
"scale.coral.2" = "#ffa28b"
"scale.coral.3" = "#f78166"
"scale.coral.4" = "#ea6045"
"scale.coral.5" = "#cf462d"
"scale.coral.6" = "#ac3220"
"scale.coral.7" = "#872012"
"scale.coral.8" = "#640d04"
"scale.coral.9" = "#460701"
"scale.gray.0" = "#f0f6fc"
"scale.gray.1" = "#c9d1d9"
"scale.gray.2" = "#b1bac4"
"scale.gray.3" = "#8b949e"
"scale.gray.4" = "#6e7681"
"scale.gray.5" = "#484f58"
"scale.gray.6" = "#30363d"
"scale.gray.7" = "#21262d"
"scale.gray.8" = "#161b22"
"scale.gray.9" = "#0d1117"
"scale.green.0" = "#cae8ff"
"scale.green.1" = "#a5d6ff"
"scale.green.2" = "#79c0ff"
"scale.green.3" = "#58a6ff"
"scale.green.4" = "#388bfd"
"scale.green.5" = "#1f6feb"
"scale.green.6" = "#1158c7"
"scale.green.7" = "#0d419d"
"scale.green.8" = "#0c2d6b"
"scale.green.9" = "#051d4d"
"scale.orange.0" = "#ffe2bb"
"scale.orange.1" = "#ffc981"
"scale.orange.2" = "#fdac54"
"scale.orange.3" = "#ec8e2c"
"scale.orange.4" = "#d47616"
"scale.orange.5" = "#b76100"
"scale.orange.6" = "#914d04"
"scale.orange.7" = "#6c3906"
"scale.orange.8" = "#4e2906"
"scale.orange.9" = "#331c04"
"scale.pink.0" = "#ffdaec"
"scale.pink.1" = "#ffbedd"
"scale.pink.2" = "#ff9bce"
"scale.pink.3" = "#f778ba"
"scale.pink.4" = "#db61a2"
"scale.pink.5" = "#bf4b8a"
"scale.pink.6" = "#9e3670"
"scale.pink.7" = "#7d2457"
"scale.pink.8" = "#5e103e"
"scale.pink.9" = "#42062a"
"scale.purple.0" = "#eddeff"
"scale.purple.1" = "#e2c5ff"
"scale.purple.2" = "#d2a8ff"
"scale.purple.3" = "#bc8cff"
"scale.purple.4" = "#a371f7"
"scale.purple.5" = "#8957e5"
"scale.purple.6" = "#6e40c9"
"scale.purple.7" = "#553098"
"scale.purple.8" = "#3c1e70"
"scale.purple.9" = "#271052"
"scale.red.0" = "#ffe2bb"
"scale.red.1" = "#ffc981"
"scale.red.2" = "#fdac54"
"scale.red.3" = "#ec8e2c"
"scale.red.4" = "#d47616"
"scale.red.5" = "#b76100"
"scale.red.6" = "#914d04"
"scale.red.7" = "#6c3906"
"scale.red.8" = "#4e2906"
"scale.red.9" = "#331c04"
"scale.white" = "#ffffff"
"scale.yellow.0" = "#f8e3a1"
"scale.yellow.1" = "#f2cc60"
"scale.yellow.2" = "#e3b341"
"scale.yellow.3" = "#d29922"
"scale.yellow.4" = "#bb8009"
"scale.yellow.5" = "#9e6a03"
"scale.yellow.6" = "#845306"
"scale.yellow.7" = "#693e00"
"scale.yellow.8" = "#4b2900"
"scale.yellow.9" = "#341a00"
"severe.emphasis" = "#b76100"
"severe.fg" = "#d47616"
"severe.muted" = "#d4761666"
"severe.subtle" = "#d4761626"
"sponsors.emphasis" = "#bf4b8a"
"sponsors.fg" = "#db61a2"
"sponsors.muted" = "#db61a266"
"sponsors.subtle" = "#db61a226"
"success.emphasis" = "#1f6feb"
"success.fg" = "#58a6ff"
"success.muted" = "#388bfd66"
"success.subtle" = "#388bfd26"

@ -0,0 +1,151 @@
# Author : OwOSwordsman <owoswordsman@gmail.com>
# An unofficial GitHub theme, generated using colors from: https://primer.style/primitives/colors
# Credit goes to the original VSCode theme: https://github.com/primer/github-vscode-theme
# Only the Light and Dark variants were specifically tested
inherits = "github_dark"
[palette]
"accent.emphasis" = "#316dca"
"accent.fg" = "#539bf5"
"accent.muted" = "#4184e466"
"accent.subtle" = "#4184e426"
"attention.emphasis" = "#966600"
"attention.fg" = "#c69026"
"attention.muted" = "#ae7c1466"
"attention.subtle" = "#ae7c1426"
"border.default" = "#444c56"
"border.muted" = "#373e47"
"border.subtle" = "#cdd9e51a"
"canvas.default" = "#22272e"
"canvas.inset" = "#1c2128"
"canvas.overlay" = "#2d333b"
"canvas.subtle" = "#2d333b"
"closed.emphasis" = "#c93c37"
"closed.fg" = "#e5534b"
"closed.muted" = "#e5534b66"
"closed.subtle" = "#e5534b26"
"danger.emphasis" = "#c93c37"
"danger.fg" = "#e5534b"
"danger.muted" = "#e5534b66"
"danger.subtle" = "#e5534b26"
"done.emphasis" = "#8256d0"
"done.fg" = "#986ee2"
"done.muted" = "#986ee266"
"done.subtle" = "#986ee226"
"fg.default" = "#adbac7"
"fg.muted" = "#768390"
"fg.onEmphasis" = "#cdd9e5"
"fg.subtle" = "#636e7b"
"neutral.emphasis" = "#636e7b"
"neutral.emphasisPlus" = "#636e7b"
"neutral.muted" = "#636e7b66"
"neutral.subtle" = "#636e7b1a"
"open.emphasis" = "#347d39"
"open.fg" = "#57ab5a"
"open.muted" = "#46954a66"
"open.subtle" = "#46954a26"
"scale.black" = "#1c2128"
"scale.blue.0" = "#c6e6ff"
"scale.blue.1" = "#96d0ff"
"scale.blue.2" = "#6cb6ff"
"scale.blue.3" = "#539bf5"
"scale.blue.4" = "#4184e4"
"scale.blue.5" = "#316dca"
"scale.blue.6" = "#255ab2"
"scale.blue.7" = "#1b4b91"
"scale.blue.8" = "#143d79"
"scale.blue.9" = "#0f2d5c"
"scale.coral.0" = "#ffdacf"
"scale.coral.1" = "#ffb9a5"
"scale.coral.2" = "#f79981"
"scale.coral.3" = "#ec775c"
"scale.coral.4" = "#de5b41"
"scale.coral.5" = "#c2442d"
"scale.coral.6" = "#a93524"
"scale.coral.7" = "#8d291b"
"scale.coral.8" = "#771d13"
"scale.coral.9" = "#5d1008"
"scale.gray.0" = "#cdd9e5"
"scale.gray.1" = "#adbac7"
"scale.gray.2" = "#909dab"
"scale.gray.3" = "#768390"
"scale.gray.4" = "#636e7b"
"scale.gray.5" = "#545d68"
"scale.gray.6" = "#444c56"
"scale.gray.7" = "#373e47"
"scale.gray.8" = "#2d333b"
"scale.gray.9" = "#22272e"
"scale.green.0" = "#b4f1b4"
"scale.green.1" = "#8ddb8c"
"scale.green.2" = "#6bc46d"
"scale.green.3" = "#57ab5a"
"scale.green.4" = "#46954a"
"scale.green.5" = "#347d39"
"scale.green.6" = "#2b6a30"
"scale.green.7" = "#245829"
"scale.green.8" = "#1b4721"
"scale.green.9" = "#113417"
"scale.orange.0" = "#ffddb0"
"scale.orange.1" = "#ffbc6f"
"scale.orange.2" = "#f69d50"
"scale.orange.3" = "#e0823d"
"scale.orange.4" = "#cc6b2c"
"scale.orange.5" = "#ae5622"
"scale.orange.6" = "#94471b"
"scale.orange.7" = "#7f3913"
"scale.orange.8" = "#682d0f"
"scale.orange.9" = "#4d210c"
"scale.pink.0" = "#ffd7eb"
"scale.pink.1" = "#ffb3d8"
"scale.pink.2" = "#fc8dc7"
"scale.pink.3" = "#e275ad"
"scale.pink.4" = "#c96198"
"scale.pink.5" = "#ae4c82"
"scale.pink.6" = "#983b6e"
"scale.pink.7" = "#7e325a"
"scale.pink.8" = "#69264a"
"scale.pink.9" = "#551639"
"scale.purple.0" = "#eedcff"
"scale.purple.1" = "#dcbdfb"
"scale.purple.2" = "#dcbdfb"
"scale.purple.3" = "#b083f0"
"scale.purple.4" = "#986ee2"
"scale.purple.5" = "#8256d0"
"scale.purple.6" = "#6b44bc"
"scale.purple.7" = "#5936a2"
"scale.purple.8" = "#472c82"
"scale.purple.9" = "#352160"
"scale.red.0" = "#ffd8d3"
"scale.red.1" = "#ffb8b0"
"scale.red.2" = "#ff938a"
"scale.red.3" = "#f47067"
"scale.red.4" = "#e5534b"
"scale.red.5" = "#c93c37"
"scale.red.6" = "#ad2e2c"
"scale.red.7" = "#922323"
"scale.red.8" = "#78191b"
"scale.red.9" = "#5d0f12"
"scale.white" = "#cdd9e5"
"scale.yellow.0" = "#fbe090"
"scale.yellow.1" = "#eac55f"
"scale.yellow.2" = "#daaa3f"
"scale.yellow.3" = "#c69026"
"scale.yellow.4" = "#ae7c14"
"scale.yellow.5" = "#966600"
"scale.yellow.6" = "#805400"
"scale.yellow.7" = "#6c4400"
"scale.yellow.8" = "#593600"
"scale.yellow.9" = "#452700"
"severe.emphasis" = "#ae5622"
"severe.fg" = "#cc6b2c"
"severe.muted" = "#cc6b2c66"
"severe.subtle" = "#cc6b2c26"
"sponsors.emphasis" = "#ae4c82"
"sponsors.fg" = "#c96198"
"sponsors.muted" = "#c9619866"
"sponsors.subtle" = "#c9619826"
"success.emphasis" = "#347d39"
"success.fg" = "#57ab5a"
"success.muted" = "#46954a66"
"success.subtle" = "#46954a26"

@ -0,0 +1,151 @@
# Author : OwOSwordsman <owoswordsman@gmail.com>
# An unofficial GitHub theme, generated using colors from: https://primer.style/primitives/colors
# Credit goes to the original VSCode theme: https://github.com/primer/github-vscode-theme
# Only the Light and Dark variants were specifically tested
inherits = "github_dark"
[palette]
"accent.emphasis" = "#409eff"
"accent.fg" = "#71b7ff"
"accent.muted" = "#409eff"
"accent.subtle" = "#409eff26"
"attention.emphasis" = "#e09b13"
"attention.fg" = "#f0b72f"
"attention.muted" = "#e09b13"
"attention.subtle" = "#e09b1326"
"border.default" = "#7a828e"
"border.muted" = "#7a828e"
"border.subtle" = "#7a828e"
"canvas.default" = "#0a0c10"
"canvas.inset" = "#010409"
"canvas.overlay" = "#272b33"
"canvas.subtle" = "#272b33"
"closed.emphasis" = "#ff6a69"
"closed.fg" = "#ff6a69"
"closed.muted" = "#ff6a6966"
"closed.subtle" = "#ff6a6926"
"danger.emphasis" = "#ff6a69"
"danger.fg" = "#ff6a69"
"danger.muted" = "#ff6a69"
"danger.subtle" = "#ff6a6926"
"done.emphasis" = "#b87fff"
"done.fg" = "#b780ff"
"done.muted" = "#b780ff"
"done.subtle" = "#b780ff26"
"fg.default" = "#f0f3f6"
"fg.muted" = "#f0f3f6"
"fg.onEmphasis" = "#0a0c10"
"fg.subtle" = "#9ea7b3"
"neutral.emphasis" = "#9ea7b3"
"neutral.emphasisPlus" = "#ffffff"
"neutral.muted" = "#9ea7b366"
"neutral.subtle" = "#9ea7b31a"
"open.emphasis" = "#09b43a"
"open.fg" = "#26cd4d"
"open.muted" = "#09b43a66"
"open.subtle" = "#09b43a26"
"scale.black" = "#010409"
"scale.blue.0" = "#caeaff"
"scale.blue.1" = "#addcff"
"scale.blue.2" = "#91cbff"
"scale.blue.3" = "#71b7ff"
"scale.blue.4" = "#409eff"
"scale.blue.5" = "#409eff"
"scale.blue.6" = "#318bf8"
"scale.blue.7" = "#2672f3"
"scale.blue.8" = "#1e60d5"
"scale.blue.9" = "#194fb1"
"scale.coral.0" = "#ffded4"
"scale.coral.1" = "#ffcbb9"
"scale.coral.2" = "#ffb39b"
"scale.coral.3" = "#ff967d"
"scale.coral.4" = "#fc704f"
"scale.coral.5" = "#fc704f"
"scale.coral.6" = "#f75133"
"scale.coral.7" = "#e03b21"
"scale.coral.8" = "#c62612"
"scale.coral.9" = "#a91500"
"scale.gray.0" = "#ffffff"
"scale.gray.1" = "#f0f3f6"
"scale.gray.2" = "#d9dee3"
"scale.gray.3" = "#bdc4cc"
"scale.gray.4" = "#9ea7b3"
"scale.gray.5" = "#7a828e"
"scale.gray.6" = "#525964"
"scale.gray.7" = "#272b33"
"scale.gray.8" = "#272b33"
"scale.gray.9" = "#0a0c10"
"scale.green.0" = "#acf7b6"
"scale.green.1" = "#72f088"
"scale.green.2" = "#4ae168"
"scale.green.3" = "#26cd4d"
"scale.green.4" = "#09b43a"
"scale.green.5" = "#09b43a"
"scale.green.6" = "#02a232"
"scale.green.7" = "#008c2c"
"scale.green.8" = "#007728"
"scale.green.9" = "#006222"
"scale.orange.0" = "#ffe1b4"
"scale.orange.1" = "#ffcf86"
"scale.orange.2" = "#ffb757"
"scale.orange.3" = "#fe9a2d"
"scale.orange.4" = "#e7811d"
"scale.orange.5" = "#e7811d"
"scale.orange.6" = "#d57014"
"scale.orange.7" = "#bf5e0a"
"scale.orange.8" = "#a74c00"
"scale.orange.9" = "#8f3c00"
"scale.pink.0" = "#ffdceb"
"scale.pink.1" = "#ffc7e1"
"scale.pink.2" = "#ffadd4"
"scale.pink.3" = "#ff8dc7"
"scale.pink.4" = "#ef6eb1"
"scale.pink.5" = "#ef6eb1"
"scale.pink.6" = "#e456a3"
"scale.pink.7" = "#d23d91"
"scale.pink.8" = "#b72c7d"
"scale.pink.9" = "#9c1d6a"
"scale.purple.0" = "#f0dfff"
"scale.purple.1" = "#e6ccff"
"scale.purple.2" = "#dbb7ff"
"scale.purple.3" = "#cb9eff"
"scale.purple.4" = "#b780ff"
"scale.purple.5" = "#b87fff"
"scale.purple.6" = "#a66bff"
"scale.purple.7" = "#954ffd"
"scale.purple.8" = "#8031f7"
"scale.purple.9" = "#6921d7"
"scale.red.0" = "#ffdedb"
"scale.red.1" = "#ffc9c7"
"scale.red.2" = "#ffb1af"
"scale.red.3" = "#ff9492"
"scale.red.4" = "#ff6a69"
"scale.red.5" = "#ff6a69"
"scale.red.6" = "#ff4445"
"scale.red.7" = "#e82a2f"
"scale.red.8" = "#cc1421"
"scale.red.9" = "#ad0116"
"scale.white" = "#ffffff"
"scale.yellow.0" = "#fbe59e"
"scale.yellow.1" = "#fbd669"
"scale.yellow.2" = "#f7c843"
"scale.yellow.3" = "#f0b72f"
"scale.yellow.4" = "#e09b13"
"scale.yellow.5" = "#e09b13"
"scale.yellow.6" = "#c88508"
"scale.yellow.7" = "#ae7104"
"scale.yellow.8" = "#945d02"
"scale.yellow.9" = "#7b4900"
"severe.emphasis" = "#e7811d"
"severe.fg" = "#e7811d"
"severe.muted" = "#e7811d"
"severe.subtle" = "#e7811d26"
"sponsors.emphasis" = "#ef6eb1"
"sponsors.fg" = "#ef6eb1"
"sponsors.muted" = "#ef6eb1"
"sponsors.subtle" = "#ef6eb126"
"success.emphasis" = "#09b43a"
"success.fg" = "#26cd4d"
"success.muted" = "#09b43a"
"success.subtle" = "#09b43a26"

@ -0,0 +1,151 @@
# Author : OwOSwordsman <owoswordsman@gmail.com>
# An unofficial GitHub theme, generated using colors from: https://primer.style/primitives/colors
# Credit goes to the original VSCode theme: https://github.com/primer/github-vscode-theme
# Only the Light and Dark variants were specifically tested
inherits = "github_dark"
[palette]
"accent.emphasis" = "#1f6feb"
"accent.fg" = "#58a6ff"
"accent.muted" = "#388bfd66"
"accent.subtle" = "#388bfd26"
"attention.emphasis" = "#9e6a03"
"attention.fg" = "#d29922"
"attention.muted" = "#bb800966"
"attention.subtle" = "#bb800926"
"border.default" = "#30363d"
"border.muted" = "#21262d"
"border.subtle" = "#f0f6fc1a"
"canvas.default" = "#0d1117"
"canvas.inset" = "#010409"
"canvas.overlay" = "#161b22"
"canvas.subtle" = "#161b22"
"closed.emphasis" = "#6e7681"
"closed.fg" = "#8b949e"
"closed.muted" = "#6e768166"
"closed.subtle" = "#6e76811a"
"danger.emphasis" = "#da3633"
"danger.fg" = "#f85149"
"danger.muted" = "#f8514966"
"danger.subtle" = "#f8514926"
"done.emphasis" = "#8957e5"
"done.fg" = "#a371f7"
"done.muted" = "#a371f766"
"done.subtle" = "#a371f726"
"fg.default" = "#c9d1d9"
"fg.muted" = "#8b949e"
"fg.onEmphasis" = "#ffffff"
"fg.subtle" = "#6e7681"
"neutral.emphasis" = "#6e7681"
"neutral.emphasisPlus" = "#6e7681"
"neutral.muted" = "#6e768166"
"neutral.subtle" = "#6e76811a"
"open.emphasis" = "#da3633"
"open.fg" = "#ff7b72"
"open.muted" = "#f8514966"
"open.subtle" = "#f8514926"
"scale.black" = "#010409"
"scale.blue.0" = "#cae8ff"
"scale.blue.1" = "#a5d6ff"
"scale.blue.2" = "#79c0ff"
"scale.blue.3" = "#58a6ff"
"scale.blue.4" = "#388bfd"
"scale.blue.5" = "#1f6feb"
"scale.blue.6" = "#1158c7"
"scale.blue.7" = "#0d419d"
"scale.blue.8" = "#0c2d6b"
"scale.blue.9" = "#051d4d"
"scale.coral.0" = "#ffddd2"
"scale.coral.1" = "#ffc2b2"
"scale.coral.2" = "#ffa28b"
"scale.coral.3" = "#f78166"
"scale.coral.4" = "#ea6045"
"scale.coral.5" = "#cf462d"
"scale.coral.6" = "#ac3220"
"scale.coral.7" = "#872012"
"scale.coral.8" = "#640d04"
"scale.coral.9" = "#460701"
"scale.gray.0" = "#f0f6fc"
"scale.gray.1" = "#c9d1d9"
"scale.gray.2" = "#b1bac4"
"scale.gray.3" = "#8b949e"
"scale.gray.4" = "#6e7681"
"scale.gray.5" = "#484f58"
"scale.gray.6" = "#30363d"
"scale.gray.7" = "#21262d"
"scale.gray.8" = "#161b22"
"scale.gray.9" = "#0d1117"
"scale.green.0" = "#cae8ff"
"scale.green.1" = "#a5d6ff"
"scale.green.2" = "#79c0ff"
"scale.green.3" = "#58a6ff"
"scale.green.4" = "#388bfd"
"scale.green.5" = "#1f6feb"
"scale.green.6" = "#1158c7"
"scale.green.7" = "#0d419d"
"scale.green.8" = "#0c2d6b"
"scale.green.9" = "#051d4d"
"scale.orange.0" = "#ffdcd7"
"scale.orange.1" = "#ffc1ba"
"scale.orange.2" = "#ffa198"
"scale.orange.3" = "#ff7b72"
"scale.orange.4" = "#f85149"
"scale.orange.5" = "#da3633"
"scale.orange.6" = "#b62324"
"scale.orange.7" = "#8e1519"
"scale.orange.8" = "#67060c"
"scale.orange.9" = "#490202"
"scale.pink.0" = "#ffdaec"
"scale.pink.1" = "#ffbedd"
"scale.pink.2" = "#ff9bce"
"scale.pink.3" = "#f778ba"
"scale.pink.4" = "#db61a2"
"scale.pink.5" = "#bf4b8a"
"scale.pink.6" = "#9e3670"
"scale.pink.7" = "#7d2457"
"scale.pink.8" = "#5e103e"
"scale.pink.9" = "#42062a"
"scale.purple.0" = "#eddeff"
"scale.purple.1" = "#e2c5ff"
"scale.purple.2" = "#d2a8ff"
"scale.purple.3" = "#bc8cff"
"scale.purple.4" = "#a371f7"
"scale.purple.5" = "#8957e5"
"scale.purple.6" = "#6e40c9"
"scale.purple.7" = "#553098"
"scale.purple.8" = "#3c1e70"
"scale.purple.9" = "#271052"
"scale.red.0" = "#ffdcd7"
"scale.red.1" = "#ffc1ba"
"scale.red.2" = "#ffa198"
"scale.red.3" = "#ff7b72"
"scale.red.4" = "#f85149"
"scale.red.5" = "#da3633"
"scale.red.6" = "#b62324"
"scale.red.7" = "#8e1519"
"scale.red.8" = "#67060c"
"scale.red.9" = "#490202"
"scale.white" = "#ffffff"
"scale.yellow.0" = "#f8e3a1"
"scale.yellow.1" = "#f2cc60"
"scale.yellow.2" = "#e3b341"
"scale.yellow.3" = "#d29922"
"scale.yellow.4" = "#bb8009"
"scale.yellow.5" = "#9e6a03"
"scale.yellow.6" = "#845306"
"scale.yellow.7" = "#693e00"
"scale.yellow.8" = "#4b2900"
"scale.yellow.9" = "#341a00"
"severe.emphasis" = "#da3633"
"severe.fg" = "#f85149"
"severe.muted" = "#f8514966"
"severe.subtle" = "#f8514926"
"sponsors.emphasis" = "#bf4b8a"
"sponsors.fg" = "#db61a2"
"sponsors.muted" = "#db61a266"
"sponsors.subtle" = "#db61a226"
"success.emphasis" = "#1f6feb"
"success.fg" = "#58a6ff"
"success.muted" = "#388bfd66"
"success.subtle" = "#388bfd26"

@ -0,0 +1,228 @@
# Author : OwOSwordsman <owoswordsman@gmail.com>
# An unofficial GitHub theme, generated using colors from: https://primer.style/primitives/colors
# Credit goes to the original VSCode theme: https://github.com/primer/github-vscode-theme
# Only the Light and Dark variants were specifically tested
attribute = "fg.default"
keyword = "scale.red.5"
"keyword.directive" = "scale.red.5" # -- preprocessor comments (#if in C)
namespace = "scale.orange.6"
punctuation = "fg.default"
"punctuation.delimiter" = "fg.default"
operator = "scale.red.5"
special = "scale.blue.8"
"variable.other.member" = "fg.default"
variable = "fg.default"
"variable.parameter" = "scale.orange.6"
"variable.builtin" = "scale.red.5"
type = "scale.orange.6"
"type.builtin" = "scale.blue.6"
constructor = "done.fg"
function = "done.fg"
"function.macro" = "done.fg"
tag = "scale.green.6"
comment = "fg.muted"
constant = "scale.blue.6"
"constant.builtin" = "scale.blue.6"
string = "scale.blue.8"
"constant.numeric" = "scale.blue.6"
"constant.character.escape" = "scale.blue.6"
# used for lifetimes
label = "scale.red.5"
"markup.heading" = "scale.blue.6"
"markup.bold" = { modifiers = ["bold"] }
"markup.italic" = { modifiers = ["italic"] }
"markup.link.url" = { modifiers = ["underlined"] }
"markup.link.text" = { fg = "scale.blue.8", modifiers = ["underlined"] }
"markup.raw" = "scale.blue.6"
"diff.plus" = "open.fg"
"diff.minus" = "closed.fg"
"diff.delta" = "attention.fg"
"ui.background" = { bg = "canvas.default" }
"ui.background.separator" = { fg = "fg.subtle" }
"ui.linenr" = { fg = "fg.subtle" }
"ui.linenr.selected" = { fg = "fg.default" }
"ui.statusline" = { fg = "fg.muted", bg = "neutral.subtle" }
"ui.statusline.active" = { fg = "fg.default", bg = "canvas.default", underline = { color = "scale.coral.3", style = "line" } }
"ui.statusline.normal" = { fg = "fg.default", bg = "accent.muted" }
"ui.statusline.insert" = { fg = "fg.default", bg = "attention.muted" }
"ui.statusline.select" = { fg = "fg.default", bg = "sponsors.muted" }
"ui.popup" = { bg = "scale.gray.0" }
"ui.popup.info" = { fg = "fg.default", bg = "scale.gray.0" }
"ui.window" = { fg = "border.default" }
"ui.help" = { fg = "fg.default", bg = "scale.gray.0" }
"ui.text" = { fg = "fg.muted" }
"ui.text.focus" = { fg = "fg.default" }
"ui.text.inactive" = "fg.subtle"
"ui.virtual" = { fg = "scale.gray.2" }
"ui.selection" = { bg = "scale.blue.0" }
"ui.selection.primary" = { bg = "scale.blue.1" }
"ui.cursor.match" = { fg = "attention.fg", modifiers = [
"bold",
], underline = { style = "line" } }
"ui.cursor" = { modifiers = ["reversed"] }
"ui.cursorline.primary" = { bg = "canvas.subtle" }
"ui.menu" = { fg = "fg.default", bg = "scale.gray.0" }
"ui.menu.selected" = { bg = "scale.gray.1" }
"ui.menu.scroll" = { fg = "scale.gray.2", bg = "scale.gray.0" }
"diagnostic.hint" = { underline = { color = "success.fg", style = "curl" } }
"diagnostic.info" = { underline = { color = "accent.fg", style = "curl" } }
"diagnostic.warning" = { underline = { color = "attention.fg", style = "curl" } }
"diagnostic.error" = { underline = { color = "danger.fg", style = "curl" } }
hint = "success.fg"
info = "accent.fg"
warning = "attention.fg"
error = "danger.fg"
[palette]
"accent.emphasis" = "#0969da"
"accent.fg" = "#0969da"
"accent.muted" = "#54aeff66"
"accent.subtle" = "#ddf4ff"
"attention.emphasis" = "#bf8700"
"attention.fg" = "#9a6700"
"attention.muted" = "#d4a72c66"
"attention.subtle" = "#fff8c5"
"border.default" = "#d0d7de"
"border.muted" = "#d8dee4"
"border.subtle" = "#1b1f2426"
"canvas.default" = "#ffffff"
"canvas.inset" = "#f6f8fa"
"canvas.overlay" = "#ffffff"
"canvas.subtle" = "#f6f8fa"
"closed.emphasis" = "#cf222e"
"closed.fg" = "#cf222e"
"closed.muted" = "#ff818266"
"closed.subtle" = "#ffebe9"
"danger.emphasis" = "#cf222e"
"danger.fg" = "#cf222e"
"danger.muted" = "#ff818266"
"danger.subtle" = "#ffebe9"
"done.emphasis" = "#8250df"
"done.fg" = "#8250df"
"done.muted" = "#c297ff66"
"done.subtle" = "#fbefff"
"fg.default" = "#24292f"
"fg.muted" = "#57606a"
"fg.onEmphasis" = "#ffffff"
"fg.subtle" = "#6e7781"
"neutral.emphasis" = "#6e7781"
"neutral.emphasisPlus" = "#24292f"
"neutral.muted" = "#afb8c133"
"neutral.subtle" = "#eaeef280"
"open.emphasis" = "#2da44e"
"open.fg" = "#1a7f37"
"open.muted" = "#4ac26b66"
"open.subtle" = "#dafbe1"
"scale.black" = "#1b1f24"
"scale.blue.0" = "#ddf4ff"
"scale.blue.1" = "#b6e3ff"
"scale.blue.2" = "#80ccff"
"scale.blue.3" = "#54aeff"
"scale.blue.4" = "#218bff"
"scale.blue.5" = "#0969da"
"scale.blue.6" = "#0550ae"
"scale.blue.7" = "#033d8b"
"scale.blue.8" = "#0a3069"
"scale.blue.9" = "#002155"
"scale.coral.0" = "#fff0eb"
"scale.coral.1" = "#ffd6cc"
"scale.coral.2" = "#ffb4a1"
"scale.coral.3" = "#fd8c73"
"scale.coral.4" = "#ec6547"
"scale.coral.5" = "#c4432b"
"scale.coral.6" = "#9e2f1c"
"scale.coral.7" = "#801f0f"
"scale.coral.8" = "#691105"
"scale.coral.9" = "#510901"
"scale.gray.0" = "#f6f8fa"
"scale.gray.1" = "#eaeef2"
"scale.gray.2" = "#d0d7de"
"scale.gray.3" = "#afb8c1"
"scale.gray.4" = "#8c959f"
"scale.gray.5" = "#6e7781"
"scale.gray.6" = "#57606a"
"scale.gray.7" = "#424a53"
"scale.gray.8" = "#32383f"
"scale.gray.9" = "#24292f"
"scale.green.0" = "#dafbe1"
"scale.green.1" = "#aceebb"
"scale.green.2" = "#6fdd8b"
"scale.green.3" = "#4ac26b"
"scale.green.4" = "#2da44e"
"scale.green.5" = "#1a7f37"
"scale.green.6" = "#116329"
"scale.green.7" = "#044f1e"
"scale.green.8" = "#003d16"
"scale.green.9" = "#002d11"
"scale.orange.0" = "#fff1e5"
"scale.orange.1" = "#ffd8b5"
"scale.orange.2" = "#ffb77c"
"scale.orange.3" = "#fb8f44"
"scale.orange.4" = "#e16f24"
"scale.orange.5" = "#bc4c00"
"scale.orange.6" = "#953800"
"scale.orange.7" = "#762c00"
"scale.orange.8" = "#5c2200"
"scale.orange.9" = "#471700"
"scale.pink.0" = "#ffeff7"
"scale.pink.1" = "#ffd3eb"
"scale.pink.2" = "#ffadda"
"scale.pink.3" = "#ff80c8"
"scale.pink.4" = "#e85aad"
"scale.pink.5" = "#bf3989"
"scale.pink.6" = "#99286e"
"scale.pink.7" = "#772057"
"scale.pink.8" = "#611347"
"scale.pink.9" = "#4d0336"
"scale.purple.0" = "#fbefff"
"scale.purple.1" = "#ecd8ff"
"scale.purple.2" = "#d8b9ff"
"scale.purple.3" = "#c297ff"
"scale.purple.4" = "#a475f9"
"scale.purple.5" = "#8250df"
"scale.purple.6" = "#6639ba"
"scale.purple.7" = "#512a97"
"scale.purple.8" = "#3e1f79"
"scale.purple.9" = "#2e1461"
"scale.red.0" = "#ffebe9"
"scale.red.1" = "#ffcecb"
"scale.red.2" = "#ffaba8"
"scale.red.3" = "#ff8182"
"scale.red.4" = "#fa4549"
"scale.red.5" = "#cf222e"
"scale.red.6" = "#a40e26"
"scale.red.7" = "#82071e"
"scale.red.8" = "#660018"
"scale.red.9" = "#4c0014"
"scale.white" = "#ffffff"
"scale.yellow.0" = "#fff8c5"
"scale.yellow.1" = "#fae17d"
"scale.yellow.2" = "#eac54f"
"scale.yellow.3" = "#d4a72c"
"scale.yellow.4" = "#bf8700"
"scale.yellow.5" = "#9a6700"
"scale.yellow.6" = "#7d4e00"
"scale.yellow.7" = "#633c01"
"scale.yellow.8" = "#4d2d00"
"scale.yellow.9" = "#3b2300"
"severe.emphasis" = "#bc4c00"
"severe.fg" = "#bc4c00"
"severe.muted" = "#fb8f4466"
"severe.subtle" = "#fff1e5"
"sponsors.emphasis" = "#bf3989"
"sponsors.fg" = "#bf3989"
"sponsors.muted" = "#ff80c866"
"sponsors.subtle" = "#ffeff7"
"success.emphasis" = "#2da44e"
"success.fg" = "#1a7f37"
"success.muted" = "#4ac26b66"
"success.subtle" = "#dafbe1"

@ -0,0 +1,151 @@
# Author : OwOSwordsman <owoswordsman@gmail.com>
# An unofficial GitHub theme, generated using colors from: https://primer.style/primitives/colors
# Credit goes to the original VSCode theme: https://github.com/primer/github-vscode-theme
# Only the Light and Dark variants were specifically tested
inherits = "github_light"
[palette]
"accent.emphasis" = "#0969da"
"accent.fg" = "#0969da"
"accent.muted" = "#54aeff66"
"accent.subtle" = "#ddf4ff"
"attention.emphasis" = "#bf8700"
"attention.fg" = "#9a6700"
"attention.muted" = "#d4a72c66"
"attention.subtle" = "#fff8c5"
"border.default" = "#d0d7de"
"border.muted" = "#d8dee4"
"border.subtle" = "#1b1f2426"
"canvas.default" = "#ffffff"
"canvas.inset" = "#f6f8fa"
"canvas.overlay" = "#ffffff"
"canvas.subtle" = "#f6f8fa"
"closed.emphasis" = "#6e7781"
"closed.fg" = "#6e7781"
"closed.muted" = "#afb8c166"
"closed.subtle" = "#f6f8fa"
"danger.emphasis" = "#b35900"
"danger.fg" = "#b35900"
"danger.muted" = "#f7993966"
"danger.subtle" = "#fff5e8"
"done.emphasis" = "#8250df"
"done.fg" = "#8250df"
"done.muted" = "#c297ff66"
"done.subtle" = "#fbefff"
"fg.default" = "#24292f"
"fg.muted" = "#57606a"
"fg.onEmphasis" = "#ffffff"
"fg.subtle" = "#6e7781"
"neutral.emphasis" = "#6e7781"
"neutral.emphasisPlus" = "#24292f"
"neutral.muted" = "#afb8c133"
"neutral.subtle" = "#eaeef280"
"open.emphasis" = "#dd7815"
"open.fg" = "#b35900"
"open.muted" = "#f7993966"
"open.subtle" = "#fff5e8"
"scale.black" = "#1b1f24"
"scale.blue.0" = "#ddf4ff"
"scale.blue.1" = "#b6e3ff"
"scale.blue.2" = "#80ccff"
"scale.blue.3" = "#54aeff"
"scale.blue.4" = "#218bff"
"scale.blue.5" = "#0969da"
"scale.blue.6" = "#0550ae"
"scale.blue.7" = "#033d8b"
"scale.blue.8" = "#0a3069"
"scale.blue.9" = "#002155"
"scale.coral.0" = "#fff0eb"
"scale.coral.1" = "#ffd6cc"
"scale.coral.2" = "#ffb4a1"
"scale.coral.3" = "#fd8c73"
"scale.coral.4" = "#ec6547"
"scale.coral.5" = "#c4432b"
"scale.coral.6" = "#9e2f1c"
"scale.coral.7" = "#801f0f"
"scale.coral.8" = "#691105"
"scale.coral.9" = "#510901"
"scale.gray.0" = "#f6f8fa"
"scale.gray.1" = "#eaeef2"
"scale.gray.2" = "#d0d7de"
"scale.gray.3" = "#afb8c1"
"scale.gray.4" = "#8c959f"
"scale.gray.5" = "#6e7781"
"scale.gray.6" = "#57606a"
"scale.gray.7" = "#424a53"
"scale.gray.8" = "#32383f"
"scale.gray.9" = "#24292f"
"scale.green.0" = "#ddf4ff"
"scale.green.1" = "#b6e3ff"
"scale.green.2" = "#80ccff"
"scale.green.3" = "#54aeff"
"scale.green.4" = "#218bff"
"scale.green.5" = "#0969da"
"scale.green.6" = "#0550ae"
"scale.green.7" = "#033d8b"
"scale.green.8" = "#0a3069"
"scale.green.9" = "#002155"
"scale.orange.0" = "#fff5e8"
"scale.orange.1" = "#ffddb0"
"scale.orange.2" = "#ffbc6d"
"scale.orange.3" = "#f79939"
"scale.orange.4" = "#dd7815"
"scale.orange.5" = "#b35900"
"scale.orange.6" = "#8a4600"
"scale.orange.7" = "#6f3800"
"scale.orange.8" = "#572c00"
"scale.orange.9" = "#412000"
"scale.pink.0" = "#ffeff7"
"scale.pink.1" = "#ffd3eb"
"scale.pink.2" = "#ffadda"
"scale.pink.3" = "#ff80c8"
"scale.pink.4" = "#e85aad"
"scale.pink.5" = "#bf3989"
"scale.pink.6" = "#99286e"
"scale.pink.7" = "#772057"
"scale.pink.8" = "#611347"
"scale.pink.9" = "#4d0336"
"scale.purple.0" = "#fbefff"
"scale.purple.1" = "#ecd8ff"
"scale.purple.2" = "#d8b9ff"
"scale.purple.3" = "#c297ff"
"scale.purple.4" = "#a475f9"
"scale.purple.5" = "#8250df"
"scale.purple.6" = "#6639ba"
"scale.purple.7" = "#512a97"
"scale.purple.8" = "#3e1f79"
"scale.purple.9" = "#2e1461"
"scale.red.0" = "#fff5e8"
"scale.red.1" = "#ffddb0"
"scale.red.2" = "#ffbc6d"
"scale.red.3" = "#f79939"
"scale.red.4" = "#dd7815"
"scale.red.5" = "#b35900"
"scale.red.6" = "#8a4600"
"scale.red.7" = "#6f3800"
"scale.red.8" = "#572c00"
"scale.red.9" = "#412000"
"scale.white" = "#ffffff"
"scale.yellow.0" = "#fff8c5"
"scale.yellow.1" = "#fae17d"
"scale.yellow.2" = "#eac54f"
"scale.yellow.3" = "#d4a72c"
"scale.yellow.4" = "#bf8700"
"scale.yellow.5" = "#9a6700"
"scale.yellow.6" = "#7d4e00"
"scale.yellow.7" = "#633c01"
"scale.yellow.8" = "#4d2d00"
"scale.yellow.9" = "#3b2300"
"severe.emphasis" = "#b35900"
"severe.fg" = "#b35900"
"severe.muted" = "#f7993966"
"severe.subtle" = "#fff5e8"
"sponsors.emphasis" = "#bf3989"
"sponsors.fg" = "#bf3989"
"sponsors.muted" = "#ff80c866"
"sponsors.subtle" = "#ffeff7"
"success.emphasis" = "#218bff"
"success.fg" = "#0969da"
"success.muted" = "#54aeff66"
"success.subtle" = "#ddf4ff"

@ -0,0 +1,151 @@
# Author : OwOSwordsman <owoswordsman@gmail.com>
# An unofficial GitHub theme, generated using colors from: https://primer.style/primitives/colors
# Credit goes to the original VSCode theme: https://github.com/primer/github-vscode-theme
# Only the Light and Dark variants were specifically tested
inherits = "github_light"
[palette]
"accent.emphasis" = "#0349b4"
"accent.fg" = "#0349b4"
"accent.muted" = "#368cf9"
"accent.subtle" = "#dff7ff"
"attention.emphasis" = "#744500"
"attention.fg" = "#744500"
"attention.muted" = "#b58407"
"attention.subtle" = "#fcf7be"
"border.default" = "#20252c"
"border.muted" = "#88929d"
"border.subtle" = "#010409cc"
"canvas.default" = "#ffffff"
"canvas.inset" = "#ffffff"
"canvas.overlay" = "#ffffff"
"canvas.subtle" = "#e7ecf0"
"closed.emphasis" = "#a0111f"
"closed.fg" = "#a0111f"
"closed.muted" = "#ee5a5d66"
"closed.subtle" = "#fff0ee"
"danger.emphasis" = "#a0111f"
"danger.fg" = "#a0111f"
"danger.muted" = "#ee5a5d"
"danger.subtle" = "#fff0ee"
"done.emphasis" = "#622cbc"
"done.fg" = "#622cbc"
"done.muted" = "#a371f7"
"done.subtle" = "#faf0fe"
"fg.default" = "#0e1116"
"fg.muted" = "#0e1116"
"fg.onEmphasis" = "#ffffff"
"fg.subtle" = "#66707b"
"neutral.emphasis" = "#66707b"
"neutral.emphasisPlus" = "#0e1116"
"neutral.muted" = "#acb6c033"
"neutral.subtle" = "#e7ecf0"
"open.emphasis" = "#117f32"
"open.fg" = "#055d20"
"open.muted" = "#26a14866"
"open.subtle" = "#d2fedb"
"scale.black" = "#010409"
"scale.blue.0" = "#dff7ff"
"scale.blue.1" = "#9cd7ff"
"scale.blue.2" = "#67b3fd"
"scale.blue.3" = "#368cf9"
"scale.blue.4" = "#1168e3"
"scale.blue.5" = "#0349b4"
"scale.blue.6" = "#023b95"
"scale.blue.7" = "#022f7a"
"scale.blue.8" = "#032563"
"scale.blue.9" = "#021a4a"
"scale.coral.0" = "#fff0ed"
"scale.coral.1" = "#ffc2b6"
"scale.coral.2" = "#ff8f7e"
"scale.coral.3" = "#ef5b48"
"scale.coral.4" = "#cd3425"
"scale.coral.5" = "#9f1710"
"scale.coral.6" = "#870706"
"scale.coral.7" = "#6f0107"
"scale.coral.8" = "#5b0002"
"scale.coral.9" = "#430200"
"scale.gray.0" = "#ffffff"
"scale.gray.1" = "#e7ecf0"
"scale.gray.2" = "#ced5dc"
"scale.gray.3" = "#acb6c0"
"scale.gray.4" = "#88929d"
"scale.gray.5" = "#66707b"
"scale.gray.6" = "#4b535d"
"scale.gray.7" = "#343b43"
"scale.gray.8" = "#20252c"
"scale.gray.9" = "#0e1116"
"scale.green.0" = "#d2fedb"
"scale.green.1" = "#82e596"
"scale.green.2" = "#43c663"
"scale.green.3" = "#26a148"
"scale.green.4" = "#117f32"
"scale.green.5" = "#055d20"
"scale.green.6" = "#024c1a"
"scale.green.7" = "#013d14"
"scale.green.8" = "#003110"
"scale.green.9" = "#00230b"
"scale.orange.0" = "#fff2d5"
"scale.orange.1" = "#ffc67b"
"scale.orange.2" = "#f99636"
"scale.orange.3" = "#dc6d1a"
"scale.orange.4" = "#b45105"
"scale.orange.5" = "#873800"
"scale.orange.6" = "#702c00"
"scale.orange.7" = "#5b2300"
"scale.orange.8" = "#491b00"
"scale.orange.9" = "#361200"
"scale.pink.0" = "#feeff7"
"scale.pink.1" = "#ffbde0"
"scale.pink.2" = "#fc87ca"
"scale.pink.3" = "#ed4baf"
"scale.pink.4" = "#c9248e"
"scale.pink.5" = "#971368"
"scale.pink.6" = "#7d0c57"
"scale.pink.7" = "#660847"
"scale.pink.8" = "#53043a"
"scale.pink.9" = "#3e022b"
"scale.purple.0" = "#faf0fe"
"scale.purple.1" = "#e0c5ff"
"scale.purple.2" = "#c49bff"
"scale.purple.3" = "#a371f7"
"scale.purple.4" = "#844ae7"
"scale.purple.5" = "#622cbc"
"scale.purple.6" = "#512598"
"scale.purple.7" = "#411d7b"
"scale.purple.8" = "#341763"
"scale.purple.9" = "#260f49"
"scale.red.0" = "#fff0ee"
"scale.red.1" = "#ffc1bc"
"scale.red.2" = "#ff8e8a"
"scale.red.3" = "#ee5a5d"
"scale.red.4" = "#d5232c"
"scale.red.5" = "#a0111f"
"scale.red.6" = "#86061d"
"scale.red.7" = "#6e011a"
"scale.red.8" = "#5a0016"
"scale.red.9" = "#430011"
"scale.white" = "#ffffff"
"scale.yellow.0" = "#fcf7be"
"scale.yellow.1" = "#f0ce53"
"scale.yellow.2" = "#d5a824"
"scale.yellow.3" = "#b58407"
"scale.yellow.4" = "#956400"
"scale.yellow.5" = "#744500"
"scale.yellow.6" = "#603700"
"scale.yellow.7" = "#4e2c00"
"scale.yellow.8" = "#3f2200"
"scale.yellow.9" = "#2e1800"
"severe.emphasis" = "#873800"
"severe.fg" = "#873800"
"severe.muted" = "#dc6d1a"
"severe.subtle" = "#fff2d5"
"sponsors.emphasis" = "#971368"
"sponsors.fg" = "#971368"
"sponsors.muted" = "#ed4baf"
"sponsors.subtle" = "#feeff7"
"success.emphasis" = "#055d20"
"success.fg" = "#055d20"
"success.muted" = "#26a148"
"success.subtle" = "#d2fedb"

@ -0,0 +1,151 @@
# Author : OwOSwordsman <owoswordsman@gmail.com>
# An unofficial GitHub theme, generated using colors from: https://primer.style/primitives/colors
# Credit goes to the original VSCode theme: https://github.com/primer/github-vscode-theme
# Only the Light and Dark variants were specifically tested
inherits = "github_light"
[palette]
"accent.emphasis" = "#0969da"
"accent.fg" = "#0969da"
"accent.muted" = "#54aeff66"
"accent.subtle" = "#ddf4ff"
"attention.emphasis" = "#bf8700"
"attention.fg" = "#9a6700"
"attention.muted" = "#d4a72c66"
"attention.subtle" = "#fff8c5"
"border.default" = "#d0d7de"
"border.muted" = "#d8dee4"
"border.subtle" = "#1b1f2426"
"canvas.default" = "#ffffff"
"canvas.inset" = "#f6f8fa"
"canvas.overlay" = "#ffffff"
"canvas.subtle" = "#f6f8fa"
"closed.emphasis" = "#6e7781"
"closed.fg" = "#6e7781"
"closed.muted" = "#afb8c166"
"closed.subtle" = "#f6f8fa"
"danger.emphasis" = "#cf222e"
"danger.fg" = "#cf222e"
"danger.muted" = "#ff818266"
"danger.subtle" = "#ffebe9"
"done.emphasis" = "#8250df"
"done.fg" = "#8250df"
"done.muted" = "#c297ff66"
"done.subtle" = "#fbefff"
"fg.default" = "#24292f"
"fg.muted" = "#57606a"
"fg.onEmphasis" = "#ffffff"
"fg.subtle" = "#6e7781"
"neutral.emphasis" = "#6e7781"
"neutral.emphasisPlus" = "#24292f"
"neutral.muted" = "#afb8c133"
"neutral.subtle" = "#eaeef280"
"open.emphasis" = "#fa4549"
"open.fg" = "#cf222e"
"open.muted" = "#ff818266"
"open.subtle" = "#ffebe9"
"scale.black" = "#1b1f24"
"scale.blue.0" = "#ddf4ff"
"scale.blue.1" = "#b6e3ff"
"scale.blue.2" = "#80ccff"
"scale.blue.3" = "#54aeff"
"scale.blue.4" = "#218bff"
"scale.blue.5" = "#0969da"
"scale.blue.6" = "#0550ae"
"scale.blue.7" = "#033d8b"
"scale.blue.8" = "#0a3069"
"scale.blue.9" = "#002155"
"scale.coral.0" = "#fff0eb"
"scale.coral.1" = "#ffd6cc"
"scale.coral.2" = "#ffb4a1"
"scale.coral.3" = "#fd8c73"
"scale.coral.4" = "#ec6547"
"scale.coral.5" = "#c4432b"
"scale.coral.6" = "#9e2f1c"
"scale.coral.7" = "#801f0f"
"scale.coral.8" = "#691105"
"scale.coral.9" = "#510901"
"scale.gray.0" = "#f6f8fa"
"scale.gray.1" = "#eaeef2"
"scale.gray.2" = "#d0d7de"
"scale.gray.3" = "#afb8c1"
"scale.gray.4" = "#8c959f"
"scale.gray.5" = "#6e7781"
"scale.gray.6" = "#57606a"
"scale.gray.7" = "#424a53"
"scale.gray.8" = "#32383f"
"scale.gray.9" = "#24292f"
"scale.green.0" = "#ddf4ff"
"scale.green.1" = "#b6e3ff"
"scale.green.2" = "#80ccff"
"scale.green.3" = "#54aeff"
"scale.green.4" = "#218bff"
"scale.green.5" = "#0969da"
"scale.green.6" = "#0550ae"
"scale.green.7" = "#033d8b"
"scale.green.8" = "#0a3069"
"scale.green.9" = "#002155"
"scale.orange.0" = "#ffebe9"
"scale.orange.1" = "#ffcecb"
"scale.orange.2" = "#ffaba8"
"scale.orange.3" = "#ff8182"
"scale.orange.4" = "#fa4549"
"scale.orange.5" = "#cf222e"
"scale.orange.6" = "#a40e26"
"scale.orange.7" = "#82071e"
"scale.orange.8" = "#660018"
"scale.orange.9" = "#4c0014"
"scale.pink.0" = "#ffeff7"
"scale.pink.1" = "#ffd3eb"
"scale.pink.2" = "#ffadda"
"scale.pink.3" = "#ff80c8"
"scale.pink.4" = "#e85aad"
"scale.pink.5" = "#bf3989"
"scale.pink.6" = "#99286e"
"scale.pink.7" = "#772057"
"scale.pink.8" = "#611347"
"scale.pink.9" = "#4d0336"
"scale.purple.0" = "#fbefff"
"scale.purple.1" = "#ecd8ff"
"scale.purple.2" = "#d8b9ff"
"scale.purple.3" = "#c297ff"
"scale.purple.4" = "#a475f9"
"scale.purple.5" = "#8250df"
"scale.purple.6" = "#6639ba"
"scale.purple.7" = "#512a97"
"scale.purple.8" = "#3e1f79"
"scale.purple.9" = "#2e1461"
"scale.red.0" = "#ffebe9"
"scale.red.1" = "#ffcecb"
"scale.red.2" = "#ffaba8"
"scale.red.3" = "#ff8182"
"scale.red.4" = "#fa4549"
"scale.red.5" = "#cf222e"
"scale.red.6" = "#a40e26"
"scale.red.7" = "#82071e"
"scale.red.8" = "#660018"
"scale.red.9" = "#4c0014"
"scale.white" = "#ffffff"
"scale.yellow.0" = "#fff8c5"
"scale.yellow.1" = "#fae17d"
"scale.yellow.2" = "#eac54f"
"scale.yellow.3" = "#d4a72c"
"scale.yellow.4" = "#bf8700"
"scale.yellow.5" = "#9a6700"
"scale.yellow.6" = "#7d4e00"
"scale.yellow.7" = "#633c01"
"scale.yellow.8" = "#4d2d00"
"scale.yellow.9" = "#3b2300"
"severe.emphasis" = "#cf222e"
"severe.fg" = "#cf222e"
"severe.muted" = "#ff818266"
"severe.subtle" = "#ffebe9"
"sponsors.emphasis" = "#bf3989"
"sponsors.fg" = "#bf3989"
"sponsors.muted" = "#ff80c866"
"sponsors.subtle" = "#ffeff7"
"success.emphasis" = "#218bff"
"success.fg" = "#0969da"
"success.muted" = "#54aeff66"
"success.subtle" = "#ddf4ff"

@ -53,6 +53,7 @@
"ui.text" = { fg = "fg1" }
"ui.text.focus" = { fg = "fg1" }
"ui.selection" = { bg = "bg2" }
"ui.selection.primary" = { bg = "bg3" }
"ui.cursor.primary" = { bg = "fg4", fg = "bg1" }
"ui.cursor.match" = { bg = "bg3" }
"ui.menu" = { fg = "fg1", bg = "bg2" }
@ -60,7 +61,10 @@
"ui.virtual.whitespace" = "bg2"
"ui.virtual.ruler" = { bg = "bg1" }
"diagnostic" = { modifiers = ["underlined"] }
"diagnostic.warning" = { underline = { color = "orange1", style = "curl" } }
"diagnostic.error" = { underline = { color = "red1", style = "curl" } }
"diagnostic.info" = { underline = { color = "aqua1", style = "curl" } }
"diagnostic.hint" = { underline = { color = "blue1", style = "curl" } }
"markup.heading" = "aqua1"
"markup.bold" = { modifiers = ["bold"] }

@ -21,7 +21,7 @@
"function.macro" = "aqua1"
"function.builtin" = "yellow1"
"tag" = "red1"
"comment" = { fg = "gray1", modifiers = ["italic"] }
"comment" = { fg = "gray1", modifiers = ["italic"] }
"constant" = { fg = "purple1" }
"constant.builtin" = { fg = "purple1", modifiers = ["bold"] }
"string" = "green1"
@ -39,7 +39,6 @@
"info" = { fg = "aqua1", bg = "bg1" }
"hint" = { fg = "blue1", bg = "bg1" }
"diagnostic" = { modifiers = ["underlined"] }
"diagnostic.error" = { underline = { style = "curl", color = "red0" } }
"diagnostic.warning" = { underline = { style = "curl", color = "orange1" } }
"diagnostic.info" = { underline = { style = "curl", color = "aqua1" } }
@ -60,6 +59,7 @@
"ui.text" = { fg = "fg1" }
"ui.text.focus" = { fg = "fg1" }
"ui.selection" = { bg = "bg3", modifiers = ["reversed"] }
"ui.selection.primary" = { bg = "bg4", modifiers = ["reversed"] }
"ui.cursor.primary" = { modifiers = ["reversed"] }
"ui.cursor.match" = { bg = "bg2" }
"ui.menu" = { fg = "fg1", bg = "bg2" }
@ -90,8 +90,8 @@ fg4 = "#a89984" # gray0
gray0 = "#a89984"
gray1 = "#928374"
red0 = "#cc241d" # neutral
red1 = "#fb4934" # bright
red0 = "#cc241d" # neutral
red1 = "#fb4934" # bright
green0 = "#98971a"
green1 = "#b8bb26"
yellow0 = "#d79921"

@ -21,7 +21,7 @@
"function.macro" = "aqua1"
"function.builtin" = "yellow1"
"tag" = "red1"
"comment" = { fg = "gray1", modifiers = ["italic"] }
"comment" = { fg = "gray1", modifiers = ["italic"] }
"constant" = { fg = "purple1" }
"constant.builtin" = { fg = "purple1", modifiers = ["bold"] }
"string" = "green1"
@ -54,6 +54,7 @@
"ui.text" = { fg = "fg1" }
"ui.text.focus" = { fg = "fg1" }
"ui.selection" = { bg = "bg3", modifiers = ["reversed"] }
"ui.selection.primary" = { bg = "bg4", modifiers = ["reversed"] }
"ui.cursor.primary" = { modifiers = ["reversed"] }
"ui.cursor.match" = { bg = "bg2" }
"ui.menu" = { fg = "fg1", bg = "bg2" }
@ -61,7 +62,10 @@
"ui.virtual.whitespace" = "bg2"
"ui.virtual.ruler" = { bg = "bg1" }
"diagnostic" = { modifiers = ["underlined"] }
"diagnostic.warning" = { underline = { color = "orange1", style = "curl" } }
"diagnostic.error" = { underline = { color = "red1", style = "curl" } }
"diagnostic.info" = { underline = { color = "aqua1", style = "curl" } }
"diagnostic.hint" = { underline = { color = "blue1", style = "curl" } }
"markup.heading" = "aqua1"
"markup.bold" = { modifiers = ["bold"] }

@ -59,10 +59,10 @@
"error" = { fg = "chili_powder_red", modifiers = ["bold"] }
"info" = { fg = "crystal_blue", modifiers = ["bold"] }
"hint" = { fg = "crystal_blue", modifiers = ["bold"] }
"diagnostic"= { fg = "chili_powder_red", modifiers = ["underlined"] }
"diagnostic.info"= { fg = "crystal_blue", modifiers = ["underlined"] }
"diagnostic.warning"= { fg = "vapor_yellow", modifiers = ["underlined"] }
"diagnostic.error"= { fg = "chili_powder_red", modifiers = ["underlined"] }
"diagnostic.hint" = { underline = {color = "chili_powder_red", style = "curl" } }
"diagnostic.info" = { underline = {color = "crystal_blue", style = "curl" } }
"diagnostic.warning" = { underline = {color = "vapor_yellow", style = "curl" } }
"diagnostic.error" = { underline = {color = "chili_powder_red", style = "curl" } }
"ui.bufferline" = { fg = "gray", bg = "background" }
"ui.bufferline.active" = { fg = "foreground", bg = "dark_gray" }

@ -3,7 +3,7 @@ inherits = "hex_steel"
[palette]
t1 = "#0e0e0d"
t2 = "#121311"
t3 = "#2b3444" #
t3 = "#2b3444"
t4 = "#61586f"
t5 = "#686e73"
t6 = "#878480"

@ -60,7 +60,11 @@
"ui.virtual.indent-guide" = { fg = "t3" }
"ui.virtual.whitespace" = { fg = "t3" }
"diagnostic" = { modifiers = ["underlined"] }
"diagnostic.error" = { underline = { color = "error", style = "curl" } }
"diagnostic.warning" = { underline = { color = "warning", style = "curl" } }
"diagnostic.info" = { underline = { color = "info", style = "curl" } }
"diagnostic.hint" = { underline = { color = "display", style = "curl" } }
"error" = { fg = "error", modifiers = ["bold"] }
"warning" = { fg = "warning", modifiers = ["bold"] }
"info" = { fg = "info", modifiers = ["bold"] }

@ -67,3 +67,8 @@
"error" = "#D74E50"
"info" = "#839A53"
"hint" = "#A6B6CE"
"diagnostic.warning" = { underline = { color = "#D4A520", style = "curl" } }
"diagnostic.error" = { underline = { color = "#D74E50", style = "curl" } }
"diagnostic.info" = { underline = { color = "#839A53", style = "curl" } }
"diagnostic.hint" = { underline = { color = "#A6B6CE", style = "curl" } }

@ -41,7 +41,10 @@
"ui.cursorline.primary" = { bg = "sumiInk3"}
diagnostic = { modifiers = ["underlined"] }
"diagnostic.error" = { underline = { color = "samuraiRed", style = "curl" } }
"diagnostic.warning" = { underline = { color = "roninYellow", style = "curl" } }
"diagnostic.info" = { underline = { color = "waveAqua1", style = "curl" } }
"diagnostic.hint" = { underline = { color = "dragonBlue", style = "curl" } }
error = "samuraiRed"
warning = "roninYellow"

@ -54,7 +54,11 @@
"ui.virtual.indent-guide" = { fg = "dark_grey2" }
"ui.virtual.whitespace" = { fg = "grey" }
"diagnostic" = { modifiers = ["underlined"] }
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
"diagnostic.warning" = { underline = { color = "orange", style = "curl" } }
"diagnostic.info" = { underline = { color = "blue", style = "curl" } }
"diagnostic.hint" = { underline = { color = "magenta", style = "curl" } }
"error" = { fg = "red" }
"warning" = { fg = "orange" }
"info" = { fg = "blue" }

@ -93,7 +93,10 @@
"ui.menu.selected" = { fg = "bright_white", bg = "gray03" }
"ui.menu.scroll" = { fg = "gray04", bg = "gray01" }
diagnostic = { modifiers = ["underlined"] }
"diagnostic.warning" = { underline = { color = "bright_yellow", style = "curl" } }
"diagnostic.error" = { underline = { color = "bright_red", style = "curl" } }
"diagnostic.info" = { underline = { color = "bright_blue", style = "curl" } }
"diagnostic.hint" = { underline = { color = "bright_cyan", style = "curl" } }
warning = "bright_yellow"
error = "bright_red"

@ -85,7 +85,10 @@
"info" = { fg = "#75beff" }
"hint" = { fg = "#eeeeeb3" }
diagnostic = { modifiers = ["underlined"] }
"diagnostic.warning" = { underline = { color = "#cca700", style = "curl" } }
"diagnostic.error" = { underline = { color = "#f48771", style = "curl" } }
"diagnostic.info" = { underline = { color = "#75beff", style = "curl" } }
"diagnostic.hint" = { underline = { color = "#eeeeeb3", style = "curl" } }
[palette]
type = "#A6E22E"

@ -90,7 +90,10 @@
"diff.minus" = "red"
# make diagnostic underlined, to distinguish with selection text.
diagnostic = { modifiers = ["underlined"] }
"diagnostic.warning" = { underline = { color = "orange", style = "curl" } }
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
"diagnostic.info" = { underline = { color = "base8", style = "curl" } }
"diagnostic.hint" = { underline = { color = "base8", style = "curl" } }
# markup highlight, no need for `markup.raw` and `markup.list`, make them to be default
"markup.heading" = "green"

@ -87,7 +87,10 @@
"diff.minus" = "red"
# make diagnostic underlined, to distinguish with selection text.
diagnostic = { modifiers = ["underlined"] }
"diagnostic.warning" = { underline = { color = "orange", style = "curl" } }
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
"diagnostic.info" = { underline = { color = "base8", style = "curl" } }
"diagnostic.hint" = { underline = { color = "base8", style = "curl" } }
# markup highlight, no need for `markup.raw` and `markup.list`, make them to be default
"markup.heading" = "green"

@ -90,7 +90,10 @@
"diff.minus" = "red"
# make diagnostic underlined, to distinguish with selection text.
diagnostic = { modifiers = ["underlined"] }
"diagnostic.warning" = { underline = { color = "orange", style = "curl" } }
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
"diagnostic.info" = { underline = { color = "base8", style = "curl" } }
"diagnostic.hint" = { underline = { color = "base8", style = "curl" } }
# markup highlight, no need for `markup.raw` and `markup.list`, make them to be default
"markup.heading" = "green"

@ -87,7 +87,10 @@
"diff.minus" = "red"
# make diagnostic underlined, to distinguish with selection text.
diagnostic = { modifiers = ["underlined"] }
"diagnostic.warning" = { underline = { color = "orange", style = "curl" } }
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
"diagnostic.info" = { underline = { color = "base8", style = "curl" } }
"diagnostic.hint" = { underline = { color = "base8", style = "curl" } }
# markup highlight, no need for `markup.raw` and `markup.list`, make them to be default
"markup.heading" = "green"

@ -87,7 +87,10 @@
"diff.minus" = "red"
# make diagnostic underlined, to distinguish with selection text.
diagnostic = { modifiers = ["underlined"] }
"diagnostic.warning" = { underline = { color = "orange", style = "curl" } }
"diagnostic.error" = { underline = { color = "magenta", style = "curl" } } # maybe should be red?
"diagnostic.info" = { underline = { color = "base8", style = "curl" } }
"diagnostic.hint" = { underline = { color = "base8", style = "curl" } }
# markup highlight, no need for `markup.raw` and `markup.list`, make them to be default
"markup.heading" = "green"

@ -5,7 +5,11 @@
'error' = { fg = 'red', modifiers = ['dim'] }
'info' = { fg = 'blue', modifiers = ['dim'] }
'hint' = { fg = 'paleblue', modifiers = ['dim'] }
'diagnostic' = { modifiers = ['underlined'] }
"diagnostic.warning" = { underline = { color = "peach", style = "curl" } }
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
"diagnostic.info" = { underline = { color = "blue", style = "curl" } }
"diagnostic.hint" = { underline = { color = "paleblue", style = "curl" } }
# UI
'ui.background' = { fg = 'foreground', bg = 'background' }

@ -60,15 +60,15 @@
# DIAGNOSTICS
"warning" = { fg ="yellow", bg = "bg1" } # Diagnostics warning (gutter)
"warning" = { fg = "yellow", bg = "bg1" } # Diagnostics warning (gutter)
"error" = { fg = "red", bg = "bg1" } # Diagnostics error (gutter)
"info" = { fg = "blue", bg = "bg1" } # Diagnostics info (gutter)
"hint" = { fg = "green", bg = "bg1" } # Diagnostics hint (gutter)
"diagnostic" = { modifiers = ["underlined"] } # Diagnostics fallback style (editing area)
"diagnostic.error" = { fg = "red" } # Diagnostics error (editing area)
"diagnostic.warning" = { fg = "yellow" } # Diagnostics warning (editing area)
"diagnostic.info" = { fg = "blue" } # Diagnostics info (editing area)
"diagnostic.hint" = { fg = "green" } # Diagnostics hint (editing area)
"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } } # Diagnostics warning (editing area)
"diagnostic.error" = { underline = { color = "red", style = "curl" } } # Diagnostics error (editing area)
"diagnostic.info" = { underline = { color = "blue", style = "curl" } } # Diagnostics info (editing area)
"diagnostic.hint" = { underline = { color = "green", style = "curl" } } # Diagnostics hint (editing area)
# SYNTAX HIGHLIGHTING

@ -10,7 +10,12 @@
"info" = { fg = "mid-blue", bg = "mid-green" } # Code diagnostic info in gutter (LSP).
# ? Difference between info and hint ?
"hint" = { fg = "light-green", modifiers = ["bold"] } # Code diagnostics hint in gutter (LSP).
"diagnostic" = { modifiers = ["underlined"] } # Code diagnostics in editing area (LSP).
# Code diagnostics in editing area (LSP).
"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
"diagnostic.error" = { underline = { color = "red", style = "curl" } }
"diagnostic.info" = { underline = { color = "mid-blue", style = "curl" } }
"diagnostic.hint" = { underline = { color = "light-green", style = "curl" } }
# UI ==============================
# For styling helix itself.

@ -54,7 +54,11 @@
"diff.plus" = "base0B"
"diff.minus" = "base08"
"diagnostic" = { modifiers = ["underlined"] }
"diagnostic.info" = { underline = { color = "base0D", style = "curl" } }
"diagnostic.hint" = { underline = { color = "base03", style = "curl" } }
"diagnostic.warning" = { underline = { color = "base09", style = "curl" } }
"diagnostic.error" = { underline = { color = "base08", style = "curl" } }
"ui.gutter" = { bg = "base01" }
"info" = "base0D"
"hint" = "base03"

@ -98,6 +98,12 @@
"markup.link.text" = "nord8"
"markup.raw" = "nord7"
# lsp diagnostics
"diagnostic.error" = { underline = { color = "nord11", style = "curl" } }
"diagnostic.warning" = { underline = { color = "nord13", style = "curl" } }
"diagnostic.info" = { underline = { color = "nord8", style = "curl" } }
"diagnostic.hint" = { underline = { color = "nord8", style = "curl" } }
# vcs
"diff.plus" = "nord14"
"diff.delta" = "nord12"

@ -26,9 +26,10 @@
"ui.statusline.select" = { fg = "nord0", bg = "nord15" }
"diagnostic.error" = {fg="nord11", modifiers=["bold"]}
"diagnostic.warning" = {bg="nord13", modifiers=["bold"]}
"diagnostic.hint" = {fg="nord13", modifiers=["bold"]}
"diagnostic.error" = { underline = { color = "nord11", style = "curl" } }
"diagnostic.warning" = { underline = { color = "nord13", style = "curl" } }
"diagnostic.info" = { underline = { color = "nord13", style = "curl" } }
"diagnostic.hint" = { underline = { color = "nord13", style = "curl" } }
"constant.numeric" = {fg="nord15"}
"constant.builtin" = {fg="nord15"}

@ -41,7 +41,11 @@
"diff.delta" = "gold"
"diff.minus" = "red"
diagnostic = { modifiers = ["underlined"] }
"diagnostic.info".underline = { color = "blue", style = "curl" }
"diagnostic.hint".underline = { color = "green", style = "curl" }
"diagnostic.warning".underline = { color = "yellow", style = "curl" }
"diagnostic.error".underline = { color = "red", style = "curl" }
"info" = { fg = "blue", modifiers = ["bold"] }
"hint" = { fg = "green", modifiers = ["bold"] }
"warning" = { fg = "yellow", modifiers = ["bold"] }

@ -63,7 +63,11 @@
"diff.delta" = "gold"
"diff.minus" = "red"
"diagnostic" = { modifiers = ["underlined"] }
"diagnostic.info".underline = { color = "blue", style = "curl" }
"diagnostic.hint".underline = { color = "green", style = "curl" }
"diagnostic.warning".underline = { color = "yellow", style = "curl" }
"diagnostic.error".underline = { color = "red", style = "curl" }
"info" = { fg = "blue", modifiers = ["bold"] }
"hint" = { fg = "green", modifiers = ["bold"] }
"warning" = { fg = "yellow", modifiers = ["bold"] }

@ -73,7 +73,11 @@
"warning" = "bright4"
"error" = "regular1"
"info" = "bright4"
diagnostic = { modifiers = ["bold", "underlined"]}
"diagnostic.warning".underline = { color = "bright4", style = "curl" }
"diagnostic.error".underline = { color = "regular1", style = "curl" }
"diagnostic.info".underline = { color = "bright4", style = "curl" }
"diagnostic.hint".underline = { color = "bright4", style = "curl" }
[palette]

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save