forked from Mirrors/helix
Remove the merge stuff
parent
6723d8b3db
commit
cfe575764d
@ -1,139 +0,0 @@
|
|||||||
name: Build
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
schedule:
|
|
||||||
- cron: '00 01 * * *'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
check:
|
|
||||||
name: Check
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
rust: [stable, msrv]
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Use MSRV rust toolchain
|
|
||||||
if: matrix.rust == 'msrv'
|
|
||||||
run: cp .github/workflows/msrv-rust-toolchain.toml rust-toolchain.toml
|
|
||||||
|
|
||||||
- name: Install stable toolchain
|
|
||||||
uses: helix-editor/rust-toolchain@v1
|
|
||||||
with:
|
|
||||||
profile: minimal
|
|
||||||
override: true
|
|
||||||
|
|
||||||
- uses: Swatinem/rust-cache@v2
|
|
||||||
|
|
||||||
- name: Run cargo check
|
|
||||||
run: cargo check
|
|
||||||
|
|
||||||
test:
|
|
||||||
name: Test Suite
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
env:
|
|
||||||
RUST_BACKTRACE: 1
|
|
||||||
HELIX_LOG_LEVEL: info
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Install stable toolchain
|
|
||||||
uses: helix-editor/rust-toolchain@v1
|
|
||||||
with:
|
|
||||||
profile: minimal
|
|
||||||
override: true
|
|
||||||
|
|
||||||
- uses: Swatinem/rust-cache@v2
|
|
||||||
|
|
||||||
- name: Cache test tree-sitter grammar
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
path: runtime/grammars
|
|
||||||
key: ${{ runner.os }}-stable-v${{ env.CACHE_VERSION }}-tree-sitter-grammars-${{ hashFiles('languages.toml') }}
|
|
||||||
restore-keys: ${{ runner.os }}-stable-v${{ env.CACHE_VERSION }}-tree-sitter-grammars-
|
|
||||||
|
|
||||||
- name: Run cargo test
|
|
||||||
run: cargo test --workspace
|
|
||||||
|
|
||||||
- name: Run cargo integration-test
|
|
||||||
run: cargo integration-test
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
||||||
|
|
||||||
lints:
|
|
||||||
name: Lints
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Install stable toolchain
|
|
||||||
uses: helix-editor/rust-toolchain@v1
|
|
||||||
with:
|
|
||||||
profile: minimal
|
|
||||||
override: true
|
|
||||||
components: rustfmt, clippy
|
|
||||||
|
|
||||||
- uses: Swatinem/rust-cache@v2
|
|
||||||
|
|
||||||
- name: Run cargo fmt
|
|
||||||
run: cargo fmt --all -- --check
|
|
||||||
|
|
||||||
- name: Run cargo clippy
|
|
||||||
run: cargo clippy --workspace --all-targets -- -D warnings
|
|
||||||
|
|
||||||
- name: Run cargo doc
|
|
||||||
run: cargo doc --no-deps --workspace --document-private-items
|
|
||||||
env:
|
|
||||||
RUSTDOCFLAGS: -D warnings
|
|
||||||
|
|
||||||
docs:
|
|
||||||
name: Docs
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Install stable toolchain
|
|
||||||
uses: helix-editor/rust-toolchain@v1
|
|
||||||
with:
|
|
||||||
profile: minimal
|
|
||||||
override: true
|
|
||||||
|
|
||||||
- uses: Swatinem/rust-cache@v2
|
|
||||||
|
|
||||||
- name: Generate docs
|
|
||||||
run: cargo xtask docgen
|
|
||||||
|
|
||||||
- name: Check uncommitted documentation changes
|
|
||||||
run: |
|
|
||||||
git diff
|
|
||||||
git diff-files --quiet \
|
|
||||||
|| (echo "Run 'cargo xtask docgen', commit the changes and push again" \
|
|
||||||
&& exit 1)
|
|
||||||
|
|
||||||
queries:
|
|
||||||
name: Tree-sitter queries
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Install stable toolchain
|
|
||||||
uses: helix-editor/rust-toolchain@v1
|
|
||||||
with:
|
|
||||||
profile: minimal
|
|
||||||
override: true
|
|
||||||
|
|
||||||
- uses: Swatinem/rust-cache@v2
|
|
||||||
|
|
||||||
- name: Generate docs
|
|
||||||
run: cargo xtask query-check
|
|
@ -1,281 +0,0 @@
|
|||||||
name: Release
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
|
|
||||||
env:
|
|
||||||
# Preview mode: Publishes the build output as a CI artifact instead of creating
|
|
||||||
# a release, allowing for manual inspection of the output. This mode is
|
|
||||||
# activated if the CI run was triggered by events other than pushed tags, or
|
|
||||||
# if the repository is a fork.
|
|
||||||
preview: ${{ !startsWith(github.ref, 'refs/tags/')}}
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
fetch-grammars:
|
|
||||||
name: Fetch Grammars
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Install stable toolchain
|
|
||||||
uses: dtolnay/rust-toolchain@stable
|
|
||||||
|
|
||||||
- uses: Swatinem/rust-cache@v2
|
|
||||||
|
|
||||||
- name: Fetch tree-sitter grammars
|
|
||||||
run: cargo run --package=helix-loader --bin=hx-loader
|
|
||||||
|
|
||||||
- name: Bundle grammars
|
|
||||||
run: tar cJf grammars.tar.xz -C runtime/grammars/sources .
|
|
||||||
|
|
||||||
- uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: grammars
|
|
||||||
path: grammars.tar.xz
|
|
||||||
|
|
||||||
dist:
|
|
||||||
name: Dist
|
|
||||||
needs: [fetch-grammars]
|
|
||||||
env:
|
|
||||||
# For some builds, we use cross to test on 32-bit and big-endian
|
|
||||||
# systems.
|
|
||||||
CARGO: cargo
|
|
||||||
# When CARGO is set to CROSS, this is set to `--target matrix.target`.
|
|
||||||
TARGET_FLAGS:
|
|
||||||
# When CARGO is set to CROSS, TARGET_DIR includes matrix.target.
|
|
||||||
TARGET_DIR: ./target
|
|
||||||
# Emit backtraces on panics.
|
|
||||||
RUST_BACKTRACE: 1
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
strategy:
|
|
||||||
fail-fast: false # don't fail other jobs if one fails
|
|
||||||
matrix:
|
|
||||||
build: [x86_64-linux, x86_64-macos, x86_64-windows] #, x86_64-win-gnu, win32-msvc
|
|
||||||
include:
|
|
||||||
- build: x86_64-linux
|
|
||||||
os: ubuntu-latest
|
|
||||||
rust: stable
|
|
||||||
target: x86_64-unknown-linux-gnu
|
|
||||||
cross: false
|
|
||||||
- build: aarch64-linux
|
|
||||||
os: ubuntu-latest
|
|
||||||
rust: stable
|
|
||||||
target: aarch64-unknown-linux-gnu
|
|
||||||
cross: true
|
|
||||||
- build: riscv64-linux
|
|
||||||
os: ubuntu-latest
|
|
||||||
rust: stable
|
|
||||||
target: riscv64gc-unknown-linux-gnu
|
|
||||||
cross: true
|
|
||||||
- build: x86_64-macos
|
|
||||||
os: macos-latest
|
|
||||||
rust: stable
|
|
||||||
target: x86_64-apple-darwin
|
|
||||||
cross: false
|
|
||||||
- build: x86_64-windows
|
|
||||||
os: windows-latest
|
|
||||||
rust: stable
|
|
||||||
target: x86_64-pc-windows-msvc
|
|
||||||
cross: false
|
|
||||||
- build: aarch64-macos
|
|
||||||
os: macos-latest
|
|
||||||
rust: stable
|
|
||||||
target: aarch64-apple-darwin
|
|
||||||
cross: false
|
|
||||||
skip_tests: true # x86_64 host can't run aarch64 code
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Download grammars
|
|
||||||
uses: actions/download-artifact@v3
|
|
||||||
|
|
||||||
- name: Move grammars under runtime
|
|
||||||
if: "!startsWith(matrix.os, 'windows')"
|
|
||||||
run: |
|
|
||||||
mkdir -p runtime/grammars/sources
|
|
||||||
tar xJf grammars/grammars.tar.xz -C runtime/grammars/sources
|
|
||||||
|
|
||||||
- name: Install ${{ matrix.rust }} toolchain
|
|
||||||
uses: dtolnay/rust-toolchain@master
|
|
||||||
with:
|
|
||||||
toolchain: ${{ matrix.rust }}
|
|
||||||
target: ${{ matrix.target }}
|
|
||||||
|
|
||||||
# Install a pre-release version of Cross
|
|
||||||
# TODO: We need to pre-install Cross because we need cross-rs/cross#591 to
|
|
||||||
# get a newer C++ compiler toolchain. Remove this step when Cross
|
|
||||||
# 0.3.0, which includes cross-rs/cross#591, is released.
|
|
||||||
- name: Install Cross
|
|
||||||
if: "matrix.cross"
|
|
||||||
run: |
|
|
||||||
cargo install cross --git https://github.com/cross-rs/cross.git --rev 47df5c76e7cba682823a0b6aa6d95c17b31ba63a
|
|
||||||
echo "CARGO=cross" >> $GITHUB_ENV
|
|
||||||
# echo "TARGET_FLAGS=--target ${{ matrix.target }}" >> $GITHUB_ENV
|
|
||||||
# echo "TARGET_DIR=./target/${{ matrix.target }}" >> $GITHUB_ENV
|
|
||||||
|
|
||||||
- name: Show command used for Cargo
|
|
||||||
run: |
|
|
||||||
echo "cargo command is: ${{ env.CARGO }}"
|
|
||||||
echo "target flag is: ${{ env.TARGET_FLAGS }}"
|
|
||||||
|
|
||||||
<<<<<<< HEAD
|
|
||||||
||||||| f0f295a6
|
|
||||||
- name: Run cargo test
|
|
||||||
uses: actions-rs/cargo@v1
|
|
||||||
if: "!matrix.skip_tests"
|
|
||||||
with:
|
|
||||||
use-cross: ${{ matrix.cross }}
|
|
||||||
command: test
|
|
||||||
args: --release --locked --target ${{ matrix.target }} --workspace
|
|
||||||
|
|
||||||
=======
|
|
||||||
- name: Run cargo test
|
|
||||||
if: "!matrix.skip_tests"
|
|
||||||
run: ${{ env.CARGO }} test --release --locked --target ${{ matrix.target }} --workspace
|
|
||||||
|
|
||||||
>>>>>>> origin/master
|
|
||||||
- name: Set profile.release.strip = true
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
cat >> .cargo/config.toml <<EOF
|
|
||||||
[profile.release]
|
|
||||||
strip = true
|
|
||||||
EOF
|
|
||||||
|
|
||||||
- name: Build release binary
|
|
||||||
run: ${{ env.CARGO }} build --release --locked --target ${{ matrix.target }}
|
|
||||||
|
|
||||||
- name: Build AppImage
|
|
||||||
shell: bash
|
|
||||||
if: matrix.build == 'aarch64-linux' || matrix.build == 'x86_64-linux'
|
|
||||||
run: |
|
|
||||||
mkdir dist
|
|
||||||
|
|
||||||
name=dev
|
|
||||||
if [[ $GITHUB_REF == refs/tags/* ]]; then
|
|
||||||
name=${GITHUB_REF:10}
|
|
||||||
fi
|
|
||||||
|
|
||||||
build="${{ matrix.build }}"
|
|
||||||
|
|
||||||
export VERSION="$name"
|
|
||||||
export ARCH=${build%-linux}
|
|
||||||
export APP=helix
|
|
||||||
export OUTPUT="helix-$VERSION-$ARCH.AppImage"
|
|
||||||
export UPDATE_INFORMATION="gh-releases-zsync|$GITHUB_REPOSITORY_OWNER|helix|latest|$APP-*-$ARCH.AppImage.zsync"
|
|
||||||
|
|
||||||
mkdir -p "$APP.AppDir"/usr/{bin,lib/helix}
|
|
||||||
|
|
||||||
cp "target/${{ matrix.target }}/release/hx" "$APP.AppDir/usr/bin/hx"
|
|
||||||
rm -rf runtime/grammars/sources
|
|
||||||
cp -r runtime "$APP.AppDir/usr/lib/helix/runtime"
|
|
||||||
|
|
||||||
cat << 'EOF' > "$APP.AppDir/AppRun"
|
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
APPDIR="$(dirname "$(readlink -f "${0}")")"
|
|
||||||
HELIX_RUNTIME="$APPDIR/usr/lib/helix/runtime" exec "$APPDIR/usr/bin/hx" "$@"
|
|
||||||
EOF
|
|
||||||
chmod 755 "$APP.AppDir/AppRun"
|
|
||||||
|
|
||||||
curl -Lo linuxdeploy-x86_64.AppImage \
|
|
||||||
https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
|
|
||||||
chmod +x linuxdeploy-x86_64.AppImage
|
|
||||||
|
|
||||||
./linuxdeploy-x86_64.AppImage \
|
|
||||||
--appdir "$APP.AppDir" -d contrib/Helix.desktop \
|
|
||||||
-i contrib/helix.png --output appimage
|
|
||||||
|
|
||||||
mv "$APP-$VERSION-$ARCH.AppImage" \
|
|
||||||
"$APP-$VERSION-$ARCH.AppImage.zsync" dist
|
|
||||||
|
|
||||||
- name: Build archive
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
mkdir -p dist
|
|
||||||
if [ "${{ matrix.os }}" = "windows-2019" ]; then
|
|
||||||
cp "target/${{ matrix.target }}/release/hx.exe" "dist/"
|
|
||||||
else
|
|
||||||
cp "target/${{ matrix.target }}/release/hx" "dist/"
|
|
||||||
fi
|
|
||||||
if [ -d runtime/grammars/sources ]; then
|
|
||||||
rm -rf runtime/grammars/sources
|
|
||||||
fi
|
|
||||||
cp -r runtime dist
|
|
||||||
|
|
||||||
- uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: bins-${{ matrix.build }}
|
|
||||||
path: dist
|
|
||||||
|
|
||||||
publish:
|
|
||||||
name: Publish
|
|
||||||
needs: [dist]
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- uses: actions/download-artifact@v3
|
|
||||||
|
|
||||||
- name: Build archive
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
set -ex
|
|
||||||
|
|
||||||
source="$(pwd)"
|
|
||||||
mkdir -p runtime/grammars/sources
|
|
||||||
tar xJf grammars/grammars.tar.xz -C runtime/grammars/sources
|
|
||||||
rm -rf grammars
|
|
||||||
|
|
||||||
cd "$(mktemp -d)"
|
|
||||||
mv $source/bins-* .
|
|
||||||
mkdir dist
|
|
||||||
|
|
||||||
for dir in bins-* ; do
|
|
||||||
platform=${dir#"bins-"}
|
|
||||||
if [[ $platform =~ "windows" ]]; then
|
|
||||||
exe=".exe"
|
|
||||||
fi
|
|
||||||
pkgname=helix-$GITHUB_REF_NAME-$platform
|
|
||||||
mkdir $pkgname
|
|
||||||
cp $source/LICENSE $source/README.md $pkgname
|
|
||||||
mkdir $pkgname/contrib
|
|
||||||
cp -r $source/contrib/completion $pkgname/contrib
|
|
||||||
mv bins-$platform/runtime $pkgname/
|
|
||||||
mv bins-$platform/hx$exe $pkgname
|
|
||||||
chmod +x $pkgname/hx$exe
|
|
||||||
|
|
||||||
if [[ "$platform" = "aarch64-linux" || "$platform" = "x86_64-linux" ]]; then
|
|
||||||
mv bins-$platform/helix-*.AppImage* dist/
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$exe" = "" ]; then
|
|
||||||
tar cJf dist/$pkgname.tar.xz $pkgname
|
|
||||||
else
|
|
||||||
7z a -r dist/$pkgname.zip $pkgname
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
tar cJf dist/helix-$GITHUB_REF_NAME-source.tar.xz -C $source .
|
|
||||||
mv dist $source/
|
|
||||||
|
|
||||||
- name: Upload binaries to release
|
|
||||||
uses: svenstaro/upload-release-action@v2
|
|
||||||
if: env.preview == 'false'
|
|
||||||
with:
|
|
||||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
file: dist/*
|
|
||||||
file_glob: true
|
|
||||||
tag: ${{ github.ref_name }}
|
|
||||||
overwrite: true
|
|
||||||
|
|
||||||
- name: Upload binaries as artifact
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
if: env.preview == 'true'
|
|
||||||
with:
|
|
||||||
name: release
|
|
||||||
path: dist/*
|
|
@ -1,178 +0,0 @@
|
|||||||
<<<<<<< HEAD
|
|
||||||
# Helix Plus
|
|
||||||
|
|
||||||
<h1 style="color:red">This is an unstable fork of helix with some PRs merged and some merge conflicts resolved </h1>
|
|
||||||
|
|
||||||
# Merged PRs
|
|
||||||
|
|
||||||
- [File explorer and tree helper](https://github.com/helix-editor/helix/pull/2377)
|
|
||||||
- [with Icons](https://github.com/r0l1/helix/tree/tree_explorer_icons)
|
|
||||||
- [Add LSP workspace command picker](https://github.com/helix-editor/helix/pull/3140)
|
|
||||||
- [completion fix](https://github.com/helix-editor/helix/pull/1819)
|
|
||||||
- [Add rainbow indentation guides](https://github.com/helix-editor/helix/pull/4056)
|
|
||||||
- [Improve sorting for inline menu (codeaction + completion)](https://github.com/helix-editor/helix/pull/4134)
|
|
||||||
|
|
||||||
And others I forgot about...
|
|
||||||
|
|
||||||
|
|
||||||
# Applied Changes
|
|
||||||
|
|
||||||
- Changed opening the window popup from `ctrl + w` to `ctrl + v`
|
|
||||||
- Added an auto highlight for files in the tree explorer when jumping through opened buffers
|
|
||||||
- Changed some default settings (enabling bufferline, indent guides, the embedded explorer, cursor modes etc.)
|
|
||||||
- Added a `--show-explorer` cli flag to open the file explorer on startup (useful for embedded explorer mode)
|
|
||||||
- Added a `delete` (aliases `rm`, `del`) command to delete the file associated with the current buffer
|
|
||||||
- Changed keybind `<space> E` to close the explorer instead of toggling the recursion one
|
|
||||||
- Added a completion chars setting that triggers autocomplete when typing one of those chars
|
|
||||||
|
|
||||||
- - -
|
|
||||||
||||||| f0f295a6
|
|
||||||
# Helix
|
|
||||||
=======
|
|
||||||
<div align="center">
|
|
||||||
|
|
||||||
<h1>
|
|
||||||
<picture>
|
|
||||||
<source media="(prefers-color-scheme: dark)" srcset="logo_dark.svg">
|
|
||||||
<source media="(prefers-color-scheme: light)" srcset="logo_light.svg">
|
|
||||||
<img alt="Helix" height="128" src="logo_light.svg">
|
|
||||||
</picture>
|
|
||||||
</h1>
|
|
||||||
>>>>>>> origin/master
|
|
||||||
|
|
||||||
[![Build status](https://github.com/helix-editor/helix/actions/workflows/build.yml/badge.svg)](https://github.com/helix-editor/helix/actions)
|
|
||||||
[![GitHub Release](https://img.shields.io/github/v/release/helix-editor/helix)](https://github.com/helix-editor/helix/releases/latest)
|
|
||||||
[![Documentation](https://shields.io/badge/-documentation-452859)](https://docs.helix-editor.com/)
|
|
||||||
[![GitHub contributors](https://img.shields.io/github/contributors/helix-editor/helix)](https://github.com/helix-editor/helix/graphs/contributors)
|
|
||||||
[![Matrix Space](https://img.shields.io/matrix/helix-community:matrix.org)](https://matrix.to/#/#helix-community:matrix.org)
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
![Screenshot](./screenshot.png)
|
|
||||||
|
|
||||||
A Kakoune / Neovim inspired editor, written in Rust.
|
|
||||||
|
|
||||||
The editing model is very heavily based on Kakoune; during development I found
|
|
||||||
myself agreeing with most of Kakoune's design decisions.
|
|
||||||
|
|
||||||
For more information, see the [website](https://helix-editor.com) or
|
|
||||||
[documentation](https://docs.helix-editor.com/).
|
|
||||||
|
|
||||||
All shortcuts/keymaps can be found [in the documentation on the website](https://docs.helix-editor.com/keymap.html).
|
|
||||||
|
|
||||||
[Troubleshooting](https://github.com/helix-editor/helix/wiki/Troubleshooting)
|
|
||||||
|
|
||||||
# Features
|
|
||||||
|
|
||||||
- Vim-like modal editing
|
|
||||||
- Multiple selections
|
|
||||||
- Built-in language server support
|
|
||||||
- Smart, incremental syntax highlighting and code editing via tree-sitter
|
|
||||||
|
|
||||||
It's a terminal-based editor first, but I'd like to explore a custom renderer
|
|
||||||
(similar to Emacs) in wgpu or skulpin.
|
|
||||||
|
|
||||||
Note: Only certain languages have indentation definitions at the moment. Check
|
|
||||||
`runtime/queries/<lang>/` for `indents.scm`.
|
|
||||||
|
|
||||||
# Installation
|
|
||||||
|
|
||||||
Packages are available for various distributions (see [Installation docs](https://docs.helix-editor.com/install.html)).
|
|
||||||
|
|
||||||
If you would like to build from source:
|
|
||||||
|
|
||||||
```shell
|
|
||||||
git clone https://github.com/helix-editor/helix
|
|
||||||
cd helix
|
|
||||||
cargo install --path helix-term
|
|
||||||
```
|
|
||||||
|
|
||||||
This will install the `hx` binary to `$HOME/.cargo/bin` and build tree-sitter grammars in `./runtime/grammars`.
|
|
||||||
|
|
||||||
Helix needs its runtime files so make sure to copy/symlink the `runtime/` directory into the
|
|
||||||
config directory (for example `~/.config/helix/runtime` on Linux/macOS, or `%AppData%/helix/runtime` on Windows).
|
|
||||||
|
|
||||||
| OS | Command |
|
|
||||||
| -------------------- | ------------------------------------------------ |
|
|
||||||
| Windows (Cmd) | `xcopy /e /i runtime %AppData%\helix\runtime` |
|
|
||||||
| Windows (PowerShell) | `xcopy /e /i runtime $Env:AppData\helix\runtime` |
|
|
||||||
| Linux / macOS | `ln -s $PWD/runtime ~/.config/helix/runtime` |
|
|
||||||
|
|
||||||
Starting with Windows Vista you can also create symbolic links on Windows. Note that this requires
|
|
||||||
elevated privileges - i.e. PowerShell or Cmd must be run as administrator.
|
|
||||||
|
|
||||||
**PowerShell:**
|
|
||||||
|
|
||||||
```powershell
|
|
||||||
New-Item -ItemType SymbolicLink -Target "runtime" -Path "$Env:AppData\helix\runtime"
|
|
||||||
```
|
|
||||||
|
|
||||||
**Cmd:**
|
|
||||||
|
|
||||||
```cmd
|
|
||||||
cd %appdata%\helix
|
|
||||||
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`,
|
|
||||||
> tree-sitter grammars will be built in `$HELIX_RUNTIME/grammars`.
|
|
||||||
|
|
||||||
If you plan on keeping the repo locally, an alternative to copying/symlinking
|
|
||||||
runtime files is to set `HELIX_RUNTIME=/path/to/helix/runtime`
|
|
||||||
(`HELIX_RUNTIME=$PWD/runtime` if you're in the helix repo directory).
|
|
||||||
|
|
||||||
Packages already solve this for you by wrapping the `hx` binary with a wrapper
|
|
||||||
that sets the variable to the install dir.
|
|
||||||
|
|
||||||
> NOTE: running via cargo also doesn't require setting explicit `HELIX_RUNTIME` path, it will automatically
|
|
||||||
> detect the `runtime` directory in the project root.
|
|
||||||
|
|
||||||
If you want to customize your `languages.toml` config,
|
|
||||||
tree-sitter grammars may be manually fetched and built with `hx --grammar fetch` and `hx --grammar build`.
|
|
||||||
|
|
||||||
In order to use LSP features like auto-complete, you will need to
|
|
||||||
[install the appropriate Language Server](https://github.com/helix-editor/helix/wiki/How-to-install-the-default-language-servers)
|
|
||||||
for a language.
|
|
||||||
|
|
||||||
[![Packaging status](https://repology.org/badge/vertical-allrepos/helix.svg)](https://repology.org/project/helix/versions)
|
|
||||||
|
|
||||||
## Adding Helix to your desktop environment
|
|
||||||
|
|
||||||
If installing from source, to use Helix in desktop environments that supports [XDG desktop menu](https://specifications.freedesktop.org/menu-spec/menu-spec-latest.html), including Gnome and KDE, copy the provided `.desktop` file to the correct folder:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cp contrib/Helix.desktop ~/.local/share/applications
|
|
||||||
```
|
|
||||||
|
|
||||||
To use another terminal than the default, you will need to modify the `.desktop` file. For example, to use `kitty`:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sed -i "s|Exec=hx %F|Exec=kitty hx %F|g" ~/.local/share/applications/Helix.desktop
|
|
||||||
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:
|
|
||||||
|
|
||||||
```
|
|
||||||
brew install helix
|
|
||||||
```
|
|
||||||
|
|
||||||
# Contributing
|
|
||||||
|
|
||||||
Contributing guidelines can be found [here](./docs/CONTRIBUTING.md).
|
|
||||||
|
|
||||||
# Getting help
|
|
||||||
|
|
||||||
Your question might already be answered on the [FAQ](https://github.com/helix-editor/helix/wiki/FAQ).
|
|
||||||
|
|
||||||
Discuss the project on the community [Matrix Space](https://matrix.to/#/#helix-community:matrix.org) (make sure to join `#helix-editor:matrix.org` if you're on a client that doesn't support Matrix Spaces yet).
|
|
||||||
|
|
||||||
# Credits
|
|
||||||
|
|
||||||
Thanks to [@JakeHL](https://github.com/JakeHL) for designing the logo!
|
|
@ -1,84 +0,0 @@
|
|||||||
| Name | Description |
|
|
||||||
| --- | --- |
|
|
||||||
| `:quit`, `:q` | Close the current view. |
|
|
||||||
| `:quit!`, `:q!` | Force close the current view, ignoring unsaved changes. |
|
|
||||||
| `:open`, `:o` | Open a file from disk into the current view. |
|
|
||||||
| `:buffer-close`, `:bc`, `:bclose` | Close the current buffer. |
|
|
||||||
| `:buffer-close!`, `:bc!`, `:bclose!` | Close the current buffer forcefully, ignoring unsaved changes. |
|
|
||||||
| `:buffer-close-others`, `:bco`, `:bcloseother` | Close all buffers but the currently focused one. |
|
|
||||||
| `:buffer-close-others!`, `:bco!`, `:bcloseother!` | Force close all buffers but the currently focused one. |
|
|
||||||
| `:buffer-close-all`, `:bca`, `:bcloseall` | Close all buffers without quitting. |
|
|
||||||
| `:buffer-close-all!`, `:bca!`, `:bcloseall!` | Force close all buffers ignoring unsaved changes without quitting. |
|
|
||||||
| `:buffer-next`, `:bn`, `:bnext` | Goto next buffer. |
|
|
||||||
| `:buffer-previous`, `:bp`, `:bprev` | Goto previous buffer. |
|
|
||||||
| `:write`, `:w` | Write changes to disk. Accepts an optional path (:write some/path.txt) |
|
|
||||||
| `:write!`, `:w!` | Force write changes to disk creating necessary subdirectories. Accepts an optional path (:write some/path.txt) |
|
|
||||||
| `:new`, `:n` | Create a new scratch buffer. |
|
|
||||||
| `:format`, `:fmt` | Format the file using the LSP formatter. |
|
|
||||||
| `:indent-style` | Set the indentation style for editing. ('t' for tabs or 1-8 for number of spaces.) |
|
|
||||||
| `:line-ending` | Set the document's default line ending. Options: crlf, lf. |
|
|
||||||
| `:earlier`, `:ear` | Jump back to an earlier point in edit history. Accepts a number of steps or a time span. |
|
|
||||||
| `:later`, `:lat` | Jump to a later point in edit history. Accepts a number of steps or a time span. |
|
|
||||||
| `:write-quit`, `:wq`, `:x` | Write changes to disk and close the current view. Accepts an optional path (:wq some/path.txt) |
|
|
||||||
| `:write-quit!`, `:wq!`, `:x!` | Write changes to disk and close the current view forcefully. Accepts an optional path (:wq! some/path.txt) |
|
|
||||||
| `:write-all`, `:wa` | Write changes from all buffers to disk. |
|
|
||||||
| `:write-quit-all`, `:wqa`, `:xa` | Write changes from all buffers to disk and close all views. |
|
|
||||||
| `:write-quit-all!`, `:wqa!`, `:xa!` | Write changes from all buffers to disk and close all views forcefully (ignoring unsaved changes). |
|
|
||||||
| `:quit-all`, `:qa` | Close all views. |
|
|
||||||
| `:quit-all!`, `:qa!` | Force close all views ignoring unsaved changes. |
|
|
||||||
| `:cquit`, `:cq` | Quit with exit code (default 1). Accepts an optional integer exit code (:cq 2). |
|
|
||||||
| `:cquit!`, `:cq!` | Force quit with exit code (default 1) ignoring unsaved changes. Accepts an optional integer exit code (:cq! 2). |
|
|
||||||
| `:theme` | Change the editor theme (show current theme if no name specified). |
|
|
||||||
| `:clipboard-yank` | Yank main selection into system clipboard. |
|
|
||||||
| `:clipboard-yank-join` | Yank joined selections into system clipboard. A separator can be provided as first argument. Default value is newline. |
|
|
||||||
| `:primary-clipboard-yank` | Yank main selection into system primary clipboard. |
|
|
||||||
| `:primary-clipboard-yank-join` | Yank joined selections into system primary clipboard. A separator can be provided as first argument. Default value is newline. |
|
|
||||||
| `:clipboard-paste-after` | Paste system clipboard after selections. |
|
|
||||||
| `:clipboard-paste-before` | Paste system clipboard before selections. |
|
|
||||||
| `:clipboard-paste-replace` | Replace selections with content of system clipboard. |
|
|
||||||
| `:primary-clipboard-paste-after` | Paste primary clipboard after selections. |
|
|
||||||
| `:primary-clipboard-paste-before` | Paste primary clipboard before selections. |
|
|
||||||
| `:primary-clipboard-paste-replace` | Replace selections with content of system primary clipboard. |
|
|
||||||
| `:show-clipboard-provider` | Show clipboard provider name in status bar. |
|
|
||||||
| `:change-current-directory`, `:cd` | Change the current working directory. |
|
|
||||||
| `:show-directory`, `:pwd` | Show the current working directory. |
|
|
||||||
| `:encoding` | Set encoding. Based on `https://encoding.spec.whatwg.org`. |
|
|
||||||
| `:reload` | Discard changes and reload from the source file. |
|
|
||||||
| `:reload-all` | Discard changes and reload all documents from the source files. |
|
|
||||||
| `:update` | Write changes only if the file has been modified. |
|
|
||||||
| `:lsp-workspace-command` | Open workspace command picker |
|
|
||||||
| `:lsp-restart` | Restarts the Language Server that is in use by the current doc |
|
|
||||||
| `:tree-sitter-scopes` | Display tree sitter scopes, primarily for theming and development. |
|
|
||||||
| `:debug-start`, `:dbg` | Start a debug session from a given template with given parameters. |
|
|
||||||
| `:debug-remote`, `:dbg-tcp` | Connect to a debug adapter by TCP address and start a debugging session from a given template with given parameters. |
|
|
||||||
| `:debug-eval` | Evaluate expression in current debug context. |
|
|
||||||
| `:vsplit`, `:vs` | Open the file in a vertical split. |
|
|
||||||
| `:vsplit-new`, `:vnew` | Open a scratch buffer in a vertical split. |
|
|
||||||
| `:hsplit`, `:hs`, `:sp` | Open the file in a horizontal split. |
|
|
||||||
| `:hsplit-new`, `:hnew` | Open a scratch buffer in a horizontal split. |
|
|
||||||
| `:tutor` | Open the tutorial. |
|
|
||||||
| `:goto`, `:g` | Goto line number. |
|
|
||||||
| `:set-language`, `:lang` | Set the language of current buffer. |
|
|
||||||
| `:set-option`, `:set` | Set a config option at runtime.<br>For example to disable smart case search, use `:set search.smart-case false`. |
|
|
||||||
| `:get-option`, `:get` | Get the current value of a config option. |
|
|
||||||
| `:sort` | Sort ranges in selection. |
|
|
||||||
| `:rsort` | Sort ranges in selection in reverse order. |
|
|
||||||
| `:reflow` | Hard-wrap the current selection of lines to a given width. |
|
|
||||||
| `:tree-sitter-subtree`, `:ts-subtree` | Display tree sitter subtree under cursor, primarily for debugging queries. |
|
|
||||||
| `:config-reload` | Refresh user config. |
|
|
||||||
| `:config-open` | Open the user config.toml file. |
|
|
||||||
| `:log-open` | Open the helix log file. |
|
|
||||||
| `:insert-output` | Run shell command, inserting output before each selection. |
|
|
||||||
| `:append-output` | Run shell command, appending output after each selection. |
|
|
||||||
| `:pipe` | Pipe each selection to the shell command. |
|
|
||||||
<<<<<<< HEAD
|
|
||||||
<<<<<<< HEAD
|
|
||||||
||||||| f0f295a6
|
|
||||||
=======
|
|
||||||
| `:pipe-to` | Pipe each selection to the shell command, ignoring output. |
|
|
||||||
>>>>>>> origin/master
|
|
||||||
| `:run-shell-command`, `:sh` | Run a shell command |
|
|
||||||
||||||| 4b1fe367
|
|
||||||
=======
|
|
||||||
| `:lsp-restart` | Restarts the LSP server of the current buffer |
|
|
||||||
>>>>>>> lsp-restart
|
|
File diff suppressed because it is too large
Load Diff
@ -1,84 +0,0 @@
|
|||||||
# Author : Sebastian Zivota <loewenheim@mailbox.org>
|
|
||||||
"comment" = { fg = "comment" }
|
|
||||||
"constant" = { fg = "purple" }
|
|
||||||
"constant.character.escape" = { fg = "pink" }
|
|
||||||
"function" = { fg = "green" }
|
|
||||||
"keyword" = { fg = "pink" }
|
|
||||||
"operator" = { fg = "pink" }
|
|
||||||
"punctuation" = { fg = "foreground" }
|
|
||||||
"string" = { fg = "yellow" }
|
|
||||||
"string.regexp" = { fg = "red" }
|
|
||||||
"tag" = { fg = "pink" }
|
|
||||||
"type" = { fg = "cyan", modifiers = ["italic"] }
|
|
||||||
"type.enum.variant" = { fg = "foreground", modifiers = ["italic"] }
|
|
||||||
"variable" = { fg = "foreground" }
|
|
||||||
"variable.builtin" = { fg = "cyan", modifiers = ["italic"] }
|
|
||||||
"variable.parameter" = { fg ="orange", modifiers = ["italic"] }
|
|
||||||
|
|
||||||
"diff.plus" = { fg = "green" }
|
|
||||||
"diff.delta" = { fg = "orange" }
|
|
||||||
"diff.minus" = { fg = "red" }
|
|
||||||
|
|
||||||
"ui.background" = { fg = "foreground", bg = "background" }
|
|
||||||
"ui.cursor" = { fg = "background", bg = "orange", modifiers = ["dim"] }
|
|
||||||
"ui.cursor.match" = { fg = "green", modifiers = ["underlined"] }
|
|
||||||
"ui.cursor.primary" = { fg = "background", bg = "cyan", modifiers = ["dim"] }
|
|
||||||
"ui.cursorline.primary" = { bg = "background_dark" }
|
|
||||||
"ui.help" = { fg = "foreground", bg = "background_dark" }
|
|
||||||
"ui.linenr" = { fg = "comment" }
|
|
||||||
"ui.linenr.selected" = { fg = "foreground" }
|
|
||||||
"ui.menu" = { fg = "foreground", bg = "background_dark" }
|
|
||||||
"ui.menu.selected" = { fg = "cyan", bg = "background_dark" }
|
|
||||||
"ui.popup" = { fg = "foreground", bg = "background_dark" }
|
|
||||||
"ui.selection" = { bg = "secondary_highlight" }
|
|
||||||
"ui.selection.primary" = { bg = "primary_highlight" }
|
|
||||||
"ui.statusline" = { fg = "foreground", bg = "background_dark" }
|
|
||||||
"ui.statusline.inactive" = { fg = "comment", bg = "background_dark" }
|
|
||||||
"ui.statusline.normal" = { fg = "background_dark", bg = "cyan" }
|
|
||||||
"ui.statusline.insert" = { fg = "background_dark", bg = "green" }
|
|
||||||
"ui.statusline.select" = { fg = "background_dark", bg = "purple" }
|
|
||||||
"ui.text" = { fg = "foreground" }
|
|
||||||
"ui.text.focus" = { fg = "cyan" }
|
|
||||||
"ui.window" = { fg = "foreground" }
|
|
||||||
"ui.virtual.whitespace" = { fg = "comment" }
|
|
||||||
"ui.virtual.ruler" = { bg = "background_dark"}
|
|
||||||
|
|
||||||
"error" = { fg = "red" }
|
|
||||||
"warning" = { fg = "cyan" }
|
|
||||||
|
|
||||||
"markup.heading" = { fg = "purple", modifiers = ["bold"] }
|
|
||||||
"markup.list" = "cyan"
|
|
||||||
"markup.bold" = { fg = "orange", modifiers = ["bold"] }
|
|
||||||
"markup.italic" = { fg = "yellow", modifiers = ["italic"] }
|
|
||||||
"markup.link.url" = "cyan"
|
|
||||||
"markup.link.text" = "pink"
|
|
||||||
"markup.quote" = { fg = "yellow", modifiers = ["italic"] }
|
|
||||||
"markup.raw" = { fg = "foreground" }
|
|
||||||
|
|
||||||
<<<<<<< HEAD
|
|
||||||
"ui.explorer.file" = { fg = "foreground" }
|
|
||||||
"ui.explorer.dir" = { fg = "cyan" }
|
|
||||||
"ui.explorer.exe" = { fg = "foreground" }
|
|
||||||
"ui.explorer.focus" = { modifiers = ["reversed"] }
|
|
||||||
"ui.explorer.unfocus" = { bg = "secondary_highlight" }
|
|
||||||
|
|
||||||
||||||| f0f295a6
|
|
||||||
=======
|
|
||||||
"diagnostic".underline = { color = "orange", style = "curl" }
|
|
||||||
"diagnostic.error".underline = { color = "red", style = "curl" }
|
|
||||||
|
|
||||||
>>>>>>> origin/master
|
|
||||||
[palette]
|
|
||||||
background = "#282a36"
|
|
||||||
background_dark = "#21222c"
|
|
||||||
primary_highlight = "#800049"
|
|
||||||
secondary_highlight = "#4d4f66"
|
|
||||||
foreground = "#f8f8f2"
|
|
||||||
comment = "#6272a4"
|
|
||||||
red = "#ff5555"
|
|
||||||
orange = "#ffb86c"
|
|
||||||
yellow = "#f1fa8c"
|
|
||||||
green = "#50fa7b"
|
|
||||||
purple = "#bd93f9"
|
|
||||||
cyan = "#8be9fd"
|
|
||||||
pink = "#ff79c6"
|
|
@ -1,84 +0,0 @@
|
|||||||
# Author : Ingrid Rebecca Abraham <git@ingrids.email>
|
|
||||||
|
|
||||||
"attribute" = "#839A53"
|
|
||||||
"keyword" = { fg = "#D74E50", modifiers = ["bold"] }
|
|
||||||
"keyword.directive" = "#6F873E"
|
|
||||||
"namespace" = "#839A53"
|
|
||||||
"punctuation" = "#C97270"
|
|
||||||
"punctuation.delimiter" = "#C97270"
|
|
||||||
"operator" = { fg = "#D74E50", modifiers = ["bold"] }
|
|
||||||
"special" = "#D68482"
|
|
||||||
"variable.other.member" = "#89BEB7"
|
|
||||||
"variable" = "#A6B6CE"
|
|
||||||
"variable.parameter" = "#89BEB7"
|
|
||||||
"type" = { fg = "#A6B6CE", modifiers = ["bold"] }
|
|
||||||
"type.builtin" = "#839A53"
|
|
||||||
"constructor" = { fg = "#839A53", modifiers = ["bold"] }
|
|
||||||
"function" = { fg = "#89BEB7", modifiers = ["bold"] }
|
|
||||||
"function.macro" = { fg = "#D4A520", modifiers = ["bold"] }
|
|
||||||
"function.builtin" = "#89BEB7"
|
|
||||||
"comment" = "#A6B6CE"
|
|
||||||
"variable.builtin" = "#D4A520"
|
|
||||||
"constant" = "#D4A520"
|
|
||||||
"constant.builtin" = "#D4A520"
|
|
||||||
"string" = "#D74E50"
|
|
||||||
"constant.numeric" = "#D74E50"
|
|
||||||
"constant.character.escape" = { fg = "#D74E50", modifiers = ["bold"] }
|
|
||||||
"label" = "#D68482"
|
|
||||||
|
|
||||||
"module" = "#839A53"
|
|
||||||
|
|
||||||
# TODO
|
|
||||||
"markup.heading" = "blue"
|
|
||||||
"markup.list" = "red"
|
|
||||||
"markup.bold" = { fg = "yellow", modifiers = ["bold"] }
|
|
||||||
"markup.italic" = { fg = "magenta", modifiers = ["italic"] }
|
|
||||||
"markup.link.url" = { fg = "yellow", modifiers = ["underlined"] }
|
|
||||||
"markup.link.text" = "red"
|
|
||||||
"markup.quote" = "cyan"
|
|
||||||
"markup.raw" = "green"
|
|
||||||
|
|
||||||
"diff.plus" = "#839A53"
|
|
||||||
"diff.delta" = "#D4A520"
|
|
||||||
"diff.minus" = "#D74E50"
|
|
||||||
|
|
||||||
"ui.background" = { bg = "#FFFCFD" }
|
|
||||||
"ui.linenr" = { fg = "#bbbbbb" }
|
|
||||||
"ui.linenr.selected" = { fg = "#ED5466", modifiers = ["bold"] }
|
|
||||||
"ui.cursorline" = { bg = "#F3EAE9" }
|
|
||||||
"ui.statusline" = { fg = "#250E07", bg = "#F3EAE9" }
|
|
||||||
"ui.statusline.inactive" = { fg = "#7b91b3", bg = "#F3EAE9" }
|
|
||||||
"ui.popup" = { fg = "#7B91b3", bg = "#F3E8E9" }
|
|
||||||
"ui.window" = { bg = "#D8B8B3" }
|
|
||||||
"ui.help" = { bg = "#D8B8B3", fg = "#250E07" }
|
|
||||||
|
|
||||||
"ui.text" = { fg = "#7B91B3" }
|
|
||||||
"ui.text.focus" = { fg = "#250E07", modifiers= ["bold"] }
|
|
||||||
"ui.virtual.whitespace" = "#A6B6CE"
|
|
||||||
"ui.virtual.ruler" = { bg = "#F3EAE9" }
|
|
||||||
|
|
||||||
"ui.selection" = { bg = "#F3EAE9" }
|
|
||||||
"ui.cursor.primary" = { bg = "#ED5466", fg = "#FFFCFD", modifiers = ["bold"] }
|
|
||||||
"ui.cursor.match" = { bg = "#F3EAE9", fg = "#ED5466", modifiers = ["bold"] }
|
|
||||||
"ui.menu" = { fg = "#7B91B3", bg = "#F3EAE9" }
|
|
||||||
"ui.menu.selected" = { fg = "#D74E50", bg = "#F3EAE9" }
|
|
||||||
|
|
||||||
"warning" = "#D4A520"
|
|
||||||
"error" = "#D74E50"
|
|
||||||
"info" = "#839A53"
|
|
||||||
"hint" = "#A6B6CE"
|
|
||||||
<<<<<<< HEAD
|
|
||||||
|
|
||||||
"ui.explorer.file" = { fg = "#7B91B3" }
|
|
||||||
"ui.explorer.dir" = { fg = "#89BEB7" }
|
|
||||||
"ui.explorer.exe" = { fg = "#7B91B3" }
|
|
||||||
"ui.explorer.focus" = { modifiers = ["reversed"] }
|
|
||||||
"ui.explorer.unfocus" = { bg = "#F3EAE9" }
|
|
||||||
||||||| 7ac72a39
|
|
||||||
=======
|
|
||||||
|
|
||||||
"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" } }
|
|
||||||
>>>>>>> master
|
|
@ -1,114 +0,0 @@
|
|||||||
# Serika (Light)
|
|
||||||
# Author: VuiMuich
|
|
||||||
|
|
||||||
# Original Author:
|
|
||||||
# URL: https://github.com/arturoalviar/serika-syntax
|
|
||||||
# Author: arturoalviar
|
|
||||||
# License: MIT License
|
|
||||||
|
|
||||||
"escape" = "orange"
|
|
||||||
"type" = "yellow"
|
|
||||||
"constant" = "purple"
|
|
||||||
"number" = "purple"
|
|
||||||
"string" = "fg"
|
|
||||||
"comment" = "grey2"
|
|
||||||
"variable" = "yellow"
|
|
||||||
"variable.builtin" = "blue"
|
|
||||||
"variable.parameter" = "yellow"
|
|
||||||
"variable.property" = "yellow"
|
|
||||||
"label" = "aqua"
|
|
||||||
"punctuation" = "grey0"
|
|
||||||
"punctuation.delimiter" = "grey2"
|
|
||||||
"punctuation.bracket" = "fg"
|
|
||||||
"keyword" = "red"
|
|
||||||
"operator" = "grey0"
|
|
||||||
"function" = "green"
|
|
||||||
"function.builtin" = "blue"
|
|
||||||
"function.macro" = "aqua"
|
|
||||||
"tag" = "yellow"
|
|
||||||
"namespace" = "fg"
|
|
||||||
"attribute" = "aqua"
|
|
||||||
"constructor" = "yellow"
|
|
||||||
"module" = "blue"
|
|
||||||
"special" = "orange"
|
|
||||||
|
|
||||||
"ui.background" = { bg = "bg0" }
|
|
||||||
"ui.cursor" = { fg = "bg0", bg = "fg" }
|
|
||||||
"ui.cursor.match" = { fg = "grey1", bg = "grey2" }
|
|
||||||
"ui.cursor.insert" = { fg = "bg0", bg = "bg_yellow" }
|
|
||||||
"ui.cursor.select" = { fg = "bg0", bg = "bg_yellow" }
|
|
||||||
"ui.linenr" = "yellow"
|
|
||||||
"ui.linenr.selected" = { fg = "fg", modifiers = ["bold", "underlined"] }
|
|
||||||
"ui.cursorline" = { bg = "bg01" }
|
|
||||||
"ui.statusline" = { fg = "grey1", bg = "bg5" }
|
|
||||||
"ui.statusline.inactive" = { fg = "grey2", bg = "bg1" }
|
|
||||||
"ui.popup" = { fg = "bg0", bg = "bg5" }
|
|
||||||
"ui.window" = { fg = "bg0", bg = "bg5" }
|
|
||||||
"ui.help" = { fg = "bg0", bg = "bg5" }
|
|
||||||
"ui.text" = "fg"
|
|
||||||
"ui.text.focus" = "yellow"
|
|
||||||
"ui.menu" = { fg = "bg0", bg = "bg3" }
|
|
||||||
"ui.menu.selected" = { fg = "bg0", bg = "bg_yellow" }
|
|
||||||
"ui.selection" = { fg = "bg0", bg = "bg3" }
|
|
||||||
"ui.virtual.whitespace" = { fg = "bg2" }
|
|
||||||
"ui.virtual.ruler" = { bg = "bg01" }
|
|
||||||
|
|
||||||
"hint" = "blue"
|
|
||||||
"info" = "aqua"
|
|
||||||
"warning" = "yellow"
|
|
||||||
"error" = "nasty-red"
|
|
||||||
"diagnostic" = { fg = "nasty-red", modifiers = ["underlined"] }
|
|
||||||
|
|
||||||
"diff.plus" = { fg = "bg_green" }
|
|
||||||
"diff.delta" = { fg = "bg_blue" }
|
|
||||||
"diff.minus" = { fg = "nasty-red" }
|
|
||||||
|
|
||||||
"markup.heading" = { fg = "purple", modifiers = ["bold"] }
|
|
||||||
"markup.list" = "cyan"
|
|
||||||
"markup.bold" = { fg = "orange", modifiers = ["bold"] }
|
|
||||||
"markup.italic" = { fg = "yellow", modifiers = ["italic"] }
|
|
||||||
"markup.link.url" = "cyan"
|
|
||||||
"markup.link.text" = "pink"
|
|
||||||
"markup.quote" = { fg = "yellow", modifiers = ["italic"] }
|
|
||||||
"markup.raw" = { fg = "fg" }
|
|
||||||
|
|
||||||
<<<<<<< HEAD
|
|
||||||
"ui.explorer.file" = { fg = "fg" }
|
|
||||||
"ui.explorer.dir" = { fg = "blue" }
|
|
||||||
"ui.explorer.exe" = { fg = "fg" }
|
|
||||||
"ui.explorer.focus" = { modifiers = ["reversed"] }
|
|
||||||
"ui.explorer.unfocus" = { bg = "bg3" }
|
|
||||||
|
|
||||||
||||||| f0f295a6
|
|
||||||
|
|
||||||
=======
|
|
||||||
>>>>>>> origin/master
|
|
||||||
[palette]
|
|
||||||
|
|
||||||
bg0 = "#e1e1e3"
|
|
||||||
bg01 = "#eaeaec"
|
|
||||||
bg1 = "#494c50"
|
|
||||||
bg2 = "#55585e"
|
|
||||||
bg3 = "#61656b"
|
|
||||||
bg4 = "#6d7278"
|
|
||||||
bg5 = "#797e86"
|
|
||||||
bg_visual = "#646669"
|
|
||||||
bg_red = "#7e2a33"
|
|
||||||
bg_green = "#86b365"
|
|
||||||
bg_blue = "#6a89af"
|
|
||||||
bg_yellow = "#e2b714"
|
|
||||||
|
|
||||||
fg = "#323437"
|
|
||||||
red = "#621d28"
|
|
||||||
nasty-red = "#da3333"
|
|
||||||
dark-red = "#791717"
|
|
||||||
orange = "#57320f"
|
|
||||||
yellow = "#9a7d0e"
|
|
||||||
green = "#3f4b34"
|
|
||||||
aqua = "#455054"
|
|
||||||
blue = "#3f5673"
|
|
||||||
purple = "#534059"
|
|
||||||
grey0 = "#aaaeb3"
|
|
||||||
grey1 = "#e1e1e3"
|
|
||||||
grey2 = "#646669"
|
|
||||||
pink = "#e06c75"
|
|
Loading…
Reference in New Issue