Skip to content

Commit bdc7023

Browse files
committed
Initial commit: Fish shell extension with fish-lsp integration
Features: - Full syntax highlighting via tree-sitter - LSP support via fish-lsp (completion, hover, go-to-definition, diagnostics) - Keyword bracket matching (function/end, if/end, etc.) - Regex highlighting in grep, sed, string match/replace - Code outline and auto-indentation - Vim/Helix text objects - Screen sharing privacy (redactions) - Runnables (run scripts and functions with click) - GitHub Actions for CI and releases
0 parents  commit bdc7023

19 files changed

Lines changed: 1482 additions & 0 deletions

.github/workflows/ci.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
check:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v6
14+
15+
- name: Install Rust
16+
uses: dtolnay/rust-toolchain@stable
17+
with:
18+
targets: wasm32-wasip1
19+
components: clippy
20+
21+
- name: Cache cargo
22+
uses: actions/cache@v5
23+
with:
24+
path: |
25+
~/.cargo/registry
26+
~/.cargo/git
27+
target
28+
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
29+
30+
- name: Check
31+
run: cargo check --target wasm32-wasip1
32+
33+
- name: Clippy
34+
run: cargo clippy --target wasm32-wasip1 -- -D warnings
35+
36+
- name: Build
37+
run: cargo build --release --target wasm32-wasip1

.github/workflows/release.yml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags:
6+
- "v*"
7+
8+
permissions:
9+
contents: write
10+
11+
jobs:
12+
release:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- uses: actions/checkout@v6
16+
17+
- name: Install Rust
18+
uses: dtolnay/rust-toolchain@stable
19+
with:
20+
targets: wasm32-wasip1
21+
22+
- name: Cache cargo
23+
uses: actions/cache@v5
24+
with:
25+
path: |
26+
~/.cargo/registry
27+
~/.cargo/git
28+
target
29+
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
30+
31+
- name: Build
32+
run: cargo build --release --target wasm32-wasip1
33+
34+
- name: Package extension
35+
run: |
36+
mkdir -p dist
37+
cp target/wasm32-wasip1/release/zed_fish_lsp.wasm dist/extension.wasm
38+
cp extension.toml dist/
39+
cp -r languages dist/
40+
cp LICENSE dist/
41+
cp README.md dist/
42+
cd dist && zip -r ../zed-fish-lsp-${{ github.ref_name }}.zip .
43+
44+
- name: Create Release
45+
uses: softprops/action-gh-release@v2
46+
with:
47+
files: zed-fish-lsp-${{ github.ref_name }}.zip
48+
generate_release_notes: true

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
/target
2+
/grammars
3+
*.wasm
4+
node_modules/
5+
.DS_Store

0 commit comments

Comments
 (0)