Skip to content

Commit cf72e4e

Browse files
committed
v1.6.0
feat: add sinbo-lsp, editor integration, and variable fallbacks - Add sinbo-lsp LSP server with sinbo: completion trigger - Add VS Code extension with .vsix in releases - Add variable fallback syntax SINBO:name:fallback: - Update install scripts to install both sinbo and sinbo-lsp - CI builds sinbo-lsp binaries for all platforms
1 parent 5ee2fd7 commit cf72e4e

32 files changed

Lines changed: 3852 additions & 239 deletions

.github/workflows/release.yml

Lines changed: 59 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -10,33 +10,53 @@ permissions:
1010

1111
jobs:
1212
build:
13-
name: build ${{ matrix.target }}
13+
name: build ${{ matrix.binary }} ${{ matrix.target }}
1414
runs-on: ${{ matrix.os }}
1515
strategy:
1616
matrix:
1717
include:
1818
- os: ubuntu-latest
1919
target: x86_64-unknown-linux-gnu
2020
binary: sinbo
21-
asset_name: sinbo-linux-x86_64
21+
artifact: sinbo-linux-x86_64
2222

2323
- os: macos-latest
2424
target: x86_64-apple-darwin
2525
binary: sinbo
26-
asset_name: sinbo-macos-x86_64
26+
artifact: sinbo-macos-x86_64
2727

2828
- os: macos-latest
2929
target: aarch64-apple-darwin
3030
binary: sinbo
31-
asset_name: sinbo-macos-aarch64
31+
artifact: sinbo-macos-aarch64
3232

3333
- os: windows-latest
3434
target: x86_64-pc-windows-msvc
35-
binary: sinbo.exe
36-
asset_name: sinbo-windows-x86_64.exe
35+
binary: sinbo
36+
artifact: sinbo-windows-x86_64
37+
38+
- os: ubuntu-latest
39+
target: x86_64-unknown-linux-gnu
40+
binary: sinbo-lsp
41+
artifact: sinbo-lsp-linux-x86_64
42+
43+
- os: macos-latest
44+
target: x86_64-apple-darwin
45+
binary: sinbo-lsp
46+
artifact: sinbo-lsp-macos-x86_64
47+
48+
- os: macos-latest
49+
target: aarch64-apple-darwin
50+
binary: sinbo-lsp
51+
artifact: sinbo-lsp-macos-aarch64
52+
53+
- os: windows-latest
54+
target: x86_64-pc-windows-msvc
55+
binary: sinbo-lsp
56+
artifact: sinbo-lsp-windows-x86_64
3757

3858
steps:
39-
- uses: actions/checkout@v6
59+
- uses: actions/checkout@v4
4060

4161
- name: Install Rust
4262
uses: actions-rust-lang/setup-rust-toolchain@v1
@@ -45,40 +65,60 @@ jobs:
4565
target: ${{ matrix.target }}
4666

4767
- name: Build
48-
run: cargo build --release --target ${{ matrix.target }}
68+
run: cargo build --release --target ${{ matrix.target }} --manifest-path ${{ matrix.binary }}/Cargo.toml
4969

50-
- name: Rename binary (Linux/macOS)
70+
- name: Package (Linux/macOS)
5171
if: matrix.os != 'windows-latest'
52-
run: cp target/${{ matrix.target }}/release/${{ matrix.binary }} ${{ matrix.asset_name }}
72+
run: |
73+
cp ${{ matrix.binary }}/target/${{ matrix.target }}/release/${{ matrix.binary }} ${{ matrix.artifact }}
74+
tar czf ${{ matrix.artifact }}.tar.gz ${{ matrix.artifact }}
5375
54-
- name: Rename binary (Windows)
76+
- name: Package (Windows)
5577
if: matrix.os == 'windows-latest'
56-
run: Copy-Item target/${{ matrix.target }}/release/${{ matrix.binary }} ${{ matrix.asset_name }}
78+
run: |
79+
Copy-Item ${{ matrix.binary }}/target/${{ matrix.target }}/release/${{ matrix.binary }}.exe ${{ matrix.artifact }}.exe
80+
Compress-Archive -Path ${{ matrix.artifact }}.exe -DestinationPath ${{ matrix.artifact }}.zip
5781
58-
- name: Upload artifact
59-
uses: actions/upload-artifact@v7
82+
- name: Upload artifact (Linux/macOS)
83+
if: matrix.os != 'windows-latest'
84+
uses: actions/upload-artifact@v4
85+
with:
86+
name: ${{ matrix.artifact }}
87+
path: ${{ matrix.artifact }}.tar.gz
88+
89+
- name: Upload artifact (Windows)
90+
if: matrix.os == 'windows-latest'
91+
uses: actions/upload-artifact@v4
6092
with:
61-
name: ${{ matrix.asset_name }}
62-
path: ${{ matrix.asset_name }}
93+
name: ${{ matrix.artifact }}
94+
path: ${{ matrix.artifact }}.zip
6395

6496
release:
6597
needs: build
6698
runs-on: ubuntu-latest
6799
permissions:
68100
contents: write
69101
steps:
70-
- uses: actions/checkout@v6
102+
- uses: actions/checkout@v4
71103

72104
- name: Download artifacts
73-
uses: actions/download-artifact@v8
105+
uses: actions/download-artifact@v4
74106
with:
75107
path: artifacts
76108
merge-multiple: true
109+
110+
- name: Build VS Code extension
111+
run: |
112+
cd sinbo-lsp-vscode
113+
npm install
114+
npm install -g @vscode/vsce
115+
vsce package --no-dependencies
116+
cp sinbo-lsp-*.vsix ../artifacts/
77117
78118
- name: Create GitHub release
79119
uses: softprops/action-gh-release@v2
80120
with:
81121
files: artifacts/*
82122
generate_release_notes: true
83123
env:
84-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
124+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
/target
1+
/target
2+
sinbo/target
3+
sinbo-lsp-vscode/node_modules

.vscode/settings.json

Lines changed: 0 additions & 8 deletions
This file was deleted.

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,15 @@ All notable changes to sinbo will be documented here.
44

55
---
66

7+
## 1.6.0 - 2026-04-19
8+
9+
### Added
10+
- `sinbo-lsp` — LSP server for inline snippet completions in any editor
11+
- VS Code extension with `sinbo:` trigger
12+
- Variable fallback values with `SINBO:name:fallback:` syntax
13+
- `.vsix` included in GitHub releases
14+
- CI builds `sinbo-lsp` binaries for all platforms
15+
716
## 1.5.0 - 2026-04-13
817

918
### Added

CONTRIBUTING.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,18 @@ src/
4747
transfer.rs # Export and import via .sinbo.json
4848
var.rs # Variable substitution with SINBO:name: placeholders
4949
completions/ # Shell completion scripts (bash, zsh, fish, powershell)
50+
51+
sinbo-lsp/
52+
src/
53+
main.rs # LSP server implementation
54+
Cargo.toml
55+
56+
sinbo-lsp-vscode/
57+
extension.js # VS Code extension
58+
package.json
59+
README.md
5060
```
61+
5162
---
5263

5364
## Reporting Bugs

0 commit comments

Comments
 (0)