Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
c3dc209
replace send/list commands with rust sidecar
atomicptr Nov 30, 2025
719d53a
add github actions pipeline
atomicptr Nov 30, 2025
83eda2c
refactor from nvim-oxi to mlua
atomicptr Dec 9, 2025
127f6a2
add support for setting default editor and add 'bridge' cli tool to r…
atomicptr Dec 14, 2025
0c5fa1e
fix unix permissions not being included on windows
atomicptr Dec 14, 2025
5cb0841
add support for focus switching
atomicptr Dec 14, 2025
127c832
add support for downloading/managing neovide
atomicptr Dec 17, 2025
9bd5d76
add clippy support and fix linter results
atomicptr Dec 17, 2025
f2e908f
fix building on macos
atomicptr Dec 17, 2025
5e8b8d0
only check for updates once a week
atomicptr Dec 17, 2025
2ae6afd
add support for managing mobdap
atomicptr Dec 17, 2025
7672cb2
move .cargo/config.toml to crates/sidecar
atomicptr Dec 17, 2025
1f30546
cache editor port to improve editor interaction performance drastically
atomicptr Dec 17, 2025
d76e47d
remove intermediate lua -> runner json config file
atomicptr Dec 19, 2025
4796617
add editor port validation to lua
atomicptr Dec 19, 2025
8c958b2
add debug settings
atomicptr Dec 19, 2025
14f9997
add ability to download releases by arbitrary match functions and add
atomicptr Dec 19, 2025
2e0e76d
remove temp files for neovide and mobdap after download
atomicptr Dec 19, 2025
d0d346f
add ability to download defold annotations
atomicptr Dec 19, 2025
598f789
add project dependency management (without .script_api support)
atomicptr Dec 19, 2025
6b8f21c
move editor and editor_config code into core, add find-editor-port an…
atomicptr Dec 19, 2025
007b11a
move run script to the same place we download our executables
atomicptr Dec 19, 2025
da99958
make find_port validate the cached port
atomicptr Dec 19, 2025
eaa3b3c
fix bridge debug flag blocking launch via defold
atomicptr Dec 19, 2025
232be90
add script api compiler with bridge integration
atomicptr Dec 20, 2025
2ec010e
add .script_api compilation
atomicptr Dec 20, 2025
cf5cb9c
update lsp library dirs when using :DefoldFetch
atomicptr Dec 20, 2025
2911e66
move data into data dir (XDG_DATA_HOME or eqv)
atomicptr Dec 20, 2025
f0b568a
add experimental github action for releases
atomicptr Dec 20, 2025
00f8caa
update deps
atomicptr Dec 20, 2025
b638875
remove fail fast
atomicptr Dec 20, 2025
b374043
build macos with deployment target
atomicptr Dec 20, 2025
7a874e0
move macos specific build args to build.rs
atomicptr Dec 20, 2025
888baa9
fix artifact names, remove libssl dependency (use rustls), implement …
atomicptr Dec 20, 2025
d9c0a62
restore loading debug builds
atomicptr Dec 20, 2025
0adac55
add build step to lazy.nvim setup
atomicptr Dec 21, 2025
b8fab5b
fix initialization only working when opts are supplied
atomicptr Dec 21, 2025
c8d6dba
add support for zigbuild and build linux with glibc 2.31
atomicptr Dec 21, 2025
4d53008
add zig to pipeline
atomicptr Dec 21, 2025
f86f23c
only build linux with zigbuild
atomicptr Dec 21, 2025
48aed33
add bridge download/management
atomicptr Dec 21, 2025
a654a0a
add better panic handling
atomicptr Dec 21, 2025
295d282
check for errors when calling set_log_level
atomicptr Dec 21, 2025
8ba3c5c
make launcher type optional as intended
atomicptr Dec 21, 2025
fc960dd
switch to debug builds as release just crashes neovim on error
atomicptr Dec 21, 2025
b6417d0
Revert "switch to debug builds as release just crashes neovim on error"
atomicptr Dec 21, 2025
4d23e1d
switch to cross for linux builds
atomicptr Dec 21, 2025
75cd9c9
fix cross device link error on ubuntu
atomicptr Dec 21, 2025
07c5629
fix builds on windows
atomicptr Dec 21, 2025
f9172dc
implement file/dir move via fs_extra
atomicptr Dec 21, 2025
2a62ef9
apparently fs_extra doesnt create dirs
atomicptr Dec 21, 2025
97daca0
enable anyhow backtrace
atomicptr Dec 21, 2025
32c9f24
add tracing::instrument to lua functions to block mlua from removing
atomicptr Dec 21, 2025
6726d62
fix fs_extra::dir::move_dir not working as expected
atomicptr Dec 21, 2025
0754f67
log bridge usage errors into log, dont show tracing in stdout anymore
atomicptr Dec 21, 2025
70d3ebe
add untested support for neovide download on mac
atomicptr Dec 21, 2025
23a9b95
fix downloads on windows
atomicptr Dec 21, 2025
54bdb1d
fix windows run script
atomicptr Dec 21, 2025
c229175
maybe fix macos using dmgwiz
atomicptr Dec 21, 2025
7ef69ed
replace dmgwiz with dmg
atomicptr Dec 21, 2025
457261f
add ability to enforce sidecar/bridge updates
atomicptr Dec 21, 2025
eb074f7
fix macos using different path for Defold preferences
atomicptr Dec 21, 2025
fdb8a5c
if neovide/mobdap/bridge dont exist always re-download
atomicptr Dec 21, 2025
7dcd815
fix alacritty name, only add class on linux
atomicptr Dec 21, 2025
cf918fa
add tests for game.project
atomicptr Dec 21, 2025
143d5f3
install neovide on macos as an .app
atomicptr Dec 21, 2025
629675f
fix launching neovim with line number not working
atomicptr Dec 21, 2025
0376696
escape executable path, fix bug with new line syntax
atomicptr Dec 21, 2025
551b961
remove defold_api
atomicptr Dec 21, 2025
7e468b7
remove redundant code
atomicptr Dec 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .cljfmt.edn

This file was deleted.

10 changes: 10 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
root = true

[*]
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 4

[*.{yml,yaml}]
indent_size = 2
1 change: 1 addition & 0 deletions .envrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
use nix
88 changes: 88 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
name: Release

on:
push:
tags: ["v*"]

permissions:
contents: write

jobs:
release:
name: Release ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}
strategy:
fail-fast: false
matrix:
config:
- name: Linux x86
os: ubuntu-latest
artifact:
sidecar: target/x86_64-unknown-linux-gnu/release/libdefold_nvim_sidecar.so
bridge: target/x86_64-unknown-linux-gnu/release/defold-nvim-bridge
dist:
sidecar: target/release/linux-x86-libdefold_nvim_sidecar.so
bridge: target/release/linux-x86-defold-nvim-bridge
- name: MacOS x86
os: macos-15-intel
artifact:
sidecar: target/release/libdefold_nvim_sidecar.dylib
bridge: target/release/defold-nvim-bridge
dist:
sidecar: target/release/macos-x86-libdefold_nvim_sidecar.dylib
bridge: target/release/macos-x86-defold-nvim-bridge
- name: MacOS ARM
os: macos-latest
artifact:
sidecar: target/release/libdefold_nvim_sidecar.dylib
bridge: target/release/defold-nvim-bridge
dist:
sidecar: target/release/macos-arm-libdefold_nvim_sidecar.dylib
bridge: target/release/macos-arm-defold-nvim-bridge
- name: Windows x86
os: windows-latest
artifact:
sidecar: target/release/defold_nvim_sidecar.dll
bridge: target/release/defold-nvim-bridge.exe
dist:
sidecar: target/release/windows-x86-defold_nvim_sidecar.dll
bridge: target/release/windows-x86-defold-nvim-bridge

steps:
- uses: actions/checkout@v5
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
rustflags: ""

- name: build ${{ matrix.config.name }}
if: contains(matrix.config.os, 'ubuntu')
run: |
cargo install cargo-cross
cargo cross build --release --target x86_64-unknown-linux-gnu

- name: build ${{ matrix.config.name }}
if: contains(matrix.config.os, 'macos')
run: MACOSX_DEPLOYMENT_TARGET="13" cargo build --release

- name: build ${{ matrix.config.name }}
if: contains(matrix.config.os, 'windows')
run: cargo build --release

- name: prepare ${{ matrix.config.name }}
run: |
# rename builds to be unique
mv "${{ matrix.config.artifact.sidecar }}" "${{ matrix.config.dist.sidecar }}"
mv "${{ matrix.config.artifact.bridge }}" "${{ matrix.config.dist.bridge }}"

# generate sha256 sum
shasum -a 256 "${{ matrix.config.dist.sidecar }}" > "${{ matrix.config.dist.sidecar }}.sha256"
shasum -a 256 "${{ matrix.config.dist.bridge }}" > "${{ matrix.config.dist.bridge }}.sha256"

- name: upload ${{ matrix.config.name }}
uses: softprops/action-gh-release@v2
with:
files: |
${{ matrix.config.dist.sidecar }}
${{ matrix.config.dist.bridge }}
${{ matrix.config.dist.sidecar }}.sha256
${{ matrix.config.dist.bridge }}.sha256
29 changes: 29 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
on:
pull_request:
push:
branches:
- master

jobs:
test:
name: Test on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-latest
- windows-latest

steps:
- uses: actions/checkout@v5
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
rustflags: ""

- name: Run tests
run: cargo test --workspace --verbose

- name: Clippy
run: cargo clippy
28 changes: 0 additions & 28 deletions .github/workflows/update-defold-api.yml

This file was deleted.

24 changes: 21 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
/defold-nvim*
/libdefold-nvim*
.clj-kondo
.lsp
.nrepl*

# Created by https://www.toptal.com/developers/gitignore/api/windows,macos,linux,lua
# Edit at https://www.toptal.com/developers/gitignore?templates=windows,macos,linux,lua
# Created by https://www.toptal.com/developers/gitignore/api/windows,macos,linux,lua,rust
# Edit at https://www.toptal.com/developers/gitignore?templates=windows,macos,linux,lua,rust

### Linux ###
*~
Expand Down Expand Up @@ -96,6 +98,22 @@ Temporary Items
# iCloud generated files
*.icloud

### Rust ###
# Generated by Cargo
# will have compiled files and executables
debug/
target/

# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
# Cargo.lock

# These are backup files generated by rustfmt
**/*.rs.bk

# MSVC Windows builds of rustc generate these, which store debugging information
*.pdb

### Windows ###
# Windows thumbnail cache files
Thumbs.db
Expand All @@ -122,4 +140,4 @@ $RECYCLE.BIN/
# Windows shortcuts
*.lnk

# End of https://www.toptal.com/developers/gitignore/api/windows,macos,linux,lua
# End of https://www.toptal.com/developers/gitignore/api/windows,macos,linux,lua,rust
Loading