Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
113d6c9
chore: Add docker test runners for local development
Slotos Apr 8, 2025
490f685
feat: add luaCATS typing for configuration and add treesitter config
TheLeoP May 28, 2025
7f274a2
docs: boolean -> 0|1 on matchup.Config types
TheLeoP May 28, 2025
db9fe5d
refactor: mostly remove nvim-treesitter dependency
TheLeoP May 29, 2025
bca8246
chore: format query files
TheLeoP May 29, 2025
831c161
feat: fully functional treesitter engine without nvim-treesitter depe…
TheLeoP May 30, 2025
1b16bca
feat: add lua table constructor capture
TheLeoP May 30, 2025
b2d61bf
fix: initialize g:matchup_treesitter_disable_virtual_text
TheLeoP Jun 5, 2025
cd1f1c7
feat(lua): add treesitter capture for function calls
TheLeoP Jun 24, 2025
da04528
feat!: enable treesitter integration by default
TheLeoP Jun 24, 2025
480af13
fix: correctly process b:match_skip when treesitter is enabled
TheLeoP Jun 24, 2025
b9366df
fix: enable treesitter integration by default only on Neovim
TheLeoP Jun 25, 2025
bb9ff61
fix(treesitter): check if buffer is loaded before trying to get a par…
TheLeoP Jun 29, 2025
9e152f3
feat!(treesitter): parse range around cursor based on g:matchup_trees…
TheLeoP Jun 29, 2025
1513543
docs: add documentation for new g:matchup_treesiter config vars
TheLeoP Jun 29, 2025
e832b01
docs: add lazy.nvim installation to README
TheLeoP Jun 29, 2025
5e292db
docs: remove LunarVim specific instructions from README
TheLeoP Jun 29, 2025
1fd5e6d
docs: update treesitter integration information on README
TheLeoP Jun 29, 2025
490f64c
feat(ecma): add block query
TheLeoP Jun 30, 2025
b92d257
fix(typescript): correctly define captures with anonymous nodes
TheLeoP Jun 30, 2025
e4aae30
fix(haskell): properly escape backslash in lambda case query
TheLeoP Jun 30, 2025
ac432f1
feat: add block and call queries for go, c and bash
TheLeoP Jun 30, 2025
bf56cac
chore: make luacheck happy
TheLeoP Jul 7, 2025
321045f
docs: update matchup.txt with the content of README
TheLeoP Jul 7, 2025
3de6be0
fix: install treesitter parsers into docker image
TheLeoP Jul 7, 2025
182fa8b
tests: remove references to nvim-treesitter
TheLeoP Jul 7, 2025
9e90cb4
ci: install treesitter parsers without nvim-treesitter
TheLeoP Jul 7, 2025
ef27fce
ci: add TESTS_ENABLE_TREESITTER env var
TheLeoP Jul 7, 2025
427e9eb
ci: run tests on Neovim 0.11.2
TheLeoP Jul 7, 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
8 changes: 8 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
.github
.gitignore
.gitlab-ci-yml
.luacheckrc
.projections.json
.vintrc
*Dockerfile
test/new/env
46 changes: 35 additions & 11 deletions .github/workflows/neovim.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: Neovim
on:
push:
branches:
- '*'
- "*"
pull_request:
branches:
- master
Expand All @@ -13,28 +13,52 @@ jobs:
strategy:
matrix:
neovim_version:
- 'head'
- 'v0.10.1'
- "head"
- "v0.11.2"
runs-on: ubuntu-latest
env:
TESTS_ENABLE_TREESITTER: 1
steps:
- uses: 'actions/checkout@v2'
- uses: "actions/checkout@v2"
- uses: tree-sitter/setup-action@v2
with:
install-lib: false

- name: Install vader.vim
run: git clone --depth=1 https://github.com/junegunn/vader.vim.git test/vader/vader.vim

- name: 'setup Neovim'
uses: 'thinca/action-setup-vim@v2'
- name: "setup Neovim"
uses: "thinca/action-setup-vim@v2"
with:
vim_version: '${{ matrix.neovim_version }}'
vim_type: 'Neovim'
vim_version: "${{ matrix.neovim_version }}"
vim_type: "Neovim"

- name: 'Show version'
- name: "Show version"
run: nvim --version

- name: 'Run test'
- name: Clone tree-sitter-python
run: git clone --depth=1 https://github.com/tree-sitter/tree-sitter-python.git
working-directory: /tmp

- name: Clone tree-sitter-ruby
run: git clone --depth=1 https://github.com/tree-sitter/tree-sitter-ruby.git
working-directory: /tmp

- name: Create default nvim runtime parser directory
run: mkdir -p $HOME/.local/share/nvim/site/parser

- name: Build tree-sitter-python
run: tree-sitter build -o $HOME/.local/share/nvim/site/parser/python.so
working-directory: /tmp/tree-sitter-python

- name: Build tree-sitter-ruby
run: tree-sitter build -o $HOME/.local/share/nvim/site/parser/ruby.so
working-directory: /tmp/tree-sitter-ruby

- name: "Run test"
run: |
bash -c 'VIMCMD=nvim test/vader/run'

- name: 'Run new tests'
- name: "Run new tests"
run: |
cd ./test/new && make -j1 && make -j1 coverage
51 changes: 0 additions & 51 deletions .github/workflows/neovim_treesitter.yml

This file was deleted.

1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
doc/tags
.nvim.lua
25 changes: 25 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
PHONY: docker_build docker_test_nvim

RUNFOR ?= nvim
VIMCMD = $(shell if [ $(RUNFOR) = nvim ]; then echo "nvim --headless"; else echo "vim -T dumb --not-a-term -n"; fi)
VIMCMD != if [ $(RUNFOR) = nvim ]; then echo "nvim --headless"; else echo "vim -T dumb --not-a-term -n"; fi
NVIM_VERSION ?= stable
NVIM_ARCH ?= -linux-x86_64
VIM_VERSION ?= v9.1.1287

docker_build:
docker build --tag 'vim-matchup-nvim-stable' \
--file vim.Dockerfile \
--build-arg NVIM_VERSION=${NVIM_VERSION} \
--build-arg NVIM_ARCH=${NVIM_ARCH} \
--build-arg VIM_VERSION=${VIM_VERSION} \
.

docker_test_old: docker_build
docker run --rm -it --pull=never --name nvim vim-matchup-nvim-stable -c 'VIMCMD="${VIMCMD}" test/vader/run'

docker_test_new: docker_build
docker run --rm -it --pull=never --name nvim vim-matchup-nvim-stable -c 'cd ./test/new && make -j1 MYVIM="${VIMCMD}"'

docker_test_shell: docker_build
docker run --rm -it --pull=never --name nvim vim-matchup-nvim-stable
Loading
Loading