mirror of
https://github.com/windwp/nvim-ts-autotag.git
synced 2025-01-24 07:13:56 -06:00
Compare commits
5 Commits
41dcce182a
...
4e53d273df
Author | SHA1 | Date | |
---|---|---|---|
4e53d273df | |||
ef175229a6 | |||
b146a98159 | |||
b9a588ed7e | |||
a92a4e97ec |
44
.github/workflows/ci.yml
vendored
44
.github/workflows/ci.yml
vendored
@ -1,47 +1,17 @@
|
||||
name: Tests
|
||||
|
||||
on: [push, pull_request]
|
||||
on: [push, pull_request, workflow_call]
|
||||
|
||||
jobs:
|
||||
x64-ubuntu:
|
||||
name: X64-ubuntu
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- os: ubuntu-20.04
|
||||
url: https://github.com/neovim/neovim/releases/download/nightly/nvim-linux64.tar.gz
|
||||
manager: sudo apt-get
|
||||
packages: -y fd-find
|
||||
name: nix-runner
|
||||
runs-on: self-hosted
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- run: date +%F > todays-date
|
||||
- name: Restore cache for today's nightly.
|
||||
uses: actions/cache@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
path: _neovim
|
||||
key: ${{ runner.os }}-${{ matrix.url }}-${{ hashFiles('todays-date') }}
|
||||
|
||||
- name: Prepare
|
||||
run: |
|
||||
${{ matrix.manager }} update
|
||||
${{ matrix.manager }} install ${{ matrix.packages }}
|
||||
test -d _neovim || {
|
||||
mkdir -p _neovim
|
||||
curl -sL ${{ matrix.url }} | tar xzf - --strip-components=1 -C "${PWD}/_neovim"
|
||||
}
|
||||
mkdir -p ~/.local/share/nvim/site/pack/vendor/start
|
||||
git clone --depth 1 https://github.com/nvim-lua/plenary.nvim ~/.local/share/nvim/site/pack/vendor/start/plenary.nvim
|
||||
git clone --depth 1 https://github.com/nvim-lua/popup.nvim ~/.local/share/nvim/site/pack/vendor/start/popup.nvim
|
||||
git clone --depth 1 --branch v0.7.2 https://github.com/nvim-treesitter/nvim-treesitter ~/.local/share/nvim/site/pack/vendor/start/nvim-treesitter
|
||||
git clone --depth 1 https://github.com/nvim-treesitter/playground ~/.local/share/nvim/site/pack/vendor/start/playground
|
||||
git clone --depth 1 https://github.com/nkrkv/nvim-treesitter-rescript ~/.local/share/nvim/site/pack/vendor/start/nvim-treesitter-rescript
|
||||
ln -s $(pwd) ~/.local/share/nvim/site/pack/vendor/start
|
||||
|
||||
ref: ${{ github.event.pull_request.head.ref }}
|
||||
repository: ${{ github.event.pull_request.head.repo.full_name }}
|
||||
- name: Run tests
|
||||
run: |
|
||||
export PATH="${PWD}/_neovim/bin:${PATH}"
|
||||
export VIM="${PWD}/_neovim/share/nvim/runtime"
|
||||
nvim --headless -u tests/minimal.vim -c "TSInstallSync html javascript typescript svelte vue tsx php glimmer rescript" -c "q"
|
||||
ls -alh
|
||||
make test
|
||||
|
@ -256,13 +256,6 @@ local function find_tag_node(opt)
|
||||
local name_tag_pattern = opt.name_tag_pattern
|
||||
local skip_tag_pattern = opt.skip_tag_pattern
|
||||
local find_child = opt.find_child or false
|
||||
--- PERF: Some parsers don't seemingly pick up their trees correctly, so we have to reparse the
|
||||
--- entire source. This is slow, see if we can avoid this.
|
||||
if target and target:has_changes() then
|
||||
local parser = vim.treesitter.get_parser()
|
||||
_ = (parser and parser:parse(true) or nil)
|
||||
target = ts_utils.get_node_at_cursor()
|
||||
end
|
||||
local node
|
||||
if find_child then
|
||||
node = find_child_match({
|
||||
@ -381,7 +374,7 @@ M.close_tag = function()
|
||||
if not buf_parser then
|
||||
return
|
||||
end
|
||||
buf_parser:parse()
|
||||
buf_parser:parse(true)
|
||||
local result, tag_name = check_close_tag()
|
||||
if result == true and tag_name ~= nil then
|
||||
vim.api.nvim_put({ string.format("</%s>", tag_name) }, "", true, false)
|
||||
@ -394,7 +387,7 @@ M.close_slash_tag = function()
|
||||
if not buf_parser then
|
||||
return
|
||||
end
|
||||
buf_parser:parse()
|
||||
buf_parser:parse(true)
|
||||
local result, tag_name = check_close_tag(true)
|
||||
if result == true and tag_name ~= nil then
|
||||
vim.api.nvim_put({ string.format("%s>", tag_name) }, "", true, true)
|
||||
@ -564,7 +557,7 @@ local is_before_arrow = is_before("<", 0)
|
||||
|
||||
M.rename_tag = function()
|
||||
if is_before_word() and parsers.has_parser() then
|
||||
parsers.get_parser():parse()
|
||||
parsers.get_parser():parse(true)
|
||||
rename_start_tag()
|
||||
rename_end_tag()
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user