commit 7158252171f4e3e995956112ac6d093704ea0e6c
parent 68e905cec68449e29247991c03e3ceb183be388a
Author: Thomas Vigouroux <thomas.vigouroux@protonmail.com>
Date: Sat, 25 Feb 2023 07:38:08 +0100
update
Diffstat:
20 files changed, 221 insertions(+), 448 deletions(-)
diff --git a/after/ftplugin/c.lua b/after/ftplugin/c.lua
@@ -1,8 +1,5 @@
vim.opt_local.expandtab = true
vim.opt_local.textwidth = 100
-vim.opt_local.tabstop = 4
-vim.opt_local.softtabstop = 4
-vim.opt_local.shiftwidth = 4
vim.opt_local.foldmethod = "expr"
vim.opt_local.foldexpr = "nvim_treesitter#foldexpr()"
vim.opt_local.foldlevel = 0
diff --git a/after/ftplugin/markdown.lua b/after/ftplugin/markdown.lua
@@ -1,3 +1,5 @@
vim.opt_local.textwidth = 70
vim.opt_local.wrap = false
vim.opt_local.conceallevel = 0
+
+vim.opt_local.includeexpr = "v:lua.require'zest'.find_file(v:fname)"
diff --git a/after/ftplugin/teal.lua b/after/ftplugin/teal.lua
@@ -0,0 +1 @@
+vim.bo.makeprg = "tl check %"
diff --git a/after/ftplugin/tex.lua b/after/ftplugin/tex.lua
@@ -5,7 +5,6 @@ vim.opt_local.conceallevel = 0
vim.opt_local.foldmethod = "marker"
vim.opt_local.foldmarker = "%(,%)"
vim.opt_local.wrap = false
-vim.opt_local.spell = true
vim.opt_local.spellcapcheck = "\\(verb.\\+\\)\\@<![.?!]\\_[\\])'\"\t\n]\\+"
vim.cmd [[normal zx]]
diff --git a/after/plugin/mappings.lua b/after/plugin/mappings.lua
@@ -0,0 +1 @@
+vim.keymap.set('n', '<Leader>zn', require'zest'.open)
diff --git a/after/plugin/mappings.vim b/after/plugin/mappings.vim
@@ -1,4 +1,4 @@
-" Last Change: 2022 Aug 25
+" Last Change: 2023 Feb 16
vnoremap <silent> < <gv
vnoremap <silent> > >gv
@@ -30,6 +30,3 @@ nnoremap <silent> <C-I> <C-I>zz
nnoremap ]c <cmd>cnext<CR>
nnoremap [c <cmd>cprevious<CR>
-
-nnoremap <Leader>zs <cmd>1Zest search<CR>
-nnoremap <Leader>zc <cmd>Zest create<CR>
diff --git a/after/queries/latex/highlights.scm b/after/queries/latex/highlights.scm
@@ -0,0 +1,21 @@
+;; extends
+
+;; Some commands should not be spellchecked
+[
+ (command_name)
+ (begin)
+ (end)
+ (citation)
+ (color_reference)
+ (package_include)
+ (new_command_definition)
+ (environment_definition)
+ ] @nospell
+
+;; Exclude some enviroments from spell-checking
+(
+ (generic_environment (begin name: (curly_group_text text: (_) @_txt))) @nospell
+ (#eq? @_txt "tikzpicture")
+ )
+
+(key_value_pair key: (_) @nospell)
diff --git a/init.lua b/init.lua
@@ -1,7 +1,5 @@
local M = {}
-vim.g.azy_ui_debug = 1
-
local ok, imp = pcall(require, 'impatient')
-- if ok then
@@ -28,8 +26,8 @@ o.splitright = true
o.lazyredraw = true
o.foldenable = false
o.spelllang = { "en", "fr" }
-vim.o.spellfile = table.concat(vim.api.nvim_get_runtime_file("spell/*.add", true) or {}, ",")
-o.spelloptions = { "noplainbuffer" }
+-- vim.o.spellfile = table.concat(vim.api.nvim_get_runtime_file("spell/*.add", true) or {}, ",")
+o.spelloptions = { 'noplainbuffer' }
o.textwidth = 100
o.colorcolumn = "+0"
o.signcolumn = "yes:1"
diff --git a/lua/completree-config.lua b/lua/completree-config.lua
@@ -54,6 +54,8 @@ comp.setup {
default = cdef.ins_completion "C-N",
vim = cdef.ins_completion "C-V",
teal = cc.pipeline(cc.optional(s.treesitter_matches {}, s.luasnip_matches {}), ccomp.fzy),
+ spthy = cc.pipeline(s.luasnip_matches {}, ccomp.fzy),
+ mail = cc.pipeline(s.luasnip_matches {}, ccomp.fzy),
dockerfile = cdef.ins_completion "C-F",
c = lsp_completion,
cpp = lsp_completion,
@@ -173,3 +175,17 @@ ls.add_snippets('mail', {
f(commit_line, {}, { user_args = { "Tested-by" } })
}),
})
+
+ls.add_snippets('spthy', {
+ s({ trig = 'rule', name = 'Protocol rule' }, {
+ t { "rule " },
+ i(1, "RuleName"),
+ t { ":", " [ " },
+ i(2, "Left"),
+ t { ' ]', ' --[' },
+ i(3, "Events"),
+ t { ']->', ' [ ' },
+ i(4, "Right"),
+ t { " ]", "" }
+ })
+})
diff --git a/lua/dap-config.lua b/lua/dap-config.lua
@@ -35,6 +35,8 @@ dap.defaults.fallback.force_external_terminal = true
local widgets = require "dap.ui.widgets"
+local sbar = widgets.sidebar(widgets.frames)
+
dap.listeners.after['event_initialized']['me'] = function()
end
diff --git a/lua/lsp_config.lua b/lua/lsp_config.lua
@@ -8,7 +8,7 @@ vim.diagnostic.config {
vim.lsp.handlers['textDocument/hover'] = vim.lsp.with(vim.lsp.handlers.hover, { border = 'single' })
vim.lsp.handlers['textDocument/signatureHelp'] = vim.lsp.with(vim.lsp.handlers.hover, { border = 'single' })
-local function on_attach(client, bufnr)
+local function on_attach(attach_opts, client, bufnr)
local function set_keymap(lhs, func, ...)
local args = { ... }
vim.keymap.set("n", lhs, "", {
@@ -27,17 +27,22 @@ local function on_attach(client, bufnr)
callback = function() pcall(func) end
})
end
+ if attach_opts.no_semantic_tokens then
+ client.server_capabilities.semanticTokensProvider = nil
+ end
-- Mappings.
-- See `:help vim.lsp.*` for documentation on any of the below functions
if client.server_capabilities.hoverProvider then
set_keymap('K', vim.lsp.buf.hover)
end
+ set_keymap('<Leader>d', vim.lsp.buf.definition)
set_keymap('gr', vim.lsp.buf.rename)
set_keymap('<Leader>a', vim.lsp.buf.code_action)
set_keymap('[d', vim.diagnostic.goto_prev)
set_keymap(']d', vim.diagnostic.goto_next)
set_keymap('<Leader>q', vim.diagnostic.setqflist)
+ set_keymap('<Leader>=', vim.lsp.buf.format)
set_keymap('gR', require "azy.builtins".lsp.references())
set_keymap('<Leader>s', require "azy.builtins".lsp.workspace_symbols())
@@ -48,7 +53,8 @@ local function on_attach(client, bufnr)
end, vim.lsp.buf.list_workspace_folders())))
-- LSP lines setup
- set_keymap('<Leader>l', require("lsp_lines").toggle)
+ set_keymap('<Leader>lr', vim.lsp.codelens.run)
+ set_keymap('<Leader>ll', require("lsp_lines").toggle)
set_autocmd("InsertEnter", function()
-- Force off lsp_lines on enter
vim.diagnostic.config { virtual_lines = false }
@@ -178,7 +184,9 @@ end
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities.textDocument.completion.completionItem.snippetSupport = true
capabilities.workspace.configuration = true
-local default_config = { capabilities = capabilities, on_attach = on_attach }
+local function mk_config(extras)
+ return { capabilities = capabilities, on_attach = function(...) on_attach(extras, ...) end}
+end
-- A bit of notes for the future me
-- filetypes (table) List of filetypes for this lsp
@@ -189,7 +197,9 @@ local default_config = { capabilities = capabilities, on_attach = on_attach }
-- nvim_create_user_command, with first argument being the client) to create in the buffer where the thing is started
local system_lsps = {
hls = {
+ command = { "haskell-language-server-wrapper", "--lsp" },
filetypes = { "haskell" },
+ root_markers = { "Setup.hs", "stack.yaml" },
},
zls = {
@@ -207,7 +217,7 @@ local system_lsps = {
tsserver = {
command = { "typescript-language-server", "--stdio" },
filetypes = { "typescript", "javascript" },
- root_markers = { "package.json", ".git" }
+ root_markers = { "tsconfig.json", "package.json", ".git" }
},
ocamllsp = {
@@ -361,14 +371,14 @@ for lname, config in pairs(system_lsps) do
if not config.filetypes then
vim.notify(string.format("No filetypes defined for %s", lname))
else
- setup_lsp(lname, config.filetypes, config.command or { lname }, config.ucommands or {}, config.cfg or default_config)
+ setup_lsp(lname, config.filetypes, config.command or { lname }, config.ucommands or {}, config.cfg or mk_config(config.attach_opts or {}))
end
end
require 'ltex-ls'.setup {
on_attach = on_attach,
capabilities = capabilities,
- filetypes = { "latex", "tex", "bib", "markdown", "gitcommit", "text" },
+ filetypes = { "latex", "tex", "bib", "markdown", "gitcommit", "text", "mail" },
use_spellfile = true,
handlers = {
["ltex/workspaceSpecificConfiguration"] = vim.lsp.with(require 'ltex-ls.handlers'.workspace_configuration,
@@ -385,7 +395,7 @@ require 'ltex-ls'.setup {
motherTongue = "fr",
},
disabledRules = {
- en = { "TOO_LONG_SENTENCE" },
+ en = { "TOO_LONG_SENTENCE", "REGARD", "PASSIVE_VOICE" },
fr = { "APOS_TYP", "FRENCH_WHITESPACE", "FR_SPELLING_RULE", "COMMA_PARENTHESIS_WHITESPACE" }
},
latex = {
diff --git a/lua/obsidian-config.lua b/lua/obsidian-config.lua
@@ -0,0 +1,6 @@
+require 'obsidian'.setup {
+ dir = "~/obsvault",
+ completion = {
+ nvim_cmp = false, -- if using nvim-cmp, otherwise set to false
+ }
+}
diff --git a/lua/plugins.lua b/lua/plugins.lua
@@ -46,6 +46,7 @@ return packer.startup(function(use)
config = function()
require "notifier".setup {
component_name_recall = true,
+ status_width = 50,
notify = {
clear_time = 5000
},
@@ -113,6 +114,7 @@ return packer.startup(function(use)
-- One true colorscheme
localuse 'vigoux/oak' -- Not sure it is that binary
+ use 'romgrk/doom-one.vim'
-- Byte update debugging help
use { 'tjdevries/nsync.nvim', opt = true }
diff --git a/lua/tltypes.lua b/lua/tltypes.lua
@@ -0,0 +1,72 @@
+local M = {}
+local a = vim.api
+
+local types
+
+local function get_type(id)
+ local tmp = types.types[tostring(id)]
+
+ local meta = {
+ __index = function(tbl, index)
+ if index == 'file' or index == 'fields' or index == 'str' or index == 'ref' then
+ return rawget(tbl, index)
+ end
+
+ if index == 'y' or index == 'x' then
+ return tonumber(rawget(tbl, index))
+ end
+
+ if rawget(tbl, 'fields') then
+ return get_type(tbl.fields[index])
+ end
+
+ return nil
+ end
+ }
+
+ if not tmp then
+ error(string.format("Invalid type identifier: %s", tostring(id)))
+ end
+
+ if tmp.ref then
+ return get_type(tmp.ref)
+ else
+ return setmetatable(tmp, meta)
+ end
+end
+
+local function put_lines(lines)
+ a.nvim_buf_set_lines(0, -2, -1, false, vim.split(lines, '\n', { plain = true }))
+end
+
+local function input_cb(text)
+ if tostring(tonumber(text)) == text then
+ put_lines(vim.inspect(get_type(text)))
+ elseif text:sub(1, 1) == '*' then
+ put_lines(vim.inspect(types.types[text:sub(2)]))
+ else
+ put_lines(text)
+ end
+ a.nvim_buf_set_option(0, 'modified', false)
+end
+
+function M.repl(paths)
+ types = vim.json.decode(vim.fn.system { "tl", "types", unpack(vim.fn.glob(paths, false, true)) })
+ vim.cmd[[split]]
+ local win = a.nvim_get_current_win()
+
+ local repl_buf = a.nvim_create_buf(false, true)
+
+ vim.fn.prompt_setcallback(repl_buf, input_cb)
+
+ vim.fn.prompt_setprompt(repl_buf, "tltype> ")
+
+ a.nvim_buf_set_option(repl_buf, 'buftype', 'prompt')
+ a.nvim_buf_set_option(repl_buf, 'bufhidden', 'wipe')
+ a.nvim_buf_set_name(repl_buf, [[Architext REPL]])
+ a.nvim_win_set_buf(win, repl_buf)
+
+ vim.cmd.startinsert()
+end
+
+return M
diff --git a/lua/ts_config.lua b/lua/ts_config.lua
@@ -1,3 +1,15 @@
+local parser_config = require "nvim-treesitter.parsers".get_parser_configs()
+if not parser_config.vim then
+ parser_config.vim = {
+ install_info = {
+ url = "/home/vigourth/src/perso/tree-sitter-viml/",
+ files = {"src/parser.c", "src/scanner.c"}
+ },
+ filetype = "vim",
+ maintainers = { "@vigoux" },
+}
+end
+
require'nvim-treesitter.configs'.setup {
highlight = {
enable = true, -- false will disable the whole extension
diff --git a/lua/zest.lua b/lua/zest.lua
@@ -0,0 +1,45 @@
+local api = vim.api
+local fn = vim.fn
+
+local azyui = require 'azy.ui'
+local asinks = require 'azy.sinks'
+
+local M = {}
+
+local ZPATH = vim.fn.expand "$HOME" .. "/obsvault/"
+
+local function zpath(...)
+ return ZPATH .. "/" .. table.concat({ ... }, "/")
+end
+
+local function list_files()
+ local ret = {}
+
+ for index, path in ipairs(vim.fs.find(function(path) return vim.endswith(path, ".md") end, { path = ZPATH, limit = math.huge })) do
+ ret[index] = {
+ search_text = fn.fnamemodify(path, ":t:r"),
+ extra = path,
+ }
+ end
+
+ return ret
+end
+
+function M.find_file(name)
+ for _, file in ipairs(list_files()) do
+ vim.pretty_print(file)
+ if file.search_text == name then
+ return file
+ end
+ end
+end
+
+local function zest_sink(element, modifiers)
+ asinks.open_file({ search_text = element.extra }, modifiers)
+end
+
+function M.open()
+ azyui.create(list_files(), zest_sink)
+end
+
+return M
diff --git a/plugin/show_languagetree.lua b/plugin/show_languagetree.lua
@@ -0,0 +1,21 @@
+local M = {}
+local ts = vim.treesitter
+
+function ShowLangTree(langtree, indent)
+ langtree = langtree or ts.get_parser()
+ indent = indent or ''
+
+ print(indent .. langtree:lang())
+ for _, region in pairs(langtree:included_regions()) do
+ if type(region[1]) == 'table' then
+ print(indent .. ' ' .. vim.inspect(region))
+ else
+ print(indent .. ' ' .. vim.inspect{region[1]:range()})
+ end
+ end
+ for lang,child in pairs(langtree._children) do
+ ShowLangTree(child, indent .. ' ')
+ end
+end
+
+return M
diff --git a/plugin/zest.lua b/plugin/zest.lua
@@ -1,142 +0,0 @@
-local api = vim.api
-
-local M = {}
-
-if vim.fn.executable('zest') == 0 then
- return
-end
-
-local function zest(...)
- return vim.fn.systemlist{'zest', ...}
-end
-
-local function buf_is_zest(bufnr)
- bufnr = bufnr or vim.api.nvim_get_current_buf()
- local name = vim.api.nvim_buf_get_name(bufnr)
- local fullpath = vim.fn.fnamemodify(name, ':p')
- return #(zest('search', string.format("file:%s", fullpath))) ~= 0
-end
-
-local search
-if pcall(require, 'telescope') then
- local pickers = require('telescope.pickers')
- local sorters = require('telescope.sorters')
- local finders = require('telescope.finders')
-
- search = function(query)
- pickers.new {
- results_title = 'Zests',
- -- Run an external command and show the results in the finder window
- finder = finders.new_oneshot_job(
- {'zest', 'search', query},
- {
- entry_maker = function (line)
- local file, title = unpack(vim.split(line, ':', true))
- return {
- display = title,
- value = file,
- ordinal = title
- }
- end
- }
- ),
- sorter = sorters.get_fuzzy_file(),
- }:find()
- end
-else
- local function set_qflist_with(res)
- local qflist = {}
- for _,r in ipairs(res) do
- local filename, title = unpack(vim.split(r, ':', true))
- table.insert(qflist, {
- filename = filename,
- text = title
- })
- end
-
- vim.fn.setqflist(qflist, 'r')
- vim.cmd[[copen]]
- end
- search = function(query)
- set_qflist_with(zest('search', query))
- end
-end
-
-local function mk_query(ask, ...)
- local q = table.concat({...}, " ")
- if #q > 0 then
- return q
- elseif ask then
- return vim.fn.input("Query: ")
- else
- return "*"
- end
-end
-
-local subcommands = {
- search = function(count, ...)
- search(mk_query(count > 0, ...))
- end,
- ["goto"] = function(count, ...)
- local res = zest('search', '-f', mk_query(false, ...))
- local file = res[count] or res[1]
-
- if not file then return end
- vim.cmd.edit(file)
- end,
- refs = function()
- if buf_is_zest() then
- search(string.format("ref:%s", vim.fn.expand("%:p")))
- end
- end,
- create = function()
- local fname = (zest 'create')[1]
- vim.cmd.edit(fname)
- end
-}
-
-function Zest_complete(arglead, cmdline, cursorpos)
- local line_to_cursor = string.sub(cmdline, 1, cursorpos+1)
- local elements = vim.split(line_to_cursor, '%s+')
- local suggestions = {}
-
- if #elements == 2 then
- for sub, _ in pairs(subcommands) do
- if vim.startswith(sub, arglead) then
- table.insert(suggestions, sub)
- end
- end
- end
-
- return suggestions
-end
-
-function Zest(count, cmd, ...)
- if not cmd or type(cmd) ~= 'string' then
- print("Missing subcommand")
- end
-
- for sub, func in pairs(subcommands) do
- if cmd == sub then func(count, ...) return end
- end
-
- print(string.format("Unsupported command: %s", cmd))
-end
-
-vim.api.nvim_command[[command! -complete=customlist,v:lua.Zest_complete -count=0 -nargs=+ Zest lua Zest(<count>, <f-args>)]]
-
-vim.api.nvim_create_autocmd("Filetype", {
- pattern = "markdown",
- callback = function(args)
- if buf_is_zest(args.buf) then
- vim.api.nvim_create_autocmd("BufUnload", {
- buffer = args.buf,
- callback = function()
- zest "reindex"
- end
- })
- end
- end
-})
-
-return M
diff --git a/queries/latex/highlights.scm b/queries/latex/highlights.scm
@@ -1,252 +0,0 @@
-;; General syntax
-(ERROR) @error
-
-(command_name) @function
-(caption
- command: _ @function)
-
-(key_value_pair
- key: (_) @parameter
- value: (_))
-
-[
- (line_comment)
- (block_comment)
- (comment_environment)
-] @comment
-
-(generic_command command: (_) @_note arg: (curly_group) @comment (#eq? @_note "\\note"))
-
-[
- (brack_group)
- (brack_group_argc)
-] @parameter
-
-[(operator) "="] @operator
-
-"\\item" @punctuation.special
-
-((word) @punctuation.delimiter
-(#eq? @punctuation.delimiter "&"))
-
-["[" "]" "{" "}"] @punctuation.bracket ; "(" ")" has no syntactical meaning in LaTeX
-
-;; General environments
-(begin
- command: _ @text.environment
- name: (curly_group_text (text) @text.environment.name))
-
-(end
- command: _ @text.environment
- name: (curly_group_text (text) @text.environment.name))
-
-;; Definitions and references
-(new_command_definition
- command: _ @function.macro
- declaration: (curly_group_command_name (_) @function))
-(old_command_definition
- command: _ @function.macro
- declaration: (_) @function)
-(let_command_definition
- command: _ @function.macro
- declaration: (_) @function)
-
-(environment_definition
- command: _ @function.macro
- name: (curly_group_text (_) @text.reference))
-
-(theorem_definition
- command: _ @function.macro
- name: (curly_group_text (_) @text.environment.name))
-
-(paired_delimiter_definition
- command: _ @function.macro
- declaration: (curly_group_command_name (_) @function))
-
-(label_definition
- command: _ @function.macro
- name: (curly_group_text (_) @text.reference))
-(label_reference_range
- command: _ @function.macro
- from: (curly_group_text (_) @text.reference)
- to: (curly_group_text (_) @text.reference))
-(label_reference
- command: _ @function.macro
- names: (curly_group_text_list (_) @text.reference))
-(label_number
- command: _ @function.macro
- name: (curly_group_text (_) @text.reference)
- number: (_) @text.reference)
-
-(citation
- command: _ @function.macro
- keys: (curly_group_text_list) @text.reference)
-
-(glossary_entry_definition
- command: _ @function.macro
- name: (curly_group_text (_) @text.reference))
-(glossary_entry_reference
- command: _ @function.macro
- name: (curly_group_text (_) @text.reference))
-
-(acronym_definition
- command: _ @function.macro
- name: (curly_group_text (_) @text.reference))
-(acronym_reference
- command: _ @function.macro
- name: (curly_group_text (_) @text.reference))
-
-(color_definition
- command: _ @function.macro
- name: (curly_group_text (_) @text.reference))
-(color_reference
- command: _ @function.macro
- name: (curly_group_text (_) @text.reference))
-
-;; Math
-[
- (displayed_equation)
- (inline_formula)
-] @text.math
-
-(math_environment
- (begin
- command: _ @text.math
- name: (curly_group_text (text) @text.math)))
-
-(math_environment
- (text) @text.math)
-
-(math_environment
- (end
- command: _ @text.math
- name: (curly_group_text (text) @text.math)))
-
-;; Sectioning
-(title_declaration
- command: _ @namespace
- options: (brack_group (_) @text.title)?
- text: (curly_group (_) @text.title))
-
-(author_declaration
- command: _ @namespace
- authors: (curly_group_author_list
- ((author)+ @text.title)))
-
-(chapter
- command: _ @namespace
- toc: (brack_group (_) @text.title)?
- text: (curly_group (_) @text.title))
-
-(part
- command: _ @namespace
- toc: (brack_group (_) @text.title)?
- text: (curly_group (_) @text.title))
-
-(section
- command: _ @namespace
- toc: (brack_group (_) @text.title)?
- text: (curly_group (_) @text.title))
-
-(subsection
- command: _ @namespace
- toc: (brack_group (_) @text.title)?
- text: (curly_group (_) @text.title))
-
-(subsubsection
- command: _ @namespace
- toc: (brack_group (_) @text.title)?
- text: (curly_group (_) @text.title))
-
-(paragraph
- command: _ @namespace
- toc: (brack_group (_) @text.title)?
- text: (curly_group (_) @text.title))
-
-(subparagraph
- command: _ @namespace
- toc: (brack_group (_) @text.title)?
- text: (curly_group (_) @text.title))
-
-;; Beamer frames
-(generic_environment
- (begin
- name: (curly_group_text
- (text) @text.environment.name)
- (#any-of? @text.environment.name "frame"))
- .
- (curly_group (_) @text.title))
-
-((generic_command
- command: (command_name) @_name
- arg: (curly_group
- (text) @text.title))
- (#eq? @_name "\\frametitle"))
-
-;; Formatting
-((generic_command
- command: (command_name) @_name
- arg: (curly_group (_) @text.emphasis))
- (#eq? @_name "\\emph"))
-
-((generic_command
- command: (command_name) @_name
- arg: (curly_group (_) @text.emphasis))
- (#match? @_name "^(\\\\textit|\\\\mathit)$"))
-
-((generic_command
- command: (command_name) @_name
- arg: (curly_group (_) @text.strong))
- (#match? @_name "^(\\\\textbf|\\\\mathbf)$"))
-
-((generic_command
- command: (command_name) @_name
- .
- arg: (curly_group (_) @text.uri))
- (#match? @_name "^(\\\\url|\\\\href)$"))
-
-;; File inclusion commands
-(class_include
- command: _ @include
- path: (curly_group_path) @string)
-
-(package_include
- command: _ @include
- paths: (curly_group_path_list) @string)
-
-(latex_include
- command: _ @include
- path: (curly_group_path) @string)
-(import_include
- command: _ @include
- directory: (curly_group_path) @string
- file: (curly_group_path) @string)
-
-(bibtex_include
- command: _ @include
- path: (curly_group_path) @string)
-(biblatex_include
- "\\addbibresource" @include
- glob: (curly_group_glob_pattern) @string.regex)
-
-(graphics_include
- command: _ @include
- path: (curly_group_path) @string)
-(tikz_library_import
- command: _ @include
- paths: (curly_group_path_list) @string)
-
-(
- (word) @spell
- (#not-has-ancestor? @spell
- "inline_formula"
- "displayed_equation"
- "citation"
- "command_name"
- "label_reference"
- "begin"
- "end"
- "key_value_pair"
- "label_definition"
- )
-)
diff --git a/spell/default.utf-8.add b/spell/default.utf-8.add
@@ -1,35 +0,0 @@
-MaxMCSat
-MaxPMCSat
-Vigouroux
-CEGAR
-Amossys
-LLVM
-VERIMAG
-DBA
-VEX
-TAVA
-bitvector
-Dolev
-Yao
-FMCAD
-CEGAR
-compositionnels
-non-linéaires
-décorrélation
-API
-pseudo-contrôlabilité
-réimplémentation
-hyper-propriétés
-Informellement
-l'allocateur
-d'allocateurs
-compositionnelle
-l'overflow
-concolique
-surapproximation
-bas-niveau
-incrémental
-qu'industriels
-GDR
-GT
-bugs