[nvim] cleanup unused stuff
This commit is contained in:
parent
778e388288
commit
4e79bbb4de
16 changed files with 12 additions and 505 deletions
|
@ -1,4 +0,0 @@
|
|||
augroup hypr_ftdetect
|
||||
au!
|
||||
au BufRead,BufNewFile *hypr/*.conf,*hypr/*/*.conf set ft=hypr
|
||||
augroup END
|
|
@ -1,5 +0,0 @@
|
|||
|
||||
augroup SageDetect
|
||||
au!
|
||||
au BufRead,BufNewFile *sage set ft=python
|
||||
augroup END
|
|
@ -1 +0,0 @@
|
|||
au BufRead,BufNewFile *.why,*.mlw set filetype=why3
|
|
@ -1 +0,0 @@
|
|||
vim.opt_local.formatprg = "floskell --style chris-done"
|
|
@ -1 +0,0 @@
|
|||
setlocal commentstring=#\ %s
|
|
@ -1,2 +0,0 @@
|
|||
vim.bo.filetype = "tex"
|
||||
vim.bo.syntax = "lhaskell"
|
|
@ -51,9 +51,4 @@ return {
|
|||
|
||||
},
|
||||
},
|
||||
-- {
|
||||
-- "m4xshen/hardtime.nvim",
|
||||
-- dependencies = { "MunifTanjim/nui.nvim", "nvim-lua/plenary.nvim" },
|
||||
-- opts = {}
|
||||
-- },
|
||||
}
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
return {
|
||||
{
|
||||
"FabijanZulj/blame.nvim",
|
||||
event = "VeryLazy",
|
||||
config = function()
|
||||
require("blame").setup()
|
||||
end
|
||||
},
|
||||
"https://github.com/tpope/vim-fugitive"
|
||||
|
||||
}
|
|
@ -31,17 +31,6 @@ return {
|
|||
save_in_cmdline_history = false,
|
||||
}
|
||||
},
|
||||
{
|
||||
"ThePrimeagen/refactoring.nvim",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
},
|
||||
lazy = false,
|
||||
config = function()
|
||||
require("refactoring").setup({})
|
||||
end,
|
||||
},
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
event = "VeryLazy",
|
||||
|
@ -50,13 +39,13 @@ return {
|
|||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
dependencies = {
|
||||
'saghen/blink.cmp'
|
||||
"saghen/blink.cmp",
|
||||
"ibhagwan/fzf-lua",
|
||||
"stevearc/conform.nvim",
|
||||
},
|
||||
event = { "BufReadPost", "BufNewFile" },
|
||||
config = function()
|
||||
local lspconfig = require("lspconfig")
|
||||
|
||||
|
||||
-- Use an on_attach function to only map the following keys
|
||||
-- after the language server attaches to the current buffer
|
||||
vim.api.nvim_create_autocmd("LspAttach", {
|
||||
|
@ -68,16 +57,10 @@ return {
|
|||
local fzflua = require("fzf-lua")
|
||||
local conform = require("conform")
|
||||
|
||||
local client = vim.lsp.get_client_by_id(ev.data.client_id)
|
||||
if client ~= nil then
|
||||
client.server_capabilities.semanticTokensProvider = nil
|
||||
end
|
||||
|
||||
local rename_func = function()
|
||||
return ":IncRename " .. vim.fn.expand("<cword>")
|
||||
end
|
||||
|
||||
-- Mappings.
|
||||
local bufopts = { noremap = true, silent = true, buffer = ev.buf }
|
||||
local bufopts_expr = { expr = true }
|
||||
vim.keymap.set("n", "<space>e", vim.diagnostic.open_float, bufopts)
|
||||
|
@ -124,27 +107,13 @@ return {
|
|||
capabilities = capabilities,
|
||||
settings = {
|
||||
Lua = {
|
||||
runtime = {
|
||||
-- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim)
|
||||
version = "LuaJIT",
|
||||
},
|
||||
diagnostics = {
|
||||
-- Get the language server to recognize the `vim` global
|
||||
globals = { "vim" },
|
||||
},
|
||||
workspace = {
|
||||
-- Make the server aware of Neovim runtime files
|
||||
library = vim.api.nvim_get_runtime_file("", true),
|
||||
},
|
||||
hint = { enable = true }
|
||||
hint = { enable = true },
|
||||
},
|
||||
},
|
||||
})
|
||||
lspconfig["ltex"].setup({
|
||||
capabilities = capabilities,
|
||||
--Local on attach
|
||||
on_attach = function(_, _)
|
||||
-- rest of your on_attach process.
|
||||
require("ltex_extra").setup()
|
||||
end,
|
||||
settings = {
|
||||
|
@ -156,23 +125,6 @@ return {
|
|||
},
|
||||
},
|
||||
})
|
||||
lspconfig["basedpyright"].setup({
|
||||
capabilities = capabilities,
|
||||
settings = {
|
||||
verboseOutput = true,
|
||||
autoImportCompletion = true,
|
||||
basedpyright = {
|
||||
analysis = {
|
||||
typeCheckingMode = "all",
|
||||
autoSearchPaths = true,
|
||||
useLibraryCodeForTypes = true,
|
||||
diagnosticMode = "openFilesOnly",
|
||||
indexing = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
lspconfig["hls"].setup({
|
||||
capabilities = capabilities,
|
||||
filetypes = { 'haskell', 'lhaskell', 'cabal' },
|
||||
|
@ -248,8 +200,6 @@ return {
|
|||
end
|
||||
vim.g.vimtex_compiler_method = 'latexmk'
|
||||
vim.g.vimtex_view_automatic = 0
|
||||
-- vim.g.vimtex_compiler_generic = { command =
|
||||
-- 'ls *.tex | entr -n -c tectonic /_ --synctex --keep-intermediates --reruns 0' }
|
||||
end,
|
||||
},
|
||||
{
|
||||
|
|
|
@ -1,11 +1,4 @@
|
|||
return {
|
||||
{
|
||||
"iamcco/markdown-preview.nvim",
|
||||
event = "VeryLazy",
|
||||
cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
|
||||
ft = { "markdown" },
|
||||
build = function() vim.fn["mkdp#util#install"]() end,
|
||||
},
|
||||
{
|
||||
"folke/todo-comments.nvim",
|
||||
event = "VeryLazy",
|
||||
|
@ -47,4 +40,12 @@ return {
|
|||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"FabijanZulj/blame.nvim",
|
||||
event = "VeryLazy",
|
||||
config = function()
|
||||
require("blame").setup()
|
||||
end
|
||||
},
|
||||
"tpope/vim-fugitive"
|
||||
}
|
||||
|
|
|
@ -41,41 +41,6 @@ return {
|
|||
|
||||
end
|
||||
},
|
||||
-- {
|
||||
-- 'echasnovski/mini.files',
|
||||
-- version = false,
|
||||
-- opts = {
|
||||
-- mappings = {
|
||||
-- close = 'q',
|
||||
-- go_in = '',
|
||||
-- go_in_plus = 'l',
|
||||
-- go_out = '<CR>',
|
||||
-- go_out_plus = 'h',
|
||||
-- reset = '<BS>',
|
||||
-- show_help = 'g?',
|
||||
-- synchronize = 's',
|
||||
-- },
|
||||
-- options = {
|
||||
-- permanent_delete = false
|
||||
-- }
|
||||
-- },
|
||||
-- keys = {
|
||||
-- {
|
||||
-- "<leader>o",
|
||||
-- function()
|
||||
-- require("mini.files").open(vim.api.nvim_buf_get_name(0), true)
|
||||
-- end,
|
||||
-- desc = "Open mini.files (Directory of the current file)"
|
||||
-- },
|
||||
-- {
|
||||
-- "<leader>O",
|
||||
-- function()
|
||||
-- require("mini.files").open(vim.uv.cwd(), true)
|
||||
-- end,
|
||||
-- desc = "Open mini.files (cwd)"
|
||||
-- }
|
||||
-- }
|
||||
-- },
|
||||
{
|
||||
'mrjones2014/smart-splits.nvim',
|
||||
config = function()
|
||||
|
|
|
@ -38,7 +38,6 @@ return {
|
|||
local gen_spec = require('mini.ai').gen_spec
|
||||
require('mini.ai').setup({
|
||||
custom_textobjects = {
|
||||
-- Function definition (needs treesitter queries with these captures)
|
||||
F = gen_spec.treesitter({ a = '@function.outer', i = '@function.inner' }),
|
||||
},
|
||||
n_lines = 1000
|
||||
|
|
|
@ -1,103 +0,0 @@
|
|||
; extends
|
||||
|
||||
; inject sql in single line strings
|
||||
; e.g. db.GetContext(ctx, "SELECT * FROM users WHERE name = 'John'")
|
||||
|
||||
((call_expression
|
||||
(selector_expression
|
||||
field: (field_identifier) @_field)
|
||||
(argument_list
|
||||
(interpreted_string_literal) @sql))
|
||||
(#any-of? @_field "Exec" "GetContext" "ExecContext" "SelectContext" "In"
|
||||
"RebindNamed" "Rebind" "Query" "QueryRow" "QueryRowxContext" "NamedExec" "MustExec" "Get" "Queryx")
|
||||
(#offset! @sql 0 1 0 -1))
|
||||
|
||||
; still buggy for nvim 0.10
|
||||
((call_expression
|
||||
(selector_expression
|
||||
field: (field_identifier) @_field (#any-of? @_field "Exec" "GetContext" "ExecContext" "SelectContext" "In" "RebindNamed" "Rebind" "Query" "QueryRow" "QueryRowxContext" "NamedExec" "MustExec" "Get" "Queryx"))
|
||||
(argument_list
|
||||
(interpreted_string_literal) @injection.content))
|
||||
(#offset! @injection.content 0 1 0 -1)
|
||||
(#set! injection.language "sql"))
|
||||
|
||||
; neovim nightly 0.10
|
||||
([
|
||||
(interpreted_string_literal)
|
||||
(raw_string_literal)
|
||||
] @injection.content
|
||||
(#match? @injection.content "(SELECT|select|INSERT|insert|UPDATE|update|DELETE|delete).+(FROM|from|INTO|into|VALUES|values|SET|set).*(WHERE|where|GROUP BY|group by)?")
|
||||
(#set! injection.language "sql"))
|
||||
|
||||
; a general query injection
|
||||
([
|
||||
(interpreted_string_literal)
|
||||
(raw_string_literal)
|
||||
] @sql
|
||||
(#match? @sql "(SELECT|select|INSERT|insert|UPDATE|update|DELETE|delete).+(FROM|from|INTO|into|VALUES|values|SET|set).*(WHERE|where|GROUP BY|group by)?")
|
||||
(#offset! @sql 0 1 0 -1))
|
||||
|
||||
; ----------------------------------------------------------------
|
||||
; fallback keyword and comment based injection
|
||||
|
||||
([
|
||||
(interpreted_string_literal)
|
||||
(raw_string_literal)
|
||||
] @sql
|
||||
(#contains? @sql "-- sql" "--sql" "ADD CONSTRAINT" "ALTER TABLE" "ALTER COLUMN"
|
||||
"DATABASE" "FOREIGN KEY" "GROUP BY" "HAVING" "CREATE INDEX" "INSERT INTO"
|
||||
"NOT NULL" "PRIMARY KEY" "UPDATE SET" "TRUNCATE TABLE" "LEFT JOIN" "add constraint" "alter table" "alter column" "database" "foreign key" "group by" "having" "create index" "insert into"
|
||||
"not null" "primary key" "update set" "truncate table" "left join")
|
||||
(#offset! @sql 0 1 0 -1))
|
||||
|
||||
; nvim 0.10
|
||||
([
|
||||
(interpreted_string_literal)
|
||||
(raw_string_literal)
|
||||
] @injection.content
|
||||
(#contains? @injection.content "-- sql" "--sql" "ADD CONSTRAINT" "ALTER TABLE" "ALTER COLUMN"
|
||||
"DATABASE" "FOREIGN KEY" "GROUP BY" "HAVING" "CREATE INDEX" "INSERT INTO"
|
||||
"NOT NULL" "PRIMARY KEY" "UPDATE SET" "TRUNCATE TABLE" "LEFT JOIN" "add constraint" "alter table" "alter column" "database" "foreign key" "group by" "having" "create index" "insert into"
|
||||
"not null" "primary key" "update set" "truncate table" "left join")
|
||||
(#offset! @injection.content 0 1 0 -1)
|
||||
(#set! injection.language "sql"))
|
||||
|
||||
|
||||
; should I use a more exhaustive list of keywords?
|
||||
; "ADD" "ADD CONSTRAINT" "ALL" "ALTER" "AND" "ASC" "COLUMN" "CONSTRAINT" "CREATE" "DATABASE" "DELETE" "DESC" "DISTINCT" "DROP" "EXISTS" "FOREIGN KEY" "FROM" "JOIN" "GROUP BY" "HAVING" "IN" "INDEX" "INSERT INTO" "LIKE" "LIMIT" "NOT" "NOT NULL" "OR" "ORDER BY" "PRIMARY KEY" "SELECT" "SET" "TABLE" "TRUNCATE TABLE" "UNION" "UNIQUE" "UPDATE" "VALUES" "WHERE"
|
||||
|
||||
; json
|
||||
|
||||
((const_spec
|
||||
name: (identifier) @_const
|
||||
value: (expression_list (raw_string_literal) @json))
|
||||
(#lua-match? @_const ".*[J|j]son.*"))
|
||||
|
||||
; jsonStr := `{"foo": "bar"}`
|
||||
|
||||
((short_var_declaration
|
||||
left: (expression_list
|
||||
(identifier) @_var)
|
||||
right: (expression_list
|
||||
(raw_string_literal) @json))
|
||||
(#lua-match? @_var ".*[J|j]son.*")
|
||||
(#offset! @json 0 1 0 -1))
|
||||
|
||||
; nvim 0.10
|
||||
|
||||
(const_spec
|
||||
name: ((identifier) @_const(#lua-match? @_const ".*[J|j]son.*"))
|
||||
value: (expression_list (raw_string_literal) @injection.content
|
||||
(#set! injection.language "json")))
|
||||
|
||||
(short_var_declaration
|
||||
left: (expression_list (identifier) @_var (#lua-match? @_var ".*[J|j]son.*"))
|
||||
right: (expression_list (raw_string_literal) @injection.content)
|
||||
(#offset! @injection.content 0 1 0 -1)
|
||||
(#set! injection.language "json"))
|
||||
|
||||
(var_spec
|
||||
name: ((identifier) @_const(#lua-match? @_const ".*[J|j]son.*"))
|
||||
value: (expression_list (raw_string_literal) @injection.content
|
||||
(#set! injection.language "json")))
|
||||
|
|
@ -1,67 +0,0 @@
|
|||
|
||||
" Vim syntax file
|
||||
" Language: Hyprland config file
|
||||
" Maintainer: Gabriel Carneiro
|
||||
" Latest Revision: 26 October 2022
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Strings
|
||||
syn match Path "\(\.\|\~\)\/.*" display
|
||||
syn match Symbol "=" skipwhite display nextgroup=Value
|
||||
syn match Str "[a-zA-Z _ .-\"\'?]\+$" contained display
|
||||
syn match Num "\d\+\(\.\d\+\)\?" contained display
|
||||
syn match Num "e[+-]\d\+" contained display
|
||||
syn match Num "[+-]\d\+\(\.\d\+\)\?" contained display
|
||||
syn match ShellVar "\$\w\+" contained display
|
||||
syn keyword Logical on off true false no yes contained display
|
||||
syn region HyprSimpleString keepend start='[^ \t]' end='$\|#' contained contains=HyprVar,HyprComment
|
||||
syn match HyprQuotedString '"[^"]\+"' contained
|
||||
syn cluster HyprString contains=HyprSimpleString,HyprQuotedString
|
||||
|
||||
" Settings
|
||||
syn keyword Block input general animations decoration gestures misc dwindle master
|
||||
syn region OptBlock start="{" end="}" fold transparent display contains=HyprVar,Value,OptBlock,Num,Str,HyprComment,Disp,ShellVar
|
||||
syn match HyprVar '\s[a-z _ .]\+ ' skipwhite contained display nextgroup=Symbol
|
||||
syn region Value start="=" end="$\|," transparent display contains=Str,Num,Logical,ShellVar,Path,HyprComment,Disp,Dispatchers
|
||||
syn match Disp '[a-zA-Z][a-zA-Z0-9 _.]\+,' contained display contains=Num
|
||||
syn match N ', [a-zA-Z][a-zA-Z0-9 _.]\+,' contained skipwhite
|
||||
|
||||
" Commands
|
||||
syn region Command start='^[a-zA-Z][a-zA-Z_. -]\+ =' end='$' skipwhite transparent contains=HyprKeyModifier,ShellVar,HyprConfigCommand,Dispatchers,HyprComment,Str,Disp,Path,Num
|
||||
syn keyword HyprKeyModifier SUPER SHIFT CTRL ALT Mod1 Mod2 Mod3 Mod4 Mod5 Mode_switch nextgroup=N
|
||||
syn keyword HyprConfigCommand bind bindm monitor source windowrule nextgroup=Symbol contained
|
||||
|
||||
" Comments
|
||||
syn keyword HyprTodo contained TODO FIXME XXX NOTE
|
||||
syn match HyprComment "\(#\|\/\/\).*$" contains=HyprTodo
|
||||
|
||||
|
||||
highlight link Dispatchers Special
|
||||
highlight link Windowrules Special
|
||||
highlight link Disp Special
|
||||
|
||||
highlight link Num Constant
|
||||
highlight link NumRule Constant
|
||||
|
||||
highlight link HyprVar Identifier
|
||||
highlight link HyprConfigCommand Identifier
|
||||
|
||||
highlight link HyprKeyModifier Constant
|
||||
highlight link KeyBind Constant
|
||||
highlight link Logical Constant
|
||||
|
||||
highlight link Str String
|
||||
highlight link BindCmd String
|
||||
highlight link Path String
|
||||
highlight link HyprSimpleString String
|
||||
highlight link HyprQuotedString String
|
||||
|
||||
highlight link Block Define
|
||||
|
||||
highlight link ShellVar Define
|
||||
|
||||
highlight link HyprTodo Todo
|
||||
highlight link HyprComment Comment
|
|
@ -1,208 +0,0 @@
|
|||
" Vim syntax file
|
||||
" Language: Why3
|
||||
" Filenames: *.why *.mlw
|
||||
"
|
||||
" Adapted from syntax file for Ocaml
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
if version < 600
|
||||
syntax clear
|
||||
elseif exists("b:current_syntax") && b:current_syntax == "why3"
|
||||
finish
|
||||
endif
|
||||
|
||||
" Why3 is case sensitive.
|
||||
syn case match
|
||||
|
||||
" " Script headers highlighted like comments
|
||||
" syn match whyComment "^#!.*"
|
||||
|
||||
" lowercase identifier - the standard way to match
|
||||
syn match whyLCIdentifier /\<\(\l\|_\)\(\w\|'\)*\>/
|
||||
|
||||
syn match whyKeyChar "|"
|
||||
|
||||
" Errors
|
||||
syn match whyBraceErr "}"
|
||||
syn match whyBrackErr "\]"
|
||||
syn match whyParenErr ")"
|
||||
|
||||
syn match whyCommentErr "\*)"
|
||||
|
||||
syn match whyCountErr "\<downto\>"
|
||||
syn match whyCountErr "\<to\>"
|
||||
|
||||
syn match whyDoErr "\<do\>"
|
||||
syn match whyDoneErr "\<done\>"
|
||||
syn match whyThenErr "\<then\>"
|
||||
syn match whyTheoryErr "\<theory\>"
|
||||
syn match whyModuleErr "\<module\>"
|
||||
syn match whyEndErr "\<end\>"
|
||||
|
||||
" Some convenient clusters
|
||||
syn cluster whyAllErrs contains=whyBraceErr,whyBrackErr,whyParenErr,whyCommentErr,whyCountErr,whyDoErr,whyDoneErr,whyEndErr,whyThenErr,whyTheoryErr,whyModuleErr
|
||||
|
||||
syn cluster whyContained contains=whyTodo,whyImport,whyExport,whyTheoryContents,whyModuleContents,whyScopeContents,whyModuleKeyword
|
||||
" ,whyPreDef,whyModParam,whyModParam1,whyPreMPRestr,whyMPRestr,whyMPRestr1,whyMPRestr2,whyMPRestr3,whyModRHS,whyFuncWith,whyFuncStruct,whyModTypeRestr,whyModTRWith,whyWith,whyWithRest,whyModType,whyFullMod,whyVal
|
||||
|
||||
" Enclosing delimiters
|
||||
syn region whyEncl transparent matchgroup=whyKeyChar start="(" matchgroup=whyKeyChar end=")" contains=ALLBUT,@whyContained,whyParenErr
|
||||
syn region whyEncl transparent matchgroup=whyKeyChar start="{" matchgroup=whyKeyChar end="}" contains=ALLBUT,@whyContained,whyBraceErr
|
||||
syn region whyEncl transparent start="\[" end="\]" contains=ALLBUT,@whyContained,whyBrackErr
|
||||
|
||||
" Comments
|
||||
syn region whyComment start="(\*" end="\*)" contains=whyComment,whyTodo
|
||||
syn match whyOperator "(\*)"
|
||||
|
||||
syn keyword whyTodo contained TODO FIXME XXX NOTE
|
||||
|
||||
" Blocks
|
||||
" FIXME? match and try should detect the absence of "with" ?
|
||||
syn region whyEnd matchgroup=whyKeyword start="\<begin\>" matchgroup=whyKeyword end="\<end\>" contains=ALLBUT,@whyContained,whyEndErr
|
||||
syn region whyEnd matchgroup=whyKeyword start="\<match\>" matchgroup=whyKeyword end="\<end\>" contains=ALLBUT,@whyContained,whyEndErr
|
||||
syn region whyEnd matchgroup=whyKeyword start="\<try\>" matchgroup=whyKeyword end="\<end\>" contains=ALLBUT,@whyContained,whyEndErr
|
||||
syn region whyNone matchgroup=whyKeyword start="\<for\>" matchgroup=whyKeyword end="\<\(to\|downto\)\>" contains=ALLBUT,@whyContained,whyCountErr
|
||||
syn region whyDo matchgroup=whyKeyword start="\<do\>" matchgroup=whyKeyword end="\<done\>" contains=ALLBUT,@whyContained,whyDoneErr
|
||||
syn region whyNone matchgroup=whyKeyword start="\<if\>" matchgroup=whyKeyword end="\<then\>" contains=ALLBUT,@whyContained,whyThenErr
|
||||
|
||||
" Theories and modules
|
||||
|
||||
syn region whyTheory matchgroup=whyKeyword start="\<theory\>" matchgroup=whyModSpec end="\<\u\(\w\|'\)*\>" contains=@whyAllErrs,whyComment skipwhite skipempty nextgroup=whyModuleContents
|
||||
syn region whyModule matchgroup=whyKeyword start="\<module\>" matchgroup=whyModSpec end="\<\u\(\w\|'\)*\>" contains=@whyAllErrs,whyComment skipwhite skipempty nextgroup=whyModuleContents
|
||||
syn region whyScope matchgroup=whyKeyword start="\<scope\>" matchgroup=whyModSpec end="\<\u\(\w\|'\)*\>" contains=@whyAllErrs,whyComment,whyImport skipwhite skipempty nextgroup=whyModuleContents
|
||||
|
||||
syn region whyModuleContents start="" matchgroup=whyModSpec end="\<end\>" contained contains=ALLBUT,@whyContained,whyEndErr,whyTheory,whyModule
|
||||
|
||||
syn region whyNone matchgroup=whyKeyword start="\<\(use\|clone\)\>" matchgroup=whyModSpec end="\<\(\w\+\.\)*\u\(\w\|'\)*\>" contains=@whyAllErrs,whyComment,whyString,whyImport,whyExport
|
||||
syn keyword whyExport contained export
|
||||
syn keyword whyImport contained import
|
||||
|
||||
syn region whyNone matchgroup=whyKeyword start="\<import\>" matchgroup=whyModSpec end="\<\(\u\(\w\|'\)*\.\)*\u\(\w\|'\)*\>" contains=@whyAllErrs,whyComment
|
||||
|
||||
syn region whyNone matchgroup=whyKeyword start="\<\(axiom\|lemma\|goal\)\>" matchgroup=whyNone end="\<\w\(\w\|'\)\>\|" contains=@whyAllErrs,whyComment
|
||||
|
||||
syn keyword whyKeyword abstract any as break by
|
||||
syn keyword whyKeyword coinductive constant continue
|
||||
syn keyword whyKeyword else epsilon exists exception
|
||||
syn keyword whyKeyword forall fun function ghost
|
||||
syn keyword whyKeyword if in inductive
|
||||
syn keyword whyKeyword label let
|
||||
syn keyword whyKeyword meta model mutable not
|
||||
syn keyword whyKeyword partial predicate private
|
||||
syn keyword whyKeyword raise rec return so then type
|
||||
syn keyword whyKeyword val while with
|
||||
|
||||
syn keyword whyBoolean true false
|
||||
|
||||
syn keyword whyType bool float int list map option real range
|
||||
syn keyword whyType array ref unit
|
||||
|
||||
syn keyword whySpec absurd alias assert assume check diverges ensures invariant
|
||||
syn keyword whySpec pure raises reads requires returns variant writes at old
|
||||
|
||||
syn match whyConstructor "(\s*)"
|
||||
syn match whyConstructor "\u\(\w\|'\)*\>"
|
||||
syn match whyModPath "\u\(\w\|'\)*\."he=e-1
|
||||
|
||||
syn region whyString start=+"+ skip=+\\\\\|\\"+ end=+"+
|
||||
|
||||
syn match whyOperator "->"
|
||||
syn match whyOperator "<->\?"
|
||||
syn match whyOperator "/\\"
|
||||
syn match whyOperator "\\/"
|
||||
syn match whyOperator "&&"
|
||||
syn match whyOperator "<>"
|
||||
syn match whyKeyChar "|"
|
||||
syn match whyKeyChar ";"
|
||||
" FIXME? is this too inefficient?
|
||||
syn match whyOperator "[^<>~=:+*/%$&@^.|#!?]=[^<>~=:+*/%$&@^.|#!?]"ms=s+1,me=e-1
|
||||
syn match whyOperator "^=[^<>~=:+*/%$&@^.|#!?]"me=e-1
|
||||
syn match whyOperator "[^<>~=:+*/%$&@^.|#!?]=$"ms=s+1
|
||||
|
||||
syn match whyAnyVar "\<_\>"
|
||||
|
||||
syn match whyNumber "\<-\=\d\(_\|\d\)*\>"
|
||||
syn match whyNumber "\<-\=0[x|X]\(\x\|_\)\+\>"
|
||||
syn match whyNumber "\<-\=0[o|O]\(\o\|_\)\+\>"
|
||||
syn match whyNumber "\<-\=0[b|B]\([01]\|_\)\+\>"
|
||||
syn match whyFloat "\<-\=\d\+[eE][-+]\=\d\+\>"
|
||||
syn match whyFloat "\<-\=\d\+\.\d*\([eE][-+]\=\d\+\)\=\>"
|
||||
syn match whyFloat "\<-\=0[x|X]\x\+\.\?\x*[pP][-+]\=\d\+\>"
|
||||
|
||||
" Synchronization
|
||||
syn sync minlines=50
|
||||
syn sync maxlines=500
|
||||
|
||||
syn sync match whyDoSync grouphere whyDo "\<do\>"
|
||||
syn sync match whyDoSync groupthere whyDo "\<done\>"
|
||||
|
||||
syn sync match whyEndSync grouphere whyEnd "\<\(begin\|match\|try\)\>"
|
||||
syn sync match whyEndSync groupthere whyEnd "\<end\>"
|
||||
|
||||
syn sync match whyTheorySync grouphere whyTheory "\<theory\>"
|
||||
syn sync match whyTheorySync groupthere whyTheory "\<end\>"
|
||||
|
||||
syn sync match whyModuleSync grouphere whyModule "\<module\>"
|
||||
syn sync match whyModuleSync groupthere whyModule "\<end\>"
|
||||
|
||||
syn sync match whyScopeSync grouphere whyScope "\<scope\>"
|
||||
syn sync match whyScopeSync groupthere whyScope "\<end\>"
|
||||
|
||||
" Define the default highlighting.
|
||||
" For version 5.7 and earlier: only when not done already
|
||||
" For version 5.8 and later: only when an item doesn't have highlighting yet
|
||||
if version >= 508 || !exists("did_why_syntax_inits")
|
||||
if version < 508
|
||||
let did_why_syntax_inits = 1
|
||||
command -nargs=+ HiLink hi link <args>
|
||||
else
|
||||
command -nargs=+ HiLink hi def link <args>
|
||||
endif
|
||||
|
||||
HiLink whyBraceErr Error
|
||||
HiLink whyBrackErr Error
|
||||
HiLink whyParenErr Error
|
||||
HiLink whyCommentErr Error
|
||||
HiLink whyCountErr Error
|
||||
HiLink whyDoErr Error
|
||||
HiLink whyDoneErr Error
|
||||
HiLink whyEndErr Error
|
||||
HiLink whyThenErr Error
|
||||
HiLink whyTheoryErr Error
|
||||
HiLink whyModuleErr Error
|
||||
|
||||
HiLink whyComment Comment
|
||||
|
||||
HiLink whyModPath Include
|
||||
HiLink whyModSpec Include
|
||||
HiLink whyImport Keyword
|
||||
HiLink whyExport Keyword
|
||||
HiLink whyModuleKeyword Keyword
|
||||
|
||||
HiLink whyConstructor Constant
|
||||
|
||||
HiLink whyKeyword Keyword
|
||||
HiLink whyKeyChar Operator
|
||||
HiLink whyAnyVar Operator
|
||||
HiLink whyOperator Operator
|
||||
HiLink whySpec Identifier
|
||||
|
||||
HiLink whyNumber Number
|
||||
HiLink whyFloat Float
|
||||
HiLink whyString String
|
||||
HiLink whyBoolean Boolean
|
||||
|
||||
HiLink whyType Type
|
||||
|
||||
HiLink whyTodo Todo
|
||||
|
||||
HiLink whyEncl Keyword
|
||||
|
||||
delcommand HiLink
|
||||
endif
|
||||
|
||||
let b:current_syntax = "why3"
|
||||
|
||||
" vim: ts=8
|
||||
|
Loading…
Reference in a new issue