From 4db7a89731ced06b7fee09aa000059182b8d7147 Mon Sep 17 00:00:00 2001 From: tiyn Date: Fri, 20 Feb 2026 07:13:27 +0100 Subject: [PATCH] nvim: added viper highlighting --- .config/nvim/init.lua | 1 + .config/nvim/lua/style.lua | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 16896eb..a17dba5 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -110,6 +110,7 @@ vim.filetype.add({ sage = "python", sh = "bash", tex = "tex", + vpr = "viper", }, }) diff --git a/.config/nvim/lua/style.lua b/.config/nvim/lua/style.lua index e714846..359d513 100644 --- a/.config/nvim/lua/style.lua +++ b/.config/nvim/lua/style.lua @@ -129,3 +129,27 @@ vim.opt_local.colorcolumn = "+" .. vim.fn.join(vim.fn.range(0, 254), ",+") vim.o.list = true vim.opt.listchars:append("space:" .. Space_sign) vim.opt.listchars:append("eol:" .. Return_sign) + +-- custom viper-highlighting +local viper_group = vim.api.nvim_create_augroup("ViperSyntax", { clear = true }) +vim.api.nvim_create_autocmd("FileType", { + group = viper_group, + pattern = "viper", + callback = function() + vim.cmd("syntax enable") + vim.cmd([[ + syntax keyword viperKeyword method function returns requires ensures invariant + syntax keyword viperKeyword if else while var field predicate + syntax keyword viperKeyword assert + + syntax keyword viperType Int Bool Ref + + syntax match viperComment "//.*$" + syntax match viperNumber "\v\d+" + ]]) + vim.api.nvim_set_hl(0, "viperKeyword", { link = "Keyword" }) + vim.api.nvim_set_hl(0, "viperType", { link = "Type" }) + vim.api.nvim_set_hl(0, "viperComment", { link = "Comment" }) + vim.api.nvim_set_hl(0, "viperNumber", { link = "Number" }) + end, +})