Skip to content

Commit

Permalink
chore: QOL and ft snippets and manage freemarkers
Browse files Browse the repository at this point in the history
  • Loading branch information
Kevin Manca authored and Kevin Manca committed Jan 3, 2025
1 parent 36de0d0 commit de423c0
Show file tree
Hide file tree
Showing 13 changed files with 518 additions and 175 deletions.
19 changes: 13 additions & 6 deletions after/ftplugin/java.lua
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ extendedClientCapabilities.document_formatting = false

local root_dir = vim.fs.root(0, { ".git", "mvnw", "gradlew", "pom.xml" }) or vim.uv.cwd()
local cache_dir = vim.fn.stdpath "cache"
local project_name = vim.fn.fnamemodify(root_dir, ":t")
local project_name = vim.fs.basename(root_dir)
local workspace_dir = string.format("%s/java/wksp/%s", cache_dir, project_name)

local launcher_path = vim.fn.glob(data_path .. "/mason/packages/jdtls/plugins/org.eclipse.equinox.launcher_*.jar", true)
Expand All @@ -46,8 +46,11 @@ local function get_config_dir()
end
elseif os_uname.sysname == "Linux" then
sys_config = "linux"
else
elseif os_uname.sysname == "Windows_NT" then
sys_config = "win"
else
vim.notify "OS not supported!"
return
end

return string.format("%s/mason/packages/jdtls/config_%s", vim.fn.stdpath "data", sys_config)
Expand Down Expand Up @@ -118,11 +121,15 @@ local config = {
runtimes = {
{
name = "JavaSE-17",
path = "/Library/Java/JavaVirtualMachines/openjdk-17.jdk/Contents/Home",
path = "C:/Program Files/Amazon Corretto/jdk17.0.13_11",
},
{
name = "JavaSE-21",
path = "/Library/Java/JavaVirtualMachines/openjdk-21.jdk/Contents/Home",
name = "JavaSE-1.8",
path = "C:/Program Files/Amazon Corretto/jdk1.8.0_432",
},
{
name = "JavaSE-11",
path = "C:/Program Files/Amazon Corretto/jdk11.0.25_9",
},
},
},
Expand Down Expand Up @@ -357,4 +364,4 @@ if vim.fn.filereadable(root_dir .. "/gradlew") then
nargs = "?",
complete = get_gradle_tasks,
})
end
end
71 changes: 71 additions & 0 deletions after/indent/freemarker.vim
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
finish
endif
runtime! indent/html.vim
let s:htmlindent = &indentexpr
setlocal indentexpr=FreemarkerIndent()

let s:tags = []
let s:closetags = []
let s:special= []

" Conditional and block tags.
call add(s:tags, 'if')
call add(s:tags, 'elseif')
call add(s:tags, 'else')
call add(s:tags, 'attempt')
call add(s:tags, 'recover')
call add(s:tags, 'list')
call add(s:tags, 'break')
call add(s:tags, 'macro')
call add(s:tags, 'nested')
call add(s:tags, 'switch')
call add(s:tags, 'case')
call add(s:tags, 'default')
call add(s:tags, 'items')

" Conditional and block ending tags.
call add(s:closetags, 'if')
call add(s:closetags, 'attempt')
call add(s:closetags, 'list')
call add(s:closetags, 'macro')
call add(s:closetags, 'switch')
call add(s:closetags, 'items')

" Special tags that indent back.
call add(s:special, 'elseif')
call add(s:special, 'else')
call add(s:special, 'recover')

let s:tag_expr = join(s:tags, '\|')
let s:tag_close_expr = join(s:closetags, '\|')
let s:special_expr = join(s:special, '\|')

function! FreemarkerIndent()
let line = getline(v:lnum)
let previousNum = prevnonblank(v:lnum - 1)

" Hit the start of the file, use zero indent.
if previousNum == 0
return 0
endif

let previous = getline(previousNum)

if previous =~'<#\('.s:tag_expr.'\)'
return indent(previousNum) + &tabstop
endif

if line =~'</#\('.s:tag_close_expr.'\)' || line =~'<#\('.s:special_expr.'\)'
return indent(previousNum) - &tabstop
endif

" Special handling for html
if s:htmlindent == ''
return cindent(previousNum)
else
execute 'let ind = ' . s:htmlindent
return ind
endif
endfunction
82 changes: 82 additions & 0 deletions after/syntax/freemarker.vim
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
if exists("b:current_syntax")
finish
endif

"Basic html syntax{{{
syntax keyword freemarkerKeyword div p html body head title a href br b i form
syntax keyword freemarkerKeyword pre hr h1 h2 h3 tr td table thead th tbody type
syntax keyword freemarkerKeyword class caption style button input label script
syntax keyword freemarkerBoolean true false
"}}}

"Functions, assignments{{{
syntax match freemarkerFunction "\v\#function|\#return"
syntax match freemarkerFunction "\v\#return"
syntax match freemarkerFunction "\v\#assign"
syntax match freemarkerFunction "\v\#include"
syntax match freemarkerFunction "\v\#local"
"}}}

"open and close tags {{{
syntax match freemarkerFunction "<"
syntax match freemarkerFunction ">"
syntax match freemarkerFunction "("
syntax match freemarkerFunction ")"
syntax match freemarkerFunction "\["
syntax match freemarkerFunction "\]"
syntax match freemarkerFunction "\v/"
"}}}

"variables {{{
"variable type @s.example
syntax match freemarkerFunction "\v\@\S*"

"External variables ${example.test}
syntax region freemarkerSpecialChar start=+${+ end=+}+
"}}}

"Conditionals and blocs {{{
syntax match freemarkerConditional "\v\v\#if|\#else"
syntax match freemarkerConditional "\v\#elseif"
syntax match freemarkerConditional "\v\#attemp"
syntax match freemarkerConditional "\v\#recover"
syntax match freemarkerConditional "\v\#list"
syntax match freemarkerConditional "\v\#break"
syntax match freemarkerConditional "\v\#macro"
syntax match freemarkerConditional "\v\#nested"
syntax match freemarkerConditional "\v\#switch"
syntax match freemarkerConditional "\v\#case"
syntax match freemarkerConditional "\v\#default"
syntax match freemarkerConditional "\v\#items"
"}}}

"Basic operators {{{
syntax match freemarkerOperator "\v\*"
syntax match freemarkerOperator "\v/"
syntax match freemarkerOperator "\v\+"
syntax match freemarkerOperator "\v-"
syntax match freemarkerOperator "\v\?"
syntax match freemarkerOperator "\v\*\="
syntax match freemarkerOperator "\v/\="
syntax match freemarkerOperator "\v\+\="
syntax match freemarkerOperator "\v-\="
syntax match freemarkerOperator "\v\="
"}}}

"Strings and comments {{{
syntax match freemarkerString '\v".*"'
syntax match freemarkerComment "\v\<#--.*--\>"
"}}}

"highlighting groups {{{
highlight link freemarkerConditional Conditional
highlight link freemarkerOperator Operator
highlight link freemarkerFunction Function
highlight link freemarkerSpecialChar SpecialChar
highlight link freemarkerString String
highlight link freemarkerComment Comment
highlight link freemarkerKeyword Keyword
highlight link freemarkerBoolean Boolean
"}}}

let b:current_syntax = "freemarker"
22 changes: 10 additions & 12 deletions lazy-lock.json
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
{
"SchemaStore.nvim": { "branch": "main", "commit": "e43f3e47991bc9f6cbc1d8b4d0f6a0d8d6c29284" },
"SchemaStore.nvim": { "branch": "main", "commit": "fa47222e29d6f6e80eddcdd0f125c27edf274ad5" },
"alpha-nvim": { "branch": "main", "commit": "de72250e054e5e691b9736ee30db72c65d560771" },
"blink.cmp": { "branch": "main", "commit": "5f442681df24fe705d1ee7ce5b4d435aa4b4dee4" },
"blink.cmp": { "branch": "main", "commit": "d534f9e8bf39299c480e0c2e11dad21f51cfb2fe" },
"color-picker.nvim": { "branch": "master", "commit": "06cb5f853535dea529a523e9a0e8884cdf9eba4d" },
"conform.nvim": { "branch": "master", "commit": "9180320205d250429f0f80e073326c674e2a7149" },
"conform.nvim": { "branch": "master", "commit": "990d37017e193fe40bdabf058e598e76f5e7d929" },
"data-viewer.nvim": { "branch": "main", "commit": "40ddf37bb7ab6c04ff9e820812d1539afe691668" },
"gitsigns.nvim": { "branch": "main", "commit": "5f808b5e4fef30bd8aca1b803b4e555da07fc412" },
"jupytext.nvim": { "branch": "main", "commit": "c8baf3ad344c59b3abd461ecc17fc16ec44d0f7b" },
"kurayami.nvim": { "branch": "main", "commit": "cea7998ddbad73aa834e8fb3765711750c40c18a" },
"lazy.nvim": { "branch": "main", "commit": "7e6c863bc7563efbdd757a310d17ebc95166cef3" },
"lazydev.nvim": { "branch": "main", "commit": "8620f82ee3f59ff2187647167b6b47387a13a018" },
"markdown.nvim": { "branch": "main", "commit": "6fbd1491abc104409f119685de5353c35c97c005" },
"markdown.nvim": { "branch": "main", "commit": "c00cc1e2cbd5a55ca0c6c2e27fcf4a02ff731434" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "c6c686781f9841d855bf1b926e10aa5e19430a38" },
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
"mini.icons": { "branch": "main", "commit": "6787321f70d674a481776b7cc2c781fb7002c644" },
Expand All @@ -19,15 +18,15 @@
"molten-nvim": { "branch": "main", "commit": "c621baf53459a6c45dfd98dcc11cbba7a7ae9470" },
"nui.nvim": { "branch": "main", "commit": "53e907ffe5eedebdca1cd503b00aa8692068ca46" },
"nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" },
"nvim-dap": { "branch": "master", "commit": "ffb077e65259f13be096ea6d603e3575a76b214a" },
"nvim-dap": { "branch": "master", "commit": "0e673accbb512e1e191dfb4fecea89cc38c1bcdd" },
"nvim-dap-ui": { "branch": "master", "commit": "e94d98649dccb6a3884b66aabc2e07beb279e535" },
"nvim-dbee": { "branch": "master", "commit": "21d2cc0844a16262bb6ea93ab3d0a0f20bd87853" },
"nvim-jdtls": { "branch": "master", "commit": "8f14aa1922ee5491ded1079a6576fae834535658" },
"nvim-jdtls": { "branch": "master", "commit": "266d0cb912bbe61d66b43c5e73db19a364380360" },
"nvim-lint": { "branch": "master", "commit": "1fea92f1d9908eaa5eb8bafe08b4293d7aadaa55" },
"nvim-lspconfig": { "branch": "master", "commit": "8b15a1a597a59f4f5306fad9adfe99454feab743" },
"nvim-lspconfig": { "branch": "master", "commit": "a8ef5e6e497b3ebeaaf35b939c07c211563b2e05" },
"nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" },
"nvim-notify": { "branch": "master", "commit": "c3797193536711b5d8983975791c4b11dc35ab3a" },
"nvim-treesitter": { "branch": "master", "commit": "4b222913486ec0a5983efa82b0649a2ab87cf1f0" },
"nvim-notify": { "branch": "master", "commit": "bd9cd51f9ef2f6326fc2bc9931d0718c1794e247" },
"nvim-treesitter": { "branch": "master", "commit": "cfbc1c0e0ff63e5b5e37b465b915b95fc2e98cef" },
"nvim-treesitter-refactor": { "branch": "master", "commit": "d8b74fa87afc6a1e97b18da23e762efb032dc270" },
"nvim-ufo": { "branch": "main", "commit": "32cb247b893a384f1888b9cd737264159ecf183c" },
"obsidian.nvim": { "branch": "main", "commit": "ae1f76a75c7ce36866e1d9342a8f6f5b9c2caf9b" },
Expand All @@ -36,10 +35,9 @@
"plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" },
"promise-async": { "branch": "main", "commit": "119e8961014c9bfaf1487bf3c2a393d254f337e2" },
"quarto-nvim": { "branch": "main", "commit": "1cb2d24d7793241bd43f38e3a6f99a6d11f84458" },
"rest.nvim": { "branch": "main", "commit": "c7944769dc489b9e4bc493e40820c2818eab2569" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "dae2eac9d91464448b584c7949a31df8faefec56" },
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
"telescope.nvim": { "branch": "master", "commit": "2eca9ba22002184ac05eddbe47a7fe2d5a384dfc" },
"vimtex": { "branch": "master", "commit": "b8bb79b5fb27e9030ade92e75cd9375416f2c666" },
"vimtex": { "branch": "master", "commit": "56def42c4f3007979c38001518ebb92ea8fb5f72" },
"which-key.nvim": { "branch": "main", "commit": "8ab96b38a2530eacba5be717f52e04601eb59326" }
}
7 changes: 4 additions & 3 deletions lua/lib/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -89,9 +89,10 @@ end
---Projects
function M.projects()
local projs_folders = {
vim.fn.expand "~/Documents/developer",
vim.fn.expand "~/dev",
vim.fn.expand "~/uni",
vim.fn.expand "C:/Users/kmanca/work/spagic/wksp",
vim.fn.expand "C:/wso2/wksp/Git",
vim.fn.expand "C:/wso2/wksp",
vim.fn.expand "C:/ENG",
}
local projects = {}
for _, value in pairs(projs_folders) do
Expand Down
22 changes: 10 additions & 12 deletions lua/plugins/editor/completion.lua
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,16 @@ return {
["<Down>"] = {},
["<C-k>"] = { "select_prev", "fallback" },
["<C-j>"] = { "select_next", "fallback" },
["<C-l>"] = { "select_and_accept" },
["<C-l>"] = { "select_and_accept", "show" },
["<C-i>"] = { "snippet_forward", "fallback" },
["<C-S-i>"] = { "snippet_backward", "fallback" },
["<C-Space>"] = { "show", "show_documentation", "hide_documentation" },
["<C-space>"] = { "show", "show_documentation", "hide_documentation" },

cmdline = {
["<C-l>"] = { "select_and_accept" },
["<C-i>"] = { "select_and_accept", "fallback" },
["<Tab>"] = { "select_next", "fallback" },
["<S-Tab>"] = { "select_prev", "fallback" },
["<C-k>"] = { "select_prev", "fallback" },
["<C-j>"] = { "select_next", "fallback" },
["<C-Space>"] = { "show", "hide" },
Expand All @@ -34,13 +37,8 @@ return {
},

sources = {
default = { "snippets", "lsp", "path", "buffer", "lazydev" },
default = { "snippets", "lsp", "path", "buffer" },
providers = {
lazydev = {
name = "LazyDev",
module = "lazydev.integrations.blink",
score_offset = 100,
},
snippets = {
opts = {
extended_filetypes = {
Expand All @@ -63,10 +61,10 @@ return {
},
},
completion = {
keyword = {
regex = "[-_/]\\|\\k",
exclude_from_prefix_regex = "[\\.]",
},
-- keyword = {
-- regex = "[-_/]\\|\\k",
-- exclude_from_prefix_regex = "[\\.]",
-- },
accept = {
auto_brackets = { enabled = true },
},
Expand Down
Loading

0 comments on commit de423c0

Please sign in to comment.