Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
jmbuhr committed Feb 12, 2024
1 parent 97bfcd0 commit 50f8f8a
Show file tree
Hide file tree
Showing 5 changed files with 316 additions and 11 deletions.
12 changes: 12 additions & 0 deletions filetype.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@

vim.filetype.add({
extension = {
cp2k = 'cp2k',
inp = 'cp2k',
},
pattern = {
['.*cp2k.*%.inp'] = 'cp2k',
},
})


26 changes: 26 additions & 0 deletions lua/plugins/quarto.lua
Original file line number Diff line number Diff line change
Expand Up @@ -513,6 +513,32 @@ return {
}
}
}


local configs = require 'lspconfig.configs'
if not configs.cp2k then
configs.cp2k = {
default_config = {
cmd = { 'cp2k-language-server' },
filetypes = { 'cp2k' },
single_file_support = true,
root_dir = function(fname)
local root_files = {
'cp2k.inp',
'cp2k.template.inp',
}
return util.root_pattern(unpack(root_files))(fname) or util.find_git_ancestor(fname)
end,
settings = {},
},
}
end

lspconfig.cp2k.setup {
on_attach = on_attach,
capabilities = capabilities,
flags = lsp_flags,
}
end,
},

Expand Down
47 changes: 36 additions & 11 deletions lua/plugins/specific.lua
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,14 @@

return {

{
"nvim-neorg/neorg",
config = function()
require("neorg").setup {
}
end,
},

-- {
-- "jakewvincent/mkdnflow.nvim",
-- config = function ()
Expand All @@ -23,15 +31,16 @@ return {
"nvim-lua/plenary.nvim",
},
keys = {
{ "<leader>nd", ':ObsidianToday<cr>', "obsidian daily" },
{ "<leader>nt", ':ObsidianTomorrow<cr>', "obsidian tomorrow" },
{ "<leader>ny", ':ObsidianYesterday<cr>', "obsidian yesterday" },
{ "<leader>nb", ':ObsidianBacklinks<cr>', "obsidian backlinks" },
{ "<leader>nl", ':ObsidianLink<cr>', "obsidian link selection" },
{ "<leader>nf", ':ObsidianFollowLink<cr>', "obsidian follow link" },
{ "<leader>nn", ':ObsidianNew<cr>', "obsidian new" },
{ "<leader>ns", ':ObsidianSearch<cr>', "obsidian search" },
{ "<leader>no", ':ObsidianQuickSwitch<cr>', "obsidian quickswitch" },
{ "<leader>nd", ':ObsidianToday<cr>', desc = "obsidian daily" },
{ "<leader>nt", ':ObsidianToday 1<cr>', desc = "obsidian tomorrow" },
{ "<leader>ny", ':ObsidianToday -1<cr>', desc = "obsidian yesterday" },
{ "<leader>nb", ':ObsidianBacklinks<cr>', desc = "obsidian backlinks" },
{ "<leader>nl", ':ObsidianLink<cr>', desc = "obsidian link selection" },
{ "<leader>nf", ':ObsidianFollowLink<cr>', desc = "obsidian follow link" },
{ "<leader>nn", ':ObsidianNew<cr>', desc = "obsidian new" },
{ "<leader>ns", ':ObsidianSearch<cr>', desc = "obsidian search" },
{ "<leader>no", ':ObsidianQuickSwitch<cr>', desc = "obsidian quickswitch" },
{ "<leader>nO", ':ObsidianOpen<cr>', desc = "obsidian open in app" },
},
config = function()
require("obsidian").setup {
Expand Down Expand Up @@ -63,10 +72,26 @@ return {
opts = { buffer = true },
},
},
-- Optional, customize how names/IDs for new notes are created.
note_id_func = function(title)
-- Create note IDs in a Zettelkasten format with a timestamp and a suffix.
-- In this case a note with the title 'My new note' will be given an ID that looks
-- like '1657296016-my-new-note', and therefore the file name '1657296016-my-new-note.md'
local suffix = ""
if title ~= nil then
-- If title is given, transform it into valid file name.
suffix = title:gsub(" ", "-"):gsub("[^A-Za-z0-9-]", ""):lower()
else
-- If title is nil, just add 4 random uppercase letters to the suffix.
for _ = 1, 4 do
suffix = suffix .. string.char(math.random(65, 90))
end
end
return tostring(os.time()) .. "-" .. suffix
end,
}

vim.wo.conceallevel = 1

vim.wo.conceallevel = 1
end,
}
}
117 changes: 117 additions & 0 deletions queries/markdown/highlights.scm
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
;From MDeiml/tree-sitter-markdown & Helix
(setext_heading
(paragraph) @markup.heading.1
(setext_h1_underline) @markup.heading.1.marker)

(setext_heading
(paragraph) @markup.heading.2
(setext_h2_underline) @markup.heading.2.marker)

(atx_heading
(atx_h1_marker) @markup.heading.1.marker
(inline) @markup.heading.1)

(atx_heading
(atx_h2_marker) @markup.heading.2.marker
(inline) @markup.heading.2)

(atx_heading
(atx_h3_marker) @markup.heading.3.marker
(inline) @markup.heading.3)

(atx_heading
(atx_h4_marker) @markup.heading.4.marker
(inline) @markup.heading.4)

(atx_heading
(atx_h5_marker) @markup.heading.5.marker
(inline) @markup.heading.5)

(atx_heading
(atx_h6_marker) @markup.heading.6.marker
(inline) @markup.heading.6)

(info_string) @label

(pipe_table_header
(pipe_table_cell) @markup.heading)

(pipe_table_header
"|" @punctuation.special)

(pipe_table_row
"|" @punctuation.special)

(pipe_table_delimiter_row
"|" @punctuation.special)

(pipe_table_delimiter_cell) @punctuation.special

; Code blocks (conceal backticks and language annotation)
(indented_code_block) @markup.raw.block

((fenced_code_block) @markup.raw.block
(#set! "priority" 90))

(fenced_code_block
(fenced_code_block_delimiter) @markup.raw.delimiter
(#set! conceal ""))

; (fenced_code_block
; (info_string
; (language) @conceal
; (#set! conceal "")))

(link_destination) @markup.link.url

[
(link_title)
(link_label)
] @markup.link.label

[
(list_marker_plus)
(list_marker_minus)
(list_marker_star)
(list_marker_dot)
(list_marker_parenthesis)
] @markup.list

; NOTE: The following has been commented out due to issues with spaces in the
; list marker nodes generated by the parser. If those spaces ever get captured
; by a different node (e.g. block_continuation) we can safely readd these
; conceals.
; ;; Conceal bullet points
; ([(list_marker_plus) (list_marker_star)]
; @punctuation.special
; (#offset! @punctuation.special 0 0 0 -1)
; (#set! conceal "•"))
; ([(list_marker_plus) (list_marker_star)]
; @punctuation.special
; (#any-of? @punctuation.special "+" "*")
; (#set! conceal "•"))
; ((list_marker_minus)
; @punctuation.special
; (#offset! @punctuation.special 0 0 0 -1)
; (#set! conceal "—"))
; ((list_marker_minus)
; @punctuation.special
; (#eq? @punctuation.special "-")
; (#set! conceal "—"))
(thematic_break) @punctuation.special

(task_list_marker_unchecked) @markup.list.unchecked

(task_list_marker_checked) @markup.list.checked

((block_quote) @markup.quote
(#set! "priority" 90))

[
(block_continuation)
(block_quote_marker)
] @punctuation.special

(backslash_escape) @string.escape

(inline) @spell
125 changes: 125 additions & 0 deletions queries/markdown_inline/highlights.scm
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
; From MDeiml/tree-sitter-markdown
(code_span) @markup.raw @nospell

(emphasis) @markup.italic

(strong_emphasis) @markup.strong

(strikethrough) @markup.strikethrough

(shortcut_link
(link_text) @nospell)

[
(backslash_escape)
(hard_line_break)
] @string.escape

; Conceal codeblock and text style markers
((code_span_delimiter) @markup.raw.delimiter
(#set! conceal ""))

((emphasis_delimiter) @conceal
(#set! conceal ""))

; Conceal inline links
(inline_link
[
"["
"]"
"("
(link_destination)
")"
] @markup.link
(#set! conceal ""))

(image
[
"!"
"["
"]"
"("
(link_destination)
")"
] @markup.link)

(image
[
("!" @exclamation_mark)
"["
"]"
"("
(link_destination)
")"
])

; ((
; ("!" @exclamation_mark)
; "[" @open
; "]" @close
; "(" @openround
; _ @dest
; ")" @closeround
; ) @markup.link)

; Conceal full reference links
(full_reference_link
[
"["
"]"
(link_label)
] @markup.link
(#set! conceal ""))

; Conceal collapsed reference links
(collapsed_reference_link
[
"["
"]"
] @markup.link
(#set! conceal ""))

; Conceal shortcut links
(shortcut_link
[
"["
"]"
] @markup.link
(#set! conceal ""))

[
(link_destination)
(uri_autolink)
] @markup.link.url @nospell

[
(link_label)
(link_text)
(link_title)
(image_description)
] @markup.link.label

; Replace common HTML entities.
((entity_reference) @character.special
(#eq? @character.special "&nbsp;")
(#set! conceal ""))

((entity_reference) @character.special
(#eq? @character.special "&lt;")
(#set! conceal "<"))

((entity_reference) @character.special
(#eq? @character.special "&gt;")
(#set! conceal ">"))

((entity_reference) @character.special
(#eq? @character.special "&amp;")
(#set! conceal "&"))

((entity_reference) @character.special
(#eq? @character.special "&quot;")
(#set! conceal "\""))

((entity_reference) @character.special
(#any-of? @character.special "&ensp;" "&emsp;")
(#set! conceal " "))

0 comments on commit 50f8f8a

Please sign in to comment.