feat: add useful bind, start neogen integration for ocaml
This commit is contained in:
1 parent
0f16e5c642
commit
7065b85b2a
4 files changed
+67
-8
No files matched your search
@@ -37,6 +37,7 @@ keymap.set("n", "Q", ":q!<CR>", opts("quit file"))
|
|||||||
|
|
||||||
-- Duplicate line
|
-- Duplicate line
|
||||||
keymap.set("n", "<leader>dd", ":t.<CR>", opts("Duplicate line"))
|
keymap.set("n", "<leader>dd", ":t.<CR>", opts("Duplicate line"))
|
||||||
|
keymap.set("n", "yc", "yy<cmd>normal gcc<CR>p", opts("Duplicate line, commenting original"))
|
||||||
|
|
||||||
-- LaTeX mappings
|
-- LaTeX mappings
|
||||||
keymap.set("n", "<leader>lc", utils.run_vim_cmd("VimtexCompile"), opts("Compile latex document")) -- Compile LaTeX file
|
keymap.set("n", "<leader>lc", utils.run_vim_cmd("VimtexCompile"), opts("Compile latex document")) -- Compile LaTeX file
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
return {
|
|
||||||
"AvengeMedia/base46",
|
|
||||||
lazy = true,
|
|
||||||
opts = {},
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
local dap = require("dap")
|
||||||
|
dap.adapters.ocamlearlybird = {
|
||||||
|
type = "executable",
|
||||||
|
command = "ocamlearlybird",
|
||||||
|
args = { "debug" },
|
||||||
|
}
|
||||||
|
|
||||||
|
dap.configurations.ocaml = {
|
||||||
|
{
|
||||||
|
name = "OCaml Debug test.bc",
|
||||||
|
type = "ocamlearlybird",
|
||||||
|
request = "launch",
|
||||||
|
program = "${workspaceFolder}/_build/default/test/test.bc",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name = "OCaml Debug main.bc",
|
||||||
|
type = "ocamlearlybird",
|
||||||
|
request = "launch",
|
||||||
|
program = "${workspaceFolder}/_build/default/bin/main.bc",
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -2,13 +2,55 @@ return {
|
|||||||
"danymat/neogen",
|
"danymat/neogen",
|
||||||
opts = {
|
opts = {
|
||||||
snippet_engine = "luasnip",
|
snippet_engine = "luasnip",
|
||||||
|
template = {
|
||||||
|
ocamldoc = {
|
||||||
|
{ nil, "(** $1 *)", { no_reults = true, type = { "func", "class", "type", "file" } } },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
languages = {
|
||||||
|
ocaml = {
|
||||||
|
template = {
|
||||||
|
annotation_convention = "ocamldoc",
|
||||||
|
},
|
||||||
|
parent = {
|
||||||
|
func = {
|
||||||
|
"value_definition",
|
||||||
|
},
|
||||||
|
type = {
|
||||||
|
"type_definition",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data = {
|
||||||
|
func = {
|
||||||
|
func = {
|
||||||
|
["value_definition"] = {
|
||||||
|
["0"] = {
|
||||||
|
extract = function()
|
||||||
|
return {}
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
type = {
|
||||||
|
["type_definition"] = {
|
||||||
|
["0"] = {
|
||||||
|
extract = function()
|
||||||
|
return {}
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
keys = {
|
keys = {
|
||||||
{ "<leader>gd", ":lua require('neogen').generate()<CR>", desc = "Autogenerate docs" },
|
{ "<leader>gd", ":lua require('neogen').generate()<CR>", desc = "Autogenerate docs" },
|
||||||
|
|
||||||
{ "<leader>gg", ":lua require('neogen').generate( { type = 'func' } )<CR>", desc = "Generate function docs" },
|
{ "<leader>gg", ":lua require('neogen').generate( { type = 'func' } )<CR>", desc = "Generate function docs" },
|
||||||
|
|
||||||
{ "<leader>gt", ":lua require('neogen').generate( { type = 'type' } )<CR>", desc = "Generate type docs" },
|
{ "<leader>gt", ":lua require('neogen').generate( { type = 'type' } )<CR>", desc = "Generate type docs" },
|
||||||
|
|
||||||
{ "<leader>gc", ":lua require('neogen').generate( { type = 'class' } )<CR>", desc = "Generate class docs" },
|
{ "<leader>gc", ":lua require('neogen').generate( { type = 'class' } )<CR>", desc = "Generate class docs" },
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in new issue
Block a user