summaryrefslogtreecommitdiff
path: root/after/ftplugin
diff options
context:
space:
mode:
authorMohammad Reza Karimi <m.r.karimi.j@gmail.com>2026-01-20 15:55:27 -0500
committerMohammad Reza Karimi <m.r.karimi.j@gmail.com>2026-01-20 15:55:27 -0500
commitaa5717f00fd14430c80939a68d7107c26de6e554 (patch)
tree784e99d9b018e0554369c41cb33e2e195e28d3c6 /after/ftplugin
first commit
Diffstat (limited to 'after/ftplugin')
-rw-r--r--after/ftplugin/lua.vim9
-rw-r--r--after/ftplugin/mail.vim6
-rw-r--r--after/ftplugin/markdown.lua14
-rw-r--r--after/ftplugin/python.lua29
-rw-r--r--after/ftplugin/tex.lua19
5 files changed, 77 insertions, 0 deletions
diff --git a/after/ftplugin/lua.vim b/after/ftplugin/lua.vim
new file mode 100644
index 0000000..6d9a620
--- /dev/null
+++ b/after/ftplugin/lua.vim
@@ -0,0 +1,9 @@
+setlocal includeexpr=substitute(v:fname,'\\.','/','g').'.lua'
+setlocal comments-=:-- comments+=:---,:--
+setlocal keywordprg=:help
+
+inoreabbrev <buffer> lo local
+inoreabbrev <buffer> lf local function()<left><left>
+inoreabbrev <buffer> fu function() end<left><left><left><left>
+
+nnoremap <buffer> K <Cmd>lua vim.lsp.buf.hover()<CR>
diff --git a/after/ftplugin/mail.vim b/after/ftplugin/mail.vim
new file mode 100644
index 0000000..4b76a14
--- /dev/null
+++ b/after/ftplugin/mail.vim
@@ -0,0 +1,6 @@
+set spell
+set formatoptions+=wq
+
+setlocal tw=72 et cc=73 list
+
+map <buffer> g= <Esc>vipgq
diff --git a/after/ftplugin/markdown.lua b/after/ftplugin/markdown.lua
new file mode 100644
index 0000000..fe9be18
--- /dev/null
+++ b/after/ftplugin/markdown.lua
@@ -0,0 +1,14 @@
+local function toggle_tick(buf, lnum, line, to)
+ local beg, tick, rest = line:match("^(%s*)- %[([x ])%](.*)")
+end
+
+vim.keymap.set("n", "<CR>", function()
+ local curline = vim.fn.getline(".")
+ local lnum = vim.fn.getpos(".")[2]
+ local beg, tick, rest = curline:match("^(%s*)- %[([x ])%](.*)")
+ if beg == nil then return end
+
+ local new_tick = (tick == " " and "x" or " ")
+ local new_line = beg .. "- [" .. new_tick .. "]" .. rest
+ vim.api.nvim_buf_set_lines(0, lnum - 1, lnum, false, { new_line })
+end, { buffer = true })
diff --git a/after/ftplugin/python.lua b/after/ftplugin/python.lua
new file mode 100644
index 0000000..2f1a564
--- /dev/null
+++ b/after/ftplugin/python.lua
@@ -0,0 +1,29 @@
+local function keyword_help(kw)
+ local buf = vim.api.nvim_create_buf(false, true)
+ local win = vim.api.nvim_open_win(buf, true, {
+ anchor = "SE",
+ split = "below",
+ height = 20,
+ })
+ local obj = vim.system({ "pydoc-markdown", "-m", kw }):wait() -- "--render-toc"??
+ vim.api.nvim_buf_set_lines(buf, -1, -1, false, vim.split(obj.stdout, "\n"))
+ vim.bo[buf].filetype = "markdown"
+ vim.bo[buf].swapfile = false
+end
+
+vim.api.nvim_create_user_command("PyDoc", function(params)
+ if #params.fargs > 0 then
+ keyword_help(params.fargs[1])
+ end
+end, {
+ bar = true,
+ range = true,
+ addr = "other",
+ nargs = "*",
+ complete = function(...)
+ vim.print("completion request: " .. vim.inspect(...))
+ return nil
+ end,
+})
+
+vim.cmd([[ setlocal keywordprg=:PyDoc ]])
diff --git a/after/ftplugin/tex.lua b/after/ftplugin/tex.lua
new file mode 100644
index 0000000..963ab7f
--- /dev/null
+++ b/after/ftplugin/tex.lua
@@ -0,0 +1,19 @@
+vim.cmd([[setlocal shiftwidth=2 tabstop=2]])
+
+vim.fn.call("vimtex#imaps#add_map", {
+ {
+ lhs = "++",
+ rhs = "\\item ",
+ leader = "",
+ wrapper = "vimtex#imaps#wrap_environment",
+ context = { "itemize", "enumerate", "description" },
+ },
+})
+
+vim.fn.call("vimtex#imaps#add_map", {
+ {
+ lhs = "e",
+ rhs = "\\eps",
+ wrapper = "vimtex#imaps#wrap_math",
+ },
+})