summaryrefslogtreecommitdiff
path: root/lua/tjk/misc.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/tjk/misc.lua')
-rw-r--r--lua/tjk/misc.lua75
1 files changed, 75 insertions, 0 deletions
diff --git a/lua/tjk/misc.lua b/lua/tjk/misc.lua
new file mode 100644
index 0000000..14c5bd8
--- /dev/null
+++ b/lua/tjk/misc.lua
@@ -0,0 +1,75 @@
+-- Use tabs instead of spaces for certain filetypes
+local tabs_instead_of_spaces_filetypes = {
+ "sass",
+ "scss",
+}
+
+local tabs_instead_of_spaces = function(args)
+ local o = vim.opt_local
+ o.expandtab = false
+ --o.cinoptions = true
+ o.preserveindent = true
+ o.softtabstop = 0
+ o.shiftwidth = 4
+ o.tabstop = 4
+end
+vim.api.nvim_create_autocmd("FileType", { pattern = tabs_instead_of_spaces_filetypes, callback = tabs_instead_of_spaces })
+
+
+vim.cmd [[
+ "" Extra functionality
+
+ "" Functions for changing the terminal emulator's class name to 'Vim'
+ "function GetTermPID(temu)
+ " let pinfo = ['', getpid(), '']
+ " while !(pinfo[2] =~ a:temu || pinfo[1] == '0')
+ " let pinfo = split(system('ps h -o pid,ppid,command= -p' . pinfo[1]))
+ " endwhile
+ " return pinfo[0]
+ "endfunction
+
+ "function SetTermClassName(termpid, name)
+ " " Command chaining in xdotool doesn't work here for some reason
+ " silent exec "!xdotool set_window --class " . a:name . " $(xdotool search --pid " . a:termpid . ")"
+ "endfunction
+
+ "" Behaviors exclusive to either a tty or a graphical terminal emulator
+ "if empty($DISPLAY)
+ " " Clear the tty screen after exiting vim
+ " autocmd VimLeave * :clear
+ "else
+ " " Highlight current line
+ " set cursorline
+ " " Change window title
+ " autocmd BufEnter * :set title
+ " let &titleold="st"
+ " " Change class name
+ " let temu = "st"
+ " let temupid = GetTermPID(temu)
+ " if (temupid != 1)
+ " autocmd VimEnter * call SetTermClassName(temupid, "Vim")
+ " autocmd VimLeave * call SetTermClassName(temupid, temu)
+ " endif
+ "endif
+
+ " Automatically deletes all trailing whitespace on save
+ function DelWS()
+ let l:save_view = winsaveview()
+ :%s/\s*$//e
+ call winrestview(l:save_view)
+ endfunction
+ autocmd BufWritePre * call DelWS()
+
+
+ " vim -b : edit binary using xxd-format!
+ augroup Binary
+ au!
+ au BufReadPre *.bin let &bin=1
+ au BufReadPost *.bin if &bin | %!xxd
+ au BufReadPost *.bin set ft=xxd | endif
+ au BufWritePre *.bin if &bin | %!xxd -r
+ au BufWritePre *.bin endif
+ au BufWritePost *.bin if &bin | %!xxd
+ au BufWritePost *.bin set nomod | endif
+ augroup END
+]]