Compare commits
	
		
			4 Commits 
		
	
	
		
			e660a92443
			...
			8046bd1868
		
	
	| Author | SHA1 | Date | 
|---|---|---|
| 
							
							
								
									
								
								 | 
						8046bd1868 | |
| 
							
							
								
									
								
								 | 
						800ae0cbde | |
| 
							
							
								
									
								
								 | 
						8f2787f439 | |
| 
							
							
								
									
								
								 | 
						a76fd5cd62 | 
| 
						 | 
				
			
			@ -0,0 +1,19 @@
 | 
			
		|||
local json_newline = function()
 | 
			
		||||
  local line = vim.api.nvim_get_current_line()
 | 
			
		||||
  if line == "" then
 | 
			
		||||
    print("line is empty")
 | 
			
		||||
    return "o"
 | 
			
		||||
  elseif string.byte(line, -1) == string.byte(",") then
 | 
			
		||||
    return "o"
 | 
			
		||||
  elseif string.byte(line, -1) == string.byte("{") then
 | 
			
		||||
    print("line ends with '{'")
 | 
			
		||||
    return "o"
 | 
			
		||||
  elseif string.byte(line, -1) == string.byte("}") then
 | 
			
		||||
    print("line ends with '}'")
 | 
			
		||||
    return "o"
 | 
			
		||||
  else
 | 
			
		||||
    return "A,<CR>"
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
vim.keymap.set("n", "o", json_newline, { buffer = true, expr = true })
 | 
			
		||||
| 
						 | 
				
			
			@ -3,3 +3,4 @@ require("ftdetect")
 | 
			
		|||
require("keymaps")
 | 
			
		||||
require("highlight")
 | 
			
		||||
require("paq-setup")
 | 
			
		||||
require("diagnostic")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,10 @@
 | 
			
		|||
-- Source: <https://vonheikemen.github.io/devlog/tools/neovim-lsp-client-guide/>
 | 
			
		||||
vim.diagnostic.config({
 | 
			
		||||
  signs = true,
 | 
			
		||||
  underline = false,
 | 
			
		||||
  severity_sort = true,
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
vim.keymap.set("n", "<leader>dl", vim.diagnostic.open_float)
 | 
			
		||||
vim.keymap.set("n", "<leader>dj", vim.diagnostic.goto_prev)
 | 
			
		||||
vim.keymap.set("n", "<leader>dk", vim.diagnostic.goto_next)
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,27 @@
 | 
			
		|||
local ls = require("luasnip")
 | 
			
		||||
local s = ls.snippet
 | 
			
		||||
local t = ls.text_node
 | 
			
		||||
local f = ls.function_node
 | 
			
		||||
 | 
			
		||||
local TM_FILENAME = function(_, snip)
 | 
			
		||||
  return snip.env.TM_FILENAME
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
local TM_FILENAME_BASE = function(_, snip)
 | 
			
		||||
  return snip.env.TM_FILENAME_BASE
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
local NAME = "Hektor Misplon"
 | 
			
		||||
local LOCALHOST = "localhost"
 | 
			
		||||
local LOCALHOST_IP = "127.0.0.1"
 | 
			
		||||
 | 
			
		||||
return {
 | 
			
		||||
  s({ trig = "fn", desc = "Filename" }, { f(TM_FILENAME_BASE) }),
 | 
			
		||||
  s({ trig = "fne", dscr = "Filename (+extension)" }, { f(TM_FILENAME) }),
 | 
			
		||||
  s({ trig = "hm" }, { t(NAME) }),
 | 
			
		||||
  s({ trig = "loho" }, { t(LOCALHOST) }),
 | 
			
		||||
  s({ trig = "lohoi" }, { t(LOCALHOST_IP) }),
 | 
			
		||||
  s({ trig = "date" }, { f(function()
 | 
			
		||||
    return os.date("%Y-%m-%d")
 | 
			
		||||
  end) }),
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,119 @@
 | 
			
		|||
local ls = require("luasnip")
 | 
			
		||||
local s = ls.snippet
 | 
			
		||||
local t = ls.text_node
 | 
			
		||||
local i = ls.insert_node
 | 
			
		||||
 | 
			
		||||
return {
 | 
			
		||||
  -- Flex
 | 
			
		||||
  s({ trig = "b1", dscr = "Add 'border: 1px <color>;'" }, {
 | 
			
		||||
    t("border: 1px solid "),
 | 
			
		||||
    i(1),
 | 
			
		||||
    t(";"),
 | 
			
		||||
    i(0),
 | 
			
		||||
  }),
 | 
			
		||||
  s({ trig = "dfl", dscr = "Add 'display: flex;'" }, {
 | 
			
		||||
    t("display: flex;"),
 | 
			
		||||
    i(0),
 | 
			
		||||
  }),
 | 
			
		||||
  s({ trig = "flr", dscr = "Add 'flex-direction: row;'" }, {
 | 
			
		||||
    t("flex-direction: row;"),
 | 
			
		||||
    i(0),
 | 
			
		||||
  }),
 | 
			
		||||
  s({ trig = "flc", dscr = "Add 'flex-direction: column;'" }, {
 | 
			
		||||
    t("flex-direction: column;"),
 | 
			
		||||
    i(0),
 | 
			
		||||
  }),
 | 
			
		||||
  s({ trig = "flw", dscr = "Add 'flex-wrap: wrap;'" }, {
 | 
			
		||||
    t("flex-wrap: wrap;"),
 | 
			
		||||
    i(0),
 | 
			
		||||
  }),
 | 
			
		||||
  s({ trig = "dfc", dscr = "Display flex column" }, {
 | 
			
		||||
    t("display: flex;"),
 | 
			
		||||
    t("flex-direction: column;"),
 | 
			
		||||
    i(0),
 | 
			
		||||
  }),
 | 
			
		||||
  -- Grid
 | 
			
		||||
  s({ trig = "dg", dscr = "Add 'display: grid;'" }, {
 | 
			
		||||
    t("display: grid;"),
 | 
			
		||||
    i(0),
 | 
			
		||||
  }),
 | 
			
		||||
  -- Block
 | 
			
		||||
  s({ trig = "db", dscr = "Add 'display: block;'" }, {
 | 
			
		||||
    t("display: block;"),
 | 
			
		||||
    i(0),
 | 
			
		||||
  }),
 | 
			
		||||
  -- None
 | 
			
		||||
  s({ trig = "dn", dscr = "Add 'display: none;'" }, {
 | 
			
		||||
    t("display: none;"),
 | 
			
		||||
    i(0),
 | 
			
		||||
  }),
 | 
			
		||||
  -- CSS Variables
 | 
			
		||||
  s({ trig = "v", dscr = "Add CSS variable" }, {
 | 
			
		||||
    t("var(--"),
 | 
			
		||||
    i(1),
 | 
			
		||||
    t(")"),
 | 
			
		||||
    i(0),
 | 
			
		||||
  }),
 | 
			
		||||
  -- Margin
 | 
			
		||||
  s({ trig = "m", dscr = "Add 'margin: ;'" }, {
 | 
			
		||||
    t("margin: "),
 | 
			
		||||
    i(1),
 | 
			
		||||
    t(";"),
 | 
			
		||||
    i(0),
 | 
			
		||||
  }),
 | 
			
		||||
  s({ trig = "mt", dscr = "Add 'margin-top: ;'" }, {
 | 
			
		||||
    t("margin-top: "),
 | 
			
		||||
    i(1),
 | 
			
		||||
    t(";"),
 | 
			
		||||
    i(0),
 | 
			
		||||
  }),
 | 
			
		||||
  s({ trig = "mr", dscr = "Add 'margin-right: ;'" }, {
 | 
			
		||||
    t("margin-right: "),
 | 
			
		||||
    i(1),
 | 
			
		||||
    t(";"),
 | 
			
		||||
    i(0),
 | 
			
		||||
  }),
 | 
			
		||||
  s({ trig = "mb", dscr = "Add 'margin-bottom: ;'" }, {
 | 
			
		||||
    t("margin-bottom: "),
 | 
			
		||||
    i(1),
 | 
			
		||||
    t(";"),
 | 
			
		||||
    i(0),
 | 
			
		||||
  }),
 | 
			
		||||
  s({ trig = "ml", dscr = "Add 'margin-left: ;'" }, {
 | 
			
		||||
    t("margin-left: "),
 | 
			
		||||
    i(1),
 | 
			
		||||
    t(";"),
 | 
			
		||||
    i(0),
 | 
			
		||||
  }),
 | 
			
		||||
  -- Padding
 | 
			
		||||
  s({ trig = "p", dscr = "Add 'padding: ;'" }, {
 | 
			
		||||
    t("padding: "),
 | 
			
		||||
    i(1),
 | 
			
		||||
    t(";"),
 | 
			
		||||
    i(0),
 | 
			
		||||
  }),
 | 
			
		||||
  s({ trig = "pt", dscr = "Add 'padding-top: ;'" }, {
 | 
			
		||||
    t("padding-top: "),
 | 
			
		||||
    i(1),
 | 
			
		||||
    t(";"),
 | 
			
		||||
    i(0),
 | 
			
		||||
  }),
 | 
			
		||||
  s({ trig = "pr", dscr = "Add 'padding-right: ;'" }, {
 | 
			
		||||
    t("padding-right: "),
 | 
			
		||||
    i(1),
 | 
			
		||||
    t(";"),
 | 
			
		||||
    i(0),
 | 
			
		||||
  }),
 | 
			
		||||
  s({ trig = "pb", dscr = "Add 'padding-bottom: ;'" }, {
 | 
			
		||||
    t("padding-bottom: "),
 | 
			
		||||
    i(1),
 | 
			
		||||
    t(";"),
 | 
			
		||||
    i(0),
 | 
			
		||||
  }),
 | 
			
		||||
  s({ trig = "pl", dscr = "Add 'padding-left: ;'" }, {
 | 
			
		||||
    t("padding-left: "),
 | 
			
		||||
    i(1),
 | 
			
		||||
    t(";"),
 | 
			
		||||
    i(0),
 | 
			
		||||
  }),
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,67 @@
 | 
			
		|||
local ls = require("luasnip")
 | 
			
		||||
local s = ls.snippet
 | 
			
		||||
local t = ls.text_node
 | 
			
		||||
local i = ls.insert_node
 | 
			
		||||
 | 
			
		||||
return {
 | 
			
		||||
  s({ trig = "ifdef" }, {
 | 
			
		||||
    t("#ifdef GL_ES"),
 | 
			
		||||
    t("precision mediump float;"),
 | 
			
		||||
    i(1),
 | 
			
		||||
    t("#endif"),
 | 
			
		||||
  }),
 | 
			
		||||
  s({ trig = "defpi" }, {
 | 
			
		||||
    t("#define PI 3.14159265359"),
 | 
			
		||||
  }),
 | 
			
		||||
  s({ trig = "main" }, {
 | 
			
		||||
    t("void main() {"),
 | 
			
		||||
    i(1),
 | 
			
		||||
    t("}"),
 | 
			
		||||
  }),
 | 
			
		||||
  s({ trig = "uni" }, {
 | 
			
		||||
    t("uniform "),
 | 
			
		||||
    i(1),
 | 
			
		||||
    t(";"),
 | 
			
		||||
  }),
 | 
			
		||||
  s({ trig = "unif" }, {
 | 
			
		||||
    t("uniform float "),
 | 
			
		||||
    i(1),
 | 
			
		||||
    t(";"),
 | 
			
		||||
  }),
 | 
			
		||||
  s({ trig = "univ" }, {
 | 
			
		||||
    t("uniform vec"),
 | 
			
		||||
    i(1),
 | 
			
		||||
    t(" float "),
 | 
			
		||||
    i(2),
 | 
			
		||||
    t(";"),
 | 
			
		||||
  }),
 | 
			
		||||
  s({ trig = "univ2" }, {
 | 
			
		||||
    t("uniform vec2 float "),
 | 
			
		||||
    i(1),
 | 
			
		||||
    t(";"),
 | 
			
		||||
  }),
 | 
			
		||||
  s({ trig = "univ3" }, {
 | 
			
		||||
    t("uniform vec3 float "),
 | 
			
		||||
    i(1),
 | 
			
		||||
    t(";"),
 | 
			
		||||
  }),
 | 
			
		||||
  s({ trig = "univ4" }, {
 | 
			
		||||
    t("uniform vec4 float "),
 | 
			
		||||
    i(1),
 | 
			
		||||
    t(";"),
 | 
			
		||||
  }),
 | 
			
		||||
  s({ trig = "f" }, {
 | 
			
		||||
    t("float "),
 | 
			
		||||
    i(1),
 | 
			
		||||
    t(";"),
 | 
			
		||||
  }),
 | 
			
		||||
  s({ trig = "v" }, {
 | 
			
		||||
    t("vec"),
 | 
			
		||||
  }),
 | 
			
		||||
  s({ trig = "ss" }, {
 | 
			
		||||
    t("smoothstep("),
 | 
			
		||||
    i(1),
 | 
			
		||||
    t(")"),
 | 
			
		||||
    i(2),
 | 
			
		||||
  }),
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,25 @@
 | 
			
		|||
local ls = require("luasnip")
 | 
			
		||||
local s = ls.snippet
 | 
			
		||||
local t = ls.text_node
 | 
			
		||||
local i = ls.insert_node
 | 
			
		||||
 | 
			
		||||
return {
 | 
			
		||||
  s({ trig = "clg", dscr = "console.log" }, {
 | 
			
		||||
    t("console.log("),
 | 
			
		||||
    i(1),
 | 
			
		||||
    t(")"),
 | 
			
		||||
    i(0),
 | 
			
		||||
  }),
 | 
			
		||||
  s({ trig = "Js", dscr = "JSON.stringify" }, {
 | 
			
		||||
    t("JSON.stringify("),
 | 
			
		||||
    i(1),
 | 
			
		||||
    t(")"),
 | 
			
		||||
    i(0),
 | 
			
		||||
  }),
 | 
			
		||||
  s({ trig = "Jsf", dscr = "JSON.stringify (formatted)" }, {
 | 
			
		||||
    t("JSON.stringify("),
 | 
			
		||||
    i(1),
 | 
			
		||||
    t(", 0, 2)"),
 | 
			
		||||
    i(0),
 | 
			
		||||
  }),
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,39 @@
 | 
			
		|||
local ls = require("luasnip")
 | 
			
		||||
local s = ls.snippet
 | 
			
		||||
local i = ls.insert_node
 | 
			
		||||
local d = ls.dynamic_node
 | 
			
		||||
local sn = ls.snippet_node
 | 
			
		||||
local fmta = require("luasnip.extras.fmt").fmta
 | 
			
		||||
 | 
			
		||||
-- Taken from https://ejmastnak.com/tutorials/vim-latex/luasnip/#anatomy
 | 
			
		||||
local get_visual = function(_, parent)
 | 
			
		||||
  if #parent.snippet.env.LS_SELECT_RAW > 0 then
 | 
			
		||||
    return sn(nil, i(1, parent.snippet.env.LS_SELECT_RAW))
 | 
			
		||||
  else
 | 
			
		||||
    return sn(nil, i(1))
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
return {
 | 
			
		||||
  s(
 | 
			
		||||
    { trig = "^h", regTrig = true, dscr = "Markdown header" },
 | 
			
		||||
    fmta("# <><>", {
 | 
			
		||||
      d(1, get_visual),
 | 
			
		||||
      i(0),
 | 
			
		||||
    })
 | 
			
		||||
  ),
 | 
			
		||||
  s(
 | 
			
		||||
    { trig = "^sec", regTrig = true, dscr = "Markdown header" },
 | 
			
		||||
    fmta("## <><>", {
 | 
			
		||||
      d(1, get_visual),
 | 
			
		||||
      i(0),
 | 
			
		||||
    })
 | 
			
		||||
  ),
 | 
			
		||||
  s(
 | 
			
		||||
    { trig = "^ssec", regTrig = true, dscr = "Markdown header" },
 | 
			
		||||
    fmta("### <><>", {
 | 
			
		||||
      d(1, get_visual),
 | 
			
		||||
      i(0),
 | 
			
		||||
    })
 | 
			
		||||
  ),
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,30 @@
 | 
			
		|||
local ls = require("luasnip")
 | 
			
		||||
local s = ls.snippet
 | 
			
		||||
local t = ls.text_node
 | 
			
		||||
local i = ls.insert_node
 | 
			
		||||
 | 
			
		||||
-- TODO: extends html, javascript, css
 | 
			
		||||
 | 
			
		||||
return {
 | 
			
		||||
  s("oM", {
 | 
			
		||||
    t({ "onMount(() => {" }),
 | 
			
		||||
    i(0),
 | 
			
		||||
    t({ "})" }),
 | 
			
		||||
  }),
 | 
			
		||||
  s("oD", {
 | 
			
		||||
    t({ "onDestroy(() => {" }),
 | 
			
		||||
    i(0),
 | 
			
		||||
    t({ "})" }),
 | 
			
		||||
  }),
 | 
			
		||||
  s("preJsf", {
 | 
			
		||||
    t({ "<pre>" }),
 | 
			
		||||
    i(0),
 | 
			
		||||
    t({ "{JSON.stringify($0, 0, 2)}" }),
 | 
			
		||||
    t({ "</pre>" }),
 | 
			
		||||
  }),
 | 
			
		||||
  s(":g", {
 | 
			
		||||
    t({ ":global(" }),
 | 
			
		||||
    i(0),
 | 
			
		||||
    t({ ")" }),
 | 
			
		||||
  }),
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,2 @@
 | 
			
		|||
indent_type = "Spaces"
 | 
			
		||||
indent_width = 2
 | 
			
		||||
		Loading…
	
		Reference in New Issue