├── .luarc.json ├── LICENSE ├── README.md ├── init.lua ├── lazy-lock.json ├── lsp ├── css_ls.lua ├── lua_ls.lua ├── nil_ls.lua └── ts_ls.lua ├── lua └── zedd │ ├── core │ ├── keybinds │ │ ├── init.lua │ │ ├── keydump.lua │ │ └── keymap.lua │ ├── lsp.lua │ └── options.lua │ └── plugins │ ├── autopairs │ └── lazyspec.lua │ ├── cmp │ ├── lazyspec.lua │ ├── setup.lua │ ├── snippet.lua │ └── utils.lua │ ├── codeium │ ├── keymap.lua │ └── lazyspec.lua │ ├── colors │ ├── lazyspec.lua │ └── setup.lua │ ├── comments │ └── lazyspec.lua │ ├── cursor │ └── lazyspec.lua │ ├── gitconflict │ ├── lazyspec.lua │ └── setup.lua │ ├── gitsigns │ ├── lazyspec.lua │ └── setup.lua │ ├── golf │ └── lazyspec.lua │ ├── gruvbox │ ├── gruvbox │ │ ├── LICENSE │ │ ├── colors │ │ │ └── gruvbox.lua │ │ └── lua │ │ │ └── gruvbox │ │ │ ├── colors.lua │ │ │ ├── groups.lua │ │ │ └── init.lua │ └── lazyspec.lua │ ├── hardtime │ └── lazyspec.lua │ ├── indentmini │ └── lazyspec.lua │ ├── init.lua │ ├── lspkind │ └── lazyspec.lua │ ├── lspsaga │ ├── lazyspec.lua │ └── setup.lua │ ├── oil │ ├── lazyspec.lua │ └── setup.lua │ ├── screenkey │ ├── lazyspec.lua │ └── setup.lua │ ├── screenshot │ └── lazyspec.lua │ ├── telescope │ ├── lazyspec.lua │ └── setup.lua │ ├── test │ └── lazyspec.lua │ └── treesitter │ ├── command.lua │ ├── lazyspec.lua │ └── setup.lua ├── snippets ├── c.json ├── css.json ├── global.json ├── html.json ├── http.json ├── javascript │ ├── javascript.json │ ├── lynx.json │ ├── react.json │ └── typescript.json ├── lua.json ├── markdown.json └── tailwindcss.json └── start.log /.luarc.json: -------------------------------------------------------------------------------- 1 | { 2 | "diagnostics.globals": [ 3 | "vim", 4 | "awesome", 5 | "use", 6 | "client", 7 | "root", 8 | "s", 9 | "screen", 10 | "nmap", 11 | "imap", 12 | "vmap", 13 | "map", 14 | "short" 15 | ] 16 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2023 Zeddnyx 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Znvim 2 | fast as f*** 3 | 4 | ## Required installation 5 | 6 | #### Language Server 7 | ``` 8 | npm i -g typescript-language-server typescript vscode-langservers-extracted prettier lua-language-server 9 | ``` 10 | 11 | ## FYI 12 | type `:Keybinds` to see custome keybinds 13 | 14 | 15 | ## Troubleshoot 16 | 17 | ### E13: File Exist (add ! to ovveride) 18 | - run `echo (nvim --cmd 'echo stdpath("data")' --cmd 'q' | tail -n 1)` to known the path 19 | - then create a folder followed by the result above ex: `mkdir -p /home/jee/.local/share/nvim/backup` 20 | if it not work try ask me or search on your own or ask in comunity:) 21 | -------------------------------------------------------------------------------- /init.lua: -------------------------------------------------------------------------------- 1 | vim.g.mapleader = ' ' 2 | vim.g.maplocalleader = ' ' 3 | vim.g.netrw_banner = 0 -- hide banner :Ex 4 | 5 | vim.g.loaded_netrw = 1 -- Disable netrw 6 | vim.g.loaded_netrwPlugin = 1 7 | 8 | vim.g.loaded_tutor_mode = 1 -- Disable tutor 9 | vim.g.loaded_2html_plugin = 1 -- Disable tohtml.lua 10 | vim.g.loaded_tarPlugin = 1 -- Disable tarPlugin.vim 11 | vim.g.loaded_zipPlugin = 1 -- Disable zipPlugin.vim 12 | vim.g.loaded_gzip = 1 -- Disable gzip.vim 13 | vim.g.loaded_man = 1 -- Disable man.lua 14 | 15 | -- vim.cmd.colorscheme("habamax") 16 | 17 | require("zedd.core.lsp") 18 | require("zedd.core.options") 19 | require("zedd.core.keybinds") 20 | require("zedd.core.keybinds.keydump") 21 | require("zedd.plugins") 22 | -------------------------------------------------------------------------------- /lazy-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" }, 3 | "cmp-path": { "branch": "main", "commit": "c6635aae33a50d6010bf1aa756ac2398a2d54c32" }, 4 | "cmp-vsnip": { "branch": "main", "commit": "989a8a73c44e926199bfd05fa7a516d51f2d2752" }, 5 | "codeium.vim": { "branch": "main", "commit": "289eb724e5d6fab2263e94a1ad6e54afebefafb2" }, 6 | "git-conflict.nvim": { "branch": "main", "commit": "4bbfdd92d547d2862a75b4e80afaf30e73f7bbb4" }, 7 | "gitsigns.nvim": { "branch": "main", "commit": "ee0606259ee5d5dd40398be26755048e8965086e" }, 8 | "golf": { "branch": "main", "commit": "abf1bc0c1c4a5482b4a4b36b950b49aaa0f39e69" }, 9 | "goshot.nvim": { "branch": "main", "commit": "280304fee2da4fcfe0351ea85837085c46e3d55f" }, 10 | "hardtime.nvim": { "branch": "main", "commit": "be3329939c14fc8a7e948eb963f632581a27ad2d" }, 11 | "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, 12 | "lspkind.nvim": { "branch": "master", "commit": "d79a1c3299ad0ef94e255d045bed9fa26025dab6" }, 13 | "lspsaga.nvim": { "branch": "main", "commit": "920b1253e1a26732e53fac78412f6da7f674671d" }, 14 | "none-ls.nvim": { "branch": "main", "commit": "90e4a27ccaa25979a6b732b9f06dfa43b54957b7" }, 15 | "nui.nvim": { "branch": "main", "commit": "f535005e6ad1016383f24e39559833759453564e" }, 16 | "nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" }, 17 | "nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" }, 18 | "nvim-highlight-colors": { "branch": "main", "commit": "b42a5ccec7457b44e89f7ed3b3afb1b375bb2093" }, 19 | "nvim-lspconfig": { "branch": "master", "commit": "ac1dfbe3b60e5e23a2cff90e3bd6a3bc88031a57" }, 20 | "nvim-treesitter": { "branch": "master", "commit": "066fd6505377e3fd4aa219e61ce94c2b8bdb0b79" }, 21 | "oil.nvim": { "branch": "master", "commit": "685cdb4ffa74473d75a1b97451f8654ceeab0f4a" }, 22 | "playground": { "branch": "master", "commit": "ba48c6a62a280eefb7c85725b0915e021a1a0749" }, 23 | "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, 24 | "showkeys": { "branch": "main", "commit": "8daf5abb5fece0c9e1fa2c5679aaf226a80f5c38" }, 25 | "smear-cursor.nvim": { "branch": "main", "commit": "162703638203060b1d3412e73429d232bbd2627e" }, 26 | "telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" }, 27 | "ts-comments.nvim": { "branch": "main", "commit": "1bd9d0ba1d8b336c3db50692ffd0955fe1bb9f0c" }, 28 | "vim-test": { "branch": "master", "commit": "b0c3e13249699a522c8b472ff79eff40d2935476" }, 29 | "vim-vsnip": { "branch": "master", "commit": "0a4b8419e44f47c57eec4c90df17567ad4b1b36e" } 30 | } 31 | -------------------------------------------------------------------------------- /lsp/css_ls.lua: -------------------------------------------------------------------------------- 1 | return { 2 | cmd = { "vscode-css-language-server", "--stdio" }, 3 | filetypes = { "css", "scss", "less" }, 4 | settings = { 5 | css = { 6 | validate = true, 7 | lint = { 8 | unknownAtRules = "ignore", -- hide unknownAtRules warning in tailwind css 9 | }, 10 | }, 11 | scss = { 12 | validate = true, 13 | lint = { 14 | unknownAtRules = "ignore", 15 | } 16 | }, 17 | less = { 18 | validate = true, 19 | lint = { 20 | unknownAtRules = "ignore", 21 | } 22 | }, 23 | }, 24 | } 25 | -------------------------------------------------------------------------------- /lsp/lua_ls.lua: -------------------------------------------------------------------------------- 1 | return { 2 | cmd = { 3 | "lua-language-server", 4 | }, 5 | filetypes = { 6 | "lua", 7 | }, 8 | root_markers = { 9 | ".git", 10 | ".luacheckrc", 11 | ".luarc.json", 12 | ".luarc.jsonc", 13 | ".stylua.toml", 14 | "selene.toml", 15 | "selene.yml", 16 | "stylua.toml", 17 | }, 18 | -- settings = { 19 | -- Lua = { 20 | -- diagnostics = { 21 | -- -- disable = { "missing-parameters", "missing-fields" }, 22 | -- }, 23 | -- }, 24 | -- }, 25 | 26 | single_file_support = true, 27 | log_level = vim.lsp.protocol.MessageType.Warning, 28 | } 29 | -------------------------------------------------------------------------------- /lsp/nil_ls.lua: -------------------------------------------------------------------------------- 1 | return { 2 | cmd = { "nil", "--stdio" }, 3 | filetypes = { "nix" }, 4 | settings = { 5 | ["nil"] = { 6 | formatting = { 7 | command = { "alejandra" }, 8 | }, 9 | }, 10 | }, 11 | } 12 | -------------------------------------------------------------------------------- /lsp/ts_ls.lua: -------------------------------------------------------------------------------- 1 | return { 2 | cmd = { "typescript-language-server", "--stdio" }, 3 | filetypes = { "typescript", "javascript", "typescriptreact" }, 4 | handlers = { 5 | ["workspace/applyEdit"] = function() 6 | return { applied = false } 7 | end, 8 | }, 9 | } 10 | -------------------------------------------------------------------------------- /lua/zedd/core/keybinds/init.lua: -------------------------------------------------------------------------------- 1 | local map = require("zedd.core.keybinds.keymap") 2 | local nmap = map.nmap 3 | local imap = map.imap 4 | local vmap = map.vmap 5 | 6 | -- Buffer 7 | nmap("", "bd") -- close 8 | nmap("", "o%bd|e#") -- close all 9 | nmap("", "b#") 10 | 11 | -- LSP 12 | nmap("", "Lspsaga rename") 13 | nmap("", "Lspsaga hover_doc") 14 | nmap("", "Lspsaga goto_definition") 15 | nmap("", "lua vim.diagnostic.setloclist()") 16 | nmap("", "lua vim.diagnostic.goto_next()") 17 | nmap("", "lua vim.diagnostic.goto_prev()") 18 | 19 | -- Folding 20 | nmap("ft", "vatzf") 21 | nmap("ff", "vaBzf") 22 | nmap("fo", "zo") 23 | 24 | -- File manager 25 | nmap("e", "Oil") 26 | 27 | -- Telescope 28 | nmap("fo", "Telescope oldfiles") 29 | nmap("ff", "Telescope find_files") 30 | nmap("lg", "Telescope live_grep") 31 | nmap("fd", "Telescope diagnostics") 32 | nmap("", "Telescope buffers") 33 | 34 | -- Custome 35 | imap("", "${}") 36 | imap("<", "<>") 37 | vmap("", ":m '>+1gv=gv") 38 | vmap("", ":m '<-2gv=gv") 39 | nmap("ww", "w") 40 | nmap("wa", "wa") 41 | nmap("r", "") 42 | nmap("a", "ggG") 43 | nmap("", ":noh") 44 | 45 | -- Replace 46 | nmap("n", [[:%s/\d\+/number/g]]) -- 2 -> number 47 | nmap("s", [[:%s/"[^"]*"/string/g]]) -- "hello" -> string 48 | nmap("m", [[:%s/\v(true|false)/boolean/g]]) -- true -> boolean 49 | nmap("/", [[:%s//]]) 50 | 51 | -- Git 52 | nmap("gd", "Gitsign toggle_deleted") 53 | nmap("gcl", "Gitsign toggle_current_line_blame") 54 | nmap("gbl", "Gitsign blame_line") 55 | nmap("c0", "GitConflictChooseNone") 56 | nmap("cb", "GitConflictChooseBoth") 57 | nmap("co", "GitConflictChooseOurs") 58 | nmap("ct", "GitConflictChooseTheirs") 59 | nmap("cn", "GitConflictNextConflict") 60 | nmap("cp", "GitConflictPrevConflict") 61 | nmap("cl", "GitConflictListQf") 62 | 63 | -- Disable 64 | nmap("", "") 65 | nmap("", "") 66 | nmap("", "") 67 | nmap("", "") 68 | nmap("", "") 69 | -------------------------------------------------------------------------------- /lua/zedd/core/keybinds/keydump.lua: -------------------------------------------------------------------------------- 1 | local M = {} 2 | 3 | function M.dump() 4 | local lines = {} 5 | for _, map in ipairs(_G.my_keymaps) do 6 | table.insert(lines, string.format("[%s] %-15s → %s", map.mode, map.lhs, map.rhs)) 7 | end 8 | table.sort(lines) 9 | 10 | vim.cmd("new") 11 | local buf = vim.api.nvim_get_current_buf() 12 | vim.api.nvim_buf_set_lines(buf, 0, -1, false, lines) 13 | 14 | vim.bo[buf].buftype = "nofile" 15 | vim.bo[buf].bufhidden = "wipe" 16 | vim.bo[buf].swapfile = false 17 | vim.bo[buf].modifiable = false 18 | vim.bo[buf].readonly = true 19 | end 20 | 21 | vim.api.nvim_create_user_command("Keybinds", M.dump, {}) 22 | 23 | return M 24 | -------------------------------------------------------------------------------- /lua/zedd/core/keybinds/keymap.lua: -------------------------------------------------------------------------------- 1 | local M = {} 2 | 3 | _G.my_keymaps = {} 4 | 5 | function M.map(mode, shortcut, command) 6 | if type(command) == "string" then 7 | vim.api.nvim_set_keymap(mode, shortcut, command, { noremap = true, silent = true }) 8 | table.insert(_G.my_keymaps, { mode = mode, lhs = shortcut, rhs = command }) 9 | else 10 | print("Error: Command must be a string") 11 | end 12 | end 13 | 14 | function M.short(mode, shortcut, command) 15 | vim.api.nvim_set_keymap(mode, shortcut, command, { noremap = true, silent = false }) 16 | end 17 | 18 | function M.nmap(shortcut, command) M.map("n", shortcut, command) end 19 | function M.imap(shortcut, command) M.map("i", shortcut, command) end 20 | function M.vmap(shortcut, command) M.map("v", shortcut, command) end 21 | 22 | return M 23 | -------------------------------------------------------------------------------- /lua/zedd/core/lsp.lua: -------------------------------------------------------------------------------- 1 | local keymap = vim.keymap 2 | 3 | vim.lsp.enable({ 4 | "ts_ls", 5 | "lua_ls", 6 | "css_ls", 7 | "nil_ls", 8 | }) 9 | vim.lsp.config("*", { 10 | root_markers = { ".git" }, 11 | capabilities = { 12 | textDocument = { 13 | semanticTokens = { 14 | multilineTokenSupport = true, 15 | }, 16 | }, 17 | }, 18 | }) 19 | vim.diagnostic.config({ 20 | virtual_lines = true, 21 | virtual_text = false, 22 | underline = false, 23 | update_in_insert = false, 24 | severity_sort = true, 25 | float = { 26 | source = "if_many", 27 | }, 28 | }) 29 | 30 | local format = function() 31 | vim.lsp.buf.format({ async = true }) 32 | end 33 | 34 | vim.api.nvim_create_autocmd("BufWritePre", { 35 | pattern = "*.nix", 36 | callback = function() 37 | vim.lsp.buf.format() 38 | end, 39 | }) 40 | 41 | keymap.set("n", "", format, { desc = "LSP: Formats the current buffer" }) 42 | -------------------------------------------------------------------------------- /lua/zedd/core/options.lua: -------------------------------------------------------------------------------- 1 | vim.scriptencoding = "utf-8" 2 | vim.opt.encoding = "utf-8" 3 | vim.opt.fileencoding = "utf-8" 4 | vim.opt.backup = true 5 | vim.opt.backupdir = vim.fn.stdpath("data") .. "/backup" 6 | 7 | vim.opt.wrap = false 8 | vim.opt.number = true 9 | vim.opt.relativenumber = true 10 | vim.opt.showmode = false -- show insert, visual or normal mode 11 | vim.opt.hlsearch = true -- highlight when match search words 12 | vim.opt.showcmd = true 13 | vim.opt.cmdheight = 2 -- height of laststatus at the bottom 14 | vim.opt.laststatus = 1 -- show where are you in at the bottom 15 | vim.opt.statusline = "%{expand('%:~:.')}" 16 | vim.opt.clipboard = "unnamedplus" -- copy from nvim to clipboard 17 | vim.opt.scrolloff = 10 18 | vim.opt.foldlevelstart = 99 19 | 20 | vim.opt.mouse = "a" 21 | vim.opt.shell = "fish" 22 | vim.opt.swapfile = false 23 | vim.opt.list = true 24 | vim.o.foldtext = "v:lua.fold_text()" 25 | vim.opt.fillchars:append({ 26 | eob = " ", 27 | }) 28 | vim.opt.listchars = { 29 | tab = " ", 30 | space = " ", 31 | } 32 | vim.opt.undofile = true 33 | vim.opt.undodir = vim.fn.stdpath("data") .. "/undo" 34 | 35 | vim.opt.expandtab = true 36 | vim.opt.smarttab = true 37 | vim.opt.shiftwidth = 2 38 | vim.opt.tabstop = 2 39 | vim.opt.softtabstop = 2 40 | vim.opt.autoindent = true 41 | vim.opt.smartindent = true 42 | vim.opt.breakindent = true 43 | vim.opt.backspace = "start,eol,indent" 44 | 45 | -- highlight cursorline 46 | vim.opt.cursorline = true -- cursorline will be highlight 47 | -- vim.opt.cursorlineopt = "number" -- only number will be highlight 48 | vim.opt.termguicolors = true 49 | vim.opt.winblend = 5 50 | vim.opt.wildoptions = "pum" 51 | vim.opt.pumblend = 5 52 | vim.opt.background = "dark" 53 | -- vim.opt.signcolumn = "no" 54 | 55 | function fold_text() 56 | local line = vim.fn.getline(vim.v.foldstart) 57 | local line_text = string.gsub(line, '^"{\\+', "") 58 | return line_text 59 | end 60 | -------------------------------------------------------------------------------- /lua/zedd/plugins/autopairs/lazyspec.lua: -------------------------------------------------------------------------------- 1 | return { 2 | "windwp/nvim-autopairs", 3 | event = "InsertEnter", 4 | config = function() 5 | require("nvim-autopairs").setup({}) 6 | end, 7 | } 8 | -------------------------------------------------------------------------------- /lua/zedd/plugins/cmp/lazyspec.lua: -------------------------------------------------------------------------------- 1 | return { 2 | "hrsh7th/nvim-cmp", 3 | event = "InsertEnter", 4 | dependencies = { 5 | "hrsh7th/cmp-nvim-lsp", 6 | "hrsh7th/cmp-path", 7 | { 8 | "hrsh7th/cmp-vsnip", 9 | dependencies = "hrsh7th/vim-vsnip", 10 | config = function() 11 | require("zedd.plugins.cmp.snippet") 12 | end, 13 | }, 14 | }, 15 | config = function() 16 | require("zedd.plugins.cmp.setup") 17 | end, 18 | } 19 | -------------------------------------------------------------------------------- /lua/zedd/plugins/cmp/setup.lua: -------------------------------------------------------------------------------- 1 | -- Require necessary modules 2 | local cmp = require("cmp") 3 | local utils = require("zedd.plugins.cmp.utils") 4 | 5 | -- Setup the completion engine 6 | cmp.setup({ 7 | snippet = { 8 | expand = function(args) 9 | vim.fn["vsnip#anonymous"](args.body) 10 | end, 11 | }, 12 | completion = { 13 | autocomplete = { cmp.TriggerEvent.TextChanged }, 14 | }, 15 | window = { 16 | completion = cmp.config.window.bordered(utils.window()), 17 | documentation = cmp.config.window.bordered(utils.window()), 18 | }, 19 | sources = { 20 | { name = "nvim_lsp" }, 21 | { name = "path" }, 22 | { name = "vsnip" }, 23 | { name = "nvim_lua" }, 24 | { 25 | name = "buffer", 26 | option = { 27 | get_bufnrs = function() 28 | local bufs = {} 29 | for _, buf in ipairs(vim.api.nvim_list_bufs()) do 30 | local byte_size = vim.api.nvim_buf_get_offset(buf, vim.api.nvim_buf_line_count(buf)) 31 | if byte_size <= 1024 * 1024 then 32 | bufs[buf] = true 33 | end 34 | end 35 | return vim.tbl_keys(bufs) 36 | end, 37 | }, 38 | }, 39 | }, 40 | mapping = { 41 | [""] = cmp.mapping(function(fallback) 42 | if cmp.visible() then 43 | cmp.select_next_item() 44 | elseif vim.fn["vsnip#available"](1) == 1 then 45 | utils.feedkeys("(vsnip-expand-or-jump)", "") 46 | elseif utils.has_words_before() then 47 | cmp.complete() 48 | else 49 | fallback() 50 | end 51 | end, { "i", "s" }), 52 | [""] = cmp.mapping(function(fallback) 53 | if cmp.visible() then 54 | cmp.select_prev_item() 55 | elseif vim.fn["vsnip#available"](-1) == 1 then 56 | utils.feedkeys("(vsnip-jump-prev)", "") 57 | else 58 | fallback() 59 | end 60 | end, { "i", "s" }), 61 | [""] = cmp.mapping(function(fallback) 62 | if cmp.visible() then 63 | cmp.select_next_item() 64 | elseif vim.fn["vsnip#available"](1) == 1 then 65 | utils.feedkeys("(vsnip-jump-next)", "") 66 | else 67 | fallback() 68 | end 69 | end, { "i", "s" }), 70 | [""] = cmp.mapping(cmp.mapping.complete(), { "i", "c" }), 71 | [""] = cmp.mapping.close(), 72 | [""] = cmp.mapping.confirm({ 73 | behavior = cmp.ConfirmBehavior.Replace, 74 | select = true, 75 | }), 76 | }, 77 | }) 78 | -------------------------------------------------------------------------------- /lua/zedd/plugins/cmp/snippet.lua: -------------------------------------------------------------------------------- 1 | vim.g.vsnip_snippet_dir = vim.fn.stdpath("config") .. "/snippets" 2 | vim.g.vsnip_filetypes = { 3 | javascriptreact = { 4 | "javascript/react", 5 | "javascript/javascript", 6 | "tailwindcss", 7 | "html", 8 | }, 9 | typescriptreact = { 10 | "javascript/react", 11 | "javascript/javascript", 12 | "javascript/typescript", 13 | "tailwindcss", 14 | "html", 15 | }, 16 | javascript = { "javascript/javascript" }, 17 | typescript = { "javascript/typescript" }, 18 | css = { "tailwindcss" }, 19 | html = { "angular/html" }, 20 | http = { "http" }, 21 | c = { "c" }, 22 | } 23 | -------------------------------------------------------------------------------- /lua/zedd/plugins/cmp/utils.lua: -------------------------------------------------------------------------------- 1 | local M = {} 2 | 3 | vim.api.nvim_set_hl(0, "MENU", { bg = "#1D2021", fg = "#DBCCA7" }) 4 | vim.api.nvim_set_hl(0, "SELECT", { bg = "#8ec07c", fg = "#1D2021" }) 5 | vim.api.nvim_set_hl(0, "BORDER", { fg = "#8ec07c" }) 6 | 7 | M.has_words_before = function() 8 | unpack = unpack or table.unpack 9 | local line, col = unpack(vim.api.nvim_win_get_cursor(0)) 10 | return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil 11 | end 12 | 13 | M.feedkeys = function(key, mode) 14 | vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes(key, true, true, true), mode, true) 15 | end 16 | 17 | M.window = function() 18 | return { 19 | border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" }, 20 | winhighlight = "Normal:MENU,FloatBorder:BORDER,CursorLine:SELECT,Search:MENU", 21 | } 22 | end 23 | 24 | return M 25 | -------------------------------------------------------------------------------- /lua/zedd/plugins/codeium/keymap.lua: -------------------------------------------------------------------------------- 1 | local keymap = vim.keymap 2 | 3 | local accept = function() 4 | return vim.fn["codeium#Accept"]() 5 | end 6 | local clear = function() 7 | return vim.fn["codeium#Clear"]() 8 | end 9 | 10 | keymap.set("i", "", accept, { expr = true, silent = true }) 11 | keymap.set("i", "", clear, { expr = true }) 12 | -------------------------------------------------------------------------------- /lua/zedd/plugins/codeium/lazyspec.lua: -------------------------------------------------------------------------------- 1 | return { 2 | "Exafunction/codeium.vim", 3 | cmd = { "CodeiumEnable", "CodeiumDisable", "CodeiumToggle" }, 4 | version = "1.8.37", 5 | config = function() 6 | require("zedd.plugins.codeium.keymap") 7 | end, 8 | } 9 | -------------------------------------------------------------------------------- /lua/zedd/plugins/colors/lazyspec.lua: -------------------------------------------------------------------------------- 1 | return { 2 | "brenoprata10/nvim-highlight-colors", 3 | lazy = true, 4 | event = "BufRead", 5 | config = function() 6 | require("zedd.plugins.colors.setup") 7 | end, 8 | } 9 | -------------------------------------------------------------------------------- /lua/zedd/plugins/colors/setup.lua: -------------------------------------------------------------------------------- 1 | require("nvim-highlight-colors").setup({ 2 | ---@usage 'background'|'foreground'|'virtual' 3 | render = "background", 4 | virtual_symbol = "■", 5 | enable_tailwind = true, 6 | }) 7 | -------------------------------------------------------------------------------- /lua/zedd/plugins/comments/lazyspec.lua: -------------------------------------------------------------------------------- 1 | return { 2 | "folke/ts-comments.nvim", 3 | opts = {}, 4 | lazy = true, 5 | event = "BufReadPost", 6 | enabled = vim.fn.has("nvim-0.10.0") == 1, 7 | } 8 | -------------------------------------------------------------------------------- /lua/zedd/plugins/cursor/lazyspec.lua: -------------------------------------------------------------------------------- 1 | return { 2 | "sphamba/smear-cursor.nvim", 3 | event = "BufReadPost", 4 | cond = vim.g.neovide == nil, 5 | opts = { 6 | hide_target_hack = true, 7 | cursor_color = "none", 8 | }, 9 | specs = { 10 | -- disable mini.animate cursor 11 | { 12 | "echasnovski/mini.animate", 13 | optional = true, 14 | opts = { 15 | cursor = { enable = false }, 16 | }, 17 | }, 18 | }, 19 | } 20 | -------------------------------------------------------------------------------- /lua/zedd/plugins/gitconflict/lazyspec.lua: -------------------------------------------------------------------------------- 1 | return { "akinsho/git-conflict.nvim", event = "BufRead", version = "*", config = true } 2 | -------------------------------------------------------------------------------- /lua/zedd/plugins/gitconflict/setup.lua: -------------------------------------------------------------------------------- 1 | require("git-conflict").setup({ 2 | default_commands = true, -- disable commands created by this plugin 3 | disable_diagnostics = false, -- This will disable the diagnostics in a buffer whilst it is conflicted 4 | list_opener = "copen", -- command or function to open the conflicts list 5 | highlights = { -- They must have background color, otherwise the default color will be used 6 | incoming = "DiffAdd", 7 | current = "DiffText", 8 | }, 9 | default_mappings = { 10 | ours = "o", 11 | theirs = "t", 12 | none = "0", 13 | both = "b", 14 | next = "n", 15 | prev = "p", 16 | }, 17 | }) 18 | -------------------------------------------------------------------------------- /lua/zedd/plugins/gitsigns/lazyspec.lua: -------------------------------------------------------------------------------- 1 | return { 2 | "lewis6991/gitsigns.nvim", 3 | enabled = vim.fn.executable("git") == 1, 4 | ft = "gitcommit", 5 | lazy = true, 6 | event = "BufRead", 7 | config = function() 8 | require("zedd.plugins.gitsigns.setup") 9 | end, 10 | } 11 | -------------------------------------------------------------------------------- /lua/zedd/plugins/gitsigns/setup.lua: -------------------------------------------------------------------------------- 1 | require("gitsigns").setup({ 2 | signs = { 3 | add = { text = "┃" }, 4 | change = { text = "┃" }, 5 | delete = { text = "_" }, 6 | topdelete = { text = "‾" }, 7 | changedelete = { text = "~" }, 8 | untracked = { text = "┆" }, 9 | }, 10 | signcolumn = false, 11 | numhl = true, 12 | linehl = false, 13 | word_diff = false, 14 | watch_gitdir = { 15 | follow_files = true, 16 | }, 17 | auto_attach = true, 18 | attach_to_untracked = false, 19 | current_line_blame = false, 20 | current_line_blame_opts = { 21 | virt_text = true, 22 | virt_text_pos = "eol", -- 'eol' | 'overlay' | 'right_align' 23 | delay = 1000, 24 | ignore_whitespace = false, 25 | virt_text_priority = 100, 26 | }, 27 | current_line_blame_formatter = ", - ", 28 | sign_priority = 6, 29 | update_debounce = 300, 30 | status_formatter = nil, 31 | max_file_length = 40000, 32 | preview_config = { 33 | border = "single", 34 | style = "minimal", 35 | relative = "cursor", 36 | row = 0, 37 | col = 1, 38 | }, 39 | }) 40 | -------------------------------------------------------------------------------- /lua/zedd/plugins/golf/lazyspec.lua: -------------------------------------------------------------------------------- 1 | return { "vuciv/golf", cmd = { "Golf", "GolfToday" } } 2 | -------------------------------------------------------------------------------- /lua/zedd/plugins/gruvbox/gruvbox/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 M. Nabil Adani 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /lua/zedd/plugins/gruvbox/gruvbox/colors/gruvbox.lua: -------------------------------------------------------------------------------- 1 | require("gruvbox").load() 2 | -------------------------------------------------------------------------------- /lua/zedd/plugins/gruvbox/gruvbox/lua/gruvbox/colors.lua: -------------------------------------------------------------------------------- 1 | local M = { 2 | -- transparent 3 | transparent = "#ffffff0", 4 | -- dark 5 | dark0 = "#282828", 6 | dark1 = "#3c3836", 7 | dark2 = "#504945", 8 | dark3 = "#665c54", 9 | -- light 10 | light0 = "#ebdbb2", 11 | light1 = "#d5c4a1", 12 | light2 = "#bdae93", 13 | light3 = "#a89984", 14 | -- normal color 15 | red = "#F44A30", 16 | green = "#98971a", 17 | yellow = "#D69820", 18 | blue = "#83A598", 19 | cyan = "#3AAAB6", 20 | purple = "#b16286", 21 | aqua = "#427b58", 22 | gray = "#928374", 23 | orange = "#fe8019", 24 | -- bright color 25 | bright_red = "#fb4934", 26 | bright_green = "#b8bb26", 27 | bright_yellow = "#fabd2f", 28 | bright_blue = "#83a598", 29 | bright_purple = "#d3869b", 30 | bright_aqua = "#8ec07c", 31 | bright_gray = "#a89984", 32 | bright_orange = "#fe8019", 33 | -- dark color 34 | dark_red = "#9d0006", 35 | } 36 | return M 37 | -------------------------------------------------------------------------------- /lua/zedd/plugins/gruvbox/gruvbox/lua/gruvbox/groups.lua: -------------------------------------------------------------------------------- 1 | local c = require("gruvbox.colors") 2 | 3 | local M = { 4 | --See :h highlight-groups 5 | ColorColumn = { fg = c.light0 }, 6 | Conceal = { fg = c.blue }, 7 | CurSearch = { bg = c.bright_aqua, fg = c.dark0 }, 8 | Cursor = { bg = c.blue, fg = c.dark0 }, 9 | ICursor = { link = "Cursor" }, 10 | CursorIM = { link = "Cursor" }, 11 | CursorColumn = { bg = c.dark1 }, 12 | CursorLine = { link = "CursorColumn" }, 13 | Directory = { fg = c.bright_green, bold = true }, 14 | DiffAdd = { fg = c.bright_green, bold = true }, 15 | DiffChange = { fg = c.cyan, bold = true }, 16 | DiffDelete = { fg = c.red, bold = true }, 17 | DiffText = { fg = c.yellow, bold = true }, 18 | DiffUnstaged = { fg = c.yellow, bold = true }, 19 | EndOfBuffer = { link = "ColorColumn" }, 20 | TermCursor = { link = "Cursor" }, 21 | TermCursorNC = { link = "TermCursor" }, 22 | ErrorMsg = { bg = c.red, fg = c.dark0 }, 23 | WinSeparator = { fg = c.light0 }, 24 | Folded = { fg = c.dark3 }, 25 | FoldedColumn = { link = "Folded" }, 26 | SignColumn = { fg = c.dark3 }, 27 | IncSearch = { link = "CurSearch" }, 28 | Substitute = { link = "IncSearch" }, 29 | LineNr = { link = "SignColumn" }, 30 | LineNrAbove = { link = "SignColumn" }, 31 | LineNrBelow = { link = "SignColumn" }, 32 | CursorLineNr = { link = "CursorLine" }, 33 | CursorLineFold = { link = "SignColumn" }, 34 | CursorLineSign = { link = "SignColumn" }, 35 | MatchParen = { bg = c.dark1 }, 36 | ModeMsg = { fg = c.light0 }, 37 | MsgArea = { fg = c.light0 }, 38 | MsgSeparator = { fg = c.light1 }, 39 | MoreMsg = { fg = c.light1 }, 40 | NonText = { fg = c.light1 }, 41 | Normal = { bg = c.dark0, fg = c.light0 }, 42 | NormalFloat = { link = "Normal" }, 43 | FloatBorder = { fg = c.light0 }, 44 | FloatTitle = { fg = c.light0, bold = true }, 45 | NormalNC = { link = "Normal" }, 46 | Pmenu = { bg = c.dark0 }, 47 | PmenuSel = { bg = c.light0, fg = c.dark0 }, 48 | PmenuKind = { link = "Pmenu" }, 49 | PmenuKindSel = { link = "PmenuSel" }, 50 | PmenuExtra = { link = "Pmenu" }, 51 | PmenuExtraSel = { link = "PmenuSel" }, 52 | PmenuSbar = { link = "Normal" }, 53 | PmenuThumb = { link = "PmenuSel" }, 54 | Question = { link = "Normal" }, 55 | QuickFixLine = { fg = c.yellow, reverse = true }, 56 | Search = { link = "IncSearch" }, 57 | SpecialKey = { fg = c.purple }, 58 | SpellBad = { fg = c.light0, undercurl = true, bold = true }, 59 | SpellCap = { link = "SpellBad" }, 60 | SpellLocal = { link = "SpellBad" }, 61 | SpellRare = { link = "SpellBad" }, 62 | StatusLine = { bg = c.dark0, fg = c.bright_aqua }, 63 | StatusLineNC = { bg = "NONE" }, 64 | TabLine = { bg = c.dark0, fg = c.light0 }, 65 | TabLineFill = { link = "TabLine" }, 66 | TabLineSel = { bg = c.dark1 }, 67 | Title = { bold = true }, 68 | Visual = { bg = c.blue, fg = c.dark0 }, 69 | VisualNOS = { bg = c.dark1 }, 70 | WarningMsg = { fg = c.yellow }, 71 | Whitespace = { fg = c.dark1 }, 72 | WildMenu = { bg = c.dark1, fg = c.light0 }, 73 | WinBar = { bg = c.dark0, fg = c.light0 }, 74 | WinBarNC = { link = "WinBar" }, 75 | -- 76 | --See :h group-name 77 | Comment = { fg = c.gray }, 78 | Constant = { fg = c.purple }, 79 | String = { fg = c.bright_green }, 80 | Character = { fg = c.purple }, 81 | Number = { fg = c.purple }, 82 | Boolean = { fg = c.purple }, 83 | Float = { fg = c.purple }, 84 | Identifier = { fg = c.blue }, 85 | Function = { fg = c.bright_green, bold = true }, 86 | Statement = { fg = c.red }, 87 | Conditional = { fg = c.blue }, 88 | Repeat = { fg = c.red }, 89 | Label = { fg = c.red }, 90 | Operator = { fg = c.bright_red }, 91 | Keyword = { fg = c.red }, 92 | KeywordImport = { fg = c.bright_aqua }, 93 | KeywordFunction = { fg = c.red }, 94 | KeywordConditionalTernary = { fg = c.red }, 95 | Exception = { fg = c.purple }, 96 | PreProc = { fg = c.bright_green }, 97 | Include = { fg = c.bright_aqua }, -- import text color 98 | Define = { fg = c.bright_green }, 99 | Macro = { fg = c.bright_green }, 100 | PreCondit = { fg = c.bright_green }, 101 | Type = { fg = c.bright_yellow }, 102 | StorageClass = { fg = c.orange }, 103 | Structure = { fg = c.bright_yellow }, 104 | TypeDef = { fg = c.yellow }, 105 | Special = { fg = c.orange }, 106 | SpecialChar = { fg = c.purple }, 107 | SpecialComment = { fg = c.red }, 108 | Debug = { fg = c.red }, 109 | Underline = { underline = true }, 110 | Error = { fg = c.dark0, bg = c.red, bold = true }, 111 | Todo = { fg = c.dark0, bg = c.light0, bold = true }, 112 | Note = { fg = c.dark0, bg = c.bright_yellow, bold = true }, 113 | OnProgress = { fg = c.dark0, bg = c.light0, bold = true }, 114 | Underlined = { fg = c.bright_aqua, underline = true }, -- text link html 115 | Attribute = { fg = c.bright_blue }, -- attribute html 116 | Tag = { fg = c.orange }, -- tag html 117 | TagBuiltin = { fg = c.orange }, -- tag html 118 | 119 | --See :h html 120 | htmlTag = { fg = c.bright_red }, 121 | htmlEndTag = { fg = c.bright_aqua }, 122 | htmlString = { fg = c.bright_green }, 123 | htmlLink = { fg = c.bright_aqua }, 124 | tsxTag = { fg = c.bright_yellow }, 125 | tsxTagName = { fg = c.bright_yellow }, 126 | 127 | -- typescript 128 | typescriptImportType = { fg = c.red }, 129 | typescriptFuncCallArg = { fg = c.blue }, 130 | typescriptArrayDestructure = { fg = c.blue }, 131 | typescriptDescriptureVariable = { fg = c.blue }, 132 | 133 | -- 134 | --See :h lsp-highlight 135 | --LspReferenceText={}, 136 | --LspReferenceRead={}, 137 | --LspReferenceWrite={}, 138 | -- 139 | --See :h diagnostic-highlights 140 | DiagnosticError = { fg = c.bright_red }, 141 | DiagnosticWarn = { fg = c.yellow }, 142 | DiagnosticInfo = { fg = c.blue }, 143 | DiagnosticHint = { fg = c.bright_aqua }, 144 | DiagnosticSignError = { fg = c.bright_red, bg = c.bright_red }, 145 | DiagnosticSignWarn = { fg = c.yellow, bg = c.yellow }, 146 | DiagnosticSignInfo = { fg = c.blue, bg = c.blue }, 147 | DiagnosticSignHint = { fg = c.aqua, bg = c.aqua }, 148 | DiagnosticVirtualTextError = { fg = c.red, bg = c.red }, 149 | DiagnosticVirtualTextWarn = { fg = c.yellow, bg = c.yellow }, 150 | DiagnosticVirtualTextInfo = { fg = c.blue, bg = c.blue }, 151 | DiagnosticVirtualTextHint = { fg = c.aqua, bg = c.aqua }, 152 | DiagnosticLineNrError = { fg = c.bright_red, bg = c.bright_red }, 153 | DiagnosticLineNrWarn = { fg = c.yellow, bg = c.yellow }, 154 | DiagnosticLineNrInfo = { fg = c.blue, bg = c.blue }, 155 | DiagnosticLineNrHint = { fg = c.aqua, bg = c.aqua }, 156 | -- 157 | --See :h treesitter-highlight-groups 158 | ["@text.literal"] = { link = "Comment" }, 159 | ["@text.reference"] = { link = "Identifier" }, 160 | ["@text.title"] = { link = "Title" }, 161 | ["@text.uri"] = { link = "Underlined", fg = c.bright_aqua }, 162 | ["@text.underline"] = { link = "Underlined", fg = c.bright_aqua }, 163 | ["@comment.error"] = { link = "Error" }, 164 | ["@comment.note"] = { link = "Note" }, 165 | ["@text.onprogress"] = { link = "OnProgress" }, 166 | ["@text.todo"] = { link = "Todo" }, 167 | ["@comment"] = { link = "Comment" }, 168 | ["@punctuation"] = { link = "Delimiter" }, 169 | ["@punctuation.bracket"] = { link = "Delimiter" }, 170 | ["@constant"] = { link = "Constant" }, 171 | ["@constant.builtin"] = { link = "Special" }, 172 | ["@constant.macro"] = { link = "Define" }, 173 | ["@define"] = { link = "Define" }, 174 | ["@macro"] = { link = "Macro" }, 175 | ["@string"] = { link = "String" }, 176 | ["@string.escape"] = { link = "SpecialChar" }, 177 | ["@string.special"] = { link = "SpecialChar" }, 178 | ["@character"] = { link = "Character" }, 179 | ["@character.special"] = { link = "SpecialChar" }, 180 | ["@number"] = { link = "Number" }, 181 | ["@boolean"] = { link = "Boolean" }, 182 | ["@float"] = { link = "Float" }, 183 | ["@function"] = { link = "Function" }, 184 | ["@function.builtin"] = { link = "Special" }, 185 | ["@function.macro"] = { link = "Macro" }, 186 | ["@parameter"] = { link = "Identifier" }, 187 | ["@method"] = { link = "Function" }, 188 | ["@field"] = { link = "Identifier" }, 189 | ["@property"] = { link = "Identifier" }, 190 | ["@constructor"] = { link = "Special" }, 191 | ["@conditional"] = { link = "Conditional" }, 192 | ["@repeat"] = { link = "Repeat" }, 193 | ["@label"] = { link = "Label" }, 194 | ["@operator"] = { link = "Operator" }, 195 | ["@keyword"] = { link = "Keyword" }, -- variable, 196 | ["@keyword.import"] = { link = "KeywordImport" }, -- import/export 197 | ["@keyword.function"] = { link = "KeywordFunction" }, -- function 198 | ["@keyword.conditional.ternary"] = { link = "KeywordFunction" }, -- function 199 | ["@exception"] = { link = "Exception" }, 200 | ["@variable"] = { fg = c.light0 }, 201 | ["@type"] = { link = "Type" }, 202 | ["@type.definition"] = { link = "Typedef" }, 203 | ["@storageclass"] = { link = "StorageClass" }, 204 | ["@structure"] = { link = "Structure" }, 205 | ["@namespace"] = { link = "Identifier" }, 206 | ["@include"] = { link = "Include" }, 207 | ["@preproc"] = { link = "PreProc" }, 208 | ["@debug"] = { link = "Debug" }, 209 | ["@tag"] = { link = "Tag" }, 210 | ["@tag.builtin"] = { link = "TagBuiltin" }, 211 | ["@tag.attribute"] = { link = "Attribute" }, 212 | ["@tag.delimiter"] = { link = "Tag" }, 213 | 214 | --See :h lsp-semantic-highlight 215 | ["@lsp.type.class"] = { link = "Structure" }, 216 | ["@lsp.type.decorator"] = { link = "Function" }, 217 | ["@lsp.type.enum"] = { link = "Structure" }, 218 | ["@lsp.type.enumMember"] = { link = "Constant" }, 219 | ["@lsp.type.function"] = { link = "Function" }, 220 | ["@lsp.type.interface"] = { link = "Structure" }, 221 | ["@lsp.type.macro"] = { link = "Macro" }, 222 | ["@lsp.type.method"] = { link = "Function" }, 223 | ["@lsp.type.namespace"] = { link = "Structure" }, 224 | ["@lsp.type.parameter"] = { link = "Identifier" }, 225 | ["@lsp.type.property"] = { link = "Identifier" }, 226 | ["@lsp.type.struct"] = { link = "Structure" }, 227 | ["@lsp.type.type"] = { link = "Type" }, 228 | ["@lsp.type.typeParameter"] = { link = "TypeDef" }, 229 | ["@lsp.type.variable"] = { link = "@Variable" }, 230 | -- 231 | --See :h cmp-highlight 232 | CmpItemAbbr = { bg = c.dark0, fg = c.light0 }, 233 | CmpItemAbbrDeprecated = { bg = c.dark0, fg = c.light3 }, 234 | CmpDocumentation = { link = "NormalFloat" }, 235 | CmpDocumentationBorder = { link = "FloatBorder" }, 236 | CmpItemKind = { fg = c.bright_aqua }, 237 | -- 238 | --See :h gitsigns-highlight-groups 239 | GitSignAdd = { link = "DiffAdd" }, 240 | GitSignsAddNr = { link = "DiffAdd" }, 241 | GitSignChange = { link = "DiffChange" }, 242 | GitSignChangeNr = { link = "DiffChange" }, 243 | GitSignDelete = { link = "DiffDelete" }, 244 | GitSignDeleteNr = { link = "DiffDelete" }, 245 | GitSignChangeDelete = { link = "DiffText" }, 246 | GitSignChangeDeleteNr = { link = "DiffText" }, 247 | GitSignUnstaged = { link = "DiffUnstaged" }, 248 | GitSignUnstagedNr = { link = "DiffUnstaged" }, 249 | -- 250 | --See telescope.nvim/plugin/telescope.lua 251 | TelescopeSelection = { fg = c.bright_aqua, bg = c.dark1 }, 252 | TelescopeSelectionCaret = { fg = c.dark0 }, 253 | TelescopeMultiSelection = { fg = c.light0 }, 254 | TelescopeMatching = { fg = c.bright_aqua }, 255 | TelescopePromptPrefix = { fg = c.light0 }, 256 | TelescopeNormal = { link = "NormalFloat" }, 257 | TelescopeBorder = { link = "FloatBorder" }, 258 | TelescopePreviewBorder = { link = "FloatBorder" }, 259 | TelescopePromptBorder = { link = "FloatBorder" }, 260 | TelescopeResultsBorder = { link = "FloatBorder" }, 261 | -- 262 | --See :h translator-highlight 263 | TranslatorBorder = { link = "FloatBorder" }, 264 | 265 | --See h nvm-tree.nvim/lua/nvim-tree/colors.lua 266 | NvimTreeIndentMarker = { fg = c.gray }, 267 | NvimTreeImageFile = { fg = c.purple }, 268 | NvimTreeSpecialFile = { fg = c.bright_orange, bold = true, underline = true }, 269 | NvimTreeExecFile = { fg = c.green, bold = true, underline = true }, 270 | NvimTreeOpenedFile = { fg = c.bright_green, bold = true }, 271 | NvimTreeModifiedFile = { fg = c.bright_blue, bold = true }, 272 | NvimTreeSymlinkFile = { fg = c.bright_aqua, bold = true }, 273 | 274 | NvimTreeFileNew = { fg = c.bright_green, bold = true }, 275 | NvimTreeFolderNew = { fg = c.bright_aqua, bold = true }, 276 | NvimTreeFolderIcon = { fg = c.bright_yellow, bold = true }, 277 | NvimTreeFolderName = { fg = c.bright_yellow, bold = true }, 278 | NvimTreeOpenedFolderName = { fg = c.bright_yellow, bold = true }, 279 | NvimTreeOpenedFolderIcon = { fg = c.bright_yellow, bold = true }, 280 | NvimTreeClosedFolderIcon = { fg = c.bright_yellow, bold = true }, 281 | NvimTreeEmptyFolderName = { fg = c.gray }, 282 | 283 | NvimTreeGitUntracked = { fg = c.bright_aqua }, 284 | NvimTreeGitDirty = { fg = c.bright_aqua }, 285 | NvimTreeGitIgnored = { fg = c.gray }, 286 | NvimTreeGitStaged = { fg = c.bright_aqua }, 287 | NvimTreeGitMerge = { fg = c.bright_aqua }, 288 | NvimTreeGitRenamed = { fg = c.bright_blue }, 289 | NvimTreeGitNew = { fg = c.bright_green }, 290 | 291 | --See barbar.nvim 292 | BufferCurrent = { bg = c.dark0, fg = c.bright_aqua, bold = true }, -- current buffer 293 | BufferCurrentIndex = { bg = c.dark3, fg = c.dark0 }, 294 | BufferCurrentMod = { bg = c.dark0, fg = c.red }, 295 | BufferCurrentSign = { bg = c.dark0, fg = c.dark0 }, 296 | BufferCurrentTarget = { bg = c.dark0, fg = c.orange }, 297 | BufferVisible = { bg = c.dark0, fg = c.light0 }, 298 | BufferVisibleIndex = { bg = c.dark0, fg = c.light0 }, 299 | BufferVisibleMod = { bg = c.dark0, fg = c.red }, 300 | BufferVisibleSign = { bg = c.dark0, fg = c.dark0 }, 301 | BufferVisibleTarget = { bg = c.dark0, fg = c.orange }, 302 | BufferInactive = { bg = c.dark1, fg = c.light3 }, 303 | BufferInactiveIndex = { bg = c.dark1, fg = c.dark3 }, 304 | BufferInactiveMod = { bg = c.dark1, fg = c.red }, 305 | BufferInactiveSign = { bg = c.dark1, fg = c.dark0 }, 306 | 307 | --See lspsaga.nvim 308 | SagaWinbarFolder = { bg = c.dark0, fg = c.yellow }, 309 | } 310 | 311 | return M 312 | -------------------------------------------------------------------------------- /lua/zedd/plugins/gruvbox/gruvbox/lua/gruvbox/init.lua: -------------------------------------------------------------------------------- 1 | local M = {} 2 | 3 | M.load = function() 4 | if vim.version().minor < 8 then 5 | vim.notify_once("gruvbox.nvim: you must use neovim 0.8 or higher") 6 | return 7 | end 8 | 9 | local groups = require("gruvbox.groups") 10 | for group, opts in pairs(groups) do 11 | vim.api.nvim_set_hl(0, group, opts) 12 | end 13 | end 14 | 15 | return M 16 | -------------------------------------------------------------------------------- /lua/zedd/plugins/gruvbox/lazyspec.lua: -------------------------------------------------------------------------------- 1 | return { 2 | dir = "~/.config/nvim/lua/zedd/plugins/gruvbox/gruvbox", 3 | priority = 100, 4 | config = function() 5 | vim.cmd("colorscheme gruvbox") 6 | end, 7 | } 8 | -------------------------------------------------------------------------------- /lua/zedd/plugins/hardtime/lazyspec.lua: -------------------------------------------------------------------------------- 1 | return { 2 | "m4xshen/hardtime.nvim", 3 | lazy = false, 4 | dependencies = { "MunifTanjim/nui.nvim" }, 5 | cmd = { "Hardtime enable", "Hardtime disable", "Hardtime toggle" }, 6 | opts = {}, 7 | } 8 | -------------------------------------------------------------------------------- /lua/zedd/plugins/indentmini/lazyspec.lua: -------------------------------------------------------------------------------- 1 | return { 2 | "nvimdev/indentmini.nvim", 3 | lazy = true, 4 | event = "BufRead", 5 | config = function() 6 | require("indentmini").setup() 7 | end, 8 | } 9 | -------------------------------------------------------------------------------- /lua/zedd/plugins/init.lua: -------------------------------------------------------------------------------- 1 | local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" 2 | if not vim.loop.fs_stat(lazypath) then 3 | vim.fn.system({ 4 | "git", 5 | "clone", 6 | "--filter=blob:none", 7 | "https://github.com/folke/lazy.nvim.git", 8 | "--branch=stable", 9 | lazypath, 10 | }) 11 | end 12 | vim.opt.rtp:prepend(lazypath) 13 | 14 | local plugins = { 15 | require("zedd.plugins.cmp.lazyspec"), 16 | require("zedd.plugins.codeium.lazyspec"), 17 | require("zedd.plugins.colors.lazyspec"), 18 | require("zedd.plugins.golf.lazyspec"), 19 | require("zedd.plugins.comments.lazyspec"), 20 | require("zedd.plugins.cursor.lazyspec"), 21 | require("zedd.plugins.oil.lazyspec"), 22 | require("zedd.plugins.gruvbox.lazyspec"), 23 | -- require("zedd.plugins.indentmini.lazyspec"), 24 | require("zedd.plugins.hardtime.lazyspec"), 25 | require("zedd.plugins.lspsaga.lazyspec"), 26 | require("zedd.plugins.lspkind.lazyspec"), 27 | require("zedd.plugins.telescope.lazyspec"), 28 | require("zedd.plugins.treesitter.lazyspec"), 29 | require("zedd.plugins.gitsigns.lazyspec"), 30 | require("zedd.plugins.gitconflict.lazyspec"), 31 | require("zedd.plugins.autopairs.lazyspec"), 32 | require("zedd.plugins.screenshot.lazyspec"), 33 | require("zedd.plugins.test.lazyspec"), 34 | require("zedd.plugins.screenkey.lazyspec"), 35 | } 36 | 37 | require("lazy").setup(plugins, { 38 | ui = { 39 | border = "none", 40 | }, 41 | }) 42 | -------------------------------------------------------------------------------- /lua/zedd/plugins/lspkind/lazyspec.lua: -------------------------------------------------------------------------------- 1 | return { 2 | "onsails/lspkind.nvim", 3 | event = "InsertEnter", 4 | lazy = true, 5 | } 6 | -------------------------------------------------------------------------------- /lua/zedd/plugins/lspsaga/lazyspec.lua: -------------------------------------------------------------------------------- 1 | return { 2 | "nvimdev/lspsaga.nvim", 3 | event = "LspAttach", 4 | config = function() 5 | require("zedd.plugins.lspsaga.setup") 6 | end, 7 | } 8 | -------------------------------------------------------------------------------- /lua/zedd/plugins/lspsaga/setup.lua: -------------------------------------------------------------------------------- 1 | require("lspsaga").setup({ 2 | ui = { 3 | border = "rounded", 4 | code_action = "", 5 | imp_sign = "", 6 | actionfix = "", 7 | collapse = "", 8 | }, 9 | }) 10 | -------------------------------------------------------------------------------- /lua/zedd/plugins/oil/lazyspec.lua: -------------------------------------------------------------------------------- 1 | return { 2 | "https://github.com/stevearc/oil.nvim", 3 | cmd = "Oil", 4 | config = function() 5 | require("zedd.plugins.oil.setup") 6 | end, 7 | } 8 | -------------------------------------------------------------------------------- /lua/zedd/plugins/oil/setup.lua: -------------------------------------------------------------------------------- 1 | -- helper function to parse output 2 | local function parse_output(proc) 3 | local result = proc:wait() 4 | local ret = {} 5 | if result.code == 0 then 6 | for line in vim.gsplit(result.stdout, "\n", { plain = true, trimempty = true }) do 7 | -- Remove trailing slash 8 | line = line:gsub("/$", "") 9 | ret[line] = true 10 | end 11 | end 12 | return ret 13 | end 14 | 15 | -- build git status cache 16 | local function new_git_status() 17 | return setmetatable({}, { 18 | __index = function(self, key) 19 | local ignore_proc = vim.system( 20 | { "git", "ls-files", "--ignored", "--exclude-standard", "--others", "--directory" }, 21 | { 22 | cwd = key, 23 | text = true, 24 | } 25 | ) 26 | local tracked_proc = vim.system({ "git", "ls-tree", "HEAD", "--name-only" }, { 27 | cwd = key, 28 | text = true, 29 | }) 30 | local ret = { 31 | ignored = parse_output(ignore_proc), 32 | tracked = parse_output(tracked_proc), 33 | } 34 | 35 | rawset(self, key, ret) 36 | return ret 37 | end, 38 | }) 39 | end 40 | local git_status = new_git_status() 41 | 42 | -- Clear git status cache on refresh 43 | local refresh = require("oil.actions").refresh 44 | local orig_refresh = refresh.callback 45 | refresh.callback = function(...) 46 | git_status = new_git_status() 47 | orig_refresh(...) 48 | end 49 | 50 | require("oil").setup({ 51 | delete_to_trash = true, 52 | watch_for_changes = true, 53 | win_options = { 54 | signcolumn = "yes:2", 55 | }, 56 | view_options = { 57 | is_hidden_file = function(name, bufnr) 58 | local dir = require("oil").get_current_dir(bufnr) 59 | local is_dotfile = vim.startswith(name, ".") and name ~= ".." 60 | -- if no local directory (e.g. for ssh connections), just hide dotfiles 61 | if not dir then 62 | return is_dotfile 63 | end 64 | -- dotfiles are considered hidden unless tracked 65 | if is_dotfile then 66 | return not git_status[dir].tracked[name] 67 | else 68 | -- Check if file is gitignored 69 | return git_status[dir].ignored[name] 70 | end 71 | end, 72 | }, 73 | }) 74 | -------------------------------------------------------------------------------- /lua/zedd/plugins/screenkey/lazyspec.lua: -------------------------------------------------------------------------------- 1 | -- return { 2 | -- "NStefan002/screenkey.nvim", 3 | -- cmd = "Screenkey", 4 | -- lazy = false, 5 | -- version = "*", -- or branch = "dev", to use the latest commit 6 | -- config = function() 7 | -- require("zedd.plugins.screenkey.setup") 8 | -- end 9 | -- } 10 | -- 11 | return { 12 | "nvzone/showkeys", 13 | event = "BufRead", 14 | config = function() 15 | require("zedd.plugins.screenkey.setup") 16 | vim.cmd("ShowkeysToggle") 17 | end, 18 | } 19 | -------------------------------------------------------------------------------- /lua/zedd/plugins/screenkey/setup.lua: -------------------------------------------------------------------------------- 1 | -- require("screenkey").setup({ 2 | -- win_opts = { 3 | -- border = "none", 4 | -- }, 5 | -- }) 6 | 7 | require("showkeys").setup({ 8 | timeout = 2, 9 | maxkeys = 6, 10 | position = "bottom-center", 11 | }) 12 | -------------------------------------------------------------------------------- /lua/zedd/plugins/screenshot/lazyspec.lua: -------------------------------------------------------------------------------- 1 | return { 2 | "watzon/goshot.nvim", 3 | cmd = "Goshot", 4 | opts = { 5 | binary = "goshot", -- Path to goshot binary (default: "goshot") 6 | auto_install = true, -- Automatically install goshot if not found (default: false) 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /lua/zedd/plugins/telescope/lazyspec.lua: -------------------------------------------------------------------------------- 1 | return { 2 | "nvim-telescope/telescope.nvim", 3 | dependencies = { 4 | "nvim-lua/plenary.nvim", 5 | }, 6 | cmd = { "Telescope" }, 7 | config = function() 8 | require("zedd.plugins.telescope.setup") 9 | end, 10 | } 11 | -------------------------------------------------------------------------------- /lua/zedd/plugins/telescope/setup.lua: -------------------------------------------------------------------------------- 1 | local telescope = require("telescope") 2 | local previewers = require("telescope.previewers") 3 | local sorters = require("telescope.sorters") 4 | 5 | telescope.setup({ 6 | defaults = { 7 | vimgrep_arguments = { 8 | "rg", 9 | "--color=never", 10 | "--no-heading", 11 | "--with-filename", 12 | "--line-number", 13 | "--column", 14 | "--smart-case", 15 | }, 16 | results_title = "", 17 | entry_prefix = " ", 18 | multi_icon = " ❱ ", 19 | prompt_prefix = "❱❱ ", 20 | selection_caret = " ❱ ", 21 | initial_mode = "insert", 22 | selection_strategy = "reset", 23 | file_ignore_patterns = { "^node_modules/", ".*lock.*" }, 24 | file_sorter = sorters.get_fzy_sorter, 25 | generic_sorter = sorters.get_generic_fzy_sorter, 26 | path_display = { "absolute" }, 27 | winblend = 0, 28 | color_devicons = true, 29 | use_less = false, 30 | file_previewer = previewers.vim_buffer_cat.new, 31 | grep_previewer = previewers.vim_buffer_vimgrep.new, 32 | qflist_previewer = previewers.vim_buffer_qflist.new, 33 | -- custom theme 34 | sorting_strategy = "ascending", 35 | layout_strategy = "bottom_pane", 36 | layout_config = { 37 | preview_cutoff = 1, 38 | height = 0.4, 39 | prompt_position = "bottom", 40 | }, 41 | borderchars = { 42 | prompt = { "━", " ", " ", " ", "━", "━", " ", " " }, 43 | results = { "━", " ", " ", " ", "━", "━", " ", " " }, 44 | preview = { "━", " ", " ", "┃", "┳", " ", " ", "┃" }, 45 | }, 46 | }, 47 | pickers = { 48 | diagnostics = { 49 | initial_mode = "normal", 50 | previewer = false, 51 | line_width = 0.7, 52 | no_unlisted = true, 53 | path_display = { 54 | "hidden", 55 | }, 56 | }, 57 | find_files = { 58 | previewer = false, 59 | }, 60 | oldfiles = { 61 | previewer = false, 62 | file_ignore_patterns = { 63 | "/usr/share/nvim/runtime/*", 64 | vim.fn.stdpath("data"), 65 | vim.fn.stdpath("cache"), 66 | vim.fn.stdpath("log"), 67 | }, 68 | }, 69 | builtin = { 70 | previewer = false, 71 | }, 72 | current_buffer_fuzzy_find = { 73 | previewer = false, 74 | }, 75 | autocommands = { 76 | previewer = false, 77 | }, 78 | lsp_document_symbols = { 79 | previewer = false, 80 | symbol_width = 0.7, 81 | }, 82 | lsp_workspace_symbols = { 83 | previewer = false, 84 | symbol_width = 0.7, 85 | }, 86 | buffers = { 87 | initial_mode = "normal", 88 | select_current = false, 89 | previewer = false, 90 | sort_lastused = false, 91 | }, 92 | }, 93 | }) 94 | -------------------------------------------------------------------------------- /lua/zedd/plugins/test/lazyspec.lua: -------------------------------------------------------------------------------- 1 | return { "vim-test/vim-test", cmd = { "TestNearest", "TestFile", "TestSuite", "TestLast", "TestVisit" } } 2 | -------------------------------------------------------------------------------- /lua/zedd/plugins/treesitter/command.lua: -------------------------------------------------------------------------------- 1 | local command = vim.api.nvim_create_user_command 2 | 3 | command("TSPrintNode", function() 4 | vim.notify(require("nvim-treesitter.ts_utils").get_node_at_cursor():type()) 5 | end, { nargs = 0 }) 6 | -------------------------------------------------------------------------------- /lua/zedd/plugins/treesitter/lazyspec.lua: -------------------------------------------------------------------------------- 1 | return { 2 | "nvim-treesitter/nvim-treesitter", 3 | lazy = true, 4 | event = "BufRead", 5 | config = function() 6 | require("zedd.plugins.treesitter.setup") 7 | require("zedd.plugins.treesitter.command") 8 | end, 9 | dependencies = { 10 | "https://github.com/nvim-treesitter/playground", 11 | }, 12 | } 13 | -------------------------------------------------------------------------------- /lua/zedd/plugins/treesitter/setup.lua: -------------------------------------------------------------------------------- 1 | require("nvim-treesitter.configs").setup({ 2 | ensure_installed = { 3 | "comment", 4 | "markdown", 5 | "markdown_inline", 6 | "c", 7 | "lua", 8 | "javascript", 9 | "tsx", 10 | "typescript", 11 | "html", 12 | "json", 13 | }, 14 | compilers = { "clang" }, 15 | auto_install = true, 16 | -- autotag = { enable = true }, 17 | autopairs = { enable = true }, 18 | highlight = { 19 | enable = true, 20 | additional_vim_regex_highlighting = true, 21 | }, 22 | rainbow = { 23 | enable = true, 24 | extended_mode = false, 25 | max_file_lines = nil, 26 | }, 27 | markdown = { 28 | enable = true, 29 | additional_vim_regex_highlighting = false, 30 | parse = { 31 | inline = { "markdown_inline" }, 32 | }, 33 | }, 34 | markdown_inline = { enable = true }, 35 | context_commentstring = { 36 | enable = true, 37 | enable_autocmd = false, 38 | config = { 39 | tsx = { 40 | jsx_element = { 41 | __default = "{/* %s */}", 42 | __parent = { 43 | parenthesized_expression = "// %s", 44 | }, 45 | }, 46 | }, 47 | javascript = { 48 | __default = "// %s", 49 | jsx_element = "{/* %s */}", 50 | jsx_fragment = "{/* %s */}", 51 | jsx_attribute = "// %s", 52 | comment = "// %s", 53 | __parent = { 54 | -- if a node has this as the parent, use the `//` commentstring 55 | jsx_expression = "// %s", 56 | }, 57 | }, 58 | }, 59 | }, 60 | }) 61 | -------------------------------------------------------------------------------- /snippets/c.json: -------------------------------------------------------------------------------- 1 | { 2 | "initial": { 3 | "prefix": "initial", 4 | "body": [ 5 | "#include ", 6 | "", 7 | "int main() {", 8 | " $1", 9 | " return 0;", 10 | "}" 11 | ] 12 | }, 13 | "for": { 14 | "prefix": "for", 15 | "body": [ 16 | "for (${size_t} ${i} = ${1:0}; ${i} < ${2:length}; ${i}++)", 17 | "{", 18 | " $3", 19 | "}" 20 | ], 21 | "description": "Code snippet for 'for' loop" 22 | }, 23 | "forr": { 24 | "prefix": "forr", 25 | "body": [ 26 | "for (int ${i} = ${1:length} - 1; ${i} >= ${2:0}; ${i}--)", 27 | "{", 28 | " $3", 29 | "}" 30 | ], 31 | "description": "Code snippet for reverse 'for' loop" 32 | }, 33 | "while": { 34 | "prefix": "while", 35 | "body": "while ($1) {\n\t$2\n}" 36 | }, 37 | "if": { 38 | "prefix": "if", 39 | "body": "if ($1) {\n\t$2\n}" 40 | }, 41 | "else": { "prefix": "else", "body": "else {\n\t$0\n}" }, 42 | "else if": { "prefix": "else if", "body": "else if ($1) {\n\t$2\n}" }, 43 | "enum": { "prefix": "enum", "body": "enum $1 {\n\t$2\n}" }, 44 | "#ifdef": { "prefix": "#ifdef", "body": "#ifdef $1\n\t$2\n#endif" }, 45 | "#ifndef": { "prefix": "#ifndef", "body": "#ifndef $1\n\t$2\n#endif" }, 46 | "#if": { "prefix": "#if", "body": "#if $1\n\t$2\n#endif" }, 47 | "struct": { "prefix": "struct", "body": "struct $1 {\n\t$2\n}" }, 48 | "switch": { "prefix": "switch", "body": "switch ($1) {\n\t$2\n}" }, 49 | "union": { "prefix": "union", "body": "union $1 {\n\t$2\n}" }, 50 | "include": { "prefix": "include", "body": "#include <${1:stdio.h}>" }, 51 | "#inc": { "prefix": "#inc", "body": "#include <${1:stdio.h}>","description": "include library" }, 52 | "#def": { "prefix": "#def", "body": "#define $1 $2","description": "define macro" }, 53 | "integer": { "prefix": "integer", "body": "int $1;" }, 54 | "float": { "prefix": "float", "body": "float $1;" }, 55 | "double": { "prefix": "double", "body": "double $1;" }, 56 | "char": { "prefix": "char", "body": "char $1;" }, 57 | "short int": { "prefix": "short int", "body": "short int $1;" }, 58 | "unsigned int": { "prefix": "unsigned int", "body": "unsigned int $1;" }, 59 | "long int": { "prefix": "long int", "body": "long int $1;" }, 60 | "long long int": { "prefix": "long long int", "body": "long long int $1;" }, 61 | "long double": { "prefix": "long double", "body": "long double $1;" }, 62 | "unsigned long int": { "prefix": "unsigned long int", "body": "unsigned long int $1;" }, 63 | "unsigned long long int": { "prefix": "unsigned long long int", "body": "unsigned long long int $1;" }, 64 | "signed char": { "prefix": "signed char", "body": "signed char $1;" }, 65 | "unsigned char": { "prefix": "unsigned char", "body": "unsigned char $1;" }, 66 | "print": { "prefix": "print", "body": "printf(\"$1\");" }, 67 | "scanf": { "prefix": "scanf", "body": "scanf(\"$1\");" }, 68 | "pointer": { "prefix": "*", "body": "*$1;" } 69 | } 70 | -------------------------------------------------------------------------------- /snippets/css.json: -------------------------------------------------------------------------------- 1 | { 2 | "class": { 3 | "prefix": "class", 4 | "body": ".${1:name} {\n\t${0}\n}", 5 | "description": "class name" 6 | }, 7 | "align-items": { 8 | "prefix": "ai", 9 | "body": "align-items: ${1|flex-start,flex-end,center,baseline,stretch,start,end,self-start,self-end|};", 10 | "description": "initial value: stretch" 11 | }, 12 | "align-items: baseline": { 13 | "prefix": "aib", 14 | "body": "align-items: baseline;" 15 | }, 16 | "align-items: center": { 17 | "prefix": "aic", 18 | "body": "align-items: center;" 19 | }, 20 | "align-items: flex-start": { 21 | "prefix": "aifs", 22 | "body": "align-items: flex-start;" 23 | }, 24 | "align-items: flex-end": { 25 | "prefix": "aife", 26 | "body": "align-items: flex-end;" 27 | }, 28 | "align-items: stretch": { 29 | "prefix": "ais", 30 | "body": "align-items: stretch;" 31 | }, 32 | "align-self": { 33 | "prefix": "as", 34 | "body": "align-items: ${1|flex-start,flex-end,center,baseline,stretch,auto|};", 35 | "description": "initial value: auto" 36 | }, 37 | "animation": { 38 | "prefix": "ani", 39 | "body": "animation: ${1:name} ${2:1s} ${3|linear,ease-in-out,ease,ease-in,ease-out,step-start,step-end,steps,cubic-bezier|};", 40 | "description": "animation: name duration timing-function delay direction count fill-mode play-state" 41 | }, 42 | "animation-delay": { 43 | "prefix": "anide", 44 | "body": "animation-delay: ${0:1s};" 45 | }, 46 | "animation-direction": { 47 | "prefix": "anidi", 48 | "body": "animation-direction: ${1|alternate,alternate-reverse,reverse,normal|};", 49 | "description": "initial value: normal" 50 | }, 51 | "animation-duratuion": { 52 | "prefix": "anidu", 53 | "body": "animation-duration: ${0:1s};" 54 | }, 55 | "animation-fill-mode": { 56 | "prefix": "anifm", 57 | "body": "animation-fill-mode: ${1|forwards,backwards,both,none|};", 58 | "description": "initial value: none" 59 | }, 60 | "animation-iteration-count": { 61 | "prefix": "aniic", 62 | "body": "animation-iteration-count: ${0:infinite};", 63 | "description": "initial value: 1" 64 | }, 65 | "animation-name": { 66 | "prefix": "anin", 67 | "body": "animation-name: ${0:name};" 68 | }, 69 | "animation-play-state": { 70 | "prefix": "anips", 71 | "body": "animation-play-state: ${1|paused,running|};", 72 | "description": "initial value: running" 73 | }, 74 | "animation-timing-function": { 75 | "prefix": "anitf", 76 | "body": "animation-timing-function: ${1|linear,ease,ease-in-out,ease-in,ease-out,step-start,step-end,steps,cubic-bezier|};", 77 | "description": "initial value: ease" 78 | }, 79 | "background": { 80 | "prefix": "bg", 81 | "body": "background: ${0:#fff};", 82 | "description": "background: image position/size repeat attachment box box" 83 | }, 84 | "background-attachment": { 85 | "prefix": "bga", 86 | "body": "background-attachment: ${1|fixed,scroll,local|};", 87 | "description": "initial value: scroll" 88 | }, 89 | "background-color": { 90 | "prefix": "bgc", 91 | "body": "background-color: ${0:#fff};" 92 | }, 93 | "background-clip": { 94 | "prefix": "bgcl", 95 | "body": "background-clip: ${1|border-box,padding-box,content-box,text|};", 96 | "description": "initial value: border-box" 97 | }, 98 | "background-image": { 99 | "prefix": "bgi", 100 | "body": "background-image: url('${0:background.jpg}');" 101 | }, 102 | "background-origin": { 103 | "prefix": "bgo", 104 | "body": "background-origin: ${1|border-box,padding-box,content-box|};", 105 | "description": "initial value: padding-box" 106 | }, 107 | "background-position": { 108 | "prefix": "bgp", 109 | "body": "background-position: ${1:left} ${2:top};" 110 | }, 111 | "background-repeat": { 112 | "prefix": "bgr", 113 | "body": "background-repeat: ${1|no-repeat,repeat-x,repeat-y,repeat,space,round|};", 114 | "description": "initial value: repeat" 115 | }, 116 | "background-repeat: repeat": { 117 | "prefix": "bgrr", 118 | "body": "background-repeat: repeat;" 119 | }, 120 | "background-repeat: repeat-x": { 121 | "prefix": "bgrx", 122 | "body": "background-repeat: repeat-x;" 123 | }, 124 | "background-repeat: repeat-y": { 125 | "prefix": "bgry", 126 | "body": "background-repeat: repeat-y;" 127 | }, 128 | "background-repeat: no-repeat": { 129 | "prefix": "bgrn", 130 | "body": "background-repeat: no-repeat;" 131 | }, 132 | "background-size": { 133 | "prefix": "bgs", 134 | "body": "background-size: ${0:cover};" 135 | }, 136 | "border": { 137 | "prefix": "bor", 138 | "body": "border: ${1:1px} ${2|solid,dashed,dotted,double,groove,ridge,inset,outset,none,hidden|} ${0:#000};" 139 | }, 140 | "border: none": { 141 | "prefix": "born", 142 | "body": "border: none;" 143 | }, 144 | "border-color": { 145 | "prefix": "borc", 146 | "body": "border-color: ${0:#000};" 147 | }, 148 | "border-style": { 149 | "prefix": "bors", 150 | "body": "border-style: ${1|solid,dashed,dotted,double,groove,ridge,inset,outset,none,hidden|};" 151 | }, 152 | "border-width": { 153 | "prefix": "borw", 154 | "body": "border-width: ${0:1px};" 155 | }, 156 | "border-bottom": { 157 | "prefix": "borb", 158 | "body": "border-bottom: ${1:1px} ${2|solid,dashed,dotted,double,groove,ridge,inset,outset,none,hidden|} ${0:#000};" 159 | }, 160 | "border-left": { 161 | "prefix": "borl", 162 | "body": "border-left: ${1:1px} ${2|solid,dashed,dotted,double,groove,ridge,inset,outset,none,hidden|} ${0:#000};" 163 | }, 164 | "border-right": { 165 | "prefix": "borr", 166 | "body": "border-right: ${1:1px} ${2|solid,dashed,dotted,double,groove,ridge,inset,outset,none,hidden|} ${0:#000};" 167 | }, 168 | "border-top": { 169 | "prefix": "bort", 170 | "body": "border-top: ${1:1px} ${2|solid,dashed,dotted,double,groove,ridge,inset,outset,none,hidden|} ${0:#000};" 171 | }, 172 | "border-radius": { 173 | "prefix": "br", 174 | "body": "border-radius: ${0:2px};" 175 | }, 176 | "bottom": { 177 | "prefix": "bot", 178 | "body": "bottom: ${0:0};" 179 | }, 180 | "box-shadow": { 181 | "prefix": "bos", 182 | "body": "box-shadow: ${1:1px} ${2:1px} ${3:1px} ${4:1px} ${0:rgba(0, 0, 0, .5)};", 183 | "description": "box-shadow: x-offset y-offset blur spread color" 184 | }, 185 | "box-sizing": { 186 | "prefix": "boz", 187 | "body": "box-sizing: ${1|border-box,content-box|};", 188 | "description": "initial value: content-box" 189 | }, 190 | "clear": { 191 | "prefix": "clr", 192 | "body": "clear: ${1|both,left,right,none|};" 193 | }, 194 | "color": { 195 | "prefix": "col", 196 | "body": "color: ${0:#000};" 197 | }, 198 | "content": { 199 | "prefix": "con", 200 | "body": "content: '$0';" 201 | }, 202 | "cursor": { 203 | "prefix": "cur", 204 | "body": "cursor: ${1|auto,default,alias,cell,copy,crosshair,context-menu,help,grab,grabbing,move,none,no-drop,not-allowed,pointer,progress,e-resize,all-scroll,text,wait,vertical-text,zoom-in,zoom-out|};", 205 | "description": "initial value: auto" 206 | }, 207 | "cursor: pointer": { 208 | "prefix": "curp", 209 | "body": "cursor: pointer;" 210 | }, 211 | "cursor: default": { 212 | "prefix": "curd", 213 | "body": "cursor: default;" 214 | }, 215 | "display": { 216 | "prefix": "dis", 217 | "body": "display: ${1|none,block,inline,inline-block,flex,inline-flex,list-item,table,inline-table,table-caption,table-cell,table-row,table-row-group,table-column|};" 218 | }, 219 | "display: block": { 220 | "prefix": "disb", 221 | "body": "display: block;" 222 | }, 223 | "display: inline-block": { 224 | "prefix": "disi", 225 | "body": "display: inline-block;" 226 | }, 227 | "display: none": { 228 | "prefix": "disn", 229 | "body": "display: none;" 230 | }, 231 | "display: flex": { 232 | "prefix": "disf", 233 | "body": "display: flex;" 234 | }, 235 | "flex": { 236 | "prefix": "flex", 237 | "body": "flex: ${1:1} ${2:1} ${3:auto};", 238 | "description": "flex: grow shrink basis" 239 | }, 240 | "flex (alt)": { 241 | "prefix": "fle", 242 | "body": "flex: ${1:1} ${2:1} ${3:auto};" 243 | }, 244 | "flex-direction": { 245 | "prefix": "fld", 246 | "body": "flex-direction: ${1|row,row-reverse,column,column-reverse|};", 247 | "description": "initial value: row" 248 | }, 249 | "flex-direction: row": { 250 | "prefix": "fldr", 251 | "body": "flex-direction: row;" 252 | }, 253 | "flex-direction: column": { 254 | "prefix": "fldc", 255 | "body": "flex-direction: column;" 256 | }, 257 | "flex-flow": { 258 | "prefix": "flf", 259 | "body": "flex-flow: ${1|row,row-reverse,column,column-reverse|} ${2|wrap,wrap-reverse,nowrap|};" 260 | }, 261 | "flex-wrap": { 262 | "prefix": "flw", 263 | "body": "flex-wrap: ${1|wrap,wrap-reverse,nowrap|};", 264 | "description": "initial value: nowrap" 265 | }, 266 | "float": { 267 | "prefix": "fl", 268 | "body": "float: ${1|left,right,none|};" 269 | }, 270 | "float: left": { 271 | "prefix": "fll", 272 | "body": "float: left;" 273 | }, 274 | "float: right": { 275 | "prefix": "flr", 276 | "body": "float: right;" 277 | }, 278 | "float: none": { 279 | "prefix": "fln", 280 | "body": "float: none;" 281 | }, 282 | "font-family": { 283 | "prefix": "ff", 284 | "body": "font-family: ${0:arial};" 285 | }, 286 | "font-size": { 287 | "prefix": "fz", 288 | "body": "font-size: ${0:12px};" 289 | }, 290 | "font-size clamp": { 291 | "prefix": "fzc", 292 | "body": "font-size: clamp(${0:1rem},${0:2rem},${0:2.5rem});" 293 | }, 294 | "font-style": { 295 | "prefix": "fst", 296 | "body": "font-style: ${1|italic,oblique,normal|};" 297 | }, 298 | "font-style: italic": { 299 | "prefix": "fsti", 300 | "body": "font-style: italic;" 301 | }, 302 | "font-style: normal": { 303 | "prefix": "fstn", 304 | "body": "font-style: normal;" 305 | }, 306 | "font-style: oblique": { 307 | "prefix": "fsto", 308 | "body": "font-style: oblique;" 309 | }, 310 | "font-weight": { 311 | "prefix": "fw", 312 | "body": "font-weight: ${0:bold};" 313 | }, 314 | "font-weight: bold": { 315 | "prefix": "fwb", 316 | "body": "font-weight: bold;" 317 | }, 318 | "font-weight: light": { 319 | "prefix": "fwl", 320 | "body": "font-weight: light;" 321 | }, 322 | "font-weight: normal": { 323 | "prefix": "fwn", 324 | "body": "font-weight: normal;" 325 | }, 326 | "font": { 327 | "prefix": "ft", 328 | "body": "font: ${0:12px/1.5};", 329 | "description": "font: [weight style variant stretch] size/line-height family" 330 | }, 331 | "height": { 332 | "prefix": "hei", 333 | "body": "height: ${0:1px};" 334 | }, 335 | "justify-content": { 336 | "prefix": "jc", 337 | "body": "justify-content: ${1|flex-start,flex-end,center,space-between,space-around|};", 338 | "description": "initial value: flex-start" 339 | }, 340 | "justify-content: flex-start": { 341 | "prefix": "jcfs", 342 | "body": "justify-content: flex-start;" 343 | }, 344 | "justify-content: flex-end": { 345 | "prefix": "jcfe", 346 | "body": "justify-content: flex-end;" 347 | }, 348 | "justify-content: center": { 349 | "prefix": "jcc", 350 | "body": "justify-content: center;" 351 | }, 352 | "justify-content: space-around": { 353 | "prefix": "jcsa", 354 | "body": "justify-content: space-around;" 355 | }, 356 | "justify-content: space-between": { 357 | "prefix": "jcsb", 358 | "body": "justify-content: space-between;" 359 | }, 360 | "clamp": { 361 | "prefix": "clamp", 362 | "body": "clamp(${0:1rem},${0:3vw},${0:2.5rem});", 363 | "description": "clamp value" 364 | }, 365 | "list-style": { 366 | "prefix": "lis", 367 | "body": "list-style: ${1|disc,circle,square,decimal,lower-roman,upper-roman,lower-alpha,upper-alpha,none,armenian,cjk-ideographic,georgian,lower-greek,hebrew,hiragana,hiragana-iroha,katakana,katakana-iroha,lower-latin,upper-latin|} ${2|outside,inside|};", 368 | "description": "list-style: type position image" 369 | }, 370 | "list-style-position": { 371 | "prefix": "lisp", 372 | "body": "${1|outside,inside|}", 373 | "description": "initial value: outside" 374 | }, 375 | "list-style-type": { 376 | "prefix": "list", 377 | "body": "list-style-type: ${1|disc,circle,square,decimal,lower-roman,upper-roman,lower-alpha,upper-alpha,none,armenian,cjk-ideographic,georgian,lower-greek,hebrew,hiragana,hiragana-iroha,katakana,katakana-iroha,lower-latin,upper-latin|};", 378 | "description": "initial value: disc" 379 | }, 380 | "list-style-type: circle": { 381 | "prefix": "listc", 382 | "body": "list-style-type: circle;" 383 | }, 384 | "list-style-type: disc": { 385 | "prefix": "listd", 386 | "body": "list-style-type: disc;" 387 | }, 388 | "list-style-type: none": { 389 | "prefix": "listn", 390 | "body": "list-style-type: none;" 391 | }, 392 | "list-style-type: square": { 393 | "prefix": "lists", 394 | "body": "list-style-type: square;" 395 | }, 396 | "list-style-type: lower-roman": { 397 | "prefix": "listlr", 398 | "body": "list-style-type: lower-roman;" 399 | }, 400 | "list-style-type: upper-roman": { 401 | "prefix": "listur", 402 | "body": "list-style-type: upper-roman;" 403 | }, 404 | "left": { 405 | "prefix": "lef", 406 | "body": "left: ${0:0};" 407 | }, 408 | "line-height": { 409 | "prefix": "lh", 410 | "body": "line-height: ${0:1.5};" 411 | }, 412 | "line-clamp": { 413 | "prefix": "lc", 414 | "body": "overflow: hidden; display: -webkit-box; -webkit-line-clamp: ${1:1}; -webkit-box-orient: vertical;" 415 | }, 416 | "letter-spacing": { 417 | "prefix": "ls", 418 | "body": "letter-spacing: ${0:2px};" 419 | }, 420 | "letter-spacing: normal": { 421 | "prefix": "lsn", 422 | "body": "letter-spacing: normal;" 423 | }, 424 | "margin": { 425 | "prefix": "mar", 426 | "body": "margin: ${0:0};" 427 | }, 428 | "margin-bottom": { 429 | "prefix": "marb", 430 | "body": "margin-bottom: ${0:0};" 431 | }, 432 | "margin-left": { 433 | "prefix": "marl", 434 | "body": "margin-left: ${0:0};" 435 | }, 436 | "margin-right": { 437 | "prefix": "marr", 438 | "body": "margin-right: ${0:0};" 439 | }, 440 | "margin-top": { 441 | "prefix": "mart", 442 | "body": "margin-top: ${0:0};" 443 | }, 444 | "margin: 0 auto": { 445 | "prefix": "mara", 446 | "body": "margin: 0 auto;" 447 | }, 448 | "min-height": { 449 | "prefix": "mih", 450 | "body": "min-height: ${0:1px};" 451 | }, 452 | "min-width": { 453 | "prefix": "miw", 454 | "body": "min-width: ${0:1px};" 455 | }, 456 | "max-height": { 457 | "prefix": "mah", 458 | "body": "max-height: ${0:1px};" 459 | }, 460 | "max-width": { 461 | "prefix": "maw", 462 | "body": "max-width: ${0:1px};" 463 | }, 464 | "opacity": { 465 | "prefix": "opa", 466 | "body": "opacity: ${0:0};" 467 | }, 468 | "overflow": { 469 | "prefix": "ov", 470 | "body": "overflow: ${1|visible,hidden,scroll,auto,clip|};" 471 | }, 472 | "overflow: auto": { 473 | "prefix": "ova", 474 | "body": "overflow: auto;" 475 | }, 476 | "overflow: hidden": { 477 | "prefix": "ovh", 478 | "body": "overflow: hidden;" 479 | }, 480 | "overflow: scroll": { 481 | "prefix": "ovs", 482 | "body": "overflow: scroll;" 483 | }, 484 | "overflow: visible": { 485 | "prefix": "ovv", 486 | "body": "overflow: visible;" 487 | }, 488 | "padding": { 489 | "prefix": "pad", 490 | "body": "padding: ${0:0};" 491 | }, 492 | "padding-bottom": { 493 | "prefix": "padb", 494 | "body": "padding-bottom: ${0:0};" 495 | }, 496 | "padding-left": { 497 | "prefix": "padl", 498 | "body": "padding-left: ${0:0};" 499 | }, 500 | "padding-right": { 501 | "prefix": "padr", 502 | "body": "padding-right: ${0:0};" 503 | }, 504 | "padding-top": { 505 | "prefix": "padt", 506 | "body": "padding-top: ${0:0};" 507 | }, 508 | "position": { 509 | "prefix": "pos", 510 | "body": "position: ${1|relative,absolute,fixed,sticky,static|};" 511 | }, 512 | "position absolute": { 513 | "prefix": "posa", 514 | "body": "position: absolute;" 515 | }, 516 | "position fixed": { 517 | "prefix": "posf", 518 | "body": "position: fixed;" 519 | }, 520 | "position relative": { 521 | "prefix": "posr", 522 | "body": "position: relative;" 523 | }, 524 | "position sticky": { 525 | "prefix": "poss", 526 | "body": "position: sticky;" 527 | }, 528 | "right": { 529 | "prefix": "rig", 530 | "body": "right: ${0:0};" 531 | }, 532 | "text-align": { 533 | "prefix": "ta", 534 | "body": "text-align: ${1|center,left,right,justify,start,end|};" 535 | }, 536 | "text-align: center": { 537 | "prefix": "tac", 538 | "body": "text-align: center;" 539 | }, 540 | "text-align: left": { 541 | "prefix": "tal", 542 | "body": "text-align: left;" 543 | }, 544 | "text-align: right": { 545 | "prefix": "tar", 546 | "body": "text-align: right;" 547 | }, 548 | "text-decoration": { 549 | "prefix": "td", 550 | "body": "text-decoration: ${1|none,underline,overline,line-through|};" 551 | }, 552 | "text-decoration: underline": { 553 | "prefix": "tdu", 554 | "body": "text-decoration: underline;" 555 | }, 556 | "text-decoration: none": { 557 | "prefix": "tdn", 558 | "body": "text-decoration: none;" 559 | }, 560 | "text-decoration: line-through": { 561 | "prefix": "tdl", 562 | "body": "text-decoration: line-through;" 563 | }, 564 | "text-indent": { 565 | "prefix": "ti", 566 | "body": "text-indent: ${0:2em};" 567 | }, 568 | "text-shadow": { 569 | "prefix": "ts", 570 | "body": "text-shadow: ${1:1px} ${2:1px} ${3:1px} ${4:1px} ${0:rgba(0, 0, 0, .5)};", 571 | "description": "text-shadow: x-offset y-offset blur spread color" 572 | }, 573 | "text-transform": { 574 | "prefix": "tt", 575 | "body": "text-transform: ${1|capitalize,uppercase,lowercase,full-width,none|};" 576 | }, 577 | "top": { 578 | "prefix": "top", 579 | "body": "top: ${0:0};" 580 | }, 581 | "vertical-align": { 582 | "prefix": "va", 583 | "body": "vertical-align: ${1|baseline,middle,top,bottom,sub,super,text-top,text-bottom|};" 584 | }, 585 | "vertical-align: bottom": { 586 | "prefix": "vab", 587 | "body": "vertical-align: bottom;" 588 | }, 589 | "vertical-align: middle": { 590 | "prefix": "vam", 591 | "body": "vertical-align: middle;" 592 | }, 593 | "vertical-align: top": { 594 | "prefix": "vat", 595 | "body": "vertical-align: top;" 596 | }, 597 | "visibility": { 598 | "prefix": "vis", 599 | "body": "visibility: ${1|visible,hidden,collapse|};" 600 | }, 601 | "visibility: visible": { 602 | "prefix": "visv", 603 | "body": "visibility: visible;" 604 | }, 605 | "visibility: hidden": { 606 | "prefix": "vish", 607 | "body": "visibility: hidden;" 608 | }, 609 | "word-break": { 610 | "prefix": "wb", 611 | "body": "word-break: ${1|break-all,keep-all,break-word,normal|};" 612 | }, 613 | "width": { 614 | "prefix": "wid", 615 | "body": "width: ${0:0};" 616 | }, 617 | "width: auto": { 618 | "prefix": "wida", 619 | "body": "width: auto;" 620 | }, 621 | "white-space": { 622 | "prefix": "ws", 623 | "body": "white-space: ${1|nowrap,pre,pre-wrap,pre-line,normal|};" 624 | }, 625 | "white-space: nowrap": { 626 | "prefix": "wsn", 627 | "body": "white-space: nowrap;" 628 | }, 629 | "white-space: pre": { 630 | "prefix": "wsp", 631 | "body": "white-space: pre;" 632 | }, 633 | "word-wrap": { 634 | "prefix": "ww", 635 | "body": "word-wrap: ${1|break-word,break-spaces,normal|};" 636 | }, 637 | "z-index": { 638 | "prefix": "zi", 639 | "body": "z-index: ${0:-1};" 640 | }, 641 | "@import": { 642 | "prefix": "imp", 643 | "body": "@import '${0:filename}';" 644 | }, 645 | "@mixin": { 646 | "prefix": "mix", 647 | "body": "@mixin ${1:name} {\n $0\n}" 648 | }, 649 | "@include": { 650 | "prefix": "inc", 651 | "body": "@include ${0:mixin};" 652 | }, 653 | "@keyframes": { 654 | "prefix": "key", 655 | "body": "@keyframes ${1:name} {\n $0\n}" 656 | }, 657 | "@media xs": { 658 | "prefix": "media xs", 659 | "body": "@media screen and (min-width: 390px) {\n $0\n}" 660 | }, 661 | "@media sm": { 662 | "prefix": "media sm", 663 | "body": "@media screen and (min-width: 640px) {\n $0\n}" 664 | }, 665 | "@media md": { 666 | "prefix": "media md", 667 | "body": "@media screen and (min-width: 768px) {\n $0\n}" 668 | }, 669 | "@media lg": { 670 | "prefix": "media lg", 671 | "body": "@media screen and (min-width: 1024px) {\n $0\n}" 672 | }, 673 | "@media xl": { 674 | "prefix": "media xl", 675 | "body": "@media screen and (min-width: 1280px) {\n $0\n}" 676 | }, 677 | "@media 2xl": { 678 | "prefix": "media 2xl", 679 | "body": "@media screen and (min-width: 1536px) {\n $0\n}" 680 | }, 681 | "!important": { 682 | "prefix": "!", 683 | "body": "!important" 684 | }, 685 | "!important (alt)": { 686 | "prefix": "i", 687 | "body": "!important" 688 | } 689 | } 690 | -------------------------------------------------------------------------------- /snippets/global.json: -------------------------------------------------------------------------------- 1 | { 2 | "todo": { 3 | "prefix": ["todo"], 4 | "body": [ 5 | "TODO(${VIM:system('git config github.user | tr -d \"\n\"')}): ${0:Summary}" 6 | ], 7 | "description": "TODO reminder" 8 | }, 9 | "note": { 10 | "prefix": ["note"], 11 | "body": [ 12 | "NOTE(${VIM:system('git config github.user | tr -d \"\n\"')}): ${0:Summary}" 13 | ], 14 | "description": "TODO reminder" 15 | }, 16 | 17 | "fixme": { 18 | "prefix": ["fixme"], 19 | "body": [ 20 | "FIXME(${VIM:system('git config github.user | tr -d \"\n\"')}): ${0:Summary}" 21 | ], 22 | "description": "FIXME reminder" 23 | }, 24 | "pwgen16": { 25 | "prefix": ["pwgen16"], 26 | "body": ["${VIM:system('pwgen -s 16 -1 | tr -d \"\n\"')}"], 27 | "description": "Generate password with 16 characters" 28 | }, 29 | "Lorem Ipsum Sentence": { 30 | "prefix": "loremSent", 31 | "body": "Lorem ipsum dolor sit amet, qui minim labore adipisicing minim sint cillum sint consectetur cupidatat.", 32 | "description": "Lorem Ipsum Sentence" 33 | }, 34 | 35 | "Lorem Ipsum Paragraph": { 36 | "prefix": "loremPara", 37 | "body": "Lorem ipsum dolor sit amet, officia excepteur ex fugiat reprehenderit enim labore culpa sint ad nisi Lorem pariatur mollit ex esse exercitation amet. Nisi anim cupidatat excepteur officia. Reprehenderit nostrud nostrud ipsum Lorem est aliquip amet voluptate voluptate dolor minim nulla est proident. Nostrud officia pariatur ut officia. Sit irure elit esse ea nulla sunt ex occaecat reprehenderit commodo officia dolor Lorem duis laboris cupidatat officia voluptate. Culpa proident adipisicing id nulla nisi laboris ex in Lorem sunt duis officia eiusmod. Aliqua reprehenderit commodo ex non excepteur duis sunt velit enim. Voluptate laboris sint cupidatat ullamco ut ea consectetur et est culpa et culpa duis.", 38 | "description": "Lorem Ipsum Paragraph" 39 | }, 40 | "MIT": { 41 | "prefix": "mitl", 42 | "description": "MIT License", 43 | "body": [ 44 | "The MIT License (MIT)", 45 | "", 46 | "Copyright (c) ${CURRENT_YEAR} ${0:Author}", 47 | "", 48 | "Permission is hereby granted, free of charge, to any person obtaining a copy", 49 | "of this software and associated documentation files (the \"Software\"), to deal", 50 | "in the Software without restriction, including without limitation the rights", 51 | "to use, copy, modify, merge, publish, distribute, sublicense, and/or sell", 52 | "copies of the Software, and to permit persons to whom the Software is", 53 | "furnished to do so, subject to the following conditions:", 54 | "", 55 | "The above copyright notice and this permission notice shall be included in all", 56 | "copies or substantial portions of the Software.", 57 | "", 58 | "THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR", 59 | "IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,", 60 | "FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE", 61 | "AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER", 62 | "LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,", 63 | "OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE", 64 | "SOFTWARE." 65 | ] 66 | }, 67 | "dummy data array of objects javascript": { 68 | "prefix": "dummy-data-array-of-objects-js", 69 | "body": [ 70 | "const dummyData = [", 71 | " {", 72 | " id: 1,", 73 | " name: 'John Doe',", 74 | " age: 30", 75 | " },", 76 | " {", 77 | " id: 2,", 78 | " name: 'asley',", 79 | " age: 20", 80 | " },", 81 | " {", 82 | " id: 3,", 83 | " name: 'kimber',", 84 | " age: 27", 85 | " },", 86 | " {", 87 | " id: 4,", 88 | " name: 'jason bert',", 89 | " age: 23", 90 | " },", 91 | " {", 92 | " id: 5,", 93 | " name: 'derulo',", 94 | " age: 24", 95 | " },", 96 | "];" 97 | ] 98 | }, 99 | "dummy data json": { 100 | "prefix": "dummy-data-json", 101 | "body": [ 102 | "{", 103 | " \"data\": [", 104 | " {", 105 | " \"id\": 1,", 106 | " \"name\": \"John Doe\",", 107 | " \"age\": 30", 108 | " },", 109 | " {", 110 | " \"id\": 2,", 111 | " \"name\": \"asley\",", 112 | " \"age\": 20", 113 | " },", 114 | " {", 115 | " \"id\": 3,", 116 | " \"name\": \"kimbert\",", 117 | " \"age\": 27", 118 | " },", 119 | " {", 120 | " \"id\": 4,", 121 | " \"name\": \"jason bert\",", 122 | " \"age\": 23", 123 | " },", 124 | " {", 125 | " \"id\": 5,", 126 | " \"name\": \"derulo\",", 127 | " \"age\": 24", 128 | " }", 129 | " ]", 130 | "}" 131 | ] 132 | } 133 | } 134 | -------------------------------------------------------------------------------- /snippets/html.json: -------------------------------------------------------------------------------- 1 | { 2 | "doctype": { 3 | "prefix": "doctype", 4 | "body": ["", "$1"], 5 | "description": "HTML - Defines the document type", 6 | "scope": "text.html" 7 | }, 8 | "styles": { 9 | "prefix": "styles-html", 10 | "body": "$2", 11 | "description": "HTML - Defines a style", 12 | "scope": "text.html" 13 | }, 14 | "styles inline": { 15 | "prefix": "styles-html-inline", 16 | "body": "styles=\"$1\"", 17 | "description": "HTML - Defines a style", 18 | "scope": "text.html" 19 | }, 20 | "a": { 21 | "prefix": "a", 22 | "body": "$2$3", 23 | "description": "HTML - Defines a hyperlink", 24 | "scope": "text.html" 25 | }, 26 | "abbr": { 27 | "prefix": "abbr", 28 | "body": "$2$3", 29 | "description": "HTML - Defines an abbreviation", 30 | "scope": "text.html" 31 | }, 32 | "address": { 33 | "prefix": "address", 34 | "body": ["
", "$1", "
"], 35 | "description": "HTML - Defines an address element", 36 | "scope": "text.html" 37 | }, 38 | "area": { 39 | "prefix": "area", 40 | "body": "\"$4\"$5", 41 | "description": "HTML - Defines an area inside an image map", 42 | "scope": "text.html" 43 | }, 44 | "article": { 45 | "prefix": "article", 46 | "body": ["
", "\t$1", "
"], 47 | "description": "HTML - Defines an article", 48 | "scope": "text.html" 49 | }, 50 | "aside": { 51 | "prefix": "aside", 52 | "body": ["$2"], 53 | "description": "HTML - Defines content aside from the page content", 54 | "scope": "text.html" 55 | }, 56 | "audio": { 57 | "prefix": "audio", 58 | "body": [""], 59 | "description": "HTML - Defines sounds content", 60 | "scope": "text.html" 61 | }, 62 | "b": { 63 | "prefix": "b", 64 | "body": "$1$2", 65 | "description": "HTML - Defines bold text", 66 | "scope": "text.html" 67 | }, 68 | "base": { 69 | "prefix": "base", 70 | "body": "$3", 71 | "description": "HTML - Defines a base URL for all the links in a page", 72 | "scope": "text.html" 73 | }, 74 | "bdi": { 75 | "prefix": "bdi", 76 | "body": "$1$2", 77 | "description": "HTML - Used to isolate text that is of unknown directionality", 78 | "scope": "text.html" 79 | }, 80 | "bdo": { 81 | "prefix": "bdo", 82 | "body": ["", "$2", ""], 83 | "description": "HTML - Defines the direction of text display", 84 | "scope": "text.html" 85 | }, 86 | "big": { 87 | "prefix": "big", 88 | "body": "$1$2", 89 | "description": "HTML - Used to make text bigger", 90 | "scope": "text.html" 91 | }, 92 | "blockquote": { 93 | "prefix": "blockquote", 94 | "body": ["
", "\t$1", "
"], 95 | "description": "HTML - Defines a long quotation", 96 | "scope": "text.html" 97 | }, 98 | "body": { 99 | "prefix": "body", 100 | "body": ["", "\t$1", ""], 101 | "description": "HTML - Defines the body element", 102 | "scope": "text.html" 103 | }, 104 | "br": { 105 | "prefix": "br", 106 | "body": "
", 107 | "description": "HTML - Inserts a single line break", 108 | "scope": "text.html" 109 | }, 110 | "button": { 111 | "prefix": "button", 112 | "body": "", 113 | "description": "HTML - Defines a push button", 114 | "scope": "text.html" 115 | }, 116 | "canvas": { 117 | "prefix": "canvas", 118 | "body": "$2$3", 119 | "description": "HTML - Defines graphics", 120 | "scope": "text.html" 121 | }, 122 | "caption": { 123 | "prefix": "caption", 124 | "body": "$1$2", 125 | "description": "HTML - Defines a table caption", 126 | "scope": "text.html" 127 | }, 128 | "cite": { 129 | "prefix": "cite", 130 | "body": "$1$2", 131 | "description": "HTML - Defines a citation", 132 | "scope": "text.html" 133 | }, 134 | "code": { 135 | "prefix": "code", 136 | "body": "$1$2", 137 | "description": "HTML - Defines computer code text", 138 | "scope": "text.html" 139 | }, 140 | "col": { 141 | "prefix": "col", 142 | "body": "$2", 143 | "description": "HTML - Defines attributes for table columns", 144 | "scope": "text.html" 145 | }, 146 | "colgroup": { 147 | "prefix": "colgroup", 148 | "body": ["", "\t$1", ""], 149 | "description": "HTML - Defines group of table columns", 150 | "scope": "text.html" 151 | }, 152 | "command": { 153 | "prefix": "command", 154 | "body": "$1$2", 155 | "description": "HTML - Defines a command button [not supported]", 156 | "scope": "text.html" 157 | }, 158 | "datalist": { 159 | "prefix": "datalist", 160 | "body": ["", "\t$1", ""], 161 | "description": "HTML - Defines a dropdown list", 162 | "scope": "text.html" 163 | }, 164 | "dd": { 165 | "prefix": "dd", 166 | "body": "
$1
$2", 167 | "description": "HTML - Defines a definition description", 168 | "scope": "text.html" 169 | }, 170 | "del": { 171 | "prefix": "del", 172 | "body": "$1$2", 173 | "description": "HTML - Defines deleted text", 174 | "scope": "text.html" 175 | }, 176 | "details": { 177 | "prefix": "details", 178 | "body": ["
", "\t$1", "
"], 179 | "description": "HTML - Defines details of an element", 180 | "scope": "text.html" 181 | }, 182 | "dialog": { 183 | "prefix": "dialog", 184 | "body": "$1$2", 185 | "description": "HTML - Defines a dialog (conversation)", 186 | "scope": "text.html" 187 | }, 188 | "dfn": { 189 | "prefix": "dfn", 190 | "body": "$1$2", 191 | "description": "HTML - Defines a definition term", 192 | "scope": "text.html" 193 | }, 194 | "div": { 195 | "prefix": "div", 196 | "body": ["
", "\t$1", "
"], 197 | "description": "HTML - Defines a section in a document", 198 | "scope": "text.html" 199 | }, 200 | "div 3 times": { 201 | "prefix": "div3", 202 | "body": [ 203 | "
", 204 | "\t$1", 205 | "
\n
", 206 | "\t$1", 207 | "
\n
", 208 | "\t$1", 209 | "
" 210 | ], 211 | "description": "HTML - Defines a section in a document" 212 | }, 213 | "div 5 times": { 214 | "prefix": "div5", 215 | "body": "
$1
\n
$1
\n
$1
\n
$1
\n
$1
", 216 | "description": "HTML - Defines a section in a document" 217 | }, 218 | "dl": { 219 | "prefix": "dl", 220 | "body": ["
", "\t$1", "
"], 221 | "description": "HTML - Defines a definition list", 222 | "scope": "text.html" 223 | }, 224 | "dt": { 225 | "prefix": "dt", 226 | "body": "
$1
$2", 227 | "description": "HTML - Defines a definition term", 228 | "scope": "text.html" 229 | }, 230 | "em": { 231 | "prefix": "em", 232 | "body": "$1$2", 233 | "description": "HTML - Defines emphasized text", 234 | "scope": "text.html" 235 | }, 236 | "embed": { 237 | "prefix": "embed", 238 | "body": "$2", 239 | "description": "HTML - Defines external interactive content ot plugin", 240 | "scope": "text.html" 241 | }, 242 | "fieldset": { 243 | "prefix": "fieldset", 244 | "body": ["
", "\t$1", "
"], 245 | "description": "HTML - Defines a fieldset", 246 | "scope": "text.html" 247 | }, 248 | "figcaption": { 249 | "prefix": "figcaption", 250 | "body": "
$1
$2", 251 | "description": "HTML - Defines a caption for a figure", 252 | "scope": "text.html" 253 | }, 254 | "figure": { 255 | "prefix": "figure", 256 | "body": ["
", "\t$1", "
"], 257 | "description": "HTML - Defines a group of media content, and their caption", 258 | "scope": "text.html" 259 | }, 260 | "footer": { 261 | "prefix": "footer", 262 | "body": ["
", "\t$1", "
"], 263 | "description": "HTML - Defines a footer for a section or page", 264 | "scope": "text.html" 265 | }, 266 | "form": { 267 | "prefix": "form", 268 | "body": ["
", "\t$1", "
"], 269 | "description": "HTML - Defines a form", 270 | "scope": "text.html" 271 | }, 272 | "h1": { 273 | "prefix": "h1", 274 | "body": "

$1

$2", 275 | "description": "HTML - Defines header 1", 276 | "scope": "text.html" 277 | }, 278 | "h2": { 279 | "prefix": "h2", 280 | "body": "

$1

$2", 281 | "description": "HTML - Defines header 2", 282 | "scope": "text.html" 283 | }, 284 | "h3": { 285 | "prefix": "h3", 286 | "body": "

$1

$2", 287 | "description": "HTML - Defines header 3", 288 | "scope": "text.html" 289 | }, 290 | "h4": { 291 | "prefix": "h4", 292 | "body": "

$1

$2", 293 | "description": "HTML - Defines header 4", 294 | "scope": "text.html" 295 | }, 296 | "h5": { 297 | "prefix": "h5", 298 | "body": "
$1
$2", 299 | "description": "HTML - Defines header 5", 300 | "scope": "text.html" 301 | }, 302 | "h6": { 303 | "prefix": "h6", 304 | "body": "
$1
$2", 305 | "description": "HTML - Defines header 6", 306 | "scope": "text.html" 307 | }, 308 | "head": { 309 | "prefix": "head", 310 | "body": ["", "\t$1", ""], 311 | "description": "HTML - Defines information about the document", 312 | "scope": "text.html" 313 | }, 314 | "header": { 315 | "prefix": "header", 316 | "body": ["
", "\t$1", "
"], 317 | "description": "HTML - Defines a header for a section of page", 318 | "scope": "text.html" 319 | }, 320 | "hgroup": { 321 | "prefix": "hgroup", 322 | "body": ["
", "\t$1", "
"], 323 | "description": "HTML - Defines information about a section in a document", 324 | "scope": "text.html" 325 | }, 326 | "hr": { 327 | "prefix": "hr", 328 | "body": "
", 329 | "description": "HTML - Defines a horizontal rule", 330 | "scope": "text.html" 331 | }, 332 | "html": { 333 | "prefix": "html", 334 | "body": ["", "\t$1", ""], 335 | "description": "HTML - Defines an html document", 336 | "scope": "text.html" 337 | }, 338 | "html5": { 339 | "prefix": "html5", 340 | "body": [ 341 | "", 342 | "", 343 | "\t", 344 | "\t\t$2", 345 | "\t\t", 346 | "\t\t", 347 | "\t\t", 348 | "\t", 349 | "\t", 350 | "\t$4", 351 | "\t", 352 | "" 353 | ], 354 | "description": "HTML - Defines a template for a html5 document", 355 | "scope": "text.html" 356 | }, 357 | "i": { 358 | "prefix": "i", 359 | "body": "$1$2", 360 | "description": "HTML - Defines italic text", 361 | "scope": "text.html" 362 | }, 363 | "iframe": { 364 | "prefix": "iframe", 365 | "body": "$3", 366 | "description": "HTML - Defines an inline sub window", 367 | "scope": "text.html" 368 | }, 369 | "img": { 370 | "prefix": "img", 371 | "body": "\"$2\"/$3", 372 | "description": "HTML - Defines an image", 373 | "scope": "text.html" 374 | }, 375 | "imgNextKJS": { 376 | "prefix": "img-next", 377 | "body": "\"$4\"/", 378 | "description": "HTML - Defines an image on nextjs13", 379 | "scope": "text.html" 380 | }, 381 | "input": { 382 | "prefix": "input", 383 | "body": "", 384 | "description": "HTML - Defines an input field", 385 | "scope": "text.html" 386 | }, 387 | "ins": { 388 | "prefix": "ins", 389 | "body": "$1$2", 390 | "description": "HTML - Defines inserted text", 391 | "scope": "text.html" 392 | }, 393 | "keygen": { 394 | "prefix": "keygen", 395 | "body": "$2", 396 | "description": "HTML - Defines a generated key in a form", 397 | "scope": "text.html" 398 | }, 399 | "kbd": { 400 | "prefix": "kbd", 401 | "body": "$1$2", 402 | "description": "HTML - Defines keyboard text", 403 | "scope": "text.html" 404 | }, 405 | "label": { 406 | "prefix": "label", 407 | "body": "$3", 408 | "description": "HTML - Defines an inline window", 409 | "scope": "text.html" 410 | }, 411 | "legend": { 412 | "prefix": "legend", 413 | "body": "$1$2", 414 | "description": "HTML - Defines a title in a fieldset", 415 | "scope": "text.html" 416 | }, 417 | "li": { 418 | "prefix": "li", 419 | "body": "
  • $1
  • $2", 420 | "description": "HTML - Defines a list item", 421 | "scope": "text.html" 422 | }, 423 | "link": { 424 | "prefix": "link", 425 | "body": "$4", 426 | "description": "HTML - Defines a resource reference", 427 | "scope": "text.html" 428 | }, 429 | "main": { 430 | "prefix": "main", 431 | "body": ["
    ", "\t$1", "
    "], 432 | "description": "HTML - Defines an image map", 433 | "scope": "text.html" 434 | }, 435 | "map": { 436 | "prefix": "map", 437 | "body": ["", "\t$2", ""], 438 | "description": "HTML - Defines an image map", 439 | "scope": "text.html" 440 | }, 441 | "mark": { 442 | "prefix": "mark", 443 | "body": "$1$2", 444 | "description": "HTML - Defines marked text", 445 | "scope": "text.html" 446 | }, 447 | "menu": { 448 | "prefix": "menu", 449 | "body": ["", "\t$1", ""], 450 | "description": "HTML - Defines a menu list", 451 | "scope": "text.html" 452 | }, 453 | "menuitem": { 454 | "prefix": "menuitem", 455 | "body": "$1$2", 456 | "description": "HTML - Defines a menu item [firefox only]", 457 | "scope": "text.html" 458 | }, 459 | "meta": { 460 | "prefix": "meta", 461 | "body": "$3", 462 | "description": "HTML - Defines meta information", 463 | "scope": "text.html" 464 | }, 465 | "meter": { 466 | "prefix": "meter", 467 | "body": "$2$3", 468 | "description": "HTML - Defines measurement within a predefined range", 469 | "scope": "text.html" 470 | }, 471 | "nav": { 472 | "prefix": "nav", 473 | "body": [""], 474 | "description": "HTML - Defines navigation links", 475 | "scope": "text.html" 476 | }, 477 | "noscript": { 478 | "prefix": "noscript", 479 | "body": [""], 480 | "description": "HTML - Defines a noscript section", 481 | "scope": "text.html" 482 | }, 483 | "object": { 484 | "prefix": "object", 485 | "body": "$4$5", 486 | "description": "HTML - Defines an embedded object", 487 | "scope": "text.html" 488 | }, 489 | "ol": { 490 | "prefix": "ol", 491 | "body": ["
      ", "\t$1", "
    "], 492 | "description": "HTML - Defines an ordered list", 493 | "scope": "text.html" 494 | }, 495 | "optgroup": { 496 | "prefix": "optgroup", 497 | "body": ["", "\t$1", ""], 498 | "description": "HTML - Defines an option group", 499 | "scope": "text.html" 500 | }, 501 | "option": { 502 | "prefix": "option", 503 | "body": "$3", 504 | "description": "HTML - Defines an option in a drop-down list", 505 | "scope": "text.html" 506 | }, 507 | "output": { 508 | "prefix": "output", 509 | "body": "$3$4", 510 | "description": "HTML - Defines some types of output", 511 | "scope": "text.html" 512 | }, 513 | "p": { 514 | "prefix": "p", 515 | "body": "

    $1

    $2", 516 | "description": "HTML - Defines a paragraph", 517 | "scope": "text.html" 518 | }, 519 | "param": { 520 | "prefix": "param", 521 | "body": "$3", 522 | "description": "HTML - Defines a parameter for an object", 523 | "scope": "text.html" 524 | }, 525 | "pre": { 526 | "prefix": "pre", 527 | "body": ["
    $1
    "], 528 | "description": "HTML - Defines preformatted text", 529 | "scope": "text.html" 530 | }, 531 | "progress": { 532 | "prefix": "progress", 533 | "body": "$3$4", 534 | "description": "HTML - Defines progress of a task of any kind", 535 | "scope": "text.html" 536 | }, 537 | "q": { 538 | "prefix": "q", 539 | "body": "$1$2", 540 | "description": "HTML - Defines a short quotation", 541 | "scope": "text.html" 542 | }, 543 | "rp": { 544 | "prefix": "rp", 545 | "body": "$1$2", 546 | "description": "HTML - Used in ruby annotations to define what to show browsers that do not support the ruby element", 547 | "scope": "text.html" 548 | }, 549 | "rt": { 550 | "prefix": "rt", 551 | "body": "$1$2", 552 | "description": "HTML - Defines explanation to ruby annotations", 553 | "scope": "text.html" 554 | }, 555 | "ruby": { 556 | "prefix": "ruby", 557 | "body": ["", "$1", ""], 558 | "description": "HTML - Defines ruby annotations", 559 | "scope": "text.html" 560 | }, 561 | "s": { 562 | "prefix": "s", 563 | "body": "$1$2", 564 | "description": "HTML - Used to define strikethrough text", 565 | "scope": "text.html" 566 | }, 567 | "samp": { 568 | "prefix": "samp", 569 | "body": "$1$2", 570 | "description": "HTML - Defines sample computer code", 571 | "scope": "text.html" 572 | }, 573 | "script": { 574 | "prefix": "script", 575 | "body": [""], 576 | "description": "HTML - Defines a script", 577 | "scope": "text.html" 578 | }, 579 | "section": { 580 | "prefix": "section", 581 | "body": ["
    ", "\t$1", "
    "], 582 | "description": "HTML - Defines a section", 583 | "scope": "text.html" 584 | }, 585 | "select": { 586 | "prefix": "select", 587 | "body": [""], 588 | "description": "HTML - Defines a selectable list", 589 | "scope": "text.html" 590 | }, 591 | "small": { 592 | "prefix": "small", 593 | "body": "$1$2", 594 | "description": "HTML - Defines small text", 595 | "scope": "text.html" 596 | }, 597 | "source": { 598 | "prefix": "source", 599 | "body": "$3", 600 | "description": "HTML - Defines media resource", 601 | "scope": "text.html" 602 | }, 603 | "span": { 604 | "prefix": "span", 605 | "body": "$1$2", 606 | "description": "HTML - Defines a section in a document", 607 | "scope": "text.html" 608 | }, 609 | "strong": { 610 | "prefix": "strong", 611 | "body": "$1$2", 612 | "description": "HTML - Defines strong text", 613 | "scope": "text.html" 614 | }, 615 | "sub": { 616 | "prefix": "sub", 617 | "body": "$1$2", 618 | "description": "HTML - Defines sub-scripted text", 619 | "scope": "text.html" 620 | }, 621 | "sup": { 622 | "prefix": "sup", 623 | "body": "$1$2", 624 | "description": "HTML - Defines super-scripted text", 625 | "scope": "text.html" 626 | }, 627 | "summary": { 628 | "prefix": "summary", 629 | "body": "$1$2", 630 | "description": "HTML - Defines a visible heading for the detail element [limited support]", 631 | "scope": "text.html" 632 | }, 633 | "table": { 634 | "prefix": "table", 635 | "body": ["", "\t$1", "
    "], 636 | "description": "HTML - Defines a table", 637 | "scope": "text.html" 638 | }, 639 | "tbody": { 640 | "prefix": "tbody", 641 | "body": ["", "\t$1", ""], 642 | "description": "HTML - Defines a table body", 643 | "scope": "text.html" 644 | }, 645 | "td": { 646 | "prefix": "td", 647 | "body": "$1$2", 648 | "description": "HTML - Defines a table cell", 649 | "scope": "text.html" 650 | }, 651 | "textarea": { 652 | "prefix": "textarea", 653 | "body": "$4", 654 | "description": "HTML - Defines a text area", 655 | "scope": "text.html" 656 | }, 657 | "textarea JSX": { 658 | "prefix": "textarea", 659 | "body": "", 660 | "description": "HTML - Defines a text area", 661 | "scope": "text.html" 662 | }, 663 | "tfoot": { 664 | "prefix": "tfoot", 665 | "body": ["", "\t$1", ""], 666 | "description": "HTML - Defines a table footer", 667 | "scope": "text.html" 668 | }, 669 | "thead": { 670 | "prefix": "thead", 671 | "body": ["", "$1", ""], 672 | "description": "HTML - Defines a table head", 673 | "scope": "text.html" 674 | }, 675 | "th": { 676 | "prefix": "th", 677 | "body": "$1$2", 678 | "description": "HTML - Defines a table header", 679 | "scope": "text.html" 680 | }, 681 | "time": { 682 | "prefix": "time", 683 | "body": "$3", 684 | "description": "HTML - Defines a date/time", 685 | "scope": "text.html" 686 | }, 687 | "title": { 688 | "prefix": "title", 689 | "body": "$1$2", 690 | "description": "HTML - Defines the document title", 691 | "scope": "text.html" 692 | }, 693 | "tr": { 694 | "prefix": "tr", 695 | "body": "$1$2", 696 | "description": "HTML - Defines a table row", 697 | "scope": "text.html" 698 | }, 699 | "track": { 700 | "prefix": "track", 701 | "body": "$5", 702 | "description": "HTML - Defines a table row", 703 | "scope": "text.html" 704 | }, 705 | "u": { 706 | "prefix": "u", 707 | "body": "$1$2", 708 | "description": "HTML - Used to define underlined text", 709 | "scope": "text.html" 710 | }, 711 | "ul": { 712 | "prefix": "ul", 713 | "body": ["
      ", "\t$1", "
    "], 714 | "description": "HTML - Defines an unordered list", 715 | "scope": "text.html" 716 | }, 717 | "var": { 718 | "prefix": "var", 719 | "body": "$1$2", 720 | "description": "HTML - Defines a variable", 721 | "scope": "text.html" 722 | }, 723 | "video": { 724 | "prefix": "video", 725 | "body": [""], 726 | "description": "HTML - Defines a video", 727 | "scope": "text.html" 728 | }, 729 | "router link react": { 730 | "prefix": "link-rdo", 731 | "body": "$2", 732 | "description": "Link, react router dom", 733 | "scope": "text.html" 734 | }, 735 | "router link nextjs": { 736 | "prefix": "link-next", 737 | "body": "$2", 738 | "description": "Link, nextjs", 739 | "scope": "text.html" 740 | }, 741 | "view lynix": { 742 | "prefix": "view", 743 | "body": "$1", 744 | "description": "el view lynx", 745 | "scope": "text.html" 746 | }, 747 | "text lynix": { 748 | "prefix": "text", 749 | "body": "$1", 750 | "description": "el text lynx", 751 | "scope": "text.html" 752 | }, 753 | "scroll-view lynix": { 754 | "prefix": "scroll-view", 755 | "body": "$1", 756 | "description": "el scroll-view lynx", 757 | "scope": "text.html" 758 | }, 759 | "list lynix": { 760 | "prefix": "list", 761 | "body": "$1", 762 | "description": "you will get a scrollable page that displays a large number", 763 | "scope": "text.html" 764 | }, 765 | "page lynix": { 766 | "prefix": "page", 767 | "body": "$1", 768 | "description": "el page lynx", 769 | "scope": "text.html" 770 | } 771 | } 772 | -------------------------------------------------------------------------------- /snippets/http.json: -------------------------------------------------------------------------------- 1 | { 2 | "Auth": { 3 | "prefix": "auth", 4 | "body": "Authenticaion: Bearer ${1:token}", 5 | "description": "Authenticaion header" 6 | }, 7 | "application json": { 8 | "prefix": "content-json", 9 | "body": "Content-Type: application/json", 10 | "description": "Authenticaion header" 11 | }, 12 | "multipart form": { 13 | "prefix": "content-multi/form", 14 | "body": "Content-Type: multipart/form", 15 | "description": "multipart form data" 16 | }, 17 | "form url": { 18 | "prefix": "content-form/url", 19 | "body": "Content-Type: x-www-form-urlencoded", 20 | "description": "form urlencoded data" 21 | }, 22 | "plain text": { 23 | "prefix": "content-plain/text", 24 | "body": "Content-Type: plain/text", 25 | "description": "plain text data" 26 | }, 27 | "tranfer file": { 28 | "prefix": "content-transfer/file", 29 | "body": "Content-Type: transfer file", 30 | "description": "transfer file data" 31 | }, 32 | "websocket": { 33 | "prefix": "content-websocket", 34 | "body": "Content-Type: websocket", 35 | "description": "websocket data" 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /snippets/javascript/javascript.json: -------------------------------------------------------------------------------- 1 | { 2 | "require": { 3 | "prefix": "req", 4 | "body": "require(\"${1:module}\")" 5 | }, 6 | "const module = require(\"module\")": { 7 | "prefix": "req-module", 8 | "body": "const ${1:module} = require(\"${1:module}\")" 9 | }, 10 | "dom event default": { 11 | "prefix": "event", 12 | "body": "e.preventDefault()" 13 | }, 14 | "addEventListener": { 15 | "prefix": "doc-addListener", 16 | "body": "document.addEventListener(\"${1:event}\", ${2:ev} => {\n\t${0}\n})" 17 | }, 18 | "removeEventListener": { 19 | "prefix": "doc-removeListener", 20 | "body": "document.removeEventListener(\"${1:event}\", ${22:listener})" 21 | }, 22 | "getElementById": { 23 | "prefix": "doc-getClass", 24 | "body": "document.getElementById(\"${1:id}\")" 25 | }, 26 | "querySelector": { 27 | "prefix": "doc-querySelector", 28 | "body": "document.querySelector(\"${1:selector}\")" 29 | }, 30 | "createElement": { 31 | "prefix": "create-element", 32 | "body": "${1:document}.createElement(${2:elem})" 33 | }, 34 | "classList.add": { 35 | "prefix": "class-add", 36 | "body": "${1:el}.classList.add(\"${2:class}\")" 37 | }, 38 | "classList.remove": { 39 | "prefix": "class-remove", 40 | "body": "${1:el}.classList.remove(\"${2:class}\")" 41 | }, 42 | "classList.toggle": { 43 | "prefix": "class-toggle", 44 | "body": "${1:el}.classList.toggle(\"${2:class}\")" 45 | }, 46 | "getAttribute": { 47 | "prefix": "attribute-get", 48 | "body": "${1:el}.getAttribute(\"${2:attr}\")" 49 | }, 50 | "removeAttribute": { 51 | "prefix": "attribute-tremove", 52 | "body": "${1:el}.removeAttribute(\"${2:attr}\")" 53 | }, 54 | "setAttribute": { 55 | "prefix": "attribute-set", 56 | "body": "${1:el}.setAttribute(\"${2:attr}\", ${3:value})" 57 | }, 58 | "appendChild": { 59 | "prefix": "child-append", 60 | "body": "${1:el}.appendChild(${2:elem})" 61 | }, 62 | "removeChild": { 63 | "prefix": "child-remove", 64 | "body": "${1:el}.removeChild(${2:elem})" 65 | }, 66 | "forEach loop": { 67 | "prefix": "forEach-iterable", 68 | "body": "${1:iterable}.forEach((${2:item}) => {\n\t${0}\n})" 69 | }, 70 | "map": { 71 | "prefix": "map", 72 | "body": "${1:iterable}.map((${2:item}) => {\n\t${0}\n})" 73 | }, 74 | "reduce": { 75 | "prefix": "reduce", 76 | "body": "${1:iterable}.reduce((${2:previous}, ${3:current}) => {\n\t${0}\n}${4:, initial})" 77 | }, 78 | "filter": { 79 | "prefix": "filter", 80 | "body": "${1:iterable}.filter((${2:item}) => {\n\t${0}\n})" 81 | }, 82 | "find": { 83 | "prefix": "find", 84 | "body": "${1:iterable}.find((${2:item}) => {\n\t${0}\n})" 85 | }, 86 | "every": { 87 | "prefix": "every", 88 | "body": "${1:iterable}.every((${2:item}) => {\n\t${0}\n})" 89 | }, 90 | "some": { 91 | "prefix": "some", 92 | "body": "${1:iterable}.some((${2:item}) => {\n\t${0}\n})" 93 | }, 94 | "let statement": { 95 | "prefix": "let", 96 | "body": "let ${1:name} = ${2:value}" 97 | }, 98 | "const statement": { 99 | "prefix": "const", 100 | "body": "const ${1:name} = ${2:value}" 101 | }, 102 | "const statement from array destructuring": { 103 | "prefix": "const-destructuring-array", 104 | "body": "const [ ${2:prop} ] = ${1:value}" 105 | }, 106 | "const statement from obj destructuring": { 107 | "prefix": "const-destructuring-obj", 108 | "body": "const { ${2:prop} } = ${1:value}" 109 | }, 110 | "const assignment awaited": { 111 | "prefix": "await", 112 | "body": "const ${1:name} = await ${2:value}" 113 | }, 114 | "arrow function ": { 115 | "prefix": "arrow-func", 116 | "body": "() => " 117 | }, 118 | "const arrow function assignment": { 119 | "prefix": "const-arrow-func", 120 | "body": "const ${1:name} = (${2:arguments}) => {\n\treturn ${0}\n}" 121 | }, 122 | "const object": { 123 | "prefix": "const-object", 124 | "body": "const ${1:name} = {\n\t${0}\n}" 125 | }, 126 | "const array": { 127 | "prefix": "const-array", 128 | "body": "const ${1:name} = [\n\t${0}\n]" 129 | }, 130 | "module export": { 131 | "prefix": "export-const", 132 | "body": "export const ${1:var}" 133 | }, 134 | "module default export": { 135 | "prefix": "export-default", 136 | "body": "export default ${1:func}(${2:arguments}) {\n\treturn ${0}\n}" 137 | }, 138 | "Import": { 139 | "prefix": "import-default", 140 | "body": ["import $1 from \"${2}\";"], 141 | "description": "Import module" 142 | }, 143 | "import module destructured": { 144 | "prefix": "import-destructured", 145 | "body": "import {$2} from \"${1:module}\"" 146 | }, 147 | "this": { 148 | "prefix": "t", 149 | "body": "this." 150 | }, 151 | "throw new Error": { 152 | "prefix": "throw", 153 | "body": "throw new ${0:error}" 154 | }, 155 | "try/catch": { 156 | "prefix": "try", 157 | "body": "try {\n\t${0}\n} catch (${1:err}) {\n\t\n}" 158 | }, 159 | "try/finally": { 160 | "prefix": "tryFinally", 161 | "body": "try {\n\t${0}\n} finally {\n\t\n}" 162 | }, 163 | "try/catch/finally": { 164 | "prefix": "tcf", 165 | "body": "try {\n\t${0}\n} catch (${1:err}) {\n\t\n} finally {\n\t\n}" 166 | }, 167 | "anonymous function": { 168 | "prefix": "anonymous", 169 | "body": "function (${1:arguments}) {${0}}" 170 | }, 171 | "named function": { 172 | "prefix": "function", 173 | "body": "function ${1:name} (${2:arguments}) {\n\t${0}\n}" 174 | }, 175 | "async function": { 176 | "prefix": "async", 177 | "body": "async function (${1:arguments}) {\n\t${0}\n}" 178 | }, 179 | "console.log": { 180 | "prefix": "clo", 181 | "body": "console.log(${0})" 182 | }, 183 | "console.log with string": { 184 | "prefix": "clo-string", 185 | "body": "console.log(${0}, '${0}')" 186 | }, 187 | "console.log with JSON.stringify": { 188 | "prefix": "clo-json", 189 | "body": "console.log(JSON.stringify(${0}))" 190 | }, 191 | "console.debug": { 192 | "prefix": "clo-debug", 193 | "body": "console.debug(${0})" 194 | }, 195 | "console.debug with JSON.stringify": { 196 | "prefix": "clod-jsonStringify", 197 | "body": "console.debug(JSON.stringify(${0}))" 198 | }, 199 | "console.log a variable": { 200 | "prefix": "clo-var", 201 | "body": "console.log(\"${0}:\", ${0})" 202 | }, 203 | "console.error": { 204 | "prefix": "clo-err", 205 | "body": "console.error(${0})" 206 | }, 207 | "JSON.stringify()": { 208 | "prefix": "json-stringify", 209 | "body": "JSON.stringify($0)" 210 | }, 211 | "JSON.parse()": { 212 | "prefix": "json-parse", 213 | "body": "JSON.parse($0)" 214 | }, 215 | "ternary": { 216 | "prefix": "ternary", 217 | "body": "${1:cond} ? ${2:true} : ${3:false}" 218 | }, 219 | "return": { 220 | "prefix": "return", 221 | "body": "return ${0}" 222 | }, 223 | "return null": { 224 | "prefix": "return-null", 225 | "body": "return null" 226 | }, 227 | "return new object": { 228 | "prefix": "return-new-obj", 229 | "body": "return {\n\t${0}\n}" 230 | }, 231 | "return new array": { 232 | "prefix": "return-new-array", 233 | "body": "return [\n\t${0}\n]" 234 | }, 235 | "return promise": { 236 | "prefix": "return-promise", 237 | "body": "return new Promise((resolve, reject) => {\n\t${0}\n})" 238 | }, 239 | "For Loop": { 240 | "prefix": "for", 241 | "body": [ 242 | "for (let ${1:index} = 0; ${1:index} < ${2:array}.length; ${1:index}++) {", 243 | "\tconst ${3:element} = ${2:array}[${1:index}];", 244 | "\t$0", 245 | "}" 246 | ], 247 | "description": "For Loop" 248 | }, 249 | "For-Each Loop": { 250 | "prefix": "foreach-array", 251 | "body": ["${1:array}.forEach(${2:element} => {", "\t$0", "});"], 252 | "description": "For-Each Loop" 253 | }, 254 | "For-In Loop": { 255 | "prefix": "forin", 256 | "body": [ 257 | "for (let ${1:key} in ${2:object}) {", 258 | "\tif (${2:object}.hasOwnProperty(${1:key})) {", 259 | "\t\tconst ${3:element} = ${2:object}[${1:key}];", 260 | "\t\t$0", 261 | "\t}", 262 | "}" 263 | ], 264 | "description": "For-In Loop" 265 | }, 266 | "For Loop reverse number pattern": { 267 | "prefix": "for-reverse-number-pattern", 268 | "body": [ 269 | "for (let i = 5; i >= 0; i--) {", 270 | "\tlet row = \"\"", 271 | "\tfor (let j = 0; j < i; j++) {", 272 | "\t\trow += i + \" \"", 273 | "\t}", 274 | "\tconsole.log(row)", 275 | "}" 276 | ], 277 | "description": "For Loop reverse number parttern" 278 | }, 279 | "For Loop number pattern": { 280 | "prefix": "for-number-pattern", 281 | "body": [ 282 | "for (let i = 0; i <= 5; i++) {", 283 | "\tlet row = \"\"", 284 | "\tfor (let j = 0; j < i; j++) {", 285 | "\t\trow += i + \" \"", 286 | "\t}", 287 | "\tconsole.log(row)", 288 | "}" 289 | ], 290 | "description": "For Loop number pattern" 291 | }, 292 | "For-Of Loop": { 293 | "prefix": "forof", 294 | "body": ["for (const ${1:iterator} of ${2:object}) {", "\t$0", "}"], 295 | "description": "For-Of Loop" 296 | }, 297 | "Function Statement": { 298 | "prefix": "function", 299 | "body": ["function ${1:name}(${2:params}) {", "\t$0", "}"], 300 | "description": "Function Statement" 301 | }, 302 | "If-Else Statement": { 303 | "prefix": "if else", 304 | "body": ["if (${1:condition}) {", "\t$0", "} else {", "\t", "}"], 305 | "description": "If-Else Statement" 306 | }, 307 | "else if statement": { 308 | "prefix": "elif", 309 | "body": "else if (${1:condition}) {\n\t${0}\n}" 310 | }, 311 | "Switch Statement": { 312 | "prefix": "switch-case", 313 | "body": [ 314 | "switch (${1:key}) {", 315 | "\tcase ${2:value}:", 316 | "\t\t$0", 317 | "\t\tbreak;", 318 | "", 319 | "\tdefault:", 320 | "\t\tbreak;", 321 | "}" 322 | ], 323 | "description": "Switch Statement" 324 | }, 325 | "While Statement": { 326 | "prefix": "while", 327 | "body": ["while (${1:condition}) {", "\t$0", "}"], 328 | "description": "While Statement" 329 | }, 330 | "Set Timeout Function": { 331 | "prefix": "settimeout", 332 | "body": ["setTimeout(() => {", "\t$0", "}, ${1:timeout});"], 333 | "description": "Set Timeout Function" 334 | }, 335 | "Set Interval Function": { 336 | "prefix": "setinterval", 337 | "body": ["setInterval(() => {", "\t$0", "}, ${1:interval});"], 338 | "description": "Set Interval Function" 339 | }, 340 | "Array of obj": { 341 | "prefix": "array-of-obj", 342 | "body": "[\n\t{\n\t\t${0}\n\t}\n]", 343 | "description": "Array of obj" 344 | }, 345 | "Array ": { 346 | "prefix": "array", 347 | "body": "[\t${0}\t]", 348 | "description": "Array of obj" 349 | }, 350 | "Generate Array": { 351 | "prefix": "array-from", 352 | "body": "Array.from({ length: ${1:5}})", 353 | "description": "Generate array" 354 | }, 355 | "Object": { 356 | "prefix": "obj", 357 | "body": "{\n\t${0}\n}", 358 | "description": "Object" 359 | }, 360 | "Obj return null": { 361 | "prefix": "obj-return-null", 362 | "body": "{\n\t${0}\n\treturn null;\n}", 363 | "description": "Obj return null" 364 | } 365 | } 366 | -------------------------------------------------------------------------------- /snippets/javascript/lynx.json: -------------------------------------------------------------------------------- 1 | { 2 | "background only": { 3 | "prefix": "background-only", 4 | "body": "\"background-only\"", 5 | "description": "a complete React runtime, handling component lifecycles and other side effects. Since complete consistency with single-threaded React is not possible, we have a modified component lifecycle" 6 | }, 7 | "main thread": { 8 | "prefix": "main-thread", 9 | "body": "\"main thread\"", 10 | "description": "responsible for rendering the initial screen and applying subsequent UI updates. This allows users to see the first screen as quickly as possible while reducing the main thread's workload." 11 | }, 12 | "bindtap": { 13 | "prefix": "bindtap", 14 | "body": "bindtap={$0}", 15 | "description": "bindtap event handler" 16 | }, 17 | "catchtap": { 18 | "prefix": "catchtap", 19 | "body": "catchtap={$0}", 20 | "description": "catchtap event handler" 21 | }, 22 | "auto scrolling": { 23 | "prefix": "auto-scrolling", 24 | "body": "$0.current?.invoke({\n\tmethod: \"autoScroll\",\n\tparams: {\n\t\tdirection: \"${1:up}\",\n\trate: \"${2:10|20|30|60|90}\"\n\tstart: true,\n},\n}).exec", 25 | "description": "bindtap event handler" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /snippets/javascript/react.json: -------------------------------------------------------------------------------- 1 | { 2 | "react function component ": { 3 | "prefix": "rfc", 4 | "body": "\n function ${TM_FILENAME_BASE/(.*)/${1:/capitalize}/}({${2}}) {\n\treturn (\n\t\t
    \n\t\t\t${TM_FILENAME_BASE}\n\t\t
    \n\t)\n} \n\n export default ${TM_FILENAME_BASE/(.*)/${1:/capitalize}/}", 5 | "description": "Creates a React component with props" 6 | }, 7 | "react function component with props": { 8 | "prefix": "rfcp", 9 | "body": "\ntype ${1:Type} ={\n\t${2:val}: ${3}\n}\nexport default function ${TM_FILENAME_BASE/(.*)/${1:/capitalize}/}: React.FC<${1}>({${2}}) {\n\treturn (\n\t\t
    \n\t\t\t{$2}\n\t\t
    \n\t\t)\n\t}\n}\n\n", 10 | "description": "Creates a React component with props" 11 | }, 12 | "reactFunctionComponent": { 13 | "prefix": "rfce", 14 | "body": "\n export default function ${2}${TM_FILENAME_BASE/(.*)/${1:/capitalize}/}() {\n\treturn (\n\t\t
    \n\t\t\t${TM_FILENAME_BASE}${3}\n\t\t
    \n\t)\n}", 15 | "description": "Creates a React functional component without PropTypes" 16 | }, 17 | "arrowFunctionComponent": { 18 | "prefix": "rfcwp", 19 | "body": "\n export const ${TM_FILENAME_BASE} = () => {\n\treturn (\n\t\t
    \n\t\t\t${TM_FILENAME_BASE/(.*)/${1:/capitalize}/}\n\t\t
    \n\t)\n}", 20 | "description": "Creates a React functional component without PropTypes" 21 | }, 22 | "arrowFunctionComponentSection": { 23 | "prefix": "rfce-section", 24 | "body": "\n export const ${TM_FILENAME_BASE} = () => {\n\treturn (\n\t\t
    \n\t\t\t${TM_FILENAME_BASE/(.*)/${1:/capitalize}/}\n\t\t
    \n\t)\n}", 25 | "description": "Creates a React functional component without PropTypes" 26 | }, 27 | "arrowFunctionComponentNav": { 28 | "prefix": "rfce-nav", 29 | "body": "\n export const ${TM_FILENAME_BASE} = () => {\n\treturn (\n\t\t\n\t)\n}", 30 | "description": "Creates a React functional component without PropTypes" 31 | }, 32 | "jsx element": { 33 | "prefix": "jj", 34 | "body": "<${1:elementName}>\n\t$0\n", 35 | "description": "an element" 36 | }, 37 | "jsx element self closed": { 38 | "prefix": "jc", 39 | "body": "<${1:elementName} />", 40 | "description": "an element self closed" 41 | }, 42 | "jsx elements map": { 43 | "prefix": "jm", 44 | "body": "{${1:array}.map((item, id) =>
    \n\t$0\n
    )}", 45 | "description": "an element self closed" 46 | }, 47 | "jsx elements map with return": { 48 | "prefix": "jmr", 49 | "body": "{${1:array}.map((item, id) => {\n\treturn
    \n\t$0\n
    \n})}", 50 | "description": "an element self closed" 51 | }, 52 | "useState": { 53 | "prefix": "us", 54 | "body": "const [${1:setterName}, set${1/(.*)/${1:/capitalize}/}] = useState(${2})$0", 55 | "description": "use state hook" 56 | }, 57 | "useState any value": { 58 | "prefix": "us any", 59 | "body": "const [${1:val}, set${1}] = useState(null)", 60 | "description": "use state hook" 61 | }, 62 | "useEffect": { 63 | "prefix": "ue", 64 | "body": ["useEffect(() => {", "\t$1", "}, [])$0"], 65 | "description": "React useEffect() hook" 66 | }, 67 | "useEffect with cleanup": { 68 | "prefix": "uec", 69 | "body": [ 70 | "useEffect(() => {", 71 | "\t$1", 72 | "\n\treturn () => {", 73 | "\t\t$2", 74 | "\t}", 75 | "}, [])$0" 76 | ], 77 | "description": "React useEffect() hook with a cleanup function" 78 | }, 79 | "createContext": { 80 | "prefix": "cc", 81 | "body": [ 82 | "export const $1 = createContext<$2>(", 83 | "\t(null as any) as $2", 84 | ")" 85 | ], 86 | "description": "creates a react context" 87 | }, 88 | "useContext": { 89 | "prefix": "uc", 90 | "body": ["const $1 = useContext($2)$0"], 91 | "description": "React useContext() hook" 92 | }, 93 | "useRef": { 94 | "prefix": "ur", 95 | "body": ["const ${1:elName}El = useRef(null)$0"], 96 | "description": "React useContext() hook" 97 | }, 98 | "useCallback": { 99 | "prefix": "ucb", 100 | "body": [ 101 | "const ${1:izedCallback} = useCallback(", 102 | "\t() => {", 103 | "\t\t${2:doSomething}(${3:a}, ${4:b})", 104 | "\t},", 105 | "\t[${5:a}, ${6:b}],", 106 | ")$0" 107 | ], 108 | "description": "React useCallback() hook" 109 | }, 110 | "useMemo": { 111 | "prefix": "ume", 112 | "body": [ 113 | "const ${1:izedValue} = useMemo(() => ${2:computeExpensiveValue}(${3:a}, ${4:b}), [${5:a}, ${6:b}])$0" 114 | ], 115 | "description": "React useMemo() hook" 116 | }, 117 | "Log warning to console": { 118 | "prefix": "clw", 119 | "body": ["console.warn($1);", "$0"], 120 | "description": "Log warning to the console" 121 | }, 122 | "Log error to console": { 123 | "prefix": "clr", 124 | "body": ["console.error($1);", "$0"], 125 | "description": "Log error to the console" 126 | }, 127 | "toggle menu navbar": { 128 | "prefix": "menu", 129 | "body": [ 130 | "const [ menu, setMenu ] = useState(false)", 131 | "const handleMenu = (prev) => setMenu(!prev)" 132 | ] 133 | }, 134 | "import env": { 135 | "prefix": "env vite", 136 | "body": "import.meta.env.$1" 137 | }, 138 | "event click": { 139 | "prefix": "event-click", 140 | "body": "event: React.MouseEvent" 141 | }, 142 | "event prevent": { 143 | "prefix": "event prevent", 144 | "body": "event.preventDefault()" 145 | }, 146 | "event form": { 147 | "prefix": "event-change-value", 148 | "body": "event: React.ChangeEvent" 149 | }, 150 | "event setState": { 151 | "prefix": "event-setState", 152 | "body": "event: React.Dispatch>" 153 | }, 154 | "addEventListener": { 155 | "prefix": "document-addListener", 156 | "body": "document.addEventListener('${1:event}', ${2:ev} => {\n\t${0}\n})" 157 | }, 158 | "removeEventListener": { 159 | "prefix": "document-removeListener", 160 | "body": "document.removeEventListener('${1:event}', ${22:listener})" 161 | }, 162 | "getElementById": { 163 | "prefix": "document-getClass", 164 | "body": "document.getElementById('${1:id}')" 165 | }, 166 | "querySelector": { 167 | "prefix": "document-querySelector", 168 | "body": "document.querySelector('${1:selector}')" 169 | }, 170 | "hook useInput create": { 171 | "prefix": "useInput create", 172 | "body": "import React, { useState } from \"react\"\n\nexport interface UseInput {\n\tvalue: string;\n\tonChange: (event: React.ChangeEvent) => void;\n}\nexport const useInput = (initial: string): UseInput => {\n\tconst [value, setValue] = useState(initial);\n\tconst onChange = (event: React.ChangeEvent) => {\n\t\tsetValue(event.target.value);\n\t}\n\t\n\treturn {\n\t\tvalue,\n\t\tonChange,\n\t}\n}" 173 | }, 174 | "hook useInput store": { 175 | "prefix": "useInput store", 176 | "body": "import React from \"react\"\nimport { useInput } from \"${1}\"\n\nexport default function ${TM_FILENAME_BASE}(){\n\tconst nameInput = useInput(\"\")\n\tconst emailInput = useInput(\"\")\n\n\tconst handleSubmit = (event: React.FormEvent) => {\n\t\tevent.preventDefault();\n\n\t\tconsole.log(nameInput.value)\n\t}\n\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\n\t\t
    \n\t)\n}" 177 | }, 178 | "className": { 179 | "prefix": "className", 180 | "body": "className=\"${1}\"" 181 | }, 182 | "className props": { 183 | "prefix": "className-props", 184 | "body": "className?:string" 185 | }, 186 | "style": { 187 | "prefix": "style", 188 | "body": "style={{${1}: ${2}}}" 189 | }, 190 | "onClick": { 191 | "prefix": "onclick", 192 | "body": "onClick={handle${1:}}", 193 | "description": "handle onClick events" 194 | }, 195 | "onChange": { 196 | "prefix": "onchange", 197 | "body": "onChange={e => set${1:func}(e.target.value)}", 198 | "description": "handle onChange events" 199 | }, 200 | "onSubmit": { 201 | "prefix": "onsubmit", 202 | "body": "onSubmit={handle${1:}}", 203 | "description": "handle onSubmit events" 204 | }, 205 | "onKeyDown": { 206 | "prefix": "onkeydown", 207 | "body": "onKeyDown={handle${1:}}" 208 | }, 209 | "onKeyUp": { 210 | "prefix": "onkeyup", 211 | "body": "onKeyUp={handle${1:}}" 212 | }, 213 | "use client": { 214 | "prefix": "use-c", 215 | "body": "\"use client\"" 216 | }, 217 | "use server": { 218 | "prefix": "use-s", 219 | "body": "\"use server\"" 220 | }, 221 | "useSearchParams": { 222 | "prefix": "searchParams", 223 | "body": "const searchParams = useSearchParams()\nconst params= new URLSearchParams(searchParams)\nconst $1 = params.get(\"$1\");\n" 224 | }, 225 | "set params": { 226 | "prefix": "set-params", 227 | "body": "params.set(\"$1\", $2)\nwindow.history.pushState(null, '', '?' + params.toString())" 228 | }, 229 | "delete params": { 230 | "prefix": "delete-params", 231 | "body": "params.delete(\"$1\")\nwindow.history.pushState(null, '', '?' + params.toString())" 232 | }, 233 | "children": { 234 | "prefix": "children", 235 | "body": "children: React.ReactNode" 236 | }, 237 | "children props": { 238 | "prefix": "children-props", 239 | "body": "{ children }: { children: React.ReactNode }" 240 | }, 241 | "params-props": { 242 | "prefix": "params-props", 243 | "body": "{ params }: { params: Promise<{ slug: string }> }" 244 | }, 245 | "params-get": { 246 | "prefix": "params-get", 247 | "body": "const _p = await params;\nconst slug = _p.slug;\n" 248 | } 249 | } 250 | -------------------------------------------------------------------------------- /snippets/javascript/typescript.json: -------------------------------------------------------------------------------- 1 | { 2 | "Public Method Definition": { 3 | "prefix": "public method", 4 | "body": ["/**", " * ${1:name}", " */", "public ${1:name}() {", "\t$0", "}"], 5 | "description": "Public Method Definition" 6 | }, 7 | "Private Method Definition": { 8 | "prefix": "private method", 9 | "body": ["private ${1:name}() {", "\t$0", "}"], 10 | "description": "Private Method Definition" 11 | }, 12 | "Property getter": { 13 | "prefix": "get", 14 | "body": [ 15 | "", 16 | "public get ${1:value}() : ${2:string} {", 17 | "\t${3:return $0}", 18 | "}", 19 | "" 20 | ], 21 | "description": "Property getter" 22 | }, 23 | "Define a full property": { 24 | "prefix": "prop", 25 | "body": [ 26 | "", 27 | "private _${1:value} : ${2:string};", 28 | "public get ${1:value}() : ${2:string} {", 29 | "\treturn this._${1:value};", 30 | "}", 31 | "public set ${1:value}(v : ${2:string}) {", 32 | "\tthis._${1:value} = v;", 33 | "}", 34 | "" 35 | ], 36 | "description": "Define a full property" 37 | }, 38 | "Triple-slash reference": { 39 | "prefix": "ref", 40 | "body": ["/// ", "$0"], 41 | "description": "Triple-slash reference" 42 | }, 43 | "Property setter": { 44 | "prefix": "set", 45 | "body": [ 46 | "", 47 | "public set ${1:value}(v : ${2:string}) {", 48 | "\tthis.$3 = v;", 49 | "}", 50 | "" 51 | ], 52 | "description": "Property setter" 53 | }, 54 | "Function Statement": { 55 | "prefix": "function", 56 | "body": ["function ${1:name}(${2:params}:${3:type}) {", "\t$0", "}"], 57 | "description": "Function Statement" 58 | }, 59 | "Region Start": { 60 | "prefix": "#region", 61 | "body": ["//#region $0"], 62 | "description": "Folding Region Start" 63 | }, 64 | "Region End": { 65 | "prefix": "#endregion", 66 | "body": ["//#endregion"], 67 | "description": "Folding Region End" 68 | }, 69 | "type": { 70 | "prefix": "type-types", 71 | "body": "type T${1} = {\n\t${2}: ${3}\n}" 72 | }, 73 | "interface": { 74 | "prefix": "interface-types", 75 | "body": "interface I${1} {\n\t${2}: ${3}\n}" 76 | }, 77 | "interface extends": { 78 | "prefix": "interface-extends-types", 79 | "body": "interface I$1 extends I$2 {\n\t$3: $4\n}" 80 | }, 81 | "declare interface": { 82 | "prefix": "declare-interface", 83 | "body": "declare interface I${1} {\n\t${2}: ${3}\n}" 84 | }, 85 | "declare interface extends": { 86 | "prefix": "declare-interface-extends", 87 | "body": "declare interface I${1} extends I${2:} {${3} }" 88 | }, 89 | "props-types": { 90 | "prefix": "props-types", 91 | "body": "{\t$1\t}:{$1:${2:types}}" 92 | }, 93 | "event Change": { 94 | "prefix": "event-change", 95 | "body": "React.ChangeEvent" 96 | }, 97 | "event Form": { 98 | "prefix": "event-form", 99 | "body": "React.FormEvent" 100 | }, 101 | "handle events ": { 102 | "prefix": "handle-func", 103 | "body": ["const handle${1:func} = () => {", "\t$2", "}"], 104 | "description": "handle events" 105 | }, 106 | "handle change": { 107 | "prefix": "handle-change", 108 | "body": "const handleChange = (event: React.ChangeEvent) => {\n\tconst { name, value } = event.target\n\tsetForm({ ...form, [name]: value })\n}" 109 | }, 110 | "handle submit": { 111 | "prefix": "handle-submit", 112 | "body": "const handleSubmit= (event: React.FormEvent) => {\n\t event.preventDefault()\n\t $0\n}" 113 | }, 114 | "set state ": { 115 | "prefix": "set-state", 116 | "body": "React.Dispatch>;" 117 | }, 118 | "set state boolean": { 119 | "prefix": "set-state-boolean", 120 | "body": "React.Dispatch>" 121 | }, 122 | "set state array": { 123 | "prefix": "set-state-array", 124 | "body": "React.Dispatch>;" 125 | }, 126 | "custom hook": { 127 | "prefix": "hook", 128 | "body": "export const use${1:HookName} = () => {\n\t${2}\n}" 129 | } 130 | } 131 | -------------------------------------------------------------------------------- /snippets/lua.json: -------------------------------------------------------------------------------- 1 | { 2 | "require": { 3 | "prefix": "req", 4 | "body": ["require(\"${1:module}\")"], 5 | "description": "Require module" 6 | }, 7 | "return": { 8 | "prefix": "rt", 9 | "body": ["return $0"], 10 | "description": "return value" 11 | }, 12 | "assigment": { 13 | "prefix": "ll", 14 | "body": ["local ${1:varName} = ${0:value}"], 15 | "description": "create a variable" 16 | }, 17 | "local": { 18 | "prefix": "l", 19 | "body": ["local ${0}"], 20 | "description": "create a variable" 21 | }, 22 | "locreq": { 23 | "prefix": "lreq", 24 | "body": ["local ${1:var} = require(\"${2:module}\")"], 25 | "description": "Require module as a variable" 26 | }, 27 | "config function": { 28 | "prefix": "config", 29 | "body": "config = function()\n\t\trequire(\"${1}\")${2}\n\tend," 30 | }, 31 | "class": { 32 | "prefix": "cl", 33 | "body": [ 34 | "${1:className} = {}\n", 35 | "$1.${2:new} = function($3)", 36 | "\tlocal ${4:varName} = ${5:{}}\n", 37 | "\t${6: --code}\n", 38 | "\treturn $4", 39 | "end" 40 | ], 41 | "description": "Create a class" 42 | }, 43 | "if": { 44 | "prefix": "if", 45 | "body": ["if ${1:true} then", "\t$0", "end"] 46 | }, 47 | "elseif": { 48 | "prefix": "elseif", 49 | "body": ["elseif ${1:true} then", "\t$0"] 50 | }, 51 | "for": { 52 | "prefix": "for", 53 | "body": ["for ${1:i}=${2:1},${3:10} do", "\t$0", "end"], 54 | "description": "for loop range" 55 | }, 56 | "foreach": { 57 | "prefix": "foreach", 58 | "body": ["for i, ${1:x} in pairs(${2:table}) do", "\t$0", "end"] 59 | }, 60 | "forline": { 61 | "prefix": "forline", 62 | "body": [ 63 | "f = io.open(${1:\"${2:filename}\"}, \"${3:r}\")\n", 64 | "while true do", 65 | "\tline = f:read()", 66 | "\tif line == nil then break end\n", 67 | "\t${0:-- code}", 68 | "end" 69 | ], 70 | "description": "read file line by line" 71 | }, 72 | "function": { 73 | "prefix": "fu", 74 | "body": ["function ${1:name}($2)", "\t${3:-- code}", "end"] 75 | }, 76 | "inline-function": { 77 | "prefix": "f=", 78 | "body": ["local ${1:name} = function($2)", "\t${0:-- code}", "end"] 79 | }, 80 | "print": { 81 | "prefix": "p", 82 | "body": ["print(${0})"] 83 | }, 84 | "self": { 85 | "prefix": "self:", 86 | "body": ["function self:${1:methodName}($2)", "\t$0", "end"] 87 | }, 88 | "while": { 89 | "prefix": "while", 90 | "body": ["while ${1:true} do", "\t$0", "end"] 91 | } 92 | } 93 | -------------------------------------------------------------------------------- /snippets/markdown.json: -------------------------------------------------------------------------------- 1 | { 2 | "header 1": { 3 | "prefix": "h1", 4 | "body": ["# ${0}"], 5 | "description": "Add header level 1" 6 | }, 7 | "header 2": { 8 | "prefix": "h2", 9 | "body": ["## ${0}"], 10 | "description": "Add header level 2" 11 | }, 12 | "header 3": { 13 | "prefix": "h3", 14 | "body": ["### ${0}"], 15 | "description": "Add header level 3" 16 | }, 17 | "header 4": { 18 | "prefix": "h4", 19 | "body": ["#### ${0}"], 20 | "description": "Add header level 4" 21 | }, 22 | "header 5": { 23 | "prefix": "h5", 24 | "body": ["##### ${0}"], 25 | "description": "Add header level 5" 26 | }, 27 | "header 6": { 28 | "prefix": "h6", 29 | "body": ["###### ${0}"], 30 | "description": "Add header level 6" 31 | }, 32 | "Links": { 33 | "prefix": ["l", "link"], 34 | "body": ["[${1}](${2}) ${0}"], 35 | "description": "Add links" 36 | }, 37 | "URLS": { 38 | "prefix": ["u", "url"], 39 | "body": ["<${1}> ${0}"], 40 | "description": "Add urls" 41 | }, 42 | "Images": { 43 | "prefix": "img", 44 | "body": ["![${1}](${2}) ${0}"], 45 | "description": "Add images" 46 | }, 47 | "Insert strikethrough": { 48 | "prefix": "strikethrough", 49 | "body": "~~${1}~~ ${0}", 50 | "description": "Insert strikethrough" 51 | }, 52 | "Insert bold text": { 53 | "prefix": ["bold", "b"], 54 | "body": "**${1}** $0", 55 | "description": "Insert bold text" 56 | }, 57 | "Insert italic text": { 58 | "prefix": ["i", "italic"], 59 | "body": "*${1}* $0", 60 | "description": "Insert italic text" 61 | }, 62 | "Insert bold and italic text": { 63 | "prefix": ["bold and italic", "bi"], 64 | "body": "***${1}*** $0", 65 | "description": "Insert bold and italic text" 66 | }, 67 | "Insert quoted text": { 68 | "prefix": "quote", 69 | "body": "> ${1}", 70 | "description": "Insert quoted text" 71 | }, 72 | "Insert code": { 73 | "prefix": "code", 74 | "body": "`${1}` $0", 75 | "description": "Insert code" 76 | }, 77 | "Insert code block": { 78 | "prefix": "codeblock", 79 | "body": ["```${1:language}", "$0", "```"], 80 | "description": "Insert fenced code block" 81 | }, 82 | "Insert unordered list": { 83 | "prefix": "unordered list", 84 | "body": ["- ${1:first}", "- ${2:second}", "- ${3:third}", "$0"], 85 | "description": "Insert unordered list" 86 | }, 87 | "Insert ordered list": { 88 | "prefix": "ordered list", 89 | "body": ["1. ${1:first}", "2. ${2:second}", "3. ${3:third}", "$0"], 90 | "description": "Insert ordered list" 91 | }, 92 | "Insert horizontal rule": { 93 | "prefix": "horizontal rule", 94 | "body": "----------\n", 95 | "description": "Insert horizontal rule" 96 | }, 97 | "Insert task list": { 98 | "prefix": "task", 99 | "body": ["- [${1| ,x|}] ${2:text}", "${0}"], 100 | "description": "Insert task list" 101 | }, 102 | "Insert task list 2": { 103 | "prefix": "task2", 104 | "body": ["- [${1| ,x|}] ${2:text}", "- [${3| ,x|}] ${4:text}", "${0}"], 105 | "description": "Insert task list with 2 tasks" 106 | }, 107 | "Insert task list 3": { 108 | "prefix": "task3", 109 | "body": [ 110 | "- [${1| ,x|}] ${2:text}", 111 | "- [${3| ,x|}] ${4:text}", 112 | "- [${5| ,x|}] ${6:text}", 113 | "${0}" 114 | ], 115 | "description": "Insert task list with 3 tasks" 116 | }, 117 | "Insert task list 4": { 118 | "prefix": "task4", 119 | "body": [ 120 | "- [${1| ,x|}] ${2:text}", 121 | "- [${3| ,x|}] ${4:text}", 122 | "- [${5| ,x|}] ${6:text}", 123 | "- [${7| ,x|}] ${8:text}", 124 | "${0}" 125 | ], 126 | "description": "Insert task list with 4 tasks" 127 | }, 128 | "Insert task list 5": { 129 | "prefix": "task5", 130 | "body": [ 131 | "- [${1| ,x|}] ${2:text}", 132 | "- [${3| ,x|}] ${4:text}", 133 | "- [${5| ,x|}] ${6:text}", 134 | "- [${7| ,x|}] ${8:text}", 135 | "- [${9| ,x|}] ${10:text}", 136 | "${0}" 137 | ], 138 | "description": "Insert task list with 5 tasks" 139 | }, 140 | "Insert table": { 141 | "prefix": "table", 142 | "body": [ 143 | "| ${1:Column1} | ${2:Column2} | ${3:Column3} |", 144 | "|-------------- | -------------- | -------------- |", 145 | "| ${4:Item1} | ${5:Item1} | ${6:Item1} |", 146 | "${0}" 147 | ], 148 | "description": "Insert table with 2 rows and 3 columns. First row is heading." 149 | }, 150 | "Insert 2x1 table": { 151 | "prefix": "2x1table", 152 | "body": [ 153 | "| ${1:Column1} |", 154 | "|-------------- |", 155 | "| ${2:Item1} |", 156 | "${0}" 157 | ], 158 | "description": "Insert table with 2 rows and 1 column. First row is heading." 159 | }, 160 | "Insert 3x1 table": { 161 | "prefix": "3x1table", 162 | "body": [ 163 | "| ${1:Column1} |", 164 | "|-------------- |", 165 | "| ${2:Item1} |", 166 | "| ${3:Item2} |", 167 | "${0}" 168 | ], 169 | "description": "Insert table with 3 rows and 1 column. First row is heading." 170 | }, 171 | "Insert 4x1 table": { 172 | "prefix": "4x1table", 173 | "body": [ 174 | "| ${1:Column1} |", 175 | "|-------------- |", 176 | "| ${2:Item1} |", 177 | "| ${3:Item2} |", 178 | "| ${4:Item3} |", 179 | "${0}" 180 | ], 181 | "description": "Insert table with 4 rows and 1 column. First row is heading." 182 | }, 183 | "Insert 5x1 table": { 184 | "prefix": "5x1table", 185 | "body": [ 186 | "| ${1:Column1} |", 187 | "|-------------- |", 188 | "| ${2:Item1} |", 189 | "| ${3:Item2} |", 190 | "| ${4:Item3} |", 191 | "| ${5:Item4} |", 192 | "${0}" 193 | ], 194 | "description": "Insert table with 5 rows and 1 column. First row is heading." 195 | }, 196 | "Insert 2x2 table": { 197 | "prefix": "2x2table", 198 | "body": [ 199 | "| ${1:Column1} | ${2:Column2} |", 200 | "|--------------- | --------------- |", 201 | "| ${3:Item1.1} | ${4:Item2.1} |", 202 | "${0}" 203 | ], 204 | "description": "Insert table with 2 rows and 2 columns. First row is heading." 205 | }, 206 | "Insert 3x2 table": { 207 | "prefix": "3x2table", 208 | "body": [ 209 | "| ${1:Column1} | ${2:Column2} |", 210 | "|--------------- | --------------- |", 211 | "| ${3:Item1.1} | ${4:Item2.1} |", 212 | "| ${5:Item1.2} | ${6:Item2.2} |", 213 | "${0}" 214 | ], 215 | "description": "Insert table with 3 rows and 2 columns. First row is heading." 216 | }, 217 | "Insert 4x2 table": { 218 | "prefix": "4x2table", 219 | "body": [ 220 | "| ${1:Column1} | ${2:Column2} |", 221 | "|--------------- | --------------- |", 222 | "| ${3:Item1.1} | ${4:Item2.1} |", 223 | "| ${5:Item1.2} | ${6:Item2.2} |", 224 | "| ${7:Item1.3} | ${8:Item2.3} |", 225 | "${0}" 226 | ], 227 | "description": "Insert table with 4 rows and 2 columns. First row is heading." 228 | }, 229 | "Insert 5x2 table": { 230 | "prefix": "5x2table", 231 | "body": [ 232 | "| ${1:Column1} | ${2:Column2} |", 233 | "|--------------- | --------------- |", 234 | "| ${3:Item1.1} | ${4:Item2.1} |", 235 | "| ${4:Item1.2} | ${5:Item2.2} |", 236 | "| ${6:Item1.3} | ${7:Item2.3} |", 237 | "| ${8:Item1.4} | ${9:Item2.4} |", 238 | "${0}" 239 | ], 240 | "description": "Insert table with 5 rows and 2 columns. First row is heading." 241 | }, 242 | "Insert 2x3 table": { 243 | "prefix": "2x3table", 244 | "body": [ 245 | "| ${1:Column1} | ${2:Column2} | ${3:Column3} |", 246 | "|---------------- | --------------- | --------------- |", 247 | "| ${4:Item1.1} | ${5:Item2.1} | ${6:Item3.1} |", 248 | "${0}" 249 | ], 250 | "description": "Insert table with 2 rows and 3 columns. First row is heading." 251 | }, 252 | "Insert 3x3 table": { 253 | "prefix": "3x3table", 254 | "body": [ 255 | "| ${1:Column1} | ${2:Column2} | ${3:Column3} |", 256 | "|---------------- | --------------- | --------------- |", 257 | "| ${4:Item1.1} | ${5:Item2.1} | ${6:Item3.1} |", 258 | "| ${7:Item1.2} | ${8:Item2.2} | ${9:Item3.2} |", 259 | "${0}" 260 | ], 261 | "description": "Insert table with 3 rows and 3 columns. First row is heading." 262 | }, 263 | "Insert 4x3 table": { 264 | "prefix": "4x3table", 265 | "body": [ 266 | "| ${1:Column1} | ${2:Column2} | ${3:Column3} |", 267 | "|---------------- | --------------- | --------------- |", 268 | "| ${4:Item1.1} | ${5:Item2.1} | ${6:Item3.1} |", 269 | "| ${7:Item1.2} | ${8:Item2.2} | ${9:Item3.2} |", 270 | "| ${10:Item1.3} | ${11:Item2.3} | ${12:Item3.3} |", 271 | "${0}" 272 | ], 273 | "description": "Insert table with 4 rows and 3 columns. First row is heading." 274 | }, 275 | "Insert 5x3 table": { 276 | "prefix": "5x3table", 277 | "body": [ 278 | "| ${1:Column1} | ${2:Column2} | ${3:Column3} |", 279 | "|---------------- | --------------- | --------------- |", 280 | "| ${4:Item1.1} | ${5:Item2.1} | ${6:Item3.1} |", 281 | "| ${7:Item1.2} | ${8:Item2.2} | ${9:Item3.2} |", 282 | "| ${10:Item1.3} | ${11:Item2.3} | ${12:Item3.3} |", 283 | "| ${13:Item1.4} | ${14:Item2.4} | ${15:Item3.4} |", 284 | "${0}" 285 | ], 286 | "description": "Insert table with 5 rows and 3 columns. First row is heading." 287 | } 288 | } 289 | -------------------------------------------------------------------------------- /snippets/tailwindcss.json: -------------------------------------------------------------------------------- 1 | { 2 | "class": { 3 | "prefix": "class", 4 | "body": ".${1:name} {\n\t@apply ${0}\n}", 5 | "description": "class name" 6 | }, 7 | "aspect ration": { 8 | "prefix": "aspect", 9 | "body": "aspect-${1|auto,square,video,[]|}" 10 | }, 11 | "columns": { 12 | "prefix": "columns", 13 | "body": "columns-${1}" 14 | }, 15 | "display": { 16 | "prefix": "display", 17 | "body": "${1|flex,grid,block,inline,hidden|}" 18 | }, 19 | "object fit": { 20 | "prefix": "object-fit", 21 | "body": "object-${1|contain,cover,fill,none,scale-down|}" 22 | }, 23 | "object position": { 24 | "prefix": "object-position", 25 | "body": "object-${1|bottom,center,left,left-bottom,left-top,right,right-bottom,right-top,top|}" 26 | }, 27 | "overflow": { 28 | "prefix": "overflow", 29 | "body": "overflow-${1|auto,hidden,clip,visible,scroll,x-auto,y-auto,x-hidden,y-hidden,x-clip,y-xlip,x-visible,y-visible,x-scroll,y-scroll|}" 30 | }, 31 | "overscroll": { 32 | "prefix": "overscroll", 33 | "body": "overscroll-${1|auto,contain,none,y-auto,x-auto,x-contain,y-contain,x-none,y-none|}" 34 | }, 35 | "position": { 36 | "prefix": "position", 37 | "body": "position-${1|fixed,relative,static,sticky,absolute|}" 38 | }, 39 | "z-index": { 40 | "prefix": "zindex", 41 | "body": "z-${1|10,20,30,40,50,auto|}" 42 | }, 43 | "flex direction": { 44 | "prefix": "flex-direction", 45 | "body": "flex-${1|row,col,row-reverse,col-reverse|}" 46 | }, 47 | "flexs center between": { 48 | "prefix": "flex-center-between", 49 | "body": "flex items-center justify-between" 50 | }, 51 | "flexs center center": { 52 | "prefix": "flex-center-center", 53 | "body": "flex items-center justify-center" 54 | }, 55 | "flex column": { 56 | "prefix": "flex-column", 57 | "body": "flex flex-col" 58 | }, 59 | "order": { 60 | "prefix": "order", 61 | "body": "order-${1|1,2,3,4,5,6,7,8,9,10,11,12,first,last,none|}" 62 | }, 63 | "grid template columns": { 64 | "prefix": "grid-cols", 65 | "body": "grid-cols-${1|1,2,3,4,5,6,7,8,9,10,11,12,none|}" 66 | }, 67 | "grid column start": { 68 | "prefix": "grid-column-start", 69 | "body": "col-${1|span-auto,span-1,span-2,span-3,span-4,span-5,span-6,span-7,span-8,span-9,span-10,span-11,span-12,span-full,start-1,start-2,start-3,start-4,start-5,start-6,start-7,start-8,start-9,start-10,start-11,start-12,start-13,start-auto,end-1,end-2,end-3,end-4,end-5,end-6,end-7,end-8,end-9,end-10,end-11,end-12,end-13,end-auto|}" 70 | }, 71 | "grid template rows": { 72 | "prefix": "grid-row", 73 | "body": "grid-row-${1|1,2,3,4,5,6,none|}" 74 | }, 75 | "grid rows start": { 76 | "prefix": "grid-row-start", 77 | "body": "row-${1|auto,span-1,span-2,span-3,span-4,span-5,span-6,span-full,start-1,start-2,start-3,start-4,start-5,start-6,start-7,start-auto,end-1,end-2,end-3,end-4,end-5,end-6,end-7,end-auto|}" 78 | }, 79 | "grid auto flows": { 80 | "prefix": "grid-flow", 81 | "body": "grid-flow-${1|row,col,dense,row-dense,co-dense|}" 82 | }, 83 | "grid auto columns": { 84 | "prefix": "grid-auto-colums", 85 | "body": "grid-cols-${1|auto,min,max,fr|}" 86 | }, 87 | "grid auto rows": { 88 | "prefix": "grid-auto-row", 89 | "body": "grid-row-${1|auto,min,max,fr|}" 90 | }, 91 | "gap": { 92 | "prefix": "gap", 93 | "body": "gap-${1|0,[4px],[8px],[12px],[px],1,2,3,4,5,6,7,8,9,10,11,12,14,16,20,24,28,32,36,40,44,48,52,56,60,64,70,72,80,96,x-0,x-px,x-1,x-2,x-3,x-4,x-5,x-6,x-7,x-8,x-9,x-10,x-11,x-12,x-14,x-16,x-20,x-24,x-28,x-32,x-36,x-40,x-42,x-44,x-48,x-52,x-56,x-60,x-64,x-70,x-72,x-80,x-96,y-0,y-px,y-1,y-2,y-3,y-4,y-5,y-6,y-7,y-8,y-9,y-10,y-11,y-12,y-14,y-16,y-20,y-24,y-28,y-32,y-36,y-40,y-44,y-48,y-52,y-56,y-60,y-64,y-70,y-72,y-80,y-96|}" 94 | }, 95 | "justify content": { 96 | "prefix": "justify-content", 97 | "body": "justify-${1|center,normal,start,end,between,evenly,around,stretch|}" 98 | }, 99 | "justify items": { 100 | "prefix": "justify-items", 101 | "body": "justify-items-${1|start,end,center,stretch|}" 102 | }, 103 | "justify self": { 104 | "prefix": "justify-self", 105 | "body": "justify-self-${1|auto,start,end,center,stretch|}" 106 | }, 107 | "align content ": { 108 | "prefix": "content", 109 | "body": "content-${1|normal,start,end,center,stretch,between,around,evenly,baseline|}" 110 | }, 111 | "align items": { 112 | "prefix": "items", 113 | "body": "items-${1|start,end,center,stretch,baseline|}" 114 | }, 115 | "align self": { 116 | "prefix": "self", 117 | "body": "self-${1|auto,start,end,center,stretch,baseline|}" 118 | }, 119 | "Place content": { 120 | "prefix": "place-content", 121 | "body": "place-content-${1|evenly,start,end,center,between,around,baseline,stretch|}" 122 | }, 123 | "Place items": { 124 | "prefix": "place-items", 125 | "body": "place-items-${1|start,end,center,baseline,stretch|}" 126 | }, 127 | "Place self": { 128 | "prefix": "place-self", 129 | "body": "place-self-${1|auto,start,end,center,stretch|}" 130 | }, 131 | "width": { 132 | "prefix": "w-", 133 | "body": "w-${1|[px],px,1,2,3,4,5,6,7,8,9,8,9,10,11,12,14,16,20,24,28,32,36,40,44,48,52,56,60,64,70,72,80,96|}" 134 | }, 135 | "height": { 136 | "prefix": "h-", 137 | "body": "h-${1|[px],px,1,2,3,4,5,6,7,8,9,8,9,10,11,12,14,16,20,24,28,32,36,40,44,48,52,56,60,64,70,72,80,96|}" 138 | }, 139 | "min width": { 140 | "prefix": "min-width", 141 | "body": "min-w-${1|[px],fit,full,0,none,xs,sm,md,lg,xl,2xl,3xl,4xl,5xl,6xl,7xl|}" 142 | }, 143 | "min height": { 144 | "prefix": "min-height", 145 | "body": "min-h-${1|[px],fit,full,0,none,xs,sm,md,lg,xl,2xl,3xl,4xl,5xl,6xl,7xl|}" 146 | }, 147 | "max width": { 148 | "prefix": "max-width", 149 | "body": "max-w-${1|[px],fit,full,0,none,xs,sm,md,lg,xl,2xl,3xl,4xl,5xl,6xl,7xl|}" 150 | }, 151 | "max height": { 152 | "prefix": "max-height", 153 | "body": "max-h-${1|[px],fit,full,0,none,xs,sm,md,lg,xl,2xl,3xl,4xl,5xl,6xl,7xl|}" 154 | }, 155 | "text-size": { 156 | "prefix": "text-size", 157 | "body": "text-${1|[px],xs,sm,md,lg,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl,9xl|}" 158 | }, 159 | "text-weight": { 160 | "prefix": "font-style", 161 | "body": "font-${1|tight,normal,medium,semibold,bold|}" 162 | }, 163 | "text indent": { 164 | "prefix": "text-indent", 165 | "body": "indent-${1|px,1,2,3,4,5,6,7,8,9,8,9,10,11,12,14,16,20,24,28,32,36,40,44,48,52,56,60,64,70,72,80,96|}" 166 | }, 167 | "white space": { 168 | "prefix": "whitespace", 169 | "body": "whitespace-${1|normal,nowrap,pre,pre-line,pre,wrap,break-spaces|}" 170 | }, 171 | "word break": { 172 | "prefix": "break", 173 | "body": "break-${1|normal,words,all,keep|}" 174 | }, 175 | "letter spacing": { 176 | "prefix": "tracking", 177 | "body": "tracking-${1|tighter,tight,normal,wide,wider,wildest|}" 178 | }, 179 | "line height": { 180 | "prefix": "leading", 181 | "body": "leading-${[px]|1|3,4,5,6,7,8,9,10,none,tight,snug,normal,relaxed,loose|}" 182 | }, 183 | "list style position": { 184 | "prefix": "list-sytle", 185 | "body": "list-${1|inside,outside|}" 186 | }, 187 | "list style type": { 188 | "prefix": "list-style-type", 189 | "body": "list-${1|disc,none,decimal|}" 190 | }, 191 | "line clamp": { 192 | "prefix": "line-clamp", 193 | "body": "line-clamp-${1|1,2,3,4,5,6,none|}" 194 | }, 195 | "text align": { 196 | "prefix": "text-align", 197 | "body": "text-${1|center,start,end,left,right,justify|}" 198 | }, 199 | "text decoration": { 200 | "prefix": "text-decoration", 201 | "body": "${1|underline,overline,line-through,no-underline|}" 202 | }, 203 | "decoration color": { 204 | "prefix": "underline", 205 | "body": "underline-${1:color}" 206 | }, 207 | "background attcachment": { 208 | "prefix": "bg", 209 | "body": "bg-${1|fixed,local,scroll|}" 210 | }, 211 | "background Size": { 212 | "prefix": "bg-size", 213 | "body": "bg-${1|auto,cover,contain|}" 214 | }, 215 | "background image": { 216 | "prefix": "bg-gradient", 217 | "body": "bg-gradient-to-${1|t,tr,r,br,b,bl,l,tl|}" 218 | }, 219 | "background gradient": { 220 | "prefix": "bg-gradient-from", 221 | "body": "${1|from-blue-,from-red-,from-slate-,from-gray-,from-zinc-,from-neutral-,from-stone-,from-orange-,from-amber-,from-yellow-,from-lime-,from-green-,from-teal-,from-cyan-,from-sky-,from-indigo-,from-violet-,from-purple-,from-fuhcsia-,from-pink-,from-rose-|}" 222 | }, 223 | "border": { 224 | "prefix": "border", 225 | "body": "border" 226 | }, 227 | "border color": { 228 | "prefix": "border-color", 229 | "body": "border-${1|[#],blue-,red-,slate-,gray-,zinc-,neutral-,stone-,orange-,amber-,yellow-,lime-,green-,teal-,cyan-,sky-,indigo-,violet-,purple-,fuhcsia-,pink-,rose-|}" 230 | }, 231 | "background color": { 232 | "prefix": "bg-color", 233 | "body": "bg-${1|[#],blue-,red-,slate-,gray-,zinc-,neutral-,stone-,orange-,amber-,yellow-,lime-,green-,teal-,cyan-,sky-,indigo-,violet-,purple-,fuhcsia-,pink-,rose-|}" 234 | }, 235 | "rounded": { 236 | "prefix": "rounded", 237 | "body": "rounded-${1|[4px],[8px],[12px],[px],full,none,sm,md,lg,xl,2xl|}" 238 | }, 239 | "divide width": { 240 | "prefix": "divide", 241 | "body": "divide-${1|y-0,y-2,y-4,y-8,y,x-0,x-2,x-4,x-8,x|}" 242 | }, 243 | "divide color": { 244 | "prefix": "divide-color", 245 | "body": "divide-${1:color}" 246 | }, 247 | "outline": { 248 | "prefix": "outline", 249 | "body": "outline-none" 250 | }, 251 | "shadow": { 252 | "prefix": "shadow", 253 | "body": "shadow-${1|sm,md,lg,xl,2xl,inner,none|}" 254 | }, 255 | "shadow color": { 256 | "prefix": "shadow-color", 257 | "body": "shadow-${1|inherit,current,transparent,black,white,blue-,red-,slate-,gray-,zinc-,neutral-,stone-,orange-,amber-,yellow-,lime-,green-,teal-,cyan-,sky-,indigo-,violet-,purple-,fuhcsia-,pink-,rose-|}" 258 | }, 259 | "opacity": { 260 | "prefix": "opacity", 261 | "body": "opacity-${1|0,5,10,20,25,30,40,50,60,70,75,80,90,100,${1:val}|}" 262 | }, 263 | "blur": { 264 | "prefix": "blur", 265 | "body": "blur-${1|none,sm,md,lg,xl,2xl,3xl|}" 266 | }, 267 | "backdrop blur": { 268 | "prefix": "backdrop-blur", 269 | "body": "backdrop-blur-${1|none,sm,md,lg,xl,2xl,3xl|}" 270 | }, 271 | "brightness": { 272 | "prefix": "brightness", 273 | "body": "brightness-${1|0,50,75,90,95,100,105,110,125,150,200|}" 274 | }, 275 | "table": { 276 | "prefix": "table", 277 | "body": "table-${1|auto,fixed|}" 278 | }, 279 | "transition propery": { 280 | "prefix": "transition", 281 | "body": "transition-${1|none,all,colors,opacity,shadow,transform|}" 282 | }, 283 | "transition timing functions": { 284 | "prefix": "ease", 285 | "body": "ease-${1|linear,in,out,in-out|}" 286 | }, 287 | "transform origin": { 288 | "prefix": "transform", 289 | "body": "origin-${1|top-right,right,bottom-right,bottom,bottom-left,left,top-left|}" 290 | }, 291 | "duration": { 292 | "prefix": "duration", 293 | "body": "duration-${1|0,75,100,150,200,300,500,700,1000|}" 294 | }, 295 | "delay": { 296 | "prefix": "delay", 297 | "body": "delay-${1|0,75,100,150,200,300,500,700,1000|}" 298 | }, 299 | "animation": { 300 | "prefix": "animate", 301 | "body": "animate-${1|none,spin,ping,pulse,bounce|}" 302 | }, 303 | "rotate": { 304 | "prefix": "rotate", 305 | "body": "rotate-${1|0,1,2,3,6,12,45,90,180|}" 306 | }, 307 | "translate": { 308 | "prefix": "translate", 309 | "body": "translate-${1|x-1,x-2,x-3,x-4,x-5,x-6,x-7,x-8,x-9,x-10,x-11,x-12,x-14,x-16,x-20,x-24,x-28,x-32,x-36,x-40,x-44,x-48,x-52,x-56,x-60,x-64,x-70,x-72,x-80,x-96,y-1,y-2,y-3,y-4,y-5,y-6,y-7,y-8,y-9,y-10,y-11,y-12,y-14,y-16,y-20,y-24,y-28,y-32,y-36,y-40,y-44,y-48,y-52,y-56,y-60,y-64,y-70,y-72,y-80,y-96|}" 310 | }, 311 | "appearance": { 312 | "prefix": "appearance", 313 | "body": "appearance-none", 314 | "description": "remove default element appearance, like arrow on select element" 315 | }, 316 | "custome animate": { 317 | "prefix": "animate-custome", 318 | "body": "transition-all duration-300 ease-in-out", 319 | "description": "custome simple animate" 320 | }, 321 | "custome button sytle": { 322 | "prefix": "buttonStyle", 323 | "body": "button {\n\t@apply outline-none ring-0 flex justify-center items-center text-center p-1\n}", 324 | "description": "custome button style" 325 | }, 326 | "custome nav sytle": { 327 | "prefix": "navStyle", 328 | "body": "nav {\n\t@apply px-5 md:px-10 lg:px-16 fixed top-0 left-0 z-50 flex justify-between items-center h-14 w-full backdrop-filter backdrop-blur-sm bg-opacity-80 bg-slate-500;\n}", 329 | "description": "custome nav style" 330 | }, 331 | "custome nav section style": { 332 | "prefix": "navSectionStyle", 333 | "body": [ 334 | ".menu {\n\t@apply md:hidden transition-all duration-700 ease-in-out cursor-pointer outline-none z-40 text-cyan font-semibold;\n}", 335 | ".navMobile {\n\t @apply md:hidden flex flex-col justify-center gap-16 transition-all duration-500 ease-in h-screen w-[100%] text-end absolute top-0 py-28 px-10 bg-slate-500;\n}", 336 | ".navMobileHidden{\n\t@apply fixed left-[-100%] ease-in;\n}", 337 | ".navDesktop {\n\t@apply hidden md:flex gap-10;\n}" 338 | ], 339 | "description": "custome nav section style" 340 | } 341 | } 342 | -------------------------------------------------------------------------------- /start.log: -------------------------------------------------------------------------------- 1 | --- Startup times for process: Primary/TUI --- 2 | 3 | times in msec 4 | clock self+sourced self: sourced script 5 | clock elapsed: other lines 6 | 7 | 000.002 000.002: --- NVIM STARTING --- 8 | 000.223 000.221: event init 9 | 000.301 000.078: early init 10 | 000.341 000.040: locale set 11 | 000.390 000.049: init first window 12 | 000.693 000.302: inits 1 13 | 000.704 000.011: window checked 14 | 000.706 000.002: parsing arguments 15 | 001.273 000.044 000.044: require('vim.shared') 16 | 001.364 000.046 000.046: require('vim.inspect') 17 | 001.420 000.042 000.042: require('vim._options') 18 | 001.421 000.145 000.057: require('vim._editor') 19 | 001.423 000.241 000.052: require('vim._init_packages') 20 | 001.425 000.478: init lua interpreter 21 | 002.010 000.585: --- NVIM STARTED --- 22 | 23 | --- Startup times for process: Embedded --- 24 | 25 | times in msec 26 | clock self+sourced self: sourced script 27 | clock elapsed: other lines 28 | 29 | 000.002 000.002: --- NVIM STARTING --- 30 | 000.203 000.201: event init 31 | 000.299 000.095: early init 32 | 000.342 000.043: locale set 33 | 000.400 000.058: init first window 34 | 000.663 000.263: inits 1 35 | 000.682 000.020: window checked 36 | 000.687 000.005: parsing arguments 37 | 001.515 000.087 000.087: require('vim.shared') 38 | 001.725 000.114 000.114: require('vim.inspect') 39 | 001.879 000.101 000.101: require('vim._options') 40 | 001.884 000.360 000.145: require('vim._editor') 41 | 001.887 000.515 000.068: require('vim._init_packages') 42 | 001.898 000.696: init lua interpreter 43 | 002.066 000.167: expanding arguments 44 | 002.107 000.042: inits 2 45 | 002.748 000.641: init highlight 46 | 002.768 000.020: waiting for UI 47 | 003.804 001.036: done waiting for UI 48 | 003.907 000.103: clear screen 49 | 004.254 000.011 000.011: require('vim.keymap') 50 | 005.136 001.203 001.192: require('vim._defaults') 51 | 005.140 000.030: init default mappings & autocommands 52 | 005.552 000.050 000.050: sourcing /usr/share/nvim/runtime/ftplugin.vim 53 | 005.617 000.028 000.028: sourcing /usr/share/nvim/runtime/indent.vim 54 | 005.760 000.090 000.090: sourcing /usr/share/nvim/archlinux.lua 55 | 005.766 000.120 000.031: sourcing /etc/xdg/nvim/sysinit.vim 56 | 006.536 000.698 000.698: require('zedd.core.options') 57 | 006.770 000.230 000.230: require('zedd.core.keybinds') 58 | 007.571 000.430 000.430: require('lazy') 59 | 007.596 000.014 000.014: require('ffi') 60 | 007.690 000.018 000.018: require('vim.fs') 61 | 007.846 000.150 000.150: require('vim.uri') 62 | 007.857 000.258 000.090: require('vim.loader') 63 | 008.231 000.351 000.351: require('lazy.stats') 64 | 008.354 000.102 000.102: require('lazy.core.util') 65 | 008.497 000.140 000.140: require('lazy.core.config') 66 | 008.784 000.130 000.130: require('lazy.core.handler') 67 | 009.096 000.099 000.099: require('lazy.pkg') 68 | 009.102 000.220 000.121: require('lazy.core.meta') 69 | 009.110 000.324 000.104: require('lazy.core.plugin') 70 | 009.118 000.619 000.166: require('lazy.core.loader') 71 | 009.726 000.183 000.183: require('lazy.core.fragments') 72 | 011.045 000.131 000.131: require('lazy.core.handler.event') 73 | 011.175 000.122 000.122: require('lazy.core.handler.cmd') 74 | 011.229 000.051 000.051: require('lazy.core.handler.keys') 75 | 011.269 000.037 000.037: require('lazy.core.handler.ft') 76 | 012.283 000.208 000.208: sourcing /usr/share/nvim/runtime/filetype.lua 77 | 012.548 000.091 000.091: sourcing /usr/share/nvim/runtime/plugin/editorconfig.lua 78 | 012.735 000.156 000.156: sourcing /usr/share/nvim/runtime/plugin/gzip.vim 79 | 012.880 000.115 000.115: sourcing /usr/share/nvim/runtime/plugin/man.lua 80 | 013.290 000.170 000.170: sourcing /usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim 81 | 013.308 000.396 000.226: sourcing /usr/share/nvim/runtime/plugin/matchit.vim 82 | 013.439 000.104 000.104: sourcing /usr/share/nvim/runtime/plugin/matchparen.vim 83 | 013.711 000.239 000.239: sourcing /usr/share/nvim/runtime/plugin/netrwPlugin.vim 84 | 013.815 000.052 000.052: sourcing /usr/share/nvim/runtime/plugin/osc52.lua 85 | 013.967 000.118 000.118: sourcing /usr/share/nvim/runtime/plugin/rplugin.vim 86 | 014.052 000.047 000.047: sourcing /usr/share/nvim/runtime/plugin/shada.vim 87 | 014.105 000.018 000.018: sourcing /usr/share/nvim/runtime/plugin/spellfile.vim 88 | 014.197 000.064 000.064: sourcing /usr/share/nvim/runtime/plugin/tarPlugin.vim 89 | 014.327 000.093 000.093: sourcing /usr/share/nvim/runtime/plugin/tohtml.lua 90 | 014.381 000.017 000.017: sourcing /usr/share/nvim/runtime/plugin/tutor.vim 91 | 014.539 000.129 000.129: sourcing /usr/share/nvim/runtime/plugin/zipPlugin.vim 92 | 014.711 007.939 003.652: require('zedd.plugins') 93 | 014.713 008.916 000.050: sourcing /home/zedd/.config/nvim/init.lua 94 | 014.719 000.465: sourcing vimrc file(s) 95 | 014.887 000.044 000.044: sourcing /usr/share/nvim/runtime/filetype.lua 96 | 015.033 000.053 000.053: sourcing /usr/share/nvim/runtime/syntax/synload.vim 97 | 015.105 000.173 000.120: sourcing /usr/share/nvim/runtime/syntax/syntax.vim 98 | 015.114 000.178: inits 3 99 | 022.922 007.809: reading ShaDa 100 | 023.063 000.140: opening buffers 101 | 023.090 000.027: BufEnter autocommands 102 | 023.093 000.003: editing files in windows 103 | 023.200 000.107: VimEnter autocommands 104 | 023.239 000.040: UIEnter autocommands 105 | 023.507 000.220 000.220: sourcing /usr/share/nvim/runtime/autoload/provider/clipboard.vim 106 | 023.514 000.055: before starting main loop 107 | 023.804 000.289: first screen update 108 | 023.806 000.002: --- NVIM STARTED --- 109 | 110 | --------------------------------------------------------------------------------