Snippets, keymappings, fd and others

main
Steffen Rademacker 2 years ago
parent c223fccbc8
commit 626a1b0a24

@ -4,15 +4,14 @@
brew install rbenv # restart terminal, then:
rbenv install 3.0.2
rbenv global 3.0.2
gem install neovim
# node
curl -L https://git.io/n-install | bash
n v8
n v12
n v14
n lts
npm install -g npm@latest
npm install -g neovim
npm update -g
# python
@ -22,4 +21,3 @@ brew install pyenv # restart terminal, then:
pyenv install 3.10.0
pyenv global 3.10.0
pip install --upgrade pip
pip install neovim

@ -2,6 +2,8 @@
brew install neovim --HEAD
brew install tmux
gem install neovim
pip install neovim
# link config files
ln -s ~/dotfiles/nvim ~/.config/nvim
@ -12,6 +14,7 @@ git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
sh -c 'curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
# additional language-servers for nvim-lspconfig
npm i -g neovim
npm i -g stylelint-lsp
npm i -g typescript
npm i -g typescript-language-server

@ -1,32 +0,0 @@
// Installed extensions are:
////////////////////////////
// coc-calc
// coc-snippets
{
// linters config
"suggest.minTriggerInputLength": 3,
"suggest.noselect": false,
"suggest.enablePreselect": true,
"suggest.maxCompleteItemCount": 20,
"snippets.snipmate.enable": false,
"snippets.ultisnips.directories": [
"~/.config/nvim/snippets"
],
"snippets.extends": {
"php": [
"html"
],
"scss": [
"css"
],
"javascriptreact": [
"javascript"
],
"typescript": [
"javascript"
],
"typescriptreact": [
"javascript"
]
}
}

@ -1,5 +1,6 @@
set breakindent
set cmdheight=2
set completeopt=menu,menuone,noselect
set cpoptions+=$ " Add a $ to the end of a selection
set cursorline
set foldexpr=nvim_treesitter#foldexpr()

@ -9,17 +9,24 @@ Plug 'vijaymarupudi/nvim-fzf'
Plug 'ellisonleao/gruvbox.nvim'
" Plugins
Plug 'andersevenrud/cmp-tmux'
Plug 'christoomey/vim-tmux-navigator'
Plug 'phaazon/hop.nvim'
Plug 'editorconfig/editorconfig-vim'
Plug 'hrsh7th/cmp-buffer'
Plug 'hrsh7th/cmp-calc'
Plug 'hrsh7th/cmp-nvim-lsp'
Plug 'hrsh7th/cmp-path'
Plug 'hrsh7th/cmp-vsnip'
Plug 'hrsh7th/nvim-cmp'
Plug 'hrsh7th/vim-vsnip'
Plug 'ibhagwan/fzf-lua'
Plug 'neoclide/coc.nvim', { 'branch': 'release' }
Plug 'neovim/nvim-lspconfig'
Plug 'nvim-lualine/lualine.nvim'
Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
Plug 'nvim-treesitter/nvim-treesitter', { 'do': ':TSUpdate' }
Plug 'phaazon/hop.nvim'
Plug 'rafamadriz/friendly-snippets'
Plug 'tpope/vim-apathy'
Plug 'tpope/vim-commentary'
Plug 'tpope/vim-eunuch'
Plug 'tpope/vim-fugitive'
Plug 'tpope/vim-ragtag'
Plug 'tpope/vim-repeat'
@ -27,7 +34,6 @@ Plug 'tpope/vim-surround'
Plug 'tpope/vim-unimpaired'
Plug 'voldikss/vim-floaterm'
Plug 'wellle/targets.vim'
Plug 'wellle/tmux-complete.vim'
Plug 'wincent/terminus'
Plug 'windwp/nvim-autopairs'

@ -1,8 +1,8 @@
" remap semi-colon to be colon in normal an visual mode
" deactivate stupid ex-mode and man-page stuff
nnoremap Q <nop>
nnoremap K <nop>
" deactivate stupid ex-mode and man-page stuff
" remap semi-colon to be colon in normal an visual mode
nnoremap ; :
vnoremap ; :
@ -19,14 +19,14 @@ nnoremap <expr> k v:count ? (v:count > 5 ? "m'" . v:count : '') . 'k' : 'gk'
" sane yanking and copying to clipboard/alfred-history
nnoremap Y y$
nnoremap yy yy :call system('nc localhost 8377', @0)<cr>
vnoremap Y y :call system('nc localhost 8377', @0)<cr>
vnoremap y y :call system('nc localhost 8377', @0)<cr>
" Keeping it centered
" Keeping it centered when searching and jumping to next entry
nnoremap N Nzzzv
nnoremap n nzzzv
nnoremap J mzJ`z
" und breakpoints when writing long text/code
" add undo-repo-breakpoints automatically when writing long text
inoremap , ,<c-g>u
inoremap . .<c-g>u
inoremap ! !<c-g>u

@ -1,4 +1,32 @@
lua << EOF
-- LSP-config
require('lspconfig').eslint.setup({})
require('lspconfig').jsonls.setup({})
require('lspconfig').html.setup({})
require('lspconfig').yamlls.setup({})
require('lspconfig').tsserver.setup({})
require('lspconfig').phpactor.setup({})
require('lspconfig').stylelint_lsp.setup({
filetypes = { 'css', 'sass', 'scss' }
})
require('lspconfig').cssls.setup({
filetypes = { 'css', 'sass', 'scss' },
settings = {
css = {
validate = false,
},
scss = {
validate = false,
},
sass = {
validate = false,
},
},
})
require('nvim-treesitter.configs').setup({
highlight = {
enable = true,
@ -27,57 +55,85 @@ require('fzf-lua').setup({
},
})
-- LSP-config
require('lspconfig').eslint.setup({})
require('lspconfig').jsonls.setup({})
require('lspconfig').html.setup({})
require('lspconfig').yamlls.setup({})
require('lspconfig').tsserver.setup({})
require('lspconfig').phpactor.setup({})
require('lspconfig').stylelint_lsp.setup({
filetypes = { 'css', 'sass', 'scss' }
})
require('lspconfig').cssls.setup({
filetypes = { 'css', 'sass', 'scss' },
settings = {
css = {
validate = false,
},
scss = {
validate = false,
},
sass = {
validate = false,
local cmp = require('cmp')
cmp.setup({
completion = {
keyword_length = 1, -- TODO set this back 3, when fine with snippets
},
snippet = {
expand = function(args)
vim.fn["vsnip#anonymous"](args.body)
end,
},
mapping = {
['<cr>'] = cmp.mapping.confirm({ select = true }),
},
sources = cmp.config.sources({
{ name = 'nvim_lsp' },
{ name = 'vsnip' },
{
name = 'buffer',
option = {
get_bufnrs = function()
return vim.api.nvim_list_bufs()
end
},
},
{ name = 'path' },
{ name = 'tmux', option = { all_panes = true } }, -- TODO 'true' makes things sloppy
{ name = 'calc' },
}),
formatting = {
format = function(entry, vim_item)
vim_item.menu = ({
buffer = "[Buffer]",
calc = "[Calc]",
nvim_lsp = "[LSP]",
path = "[Path]",
tmux = "[tmux]",
vsnip = "[Snippet]",
})[entry.source.name]
return vim_item
end
},
})
EOF
" Snippets
imap <expr> <C-j> vsnip#available(1) ? '<Plug>(vsnip-expand-or-jump)' : '<C-j>'
smap <expr> <C-j> vsnip#available(1) ? '<Plug>(vsnip-expand-or-jump)' : '<C-j>'
let g:vsnip_snippet_dirs = [expand('~/Dotfiles/nvim/plugged/friendly-snippets/snippets'), expand('~/Dotfiles/snippets')]
let g:vsnip_filetypes = {}
let g:vsnip_filetypes.sass = ['css']
let g:vsnip_filetypes.javascriptreact = ['javascript']
let g:vsnip_filetypes.typescriptreact = ['typescript']
" fugitive
nnoremap <silent> <leader>gs :G<cr><C-w>20+
nnoremap <silent> <leader>gd :Gvdiff<cr><C-w>20+
nnoremap <silent> <leader>gc :Git commit<cr><C-w>20+
nnoremap <silent> <leader>gw :Gwrite<cr><C-w>20+
nnoremap <silent> <leader>gb :Git blame<cr><C-w>20+
nnoremap <leader>gs :G<cr><C-w>20+
nnoremap <leader>gd :Gvdiff<cr><C-w>20+
nnoremap <leader>gc :Git commit<cr><C-w>20+
nnoremap <leader>gw :Gwrite<cr><C-w>20+
nnoremap <leader>gb :Git blame<cr><C-w>20+
" fzf
nnoremap <silent> <leader>, <cmd>lua require('fzf-lua').files()<cr>
nnoremap <silent> <leader>` <cmd>lua require('fzf-lua').files({ cwd = '~/' })<cr>
nnoremap <silent> <leader>. <cmd>lua require('fzf-lua').buffers()<cr>
nnoremap <silent> <leader>l <cmd>lua require('fzf-lua').lines()<cr>
nnoremap <silent> <leader>a <cmd>lua require('fzf-lua').grep_project()<cr>
nnoremap <silent> <leader>; <cmd>lua require('fzf-lua').command_history()<cr>
nnoremap <silent> <leader>/ <cmd>lua require('fzf-lua').search_history()<cr>
nnoremap <silent> <leader>c <cmd>lua require('fzf-lua').git_commits()<cr>
nnoremap <silent> <leader>b <cmd>lua require('fzf-lua').git_branches()<cr>
nnoremap <leader>, <cmd>lua require('fzf-lua').files()<cr>
nnoremap <leader>` <cmd>lua require('fzf-lua').files({ cwd = '~/' })<cr>
nnoremap <leader>. <cmd>lua require('fzf-lua').buffers()<cr>
nnoremap <leader>l <cmd>lua require('fzf-lua').lines()<cr>
nnoremap <leader>a <cmd>lua require('fzf-lua').grep_project()<cr>
nnoremap <leader>; <cmd>lua require('fzf-lua').command_history()<cr>
nnoremap <leader>/ <cmd>lua require('fzf-lua').search_history()<cr>
nnoremap <leader>c <cmd>lua require('fzf-lua').git_commits()<cr>
nnoremap <leader>b <cmd>lua require('fzf-lua').git_branches()<cr>
" LSP
nnoremap <silent> <leader>f <cmd>lua vim.lsp.buf.formatting()<cr>
nnoremap <leader>f <cmd>lua vim.lsp.buf.formatting()<cr>
" Hop
nnoremap <silent> <space>j <cmd>lua require('hop').hint_words()<cr>
nnoremap <space>j <cmd>lua require('hop').hint_words()<cr>
" Floaterm
let g:floaterm_keymap_toggle = '<space>t'
@ -88,78 +144,6 @@ let g:floaterm_opener = 'edit'
let g:floaterm_borderchars = '─│─│╭╮╯╰'
let g:floaterm_title = ''
hi FloatermBorder guibg='#282828' guifg='#fbf1c7'
nnoremap <silent> - :FloatermNew nnn<cr>
nnoremap <silent> <space>g :FloatermNew lazygit<cr>
" COC.vim
" TODO LSP-alternatives
" nmap <leader>c <Plug>(coc-rename)
" nmap <leader>e <Plug>(coc-diagnostic-next)
" xmap <leader>f <Plug>(coc-format-selected)
" nmap <leader>f <Plug>(coc-format-selected)
inoremap <silent><expr> <C-j>
\ pumvisible() ? coc#_select_confirm() :
\ coc#expandableOrJumpable() ? "\<C-r>=coc#rpc#request('doKeymap', ['snippets-expand-jump',''])\<cr>" :
\ <SID>check_back_space() ? "\<C-j>" :
\ coc#refresh()
function! s:check_back_space() abort
let col = col('.') - 1
return !col || getline('.')[col - 1] =~# '\s'
endfunction
let g:coc_snippet_next = '<c-j>'
" Use <cr> to confirm completion, `<C-g>u` means break undo chain at current
" position. Coc only does snippet and additional edit on confirm.
" <cr> could be remapped by other vim plugin, try `:verbose imap <cr>`.
if exists('*complete_info')
inoremap <expr> <cr> complete_info()["selected"] != "-1" ? "\<C-y>" : "\<C-g>u\<cr>"
else
inoremap <expr> <cr> pumvisible() ? "\<C-y>" : "\<C-g>u\<cr>"
endif
" GoTo code navigation.
nmap <silent> gd <Plug>(coc-definition)
nmap <silent> gy <Plug>(coc-type-definition)
nmap <silent> gi <Plug>(coc-implementation)
nmap <silent> gr <Plug>(coc-references)
" Use K to show documentation in preview window.
nnoremap <silent> K :call <SID>show_documentation()<cr>
function! s:show_documentation()
if (index(['vim','help'], &filetype) >= 0)
execute 'h '.expand('<cword>')
else
call CocAction('doHover')
endif
endfunction
" Selection ranges
nmap <silent> <C-s> <Plug>(coc-range-select)
xmap <silent> <C-s> <Plug>(coc-range-select)
" Map function and class text objects
xmap if <Plug>(coc-funcobj-i)
omap if <Plug>(coc-funcobj-i)
xmap af <Plug>(coc-funcobj-a)
omap af <Plug>(coc-funcobj-a)
xmap ic <Plug>(coc-classobj-i)
omap ic <Plug>(coc-classobj-i)
xmap ac <Plug>(coc-classobj-a)
omap ac <Plug>(coc-classobj-a)
" Add `:Format` command to format current buffer.
command! -nargs=0 Format :call CocAction('format')
" coc-yank, replaces yankstack, use alt + p
nnoremap π :<C-u>CocList -A --normal yank<cr>
" coc multiple cursors (very helpful for when in CocSearch)
hi CocCursorRange ctermbg=139 ctermfg=234
nmap <silent> <c-n> <Plug>(coc-cursors-word)*
xmap <silent> <c-n> y/\V<C-r>=escape(@",'/\')<cr><cr>gN<Plug>(coc-cursors-range)gn
nnoremap - :FloatermNew nnn<cr>
nnoremap <space>g :FloatermNew lazygit<cr>

@ -1,403 +0,0 @@
snippet in
@include ${0:mixin};
endsnippet
snippet inc
@include ${1:mixin}(${2:parameters});
endsnippet
snippet incc
@include ${1:mixin}(${2:parameters}) {
${3:@content}
}
endsnippet
snippet mix
@mixin ${1:mixin}(${2:parameters}) {
${3}
}
endsnippet
snippet fun
@function ${1:function}(${2:parameters}) {
${3}
}
endsnippet
snippet fe
@each $${1:item} in $${2:variable} {
${3}
}
endsnippet
snippet mq
@include mediaquery(${1:s}) {
${2}
}
endsnippet
snippet att
@include attention {
${0}
}
endsnippet
snippet rad
border-radius: ${0:$base-unit};
endsnippet
snippet bsh
box-shadow: 0 0 ${0:$base-unit} 0 color(${2:shadow});
endsnippet
snippet tsh
text-shadow: 0 0 ${1:$base-unit / 4} color(${2:default});
endsnippet
snippet trf
transform: translateX(${1:-50%});
endsnippet
snippet grd
background-image: linear-gradient(to bottom, color(${1:one}), color(${2:two}));
endsnippet
snippet bgc
@include background-color(${0:background});
endsnippet
snippet bgi
background-image: url('../img/${0:bg.png}');
endsnippet
snippet bgp
background-position: ${1:0} ${2:0};
endsnippet
snippet bgr
background-repeat: ${0:repeat/repeat-x/repeat-y/no-repeat};
endsnippet
snippet bg
background: color(${1:main}) url('../img/${2:bg.png}') ${3:no-repeat} ${4:scroll/fixed} ${5:top left};
endsnippet
snippet bgs
background-size: ${0:cover};
endsnippet
snippet bd
border: ${1:1px} ${2:solid} color(${3:main});
endsnippet
snippet bdt
border-top: ${1:1px} ${2:solid} color(${3:main});
endsnippet
snippet bdr
border-right: ${1:1px} ${2:solid} color(${3:main});
endsnippet
snippet bdb
border-bottom: ${1:1px} ${2:solid} color(${3:main});
endsnippet
snippet bdl
border-left: ${1:1px} ${2:solid} color(${3:main});
endsnippet
snippet bdc
@include border-color(${0:color});
endsnippet
snippet ol
outline: ${0:0};
endsnippet
snippet ps
@include ${1:absolute}(${2});
endsnippet
snippet psa
position: absolute;
endsnippet
snippet psr
position: relative;
endsnippet
snippet pss
position: static;
endsnippet
snippet psf
position: fixed;
endsnippet
snippet t
top: ${0};
endsnippet
snippet r
right: ${0};
endsnippet
snippet b
bottom: ${0};
endsnippet
snippet l
left: ${0};
endsnippet
snippet w
width: ${0};
endsnippet
snippet h
height: ${0};
endsnippet
snippet db
display: block;
endsnippet
snippet dn
display: none;
endsnippet
snippet di
display: inline;
endsnippet
snippet df
display: flex;
endsnippet
snippet dt
display: table;
endsnippet
snippet dtc
display: table-cell;
endsnippet
snippet dib
display: inline-block;
endsnippet
snippet c
@include color(${0:default});
endsnippet
snippet rgba
rgba(color(${1:main}), ${2:0.5});
endsnippet
snippet clb
clear: both;
endsnippet
snippet cll
clear: left;
endsnippet
snippet clr
clear: right;
endsnippet
snippet fll
float: left;
endsnippet
snippet flr
float: right;
endsnippet
snippet fln
float: none;
endsnippet
snippet ovh
overflow: hidden;
endsnippet
snippet ovv
overflow: visible;
endsnippet
snippet ova
overflow: auto;
endsnippet
snippet ovs
overflow: scroll;
endsnippet
snippet crp
cursor: pointer;
endsnippet
snippet crd
cursor: default;
endsnippet
snippet ff
@include font-family(${0:default});
endsnippet
snippet fs
@include font-size(${0:h1});
endsnippet
snippet fz
@include font-style(${0:default});
endsnippet
snippet fw
@include font-weight(${0:default});
endsnippet
snippet font
@include font(${0:default});
endsnippet
snippet lsp
letter-spacing: ${0:0.01em};
endsnippet
snippet lh
line-height: ${0:$font-line-height};
endsnippet
snippet tac
text-align: center;
endsnippet
snippet tal
text-align: left;
endsnippet
snippet tar
text-align: right;
endsnippet
snippet tdu
text-decoration: underline;
endsnippet
snippet tdn
text-decoration: none;
endsnippet
snippet ti
text-indent: ${0:-9999px};
endsnippet
snippet ttu
text-transform: uppercase;
endsnippet
snippet ttl
text-transform: lowercase;
endsnippet
snippet ttn
text-transform: none;
endsnippet
snippet lsn
list-style: none;
endsnippet
snippet lsd
list-style: disc;
endsnippet
snippet m
@include margin(a ${0:1});
endsnippet
snippet mt
@include margin(t ${0:1});
endsnippet
snippet mr
@include margin(r ${0:1});
endsnippet
snippet mb
@include margin(b ${0:1});
endsnippet
snippet ml
@include margin(l ${0:1});
endsnippet
snippet p
@include padding(a ${0:1});
endsnippet
snippet pt
@include padding(t ${0:1});
endsnippet
snippet pr
@include padding(r ${0:1});
endsnippet
snippet pb
@include padding(b ${0:1});
endsnippet
snippet pl
@include padding(l ${0:1});
endsnippet
snippet mah
max-height: ${0:100%};
endsnippet
snippet maw
max-width: ${0:100%};
endsnippet
snippet mih
min-height: ${0:100%};
endsnippet
snippet miw
min-width: ${0:100%};
endsnippet
snippet !
!important;${0}
endsnippet
snippet vat
vertical-align: top;
endsnippet
snippet vam
vertical-align: middle;
endsnippet
snippet vab
vertical-align: bottom;
endsnippet
snippet viv
visibility: visible;
endsnippet
snippet vih
visibility: hidden;
endsnippet
snippet wsp
white-space: nowrap;
endsnippet
snippet z
@include z-index(${0:feet});
endsnippet

@ -1,294 +0,0 @@
snippet doc
<!doctype html>
endsnippet
snippet //
<!-- ${0:your comment here} -->
endsnippet
snippet body
<body class="${1:bodyclass}">
${2}
</body>
endsnippet
snippet title
<title>${0:PageTitle}</title>
endsnippet
snippet html
<html class="no-js" lang="de">
${0}
</html>
endsnippet
snippet head
<head>
<meta charset="utf-8" />
<title>${1:PageTitle}</title>
<meta name="description" content="${2:metadesc}" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
${3}
</head>
endsnippet
snippet link
<link rel="${1:stylesheet}" href="${2:main.css}" />
endsnippet
snippet meta
<meta name="${1:name}" content="${2:content}" />
endsnippet
snippet scrs
<script src="${0}"></script>
endsnippet
snippet scr
<script>
${0}
</script>
endsnippet
snippet style
<style>
${0}
</style>
endsnippet
snippet label
<label for="${1:inputid}">${2}</label>
<input type="${3:text}" class="${3:class}" name="$1" value="" id="$1" />
endsnippet
snippet input
<input type="${1:text}" class="${2:class}" name="${3:name}" value="" />
endsnippet
snippet select
<select name="$1" id="${1:id}">
<option value=""></option>
<option value="${2:value}"}>${3:Text}</option>
</select>
endsnippet
snippet opt
<option value="${1:value}"}>${2}</option>
endsnippet
snippet textarea
<textarea name="${1:name}" rows="${2:8}" cols="${3:40}">${4}</textarea>
endsnippet
snippet btn
<button type="button" class="${2:button}">
<span class="button__label">${3:text}</span>
</button>
endsnippet
snippet fieldset
<fieldset class="${1:class}"}>
<legend>${2:legend}</legend>
${3}
</fieldset>
endsnippet
snippet form
<form action="${1:./}" method="${2:get/post}" accept-charset="utf-8">
${3}
</form>
endsnippet
snippet h1
<h1>${0}</h1>
endsnippet
snippet h2
<h2>${0}</h2>
endsnippet
snippet h3
<h3>${0}</h3>
endsnippet
snippet h4
<h4>${0}</h4>
endsnippet
snippet h5
<h5>${0}</h5>
endsnippet
snippet h6
<h6>${0}</h6>
endsnippet
snippet t
<${1:div}${2: class="class"}>
${3}
</$1>
endsnippet
snippet div
<div class="${1:class}">
${2}
</div>
endsnippet
snippet header
<header class="${1:header}">
${2}
</header>
endsnippet
snippet section
<section class="${1:content}">
${2}
</section>
endsnippet
snippet article
<article class="${1:article}">
${2}
</article>
endsnippet
snippet footer
<footer class="${1:footer}">
${2}
</footer>
endsnippet
snippet main
<main class="${1:main}">
${2}
</main>
endsnippet
snippet aside
<aside class="${1:sidebar}">
${2}
</aside>
endsnippet
snippet nav
<nav class="${1:nav}">
${2}
</nav>
endsnippet
snippet mail
<a href="mailto:${1:joe@example.com}${2:?subject=feedback}">${3:email me}</a>
endsnippet
snippet a
<a href="${1:/someurl}" class="${2:class}">${3:text}</a>
endsnippet
snippet p
<p>${0}</p>
endsnippet
snippet em
<em>${0}</em>
endsnippet
snippet str
<strong>${0}</strong>
endsnippet
snippet pre
<pre>${0}</pre>
endsnippet
snippet span
<span class="${1:class}">${2}</span>
endsnippet
snippet br
<br />
endsnippet
snippet li
<li>${0}</li>
endsnippet
snippet ul
<ul class="${1:class}">
<li class="$1__item">${12</li>
</ul>
endsnippet
snippet ol
<ol class="${1:class}">
<li class="$1__item">${2}</li>
</ol>
endsnippet
snippet figure
<figure class="${1:class}">
<img src="${2:image.jpg}" alt="${3}" class="$1__image" />
<figcaption class="$1__caption">${4}</figcaption>
</figure>
endsnippet
snippet bq
<blockquote>${1:quote}</blockquote>
endsnippet
snippet table
<table class="${1:class}">
<thead>
<tr>
<th>${2:title}</th>
</tr>
</thead>
<tbody>
<tr>
<td>${3:content}</td>
</tr>
</tbody>
</table>
endsnippet
snippet td
<td>${0}</td>
endsnippet
snippet tr
<tr>
${0}
</tr>
endsnippet
snippet init
<!doctype html>
<html class="no-js" lang="de">
<head>
<meta charset="utf-8" />
<title>${1:PageTitle}</title>
<link href="${2:/assets/styles/main.css}" rel="stylesheet" />
<meta name="description" content="${2:metadesc}" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
</head>
<body>
<header class="header">
${3}
</header>
<main class="main" role="main">
${4}
</main>
<footer class="footer">
${5}
</footer>
<script src="/assets/scripts/${6:script.js}"></script>
</body>
</html>
endsnippet
snippet video
<video width="${1:1280}" height="${2:720}" poster="${3:filename}.jpg" controls>
<source type="video/mp4" src="$3.mp4" />
<source type="video/webm" src="$3.webm" />
</video>
endsnippet

@ -1,78 +0,0 @@
snippet c
const ${1:sth} = ${2:value};
endsnippet
snippet l
let ${1:sth} = ${2:value};
endsnippet
snippet for
for (let ${1:i} = 0; $1 <= ${2:var}; $1 += 1) {
${3}
}
endsnippet
snippet fun
const ${1:functionname} = (${2:argument}) => {
${3}
};
endsnippet
snippet =>
(${1}) => {
${2}
}
endsnippet
snippet mod
export default (${0:args}) => {
${1}
};
endsnippet
snippet im
import ${1:module} from '${2:modulename}';
endsnippet
snippet ife
if (${1:condition}) {
${2}
} else {
${3}
}
endsnippet
snippet if
if (${1:condition}) {
${2}
}
endsnippet
snippet switch
switch (${1:expression}) {
case '${2:case}':
${3}
break;
default:
${4}
break;
}
endsnippet
snippet case
case '${1:case}':
${2}
break;
endsnippet
snippet cl "console.log()"
console.log(${0:data});
endsnippet
snippet bug "console.log()"
console.log(${0:data});
endsnippet
snippet ct
console.table(${0:data});
endsnippet

@ -1,19 +0,0 @@
snippet s
"${1:key}": "${2:value}",
endsnippet
snippet n
"${1:key}": ${2:value},
endsnippet
snippet a
[
${0}
],
endsnippet
snippet o
{
${0}
},
endsnippet

@ -1,22 +0,0 @@
snippet s
# ${1:Section Name}
${2}
endsnippet
snippet ss "Sub Section" b
## ${1:Section Name}
${2}
endsnippet
snippet sss
### ${1:Section Name}
${2}
endsnippet
snippet link
[${1:text}](${2:http://url.com})
endsnippet
snippet img
![${1:pic}](${2:path} ${3:title})
endsnippet

@ -1,160 +0,0 @@
snippet arr
$${1:array} = ['${2}' => ${3}];
endsnippet
snippet if
if (${1:condition}) {
${2}
}
endsnippet
snippet if2
<?php if (${1:condition}): ?>
${2}
<?php endif ?>
endsnippet
snippet ife
if (${1:condition}) {
${2}
} else {
${3}
}
endsnippet
snippet ife2
<?php if (${1:condition}): ?>
${2}
<?php else: ?>
${3}
<?php endif ?>
endsnippet
snippet else
else {
${0}
}
endsnippet
snippet else2
<?php else: ?>
endsnippet
snippet for
for ($${1:i} = 0; $1 < ${2:$count}; $$1 += 1) {
${3}
}
endsnippet
snippet for2
<?php for ($${1:i} = 0; $1 < ${2:$count}; $$1 += 1): ?>
${3}
<?php endfor ?>
endsnippet
snippet fek
foreach ($${1:variable} as $${2:key} => $${3:value}) {
${4}
}
endsnippet
snippet fek2
<?php foreach ($${1:variable} as $${2:key} => $${3:value}): ?>
${4}
<?php endforeach ?>
endsnippet
snippet fe
foreach ($${1:variable} as $${2:value}) {
${3}
}
endsnippet
snippet fe2
<?php foreach ($${1:variable} as $${2:value}): ?>
${3}
<?php endforeach ?>
endsnippet
snippet get
$_GET['${0}']
endsnippet
snippet post
$_POST['${0}']
endsnippet
snippet sess
$_SESSION['${0}']
endsnippet
snippet inc
include '${0:filename}.php';
endsnippet
snippet req
require '${0:filename}.php';
endsnippet
snippet t
$${1:var} = (${2:condition}) ? ${3} : ${4};
endsnippet
snippet cl
echo '<pre>' . var_dump(${0:var}) . '</pre>';
endsnippet
snippet bug
echo '<pre>' . var_dump(${0:var}) . '</pre>';
endsnippet
snippet fun
function ${1:name}(${2:$param}) {
${3}
}
endsnippet
snippet cls
class ${1:Class} {
public function __construct(${2:$options}) {
${3}
}
}
endsnippet
snippet ph
<?php
${0}
endsnippet
snippet phi
<?php ${0} ?>
endsnippet
snippet <?
<?php
${0}
?>
endsnippet
snippet ==
<?= ${0} ?>
endsnippet
snippet sw
switch (${1:expression}) {
case '${2:case}':
${3}
break;
default:
${4}
break;
}
endsnippet
snippet case
case '${1:case}':
${2}
break;
endsnippet

@ -0,0 +1,83 @@
{
"@include": {
"prefix": "in",
"body": [
"@include ${1:mixin}(${2:parameters}) {",
"\t${0:@content}",
"}"
],
"description": "@include mixin with parameters (multiline)"
},
"@function": {
"prefix": "fun",
"body": [
"@function ${1:function}(${2:parameters}) {",
"\t${0:@content}",
"}"
],
"description": ""
},
"@foreach": {
"prefix": "fe",
"body": [
"@each $${1:item} in $${2:variable} {",
"\t${0:@content}",
"}"
],
"description": ""
},
"@mediaquery": {
"prefix": "mq",
"body": [
"@include mediaquery(${1:s}) {",
"\t${0:@content}",
"}"
],
"description": ""
},
"@attention": {
"prefix": "att",
"body": [
"@include attention {",
"\t${0:@content}",
"}"
],
"description": "Custom attention-mixin"
},
"background-gradient": {
"prefix": "grd",
"body": "background-image: linear-gradient(to bottom, color(${1:one}), color(${0:two}));",
"description": "Background image with linear gradient"
},
"@position": {
"prefix": "ps",
"body": "@include ${1:absolute}(a ${0:0});",
"description": "Custom position-mixins"
},
"@color": {
"prefix": "c",
"body": "@include color(${0:default});",
"description": "Custom color-mixin"
},
"@font": {
"prefix": "f",
"body": "@include font(${0:default});",
"description": "Custom font-mixin"
},
"@margin": {
"prefix": "m",
"body": "@include margin(a ${0:0});",
"description": "Custom margin-mixin"
},
"@padding": {
"prefix": "p",
"body": "@include padding(a ${0:0});",
"description": "Custom padding-mixin"
},
"@z-index": {
"prefix": "z",
"body": "@include z-index(${0:feet});",
"description": "Custom z-index mixin"
}
}

@ -0,0 +1,21 @@
{
"simple-debugging": {
"prefix": "bug",
"body": "console.log(${0:data});",
"description": "Simple debugging with console.log()"
},
"console-table": {
"prefix": "ct",
"body": "console.table(${0:data});",
"description": "console.table with parameters"
},
"module-exports": {
"prefix": "mod",
"body": [
"export default () => {",
"\t${0:const sth = 0; }",
"}"
],
"description": "Export default anonymous arrow function"
}
}

@ -0,0 +1,32 @@
{
"simple-debugging": {
"prefix": ["cl", "bug"],
"body": "echo '<pre>' . var_dump(\\$${0:var}) . '</pre>';",
"description": "Simple debugging with var_dump()"
},
"echo-val": {
"prefix": "==",
"body": "<?= \\$${0:somevar} ?>",
"description": "PHP {{ }}-echo placeholder"
},
"if-else": {
"prefix": "if2",
"body": [
"<?php if (${1:condition}): ?>",
"\t${2}",
"<?php else: ?>",
"\t${0}",
"<?php endif ?>"
],
"description": "<?php if-else construct ?>"
},
"for-each": {
"prefix": "fe2",
"body": [
"<?php foreach (\\$${1:variable} as \\$${2:key} => \\$${3:value}): ?>",
"\t${0}",
"<?php endforeach ?>"
],
"description": "<?php for-each construct ?>"
}
}
Loading…
Cancel
Save