diff --git a/.gitignore b/.gitignore index e69de29..59612af 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +db_ui diff --git a/.stylua.toml b/.stylua.toml new file mode 100644 index 0000000..9639dd4 --- /dev/null +++ b/.stylua.toml @@ -0,0 +1,6 @@ +column_width = 120 +line_endings = "Unix" +indent_type = "Spaces" +indent_width = 2 +quote_style = "AutoPreferDouble" +# no_call_parentheses = true diff --git a/README.md b/README.md index b4b81c9..5b9bbb4 100644 --- a/README.md +++ b/README.md @@ -1,187 +1,268 @@ -# nvim-lazy +
+ +# Nvim-Lazy + +![Neovim](https://img.shields.io/badge/NeoVim-%2358A143.svg?&style=for-the-badge&logo=neovim&logoColor=white) +![Lua](https://img.shields.io/badge/lua-%233C2D72.svg?style=for-the-badge&logo=lua&logoColor=white) + +

+ + + + + + + + + + + + Issues + + + + Repo Size + + + follow on Twitter + +

+ +
## HOME ![home!](img/home.png) +## Transparant + +![home!](img/transparant.png) + +## Demo + +![demo!](img/demo.gif) + +## Treesitter dan LSP + +![demo!](img/ts_lsp.gif) + ## Plugins Manager ![PlugManaget!](img/plugins_manager.png) -## PHP +## Javascript Project -![LARAVEL!](img/laravel.jpeg) +![PlugManaget!](img/node.png) -## JAVA + -![JAVA!](img/Spring_boot_code.jpeg) + -# Panduan Install Dan Konfigurasi NeoVim +# NeoVim Install & Configuration Guide -## Kebutuhan Dasar +## Visit Wiki -1. Install Neovim 8.0+ https://github.com/neovim/neovim/releases/tag/v0.8.2 -2. C++ (windows) Compiler https://www.msys2.org/ -3. GIT https://git-scm.com/download/win -4. NodeJs https://nodejs.org/en/ -5. Ripgrep https://github.com/BurntSushi/ripgrep -6. Lazygit https://github.com/jesseduffield/lazygit -7. Nerd Font https://github.com/ryanoasis/nerd-fonts -8. Windows Terminal (Windows) https://apps.microsoft.com/store/detail/windows-terminal/9N0DX20HK701?hl=en-id&gl=id -9. Powershell (windows) https://apps.microsoft.com/store/detail/powershell/9MZ1SNWT0N5D?hl=en-id&gl=id +## Basic Requirement -## Panduan Windows +2. Install Neovim 0.95+ https://github.com/neovim/neovim/releases/tag/stable +1. C++ https://www.msys2.org/ +1. GIT https://git-scm.com/download/win +1. NodeJs https://nodejs.org/en/ +1. Ripgrep https://github.com/BurntSushi/ripgrep +1. Lazygit https://github.com/jesseduffield/lazygit +1. Nerd Font https://www.nerdfonts.com/ or https://github.com/ryanoasis/nerd-fonts +1. Windows Terminal (Windows) https://apps.microsoft.com/store/detail/windows-terminal/9N0DX20HK701?hl=en-id&gl=id +1. Powershell (windows) https://apps.microsoft.com/store/detail/powershell/9MZ1SNWT0N5D?hl=en-id&gl=id -- Pastikan sudah menginstall kebutuhan dasar diatas -- Jalankan Script Dibawah pada Powershell +# Windows ``` -git clone https://github.com/pojokcodeid/nvim-lazy-basic.git "$env:LOCALAPPDATA\nvim" +git clone https://github.com/pojokcodeid/neovim-starter.git "$env:LOCALAPPDATA\nvim" nvim ``` -## Panduan Linux (Debian Based) - -1. Pastikan Acess Administrator - -``` -visudo -[nama user] ALL=(ALL:ALL) ALL -[nama user] ALL=(ALL) NOPASSWD:ALL -``` - -2. Install Neovim +# Linux ```bash -sudo apt-get install wget -mkdir download -cd download -wget https://github.com/neovim/neovim/releases/download/v0.8.1/nvim-linux64.deb -sudo apt-get install ./nvim-linux64.deb -nvim --version +git clone https://github.com/pojokcodeid/neovim-starter.git ~/.config/nvim ``` -3. Check G++ +# Uninstall ```bash -g++ --version +# Linux / MacOS (unix) +rm -rf ~/.config/nvim +rm -rf ~/.local/state/nvim +rm -rf ~/.local/share/nvim + +# Flatpak (linux) +rm -rf ~/.var/app/io.neovim.nvim/config/nvim +rm -rf ~/.var/app/io.neovim.nvim/data/nvim +rm -rf ~/.var/app/io.neovim.nvim/.local/state/nvim + +# Windows CMD +rd -r ~\AppData\Local\nvim +rd -r ~\AppData\Local\nvim-data + +# Windows PowerShell +rm -Force ~\AppData\Local\nvim +rm -Force ~\AppData\Local\nvim-data ``` -4. Install NodeJS +# Shortcut Most-Used -```bash -sudo apt-get install curl -sudo apt install build-essential libssl-dev -curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash -source ~/.bashrc -nvm install 18.13.0 -node --version -npm --version -``` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
:q or :quitexit the form
:w or :writewrite the typing result into a file (save)
:wqsave and exit
:q!Exit and do not save
escapenormal mode
iinsert mode
vvisual mode, must be in normal mode first
hleft
jdown
kup
lright
:teropen the terminal
0 or homemove the cursor to the beginning of the line
$ or endmove the cursor to the end of the line
ggmove the cursor to the top
Gmove the cursor to the end of the page
wmove the cursor to the next word with out spaces
3wmove the cursor to the next 3 words
bmove the cursor to the previous word
3bmove the cursor to the previous 3 words
(move the cursor to the previous paragraph
)move the cursor to the next paragraph
dddelete text 1 line
d$delete words until the end of the line from the cursor position
d0 + delete words until the beginning of the line from the cursor position +
Uto undo
CTRL + rRendo
Ypduplicate line code
yypsame duplicate line code
:m+1move 1 line down
:m-1move 1 line up
ddelete code that is selected with view mode
:e newfolder/newfile.extcreate a new file in a new folder
:f newfolder/newfile.extto copy the file from the open file
bdwdelete 1 word
dwdelete to the right in 1 word at the cursor position
-5. Install unzip, ripgrep - -```bash -sudo apt-get install unzip -sudo apt-get install ripgrep -``` - -6. Install lazygit - -```bash -LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | grep '"tag_name":' | sed -E 's/.*"v*([^"]+)".*/\1/') -curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/latest/download/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz" -sudo tar xf lazygit.tar.gz -C /usr/local/bin lazygit -lazygit --version -``` - -7. Install Git - -```bash -sudo apt-get install git -git --version -``` - -8. Clone Config - -```bash -git clone https://github.com/pojokcodeid/nvim-lazy-basic.git ~/.config/nvim -``` - -## Setting LSP dan Treesitter - -### Config LSP - Cari file nvim/lua/user/lsp/mason.lua - -- Jalankan dengan commond mode - -``` -:MasonInstall html-lsp css-lsp typescript-language-server -``` - -- Rujukan Lnguage Support
- https://github.com/williamboman/mason.nvim/blob/main/PACKAGES.md - -### Comfig Treesitter Cari file nvim/lua/user/treesitter.lua - -- Jalankan Code Berikut pada command - -```lua -:TSInstall html css javascript ..... dst -``` - -- Rujukan Language Support
- https://github.com/nvim-treesitter/nvim-treesitter#supported-languages - -## Ubah Dashboard - -### Cari File nvim/lua/custom/dashboard_example.lua , ubah nama file menjadi dashboard.lua - -- Edit Bagian ini - -```lua -M.dashboard = { - [[ __ ]], - [[ ___ ___ ___ __ __ /\_\ ___ ___ ]], - [[ / _ `\ / __`\ / __`\/\ \/\ \\/\ \ / __` __`\ ]], - [[/\ \/\ \/\ __//\ \_\ \ \ \_/ |\ \ \/\ \/\ \/\ \ ]], - [[\ \_\ \_\ \____\ \____/\ \___/ \ \_\ \_\ \_\ \_\]], - [[ \/_/\/_/\/____/\/___/ \/__/ \/_/\/_/\/_/\/_/]], -} - -``` - -- Link Generate Dasboard - https://patorjk.com/software/taag/ - -## Seting Bahasa Pemprograman - -- https://youtube.com/playlist?list=PLhzwHCJWMbnvhPy0wqZGVBRUEAgS93iuk - -## List Plugins - -- Lazy -- Plenary -- Nvim-Autopairs -- Comment.nvim -- nvim-ts-context-commentstring -- nvim-web-devicons -- nvim-tree.lua -- bufferline.nvim -- vim-bbye -- toggleterm.nvim -- impatient.nvim -- indent-blankline.nvim -- alpha-nvim -- which-key.nvim -- tokyonight.nvim -- nvim-cmp -- cmp-buffer - -## key lazygit - -Key Lazygit - -## Terima Kasih +## Thanks To https://github.com/LunarVim/Neovim-from-scratch
https://github.com/AstroNvim/AstroNvim diff --git a/img/coding.png b/img/coding.png new file mode 100644 index 0000000..7369af0 Binary files /dev/null and b/img/coding.png differ diff --git a/img/demo.gif b/img/demo.gif new file mode 100644 index 0000000..36290eb Binary files /dev/null and b/img/demo.gif differ diff --git a/img/home.png b/img/home.png index ae11de1..3d7e32c 100644 Binary files a/img/home.png and b/img/home.png differ diff --git a/img/node.png b/img/node.png new file mode 100644 index 0000000..0464330 Binary files /dev/null and b/img/node.png differ diff --git a/img/plugins_manager.png b/img/plugins_manager.png index 0b2fbcd..8e481cb 100644 Binary files a/img/plugins_manager.png and b/img/plugins_manager.png differ diff --git a/img/transparant.png b/img/transparant.png new file mode 100644 index 0000000..ee4b883 Binary files /dev/null and b/img/transparant.png differ diff --git a/img/ts_lsp.gif b/img/ts_lsp.gif new file mode 100644 index 0000000..5fbe0a0 Binary files /dev/null and b/img/ts_lsp.gif differ diff --git a/init.lua b/init.lua index 161d857..a611e73 100644 --- a/init.lua +++ b/init.lua @@ -1 +1,14 @@ -require("core") +if vim.g.vscode then + -- config vscode + Map = vim.keymap.set + Cmd = vim.cmd + + VSCodeNotify = vim.fn.VSCodeNotify + VSCodeCall = vim.fn.VSCodeCall + + require("_vscode.functions") + require("_vscode.mappings") +else + -- config neovim + require("pcode.core") +end diff --git a/lazy-lock.json b/lazy-lock.json index 7d46a50..a1e7540 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -1,58 +1,58 @@ { - "Comment.nvim": { "branch": "master", "commit": "d9cfae1059b62f7eacc09dba181efe4894e3b086" }, - "LuaSnip": { "branch": "master", "commit": "500981ff6cefc7343e3959ef0f939bd0bfd49ba9" }, - "alpha-nvim": { "branch": "main", "commit": "b3eef69e95674905bf26c7740dd4bbb09b355494" }, - "bufdelete.nvim": { "branch": "master", "commit": "8933abc09df6c381d47dc271b1ee5d266541448e" }, - "bufferline.nvim": { "branch": "main", "commit": "f4af7e5ad68fca928753f280515646803252611d" }, - "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, - "cmp-nvim-lua": { "branch": "main", "commit": "f3491638d123cfd2c8048aefaf66d246ff250ca6" }, - "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, - "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, - "code_runner.nvim": { "branch": "main", "commit": "a010649236fe245eaab2641a13228cd601499715" }, - "dressing.nvim": { "branch": "master", "commit": "db716a0f1279f79a886c0e0b6ab3c3d5ffdb42fe" }, - "fidget.nvim": { "branch": "main", "commit": "688b4fec4517650e29c3e63cfbb6e498b3112ba1" }, - "friendly-snippets": { "branch": "main", "commit": "6fa50a94ba5378bb73013a6e163376d8e69bd8a5" }, - "gitsigns.nvim": { "branch": "main", "commit": "bb808fc7376ed7bac0fbe8f47b83d4bf01738167" }, - "gruvbox-baby": { "branch": "main", "commit": "ea71b4225d0140103d99748ca4a33ecf22c03f62" }, - "impatient.nvim": { "branch": "main", "commit": "969f2c5c90457612c09cf2a13fee1adaa986d350" }, - "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, - "jaq-nvim": { "branch": "master", "commit": "236296aae555657487d1bb4d066cbde9d79d8cd4" }, - "lazy.nvim": { "branch": "main", "commit": "f2cc9ef6acc7367c001b7507c82cab3ab7c29cae" }, - "live-server": { "branch": "main", "commit": "ecd7c1418823b65dd2bca710587c80afe42c973e" }, - "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "93e58e100f37ef4fb0f897deeed20599dae9d128" }, - "mason-null-ls.nvim": { "branch": "main", "commit": "29ce60f9a16fef3de682a9365ef635f24ae92bf9" }, - "mason.nvim": { "branch": "main", "commit": "718966fd3204bd1e4aa5af0a032ce1e916295ecd" }, - "mini.indentscope": { "branch": "main", "commit": "d3e907b13298b0fc60db289fb804be7e9c561922" }, - "neoscroll.nvim": { "branch": "master", "commit": "d7601c26c8a183fa8994ed339e70c2d841253e93" }, - "null-ls.nvim": { "branch": "main", "commit": "a82aa08c0063843926947f3688b0e61fd71db680" }, - "nvim-autopairs": { "branch": "master", "commit": "4fc96c8f3df89b6d23e5092d31c866c53a346347" }, - "nvim-cmp": { "branch": "main", "commit": "8202df9561b90102b41dbc1ad71945534ef4ea39" }, - "nvim-colorizer.lua": { "branch": "master", "commit": "760e27df4dd966607e8fb7fd8b6b93e3c7d2e193" }, - "nvim-lsp-installer": { "branch": "main", "commit": "17e0bfa5f2c8854d1636fcd036dc8284db136baa" }, - "nvim-lspconfig": { "branch": "master", "commit": "255e07ce2a05627d482d2de77308bba51b90470c" }, - "nvim-navic": { "branch": "master", "commit": "7e9d2b2b601149fecdccd11b516acb721e571fe6" }, - "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, - "nvim-scrollview": { "branch": "main", "commit": "ba6c48bf7919dd48a371e7b9c683b8858053e885" }, - "nvim-tree.lua": { "branch": "master", "commit": "66c15afd13da5f86de52b82f38cd9d3f418d0dc3" }, - "nvim-treesitter": { "branch": "master", "commit": "ad9ae9e7def54fee446c3e186ed0a0d44cca7b90" }, - "nvim-ts-autotag": { "branch": "main", "commit": "fdefe46c6807441460f11f11a167a2baf8e4534b" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "a0f89563ba36b3bacd62cf967b46beb4c2c29e52" }, - "nvim-ts-rainbow": { "branch": "master", "commit": "ef95c15a935f97c65a80e48e12fe72d49aacf9b9" }, - "nvim-web-devicons": { "branch": "master", "commit": "4709a504d2cd2680fb511675e64ef2790d491d36" }, - "plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" }, - "smart-splits.nvim": { "branch": "master", "commit": "b38431f1f68bc43d6bf9d1edb21c2bcb06b1197c" }, - "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, - "telescope.nvim": { "branch": "master", "commit": "f40e3e2304c633411ddf266075f7db5184b1db02" }, - "todo-comments.nvim": { "branch": "main", "commit": "077c59586d9d0726b0696dc5680eb863f4e04bc5" }, - "toggleterm.nvim": { "branch": "main", "commit": "2a787c426ef00cb3488c11b14f5dcf892bbd0bda" }, - "tokyonight.nvim": { "branch": "main", "commit": "a0abe53df53616d13da327636cb0bcac3ea7f5af" }, - "vim-bbye": { "branch": "master", "commit": "903f5eb17f72ebf7b0b1524bbb792c0b36761af6" }, - "vim-illuminate": { "branch": "master", "commit": "49062ab1dd8fec91833a69f0a1344223dd59d643" }, - "vim-startuptime": { "branch": "master", "commit": "5f52ed26e0296a3e1d1453935f417e5808eefab8" }, - "vim-visual-multi": { "branch": "master", "commit": "1c9207b28c8898ab01b54e6d6b61b0b820a814bc" }, - "which-key.nvim": { "branch": "main", "commit": "5224c261825263f46f6771f1b644cae33cd06995" }, - "wilder.nvim": { "branch": "master", "commit": "679f348dc90d80ff9ba0e7c470c40a4d038dcecf" }, - "yanky.nvim": { "branch": "main", "commit": "9fb1c211775b5a6c83b9fe806cfd99f68c65f8a0" } -} \ No newline at end of file + "Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" }, + "LuaSnip": { "branch": "master", "commit": "458560534a73f7f8d7a11a146c801db00b081df0" }, + "alpha-nvim": { "branch": "main", "commit": "2b3cbcdd980cae1e022409289245053f62fb50f6" }, + "auto-bufferline.nvim": { "branch": "main", "commit": "6a69520dcb0dc615df3cf972f69027aae3f75c3e" }, + "auto-conform.nvim": { "branch": "main", "commit": "5f0897235e84bf2f8ff9d634e81678d5bfa63ab8" }, + "auto-lint.nvim": { "branch": "main", "commit": "aff13cb8eaa055e66e940d43b7d83166397e5413" }, + "auto-lsp.nvim": { "branch": "main", "commit": "f32c94fff2862c313f4e150eb39dd0dc9bf18755" }, + "auto-lualine.nvim": { "branch": "main", "commit": "201da916411a56d0b27905528a7cb49a320ee054" }, + "breadcrumbs.nvim": { "branch": "master", "commit": "9f764278784ce2f10dbe2f555ba14be2451d36a0" }, + "bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" }, + "cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" }, + "cmp-cmdline": { "branch": "main", "commit": "d126061b624e0af6c3a556428712dd4d4194ec6d" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" }, + "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, + "cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" }, + "cmp-rg": { "branch": "master", "commit": "70a43543f61b6083ba9c3b7deb9ccee671410ac6" }, + "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, + "code_runner.nvim": { "branch": "main", "commit": "65c8d11f507073b915f10faa88ea05bd4fbf69ce" }, + "colorful-menu.nvim": { "branch": "master", "commit": "bc3e82609f2fcf7dad7ca87c20e65e51d5d9d87c" }, + "conform.nvim": { "branch": "master", "commit": "973f3cb73887d510321653044791d7937c7ec0fa" }, + "dracula.nvim": { "branch": "main", "commit": "96c9d19ce81b26053055ad6f688277d655b3f7d2" }, + "dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" }, + "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, + "gitsigns.nvim": { "branch": "main", "commit": "8270378ab83540b03d09c0194ba3e208f9d0cb72" }, + "hlchunk.nvim": { "branch": "main", "commit": "474ec5d0f220158afa83aaefab32402e710d3032" }, + "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, + "lsp_signature.nvim": { "branch": "master", "commit": "62cadce83aaceed677ffe7a2d6a57141af7131ea" }, + "lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "844d247d998c2f9a6a3baad8bb9748edc55ce69f" }, + "mason.nvim": { "branch": "main", "commit": "9e25c98d4826998460926f8c5c2284848d80ae89" }, + "multiple-cursors.nvim": { "branch": "main", "commit": "1ac15d047a4b265cc2389957bcc56ee561b29e02" }, + "neocodeium": { "branch": "main", "commit": "272aed226827d8dadb85b4d9e2c9bb6bd30b4033" }, + "noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" }, + "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, + "nvim-autopairs": { "branch": "master", "commit": "23320e75953ac82e559c610bec5a90d9c6dfa743" }, + "nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" }, + "nvim-lint": { "branch": "master", "commit": "7ef127aaede2a4d5ad8df8321e2eb4e567f29594" }, + "nvim-lspconfig": { "branch": "master", "commit": "d0dbf489a8810672fa9a61f4a86e5cf89214b772" }, + "nvim-material-icon": { "branch": "main", "commit": "c25a4e56be2f846dfdf8f30b980adc17f219d019" }, + "nvim-navic": { "branch": "master", "commit": "f887d794a0f4594882814d7780980a949200a238" }, + "nvim-notify": { "branch": "master", "commit": "397c7c1184745fca649e5104de659e6392ef5a4d" }, + "nvim-tree.lua": { "branch": "master", "commit": "65bae449224b8a3bc149471b96587b23b13a9946" }, + "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, + "nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "1b212c2eee76d787bbea6aa5e92a2b534e7b4f8f" }, + "nvim-web-devicons": { "branch": "master", "commit": "3362099de3368aa620a8105b19ed04c2053e38c0" }, + "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, + "rainbow-delimiters.nvim": { "branch": "master", "commit": "97bf4b8ef9298644a29fcd9dd41a0210cf08cac7" }, + "showkeys": { "branch": "main", "commit": "cb0a50296f11f1e585acffba8c253b9e8afc1f84" }, + "smart-splits.nvim": { "branch": "master", "commit": "f46b79cf9e83b0a13a4e3f83e3bd5b0d2f172bf2" }, + "telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" }, + "toggleterm.nvim": { "branch": "main", "commit": "9a88eae817ef395952e08650b3283726786fb5fb" }, + "vim-illuminate": { "branch": "master", "commit": "0d1e93684da00ab7c057410fecfc24f434698898" }, + "virt-column.nvim": { "branch": "master", "commit": "b87e3e0864211a32724a2ebf3be37e24e9e2fa99" }, + "which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }, + "yanky.nvim": { "branch": "main", "commit": "04775cc6e10ef038c397c407bc17f00a2f52b378" } +} diff --git a/lua/_vscode/functions.lua b/lua/_vscode/functions.lua new file mode 100644 index 0000000..b2fbb16 --- /dev/null +++ b/lua/_vscode/functions.lua @@ -0,0 +1,265 @@ +function Active_whichkey() + VSCodeNotify("whichkey.show") +end + +function Top_screen() + Cmd("call 3_reveal('top', 0)") +end + +function Bottom_screen() + Cmd("call 3_reveal('bottom', 0)") +end + +function Move_to_top_screen() + Cmd("call 3_moveCursor('top')") +end + +function Move_to_bottom_screen() + Cmd("call 3_moveCursor('bottom')") +end + +function Scroll_line_down() + VSCodeCall("scrollLineDown") +end + +function Scroll_line_up() + VSCodeCall("scrollLineUp") +end + +function Vscode_ctrl_d() + VSCodeNotify("vscode-neovim.ctrl-d") +end + +function Vscode_ctrl_u() + VSCodeNotify("vscode-neovim.ctrl-u") +end + +function Move_to_bottom_screen__center_screen() + Move_to_bottom_screen() + Center_screen() +end + +function Move_to_top_screen__center_screen() + Move_to_top_screen() + Center_screen() +end + +function Trim_trailing_whitespace() + VSCodeCall("editor.action.trimTrailingWhitespace") +end + +function Save() + VSCodeCall("workbench.action.files.save") +end + +function Save_no_format() + VSCodeCall("workbench.action.files.saveWithoutFormatting") +end + +function Trim__save__no_format() + Trim_trailing_whitespace() + Save_no_format() +end + +function Trim__save__no_highlight() + Trim_trailing_whitespace() + Save() + Remove_highlighting() +end + +function Format() + VSCodeCall("editor.action.formatDocument") + print("formatted!") +end + +function Trim__save__format() + Trim_trailing_whitespace() + Format() + Save() +end + +function Reveal_definition_aside() + VSCodeNotify("editor.action.revealDefinitionAside") +end + +function Go_to_implementation() + VSCodeNotify("editor.action.goToImplementation") +end + +function Go_to_reference() + VSCodeNotify("editor.action.goToReferences") +end + +function Rename_symbol() + VSCodeNotify("editor.action.rename") +end + +function Outdent() + ---@diagnostic disable-next-line: unused-local + for i = 1, vim.v.count1 do + VSCodeNotify("editor.action.outdentLines") + end +end + +function Indent() + ---@diagnostic disable-next-line: unused-local + for i = 1, vim.v.count1 do + VSCodeNotify("editor.action.indentLines") + end +end + +function Outdent_vis() + VSCodeNotify("editor.action.outdentLines", false) +end + +function Indent_vis() + VSCodeNotify("editor.action.indentLines", false) +end + +function Comment() + VSCodeNotify("editor.action.commentLine") +end + +function Convert_to_spaces() + VSCodeNotify("editor.action.indentationToSpaces") +end + +function Convert_to_tabs() + VSCodeNotify("editor.action.indentationToTabs") +end + +function Indent_with_spaces() + VSCodeNotify("editor.action.indentUsingSpaces") +end + +function Indent_with_tabs() + VSCodeNotify("editor.action.indentUsingTabs") +end + +function CloseEditor() + VSCodeNotify("workbench.action.closeActiveEditor") +end + +function UndoCloseEditor() + VSCodeNotify("workbench.action.reopenClosedEditor") +end + +function Git_stage_file() + Trim_trailing_whitespace() + Save() + VSCodeNotify("git.stage") +end + +function Git_unstage_file() + Save() + VSCodeNotify("git.unstage") +end + +function Git_revert_change() + VSCodeNotify("git.revertSelectedRanges") +end + +function Git_stage_change() + VSCodeNotify("git.stageSelectedRanges") +end + +function Git_unstage_change() + VSCodeNotify("git.unstageSelectedRanges") +end + +function Git_open_changes() + VSCodeNotify("git.openChange") +end + +function Git_open_all_changes() + VSCodeNotify("git.openAllChanges") +end + +function Accept_merge_both() + VSCodeNotify("merge-conflict.accept.both") +end + +function Accept_merge_all_both() + VSCodeNotify("merge-conflict.accept.all-both") +end + +function Accept_merge_current() + VSCodeNotify("merge-conflict.accept.current") +end + +function Accept_merge_all_current() + VSCodeNotify("merge-conflict.accept.all-current") +end + +function Accept_merge_incoming() + VSCodeNotify("merge-conflict.accept.incoming") +end + +function Accept_merge_all_incoming() + VSCodeNotify("merge-conflict.accept.all-incoming") +end + +function Accept_merge_selection() + VSCodeNotify("merge-conflict.accept.selection") +end + +function Codesnap() + VSCodeNotify("codesnap.start", true) +end + +function Comment_vis() + VSCodeNotify("editor.action.commentLine", false) +end + +function Toggle_breakpoint() + VSCodeNotify("editor.debug.action.toggleBreakpoint") +end + +function Copy_path() + VSCodeNotify("copyFilePath") +end + +function Copy_relative_path() + VSCodeNotify("copyRelativeFilePath") +end + +function Active_whichkey() + VSCodeNotify("whichkey.show") +end + +function Navigation_down() + VSCodeNotify("workbench.action.navigateDown") +end + +function Navigation_up() + VSCodeNotify("workbench.action.navigateUp") +end + +function Navigation_left() + VSCodeNotify("workbench.action.navigateLeft") +end + +function Navigation_right() + VSCodeNotify("workbench.action.navigateRight") +end + +function Select_all() + VSCodeNotify("editor.action.selectAll") +end + +function Copy_clipboard() + VSCodeNotify("editor.action.clipboardCopyAction") +end + +function Paste_clipboard() + VSCodeNotify("editor.action.clipboardPasteAction") +end + +function Save() + VSCodeNotify("workbench.action.files.save") + VSCodeNotify("workbench.action.files.saveAll") +end + +function Close() + VSCodeNotify("workbench.action.closeActiveEditor") +end diff --git a/lua/_vscode/mappings.lua b/lua/_vscode/mappings.lua new file mode 100644 index 0000000..15817d3 --- /dev/null +++ b/lua/_vscode/mappings.lua @@ -0,0 +1,76 @@ +-- n = normal mode +-- i = insert mode +-- v = visual mode +-- x = visual block mode +-- t = terminal mode +-- c = command mode +-- o = operator pending mode + +Map({ "n", "x" }, "", Active_whichkey) + +Map("", "U", Trim__save__format) + +Map("n", "gD", Reveal_definition_aside) +Map("n", "gt", Go_to_implementation) +Map("n", "gq", Go_to_reference) +Map("n", ",r", Rename_symbol) +Map("n", "<<", Outdent) +Map("n", ">>", Indent) +Map("n", "gcc", Comment) +Map("n", "=s", Convert_to_spaces) +Map("n", "=t", Convert_to_tabs) +Map("n", "=d", Indent_with_spaces) +Map("n", "=g", Indent_with_tabs) +Map("n", "K", CloseEditor) +Map("n", ",K", UndoCloseEditor) +Map("n", "zk", Git_stage_file) +Map("n", "zK", Git_unstage_file) +Map("n", "zi", Git_open_changes) +Map("n", "zI", Git_open_all_changes) +Map("n", "zy", Toggle_breakpoint) +Map("n", "yr", Copy_relative_path) +Map("n", "yR", Copy_path) +Map({ "n", "i", "v", "x" }, "", Select_all) +Map({ "n", "v", "x", "i" }, "y", Copy_clipboard) +Map({ "n", "v", "x", "i" }, "", Copy_clipboard) +Map({ "n", "v", "x", "i" }, "p", Paste_clipboard) +Map({ "n", "v", "x", "i" }, "", Paste_clipboard) +Map({ "n", "v", "x", "i" }, "", Save) +Map({ "n" }, "q", Close) + +Map("v", "gs", Codesnap) +Map("v", "<", Outdent_vis) +Map("v", ">", Indent_vis) +Map("v", "gc", Comment_vis) + +Map({ "n", "v" }, "zJ", Git_revert_change) +Map({ "n", "v" }, "zj", Git_stage_change) +-- Map({ "n", "v" }, "zt", Vscode_ctrl_d) +-- Map({ "n", "v" }, "zb", Vscode_ctrl_u) + +vim.api.nvim_exec( + [[ + " THEME CHANGER + function! SetCursorLineNrColorInsert(mode) + " Insert mode: blue + if a:mode == "i" + call VSCodeNotify('nvim-theme.insert') + + " Replace mode: red + elseif a:mode == "r" + call VSCodeNotify('nvim-theme.replace') + endif + endfunction + + augroup CursorLineNrColorSwap + autocmd! + autocmd ModeChanged *:[vV\x16]* call VSCodeNotify('nvim-theme.visual') + autocmd ModeChanged *:[R]* call VSCodeNotify('nvim-theme.replace') + autocmd InsertEnter * call SetCursorLineNrColorInsert(v:insertmode) + autocmd InsertLeave * call VSCodeNotify('nvim-theme.normal') + autocmd CursorHold * call VSCodeNotify('nvim-theme.normal') + autocmd ModeChanged [vV\x16]*:* call VSCodeNotify('nvim-theme.normal') + augroup END +]], + false +) diff --git a/lua/auto-jdtls2/create_gradle_project.lua b/lua/auto-jdtls2/create_gradle_project.lua new file mode 100644 index 0000000..4395750 --- /dev/null +++ b/lua/auto-jdtls2/create_gradle_project.lua @@ -0,0 +1,76 @@ +local function gradle_new_project() + local function create_notif(message, level) + local notif_ok, notify = pcall(require, "notify") + if notif_ok then + notify(message, level) + else + print(message) + end + end + + -- Fungsi untuk meminta input dari pengguna dengan opsi untuk membatalkan + local function get_user_input(prompt, default_value) + vim.fn.inputsave() + local result = vim.fn.input(prompt, default_value) + vim.fn.inputrestore() + + -- Cek apakah pengguna menekan Esc untuk membatalkan input + if result == "" then + create_notif("Input canceled.", "info") + return nil, true + end + + return result, false + end + -- Ambil input Testing + local test, canceled_test = get_user_input("Testing (junit,junit-jupiter,testng,spock): ", "junit-jupiter") + if canceled_test then + return + end + -- Ambil input DSL + local script_dsl, canceled_dsl = get_user_input("Script DSL (kotlin, groovy): ", "groovy") + if canceled_dsl then + return + end + -- Ambil input package name + local package_name, canceled_package = get_user_input("Enter package name: ", "com.example") + if canceled_package then + return + end + + -- Format perintah Gradle berdasarkan input pengguna + local command = string.format( + "echo no | gradle init --type java-application --test-framework %s --dsl %s --package %s --no-daemon", + test, + script_dsl, + package_name + ) + + -- Fungsi untuk menjalankan perintah Gradle dan menampilkan outputnya + local function run_gradle_command(cmd, path, pkg) + local output = vim.fn.system(cmd) + if vim.v.shell_error ~= 0 then + create_notif("Error executing: " .. output, "error") + else + create_notif("Project created successfully!", "info") + create_notif("Please Reopen Dir : " .. path, "info") + vim.cmd(":NvimTreeFindFileToggle") + local main_class_path = string.format("%s/app/src/main/java/%s/App.java", path, pkg:gsub("%.", "/")) + if vim.fn.filereadable(main_class_path) == 1 then + vim.cmd(":edit " .. main_class_path) + end + local function delayed_quit() + vim.defer_fn(function() + vim.cmd("qa!") + end, 4000) -- Delay is set in milliseconds (3,000ms = 3 seconds) + end + -- Run the delayed quit function + delayed_quit() + end + end + + -- Jalankan perintah Gradle dan buka proyek + run_gradle_command(command, vim.fn.getcwd(), package_name) +end + +vim.api.nvim_create_user_command("GradleNewProject", gradle_new_project, {}) diff --git a/lua/auto-jdtls2/create_maven_project.lua b/lua/auto-jdtls2/create_maven_project.lua new file mode 100644 index 0000000..29a9595 --- /dev/null +++ b/lua/auto-jdtls2/create_maven_project.lua @@ -0,0 +1,123 @@ +local function mvn_new_project() + local function create_notif(message, level) + local notif_ok, notify = pcall(require, "notify") + if notif_ok then + notify(message, level) + else + print(message) + end + end + -- Fungsi untuk meminta input dari pengguna dengan opsi untuk membatalkan + local function get_user_input(prompt, default_value) + vim.fn.inputsave() + local result = vim.fn.input(prompt, default_value) + vim.fn.inputrestore() + + -- Cek apakah pengguna menekan Esc untuk membatalkan input + if result == "" then + create_notif("Input canceled.", "info") + return nil, true + end + + return result, false + end + -- Ambil input dari pengguna untuk menentukan direktori proyek + local project_dir, canceled = get_user_input("Enter project directory: ", vim.fn.getcwd()) + if canceled then + return + end + -- Buat direktori jika belum ada + if vim.fn.isdirectory(project_dir) == 0 then + if vim.fn.mkdir(project_dir, "p") == 0 then + create_notif("Failed to create project directory: " .. project_dir, "error") + return + end + end + -- Pindah ke direktori proyek + -- Hapus satu level dari path + local parent_dir = vim.fn.fnamemodify(project_dir, ":h") + local success, err = pcall(vim.fn.chdir, parent_dir) + if not success then + create_notif("Error changing directory: " .. err, "error") + return + end + + create_notif("Changed directory to: " .. project_dir, "info") + -- Fungsi untuk mendapatkan nama direktori terakhir dari path + local function getLastDirName(path) + local uname = vim.loop.os_uname().sysname + local name + if uname == "Windows_NT" then + name = path:match("([^\\]+)$") + else + name = path:match("([^/]+)$") + end + return name + end + -- Ambil input dari pengguna untuk Maven + local group_id, canceled_group = get_user_input("Enter groupId: ", "com.example") + if canceled_group then + return + end + local artifact_id = getLastDirName(project_dir) + local archetype_artifact_id, canceled_archetype = + get_user_input("Enter archetypeArtifactId: ", "maven-archetype-quickstart") + if canceled_archetype then + return + end + local archetype_version, canceled_version = get_user_input("Enter archetypeVersion: ", "1.5") + if canceled_version then + return + end + local interactive_mode, canceled_interactive = get_user_input("Enter interactiveMode (true/false): ", "false") + if canceled_interactive then + return + end + -- Format perintah Maven berdasarkan input pengguna + local command = string.format( + [[mvn archetype:generate "-DgroupId=%s" "-DartifactId=%s" "-DarchetypeArtifactId=%s" "-DarchetypeVersion=%s" "-DinteractiveMode=%s"]], + group_id, + artifact_id, + archetype_artifact_id, + archetype_version, + interactive_mode + ) + + -- Fungsi untuk menjalankan perintah Maven dan menampilkan outputnya + local function run_maven_command(cmd, project_name) + local output = vim.fn.system(cmd) + if vim.v.shell_error ~= 0 then + print("Erro ao executar: " .. output) + else + local ch_dir = string.format("cd %s", project_name) + vim.fn.system(ch_dir) + vim.fn.chdir(project_name) + -- Cari dan buka file main class + local uname = vim.loop.os_uname().sysname + if uname == "Windows_NT" then + if group_id then + group_id = group_id:gsub("%.", "\\") + local main_class_path = string.format("src\\main\\java\\%s\\App.java", group_id) + if vim.fn.filereadable(main_class_path) == 1 then + vim.cmd(":edit " .. main_class_path) + end + end + else + if group_id then + group_id = group_id:gsub("%.", "/") + local main_class_path = string.format("src/main/java/%s/App.java", group_id) + if vim.fn.filereadable(main_class_path) == 1 then + vim.cmd(":edit " .. main_class_path) + end + end + end + vim.cmd(":NvimTreeFindFileToggl") + end + end + + -- Jalankan perintah Maven dan buka proyek + run_maven_command(command, artifact_id) + create_notif("Project created successfully !", "info") +end + +vim.api.nvim_create_user_command("MavenNewProject", mvn_new_project, {}) diff --git a/lua/auto-jdtls2/create_springboot_project.lua b/lua/auto-jdtls2/create_springboot_project.lua new file mode 100644 index 0000000..42b4915 --- /dev/null +++ b/lua/auto-jdtls2/create_springboot_project.lua @@ -0,0 +1,289 @@ +local function create_notif(message, level) + local notif_ok, notify = pcall(require, "notify") + if notif_ok then + notify(message, level) + else + print(message) + end +end + +local function safe_request(url) + local status, request = pcall(function() + return vim.system({ "curl", "-s", url }, { text = true }):wait() + end) + + if not status then + vim.api.nvim_err_writeln("Error making request to " .. url .. ": " .. request) + return nil + end + + return request +end + +local function safe_json_decode(data) + local status, decoded = pcall(vim.fn.json_decode, data) + + if not status then + vim.api.nvim_err_writeln("Error decoding JSON: " .. decoded) + return nil + end + + return decoded +end + +local function contains(list, element) + for _, value in pairs(list) do + if value == element then + return true + end + end + return false +end + +local function list_to_string(list, is_err) + local result = "" + + for i, value in ipairs(list) do + if is_err then + result = result .. "'" .. tostring(value) .. "'" + else + result = result .. tostring(value) + end + if i < #list then + if is_err then + result = result .. " or " + else + result = result .. "/" + end + end + end + return result +end + +local function handle_start_springboot_data(data) + local spring_data = {} + for _, value in pairs(data.values) do + table.insert(spring_data, value.id) + end + return spring_data +end + +local function change_directory() + -- Fungsi untuk meminta input dari pengguna dengan opsi untuk membatalkan + local function get_user_input(prompt, default_value) + vim.fn.inputsave() + local result = vim.fn.input(prompt, default_value) + vim.fn.inputrestore() + + -- Cek apakah pengguna menekan Esc untuk membatalkan input + if result == "" then + create_notif("Input canceled.", "info") + return nil, true + end + + return result, false + end + + -- Ambil input dari pengguna untuk menentukan direktori proyek + local project_dir, canceled = get_user_input("Enter project directory: ", vim.fn.getcwd()) + if canceled then + return + end + -- Buat direktori jika belum ada + if vim.fn.isdirectory(project_dir) == 0 then + if vim.fn.mkdir(project_dir, "p") == 0 then + create_notif("Failed to create project directory: " .. project_dir, "error") + return + end + end + -- Pindah ke direktori proyek + local success, err = pcall(vim.fn.chdir, project_dir) + if not success then + create_notif("Error changing directory: " .. err, "error") + return + end + + create_notif("Changed directory to: " .. project_dir, "info") + return project_dir +end + +local function get_build_type(data_available) + local build_type_available = list_to_string(data_available, false) + local options_err = list_to_string(data_available, true) + local build_type = vim.fn.input("Enter build type (" .. build_type_available .. "): ", "maven") + if not contains(data_available, build_type) then + create_notif("Invalid build type. Please enter " .. options_err .. ".", "info") + return "" + end + + return build_type +end + +local function get_language(data_available) + local language_available = list_to_string(data_available, false) + local options_err = list_to_string(data_available, true) + + local language = vim.fn.input("Enter Language (" .. language_available .. "): ", "java") + if not contains(data_available, language) then + create_notif("Invalid language. Please enter " .. options_err .. ".", "info") + return "" + end + + return language +end + +local function get_java_version(data_available) + local version_available = list_to_string(data_available, false) + local options_err = list_to_string(data_available, true) + + local java_version = vim.fn.input("Enter Java Version (" .. version_available .. "): ", "21") + if not contains(data_available, java_version) then + create_notif("Invalid Java version. Please enter a valid version " .. options_err .. ".", "info") + return "" + end + + return java_version +end + +local function get_boot_version(data_available) + local version_available = list_to_string(data_available, false) + local options_err = list_to_string(data_available, true) + + local versions_table = {} + for v in string.gmatch(version_available, "([^/]+)") do + table.insert(versions_table, "-> " .. v) + end + local annotated_versions = table.concat(versions_table, "\n") + local boot_version = vim.fn.input(annotated_versions .. "\n: ", "3.3.5.RELEASE") + if not contains(data_available, boot_version) then + create_notif("Invalid Spring Boot version. Please enter a valid version " .. options_err .. ".", "info") + return "" + end + + return boot_version +end + +local function get_packaging(data_available) + local packaging_available = list_to_string(data_available, false) + local options_err = list_to_string(data_available, true) + + local packaging = vim.fn.input("Enter Packaging(" .. packaging_available .. "): ", "jar") + if packaging ~= "jar" and packaging ~= "war" then + create_notif("Invalid packaging. Please enter " .. options_err .. ".", "info") + return "" + end + return packaging +end + +local function springboot_new_project() + local request = safe_request("https://start.spring.io/metadata/client") + + if not request then + vim.api.nvim_err_writeln("Failed to make a request to the URL.") + return false + end + + local springboot_data = safe_json_decode(request.stdout) + + if not springboot_data then + vim.api.nvim_err_writeln("Failed to decode JSON from the request.") + return false + end + local project_dir = change_directory() + local build_types = { "maven", "gradle" } + local languages = handle_start_springboot_data(springboot_data.language) + local java_versions = handle_start_springboot_data(springboot_data.javaVersion) + local boot_versions = handle_start_springboot_data(springboot_data.bootVersion) + local packagings = handle_start_springboot_data(springboot_data.packaging) + local build_type = get_build_type(build_types) + + if build_type:len() == 0 then + return + end + + local language = get_language(languages) + if language:len() == 0 then + return + end + + local java_version = get_java_version(java_versions) + if java_version:len() == 0 then + return + end + + local boot_version = get_boot_version(boot_versions) + if boot_version:len() == 0 then + return + end + + local packaging = get_packaging(packagings) + if packaging:len() == 0 then + return + end + + local dependencies = vim.fn.input("Enter dependencies (comma separated): ", "devtools,web,data-jpa,h2,thymeleaf") + local group_id = vim.fn.input("Enter Group ID: ", "com.example") + local artifact_id = vim.fn.input("Enter Artifact ID: ", "myproject") + local name = vim.fn.input("Enter project name: ", artifact_id) + local package_name = vim.fn.input("Enter package name: ", group_id .. "." .. artifact_id) + local description = vim.fn.input("Enter project description: ", "") + + local command = string.format( + "spring init --boot-version=%s --java-version=%s --dependencies=%s --groupId=%s --artifactId=%s --name=%s --package-name=%s --description=%s --language=%s --build=%s %s", + boot_version, + java_version, + dependencies, + group_id, + artifact_id, + name, + package_name, + description, -- Menambahkan deskripsi proyek + language, -- Menambahkan bahasa pemrograman (Java, Kotlin, atau Groovy) + build_type, + name + ) + + -- Fungsi untuk mengubah teks + local function capitalize_first_letter(str) + return str:sub(1, 1):upper() .. str:sub(2):lower() + end + + local output = vim.fn.system(command) + if vim.v.shell_error ~= 0 then + create_notif("Erro ao executar: " .. output, "error") + else + local ch_dir = string.format("cd %s", project_dir .. "/" .. name) + vim.fn.system(ch_dir) + vim.fn.chdir(project_dir .. "/" .. name) + create_notif(name, "info") + -- Cari dan buka file main class + local uname = vim.loop.os_uname().sysname + local pth = package_name + if uname == "Windows_NT" then + if pth then + pth = pth:gsub("%.", "\\") + create_notif(pth, "info") + local main_class_path = + string.format("src\\main\\java\\%s\\" .. capitalize_first_letter(name) .. "Application.java", pth) + create_notif(main_class_path, "info") + if vim.fn.filereadable(main_class_path) == 1 then + vim.cmd(":edit " .. main_class_path) + end + end + else + if pth then + pth = pth:gsub("%.", "/") + local main_class_path = + string.format("src/main/java/%s/" .. capitalize_first_letter(name) .. "Application.java", pth) + if vim.fn.filereadable(main_class_path) == 1 then + vim.cmd(":edit " .. main_class_path) + end + end + end + vim.cmd(":NvimTreeFindFileToggl") + end + + create_notif("Project created successfully!", "info") +end + +vim.api.nvim_create_user_command("SpringBootNewProject", springboot_new_project, {}) diff --git a/lua/auto-jdtls2/generate_java_class.lua b/lua/auto-jdtls2/generate_java_class.lua new file mode 100644 index 0000000..cd1dd42 --- /dev/null +++ b/lua/auto-jdtls2/generate_java_class.lua @@ -0,0 +1,106 @@ +local function create_java_class() + local is_maven_project = function() + if vim.fn.findfile("pom.xml", vim.fn.getcwd()) == "pom.xml" then + return true + else + return false + end + end + + local function create_notif(message, level) + local notif_ok, notify = pcall(require, "notify") + if notif_ok then + notify(message, level) + else + print(message) + end + end + + -- Fungsi untuk meminta input dari pengguna dengan opsi untuk membatalkan + local function get_user_input(prompt, default_value) + vim.fn.inputsave() + local result = vim.fn.input(prompt, default_value) + vim.fn.inputrestore() + + -- Cek apakah pengguna menekan Esc untuk membatalkan input + if result == "" then + create_notif("Input canceled.", "info") + return nil, true + end + + return result, false + end + + -- Fungsi untuk mendapatkan nama package default berdasarkan buffer aktif + local function get_default_package() + local path = vim.fn.expand("%:p:h") + local project_root = vim.fn.getcwd() + local relative_path = path:sub(#project_root + 1) + relative_path = relative_path:gsub("app\\src\\main\\java\\", "") + relative_path = relative_path:gsub("src\\main\\java\\", "") + relative_path = relative_path:gsub("app/src/main/java/", "") + relative_path = relative_path:gsub("src/main/java/", "") + relative_path = relative_path:gsub("\\", ".") + relative_path = relative_path:gsub("/", ".") + return relative_path:sub(2) + end + + -- Ambil input dari pengguna untuk nama package dan nama kelas + local package_name, canceled_package = get_user_input("Enter package name: ", get_default_package()) + if canceled_package then + return + end + + local class_name, canceled_class = get_user_input("Enter class name: ", "MyClass") + if canceled_class then + return + end + + -- Format direktori dan path file berdasarkan input pengguna + local package_dir = nil + if package_name then + if is_maven_project() then + package_dir = string.format("src/main/java/%s", package_name:gsub("%.", "/")) + else + package_dir = string.format("app/src/main/java/%s", package_name:gsub("%.", "/")) + end + if vim.fn.isdirectory(package_dir) == 0 then + vim.fn.mkdir(package_dir, "p") + end + else + create_notif("Invalid package name: " .. package_name, "error") + return + end + + local file_path = string.format("%s/%s.java", package_dir, class_name) + if vim.fn.filereadable(file_path) == 1 then + create_notif("Class already exists: " .. file_path, "error") + return + end + + -- Tulis konten kelas Java ke dalam file + local class_content = string.format( + [[ +package %s; + +public class %s { + +} +]], + package_name, + class_name, + class_name + ) + + local file = io.open(file_path, "w") + if file then + file:write(class_content) + file:close() + end + + -- Buka file Java yang baru dibuat di Neovim + vim.cmd(":edit " .. file_path) + create_notif("Java class created: " .. file_path, "info") +end + +vim.api.nvim_create_user_command("CreateJavaClass", create_java_class, {}) diff --git a/lua/auto-jdtls2/generate_java_interface.lua b/lua/auto-jdtls2/generate_java_interface.lua new file mode 100644 index 0000000..2e567d0 --- /dev/null +++ b/lua/auto-jdtls2/generate_java_interface.lua @@ -0,0 +1,109 @@ +local function create_java_class() + local function create_notif(message, level) + local notif_ok, notify = pcall(require, "notify") + if notif_ok then + notify(message, level) + else + print(message) + end + end + + local is_maven_project = function() + if vim.fn.findfile("pom.xml", vim.fn.getcwd()) == "pom.xml" then + return true + else + return false + end + end + + -- Fungsi untuk meminta input dari pengguna dengan opsi untuk membatalkan + local function get_user_input(prompt, default_value) + vim.fn.inputsave() + local result = vim.fn.input(prompt, default_value) + vim.fn.inputrestore() + + -- Cek apakah pengguna menekan Esc untuk membatalkan input + if result == "" then + create_notif("Input canceled.", "info") + return nil, true + end + + return result, false + end + + -- Fungsi untuk mendapatkan nama package default berdasarkan buffer aktif + local function get_default_package() + local path = vim.fn.expand("%:p:h") + local project_root = vim.fn.getcwd() + local relative_path = path:sub(#project_root + 1) + relative_path = relative_path:gsub("app\\src\\main\\java\\", "") + relative_path = relative_path:gsub("src\\main\\java\\", "") + relative_path = relative_path:gsub("app/src/main/java/", "") + relative_path = relative_path:gsub("src/main/java/", "") + relative_path = relative_path:gsub("\\", ".") + relative_path = relative_path:gsub("/", ".") + return relative_path:sub(2) + end + + -- Ambil input dari pengguna untuk nama package dan nama kelas + local package_name, canceled_package = get_user_input("Enter package name: ", get_default_package()) + if canceled_package then + return + end + + local class_name, canceled_class = get_user_input("Enter interface name: ", "MyInterface") + if canceled_class then + return + end + + -- Format direktori dan path file berdasarkan input pengguna + local package_dir = nil + if package_name then + if is_maven_project() then + package_dir = string.format("src/main/java/%s", package_name:gsub("%.", "/")) + else + package_dir = string.format("app/src/main/java/%s", package_name:gsub("%.", "/")) + end + if vim.fn.isdirectory(package_dir) == 0 then + vim.fn.mkdir(package_dir, "p") + end + else + create_notif("Invalid package name: " .. package_name, "error") + return + end + + local file_path = string.format("%s/%s.java", package_dir, class_name) + if vim.fn.filereadable(file_path) == 1 then + create_notif("Class already exists: " .. file_path, "error") + return + end + + -- Tulis konten kelas Java ke dalam file + local class_content = string.format( + [[ +/* + * This Java source file. + */ +package %s; + +public interface %s { + // Other methods and fields +} +]], + package_name, + class_name, + class_name + ) + + local file = io.open(file_path, "w") + if file then + file:write(class_content) + file:close() + end + + -- Buka file Java yang baru dibuat di Neovim + vim.cmd(":edit " .. file_path) + create_notif("Java interface created: " .. file_path, "info") +end + +vim.api.nvim_create_user_command("CreateJavaInterface", create_java_class, {}) diff --git a/lua/auto-jdtls2/generate_java_main_class.lua b/lua/auto-jdtls2/generate_java_main_class.lua new file mode 100644 index 0000000..cd8878a --- /dev/null +++ b/lua/auto-jdtls2/generate_java_main_class.lua @@ -0,0 +1,115 @@ +local function create_java_main_class() + local function create_notif(message, level) + local notif_ok, notify = pcall(require, "notify") + if notif_ok then + notify(message, level) + else + print(message) + end + end + + local is_maven_project = function() + if vim.fn.findfile("pom.xml", vim.fn.getcwd()) == "pom.xml" then + return true + else + return false + end + end + + -- Fungsi untuk meminta input dari pengguna dengan opsi untuk membatalkan + local function get_user_input(prompt, default_value) + vim.fn.inputsave() + local result = vim.fn.input(prompt, default_value) + vim.fn.inputrestore() + + -- Cek apakah pengguna menekan Esc untuk membatalkan input + if result == "" then + create_notif("Input canceled.", "info") + return nil, true + end + + return result, false + end + + -- Fungsi untuk mendapatkan nama package default berdasarkan buffer aktif + local function get_default_package() + local path = vim.fn.expand("%:p:h") + local project_root = vim.fn.getcwd() + local relative_path = path:sub(#project_root + 1) + relative_path = relative_path:gsub("app\\src\\main\\java\\", "") + relative_path = relative_path:gsub("src\\main\\java\\", "") + relative_path = relative_path:gsub("app/src/main/java/", "") + relative_path = relative_path:gsub("src/main/java/", "") + relative_path = relative_path:gsub("\\", ".") + relative_path = relative_path:gsub("/", ".") + return relative_path:sub(2) + end + + -- Ambil input dari pengguna untuk nama package dan nama kelas + local package_name, canceled_package = get_user_input("Enter package name: ", get_default_package()) + if canceled_package then + return + end + + local class_name, canceled_class = get_user_input("Enter class name: ", "MyMainClass") + if canceled_class then + return + end + + -- Format direktori dan path file berdasarkan input pengguna + local package_dir = nil + if package_name then + if is_maven_project() then + package_dir = string.format("src/main/java/%s", package_name:gsub("%.", "/")) + else + package_dir = string.format("app/src/main/java/%s", package_name:gsub("%.", "/")) + end + if vim.fn.isdirectory(package_dir) == 0 then + vim.fn.mkdir(package_dir, "p") + end + else + create_notif("Invalid package name: " .. package_name, "error") + return + end + + local file_path = string.format("%s/%s.java", package_dir, class_name) + if vim.fn.filereadable(file_path) == 1 then + create_notif("Class already exists: " .. file_path, "error") + return + end + + -- Tulis konten kelas Java ke dalam file + local class_content = string.format( + [[ +/* + * This Java source file. + */ +package %s; + +public class %s { + /** + * + */ + public static void main(String[] args) { + System.out.println("Hello World"); + } + +} +]], + package_name, + class_name, + class_name + ) + + local file = io.open(file_path, "w") + if file then + file:write(class_content) + file:close() + end + + -- Buka file Java yang baru dibuat di Neovim + vim.cmd(":edit " .. file_path) + create_notif("Java class created: " .. file_path, "info") +end + +vim.api.nvim_create_user_command("CreateJavaMainClass", create_java_main_class, {}) diff --git a/lua/auto-jdtls2/init.lua b/lua/auto-jdtls2/init.lua new file mode 100644 index 0000000..fe49ae1 --- /dev/null +++ b/lua/auto-jdtls2/init.lua @@ -0,0 +1,15 @@ +local M = {} + +M.setup = function(opt) + opt = opt or {} + require("auto-jdtls2.create_gradle_project") + require("auto-jdtls2.create_maven_project") + require("auto-jdtls2.create_springboot_project") + require("auto-jdtls2.generate_java_class") + require("auto-jdtls2.generate_java_interface") + require("auto-jdtls2.generate_java_main_class") + -- require("auto-jdtls2.utils").install() + -- require("auto-jdtls2.utils").attach_jdtls(opt) +end + +return M diff --git a/lua/auto-jdtls2/utils.lua b/lua/auto-jdtls2/utils.lua new file mode 100644 index 0000000..67c63e3 --- /dev/null +++ b/lua/auto-jdtls2/utils.lua @@ -0,0 +1,449 @@ +local M = {} +M.java_filetypes = { "java" } +M.root_markers = { ".git", "mvnw", "gradlew", "pom.xml", "build.gradle" } + +-- Utility function to extend or override a config table, similar to the way +-- that Plugin.opts works. +---@param config table +---@param custom function | table | nil +M.extend_or_override = function(config, custom, ...) + if type(custom) == "function" then + config = custom(config, ...) or config + elseif custom then + config = vim.tbl_deep_extend("force", config, custom) --[[@as table]] + end + return config +end + +function M.capabilities() + local status_ok, cmp_nvim_lsp = pcall(require, "cmp_nvim_lsp") + if status_ok then + return cmp_nvim_lsp.default_capabilities() + end + + local CAPABILITIES = vim.lsp.protocol.make_client_capabilities() + CAPABILITIES.textDocument.completion.completionItem.snippetSupport = true + CAPABILITIES.textDocument.completion.completionItem.resolveSupport = { + properties = { + "documentation", + "detail", + "additionalTextEdits", + }, + } + + return CAPABILITIES +end +-- stylua: ignore +M.lsp_keymaps=function () + vim.keymap.set({ "n", "v" }, "l", "", { desc = "LSP" }) + -- Set vim motion for + l + h to show code documentation about the code the cursor is currently over if available + vim.keymap.set("n", "lh", vim.lsp.buf.hover, { desc = "Code Hover Documentation" }) + -- Set vim motion for + l + d to go where the code/variable under the cursor was defined + vim.keymap.set("n", "ld", vim.lsp.buf.definition, { desc = "Code Goto Definition" }) + -- Set vim motion for + l + a for display code action suggestions for code diagnostics in both normal and visual mode + vim.keymap.set({ "n", "v" }, "la", vim.lsp.buf.code_action, { desc = "Code Actions" }) + -- Set vim motion for + l + r to display references to the code under the cursor + vim.keymap.set("n", "lr", require("telescope.builtin").lsp_references, { desc = "Code Goto References" }) + -- Set vim motion for + l + i to display implementations to the code under the cursor + vim.keymap.set("n", "li", require("telescope.builtin").lsp_implementations, { desc = "Code Goto Implementations" }) + -- Set a vim motion for + l + R to smartly rename the code under the cursor + vim.keymap.set("n", "lR", vim.lsp.buf.rename, { desc = "Code Rename" }) + -- Set a vim motion for + l + D to go to where the code/object was declared in the project (class file) + vim.keymap.set("n", "lD", vim.lsp.buf.declaration, { desc = "Code Goto Declaration" }) +end + +M.is_maven_project = function() + if vim.fn.findfile("pom.xml", vim.fn.getcwd()) == "pom.xml" then + return true + else + return false + end +end + +M.is_gradle_project = function() + if + vim.fn.findfile("build.gradle", vim.fn.getcwd()) == "build.gradle" + or vim.fn.findfile("settings.gradle", vim.fn.getcwd()) == "settings.gradle" + or vim.fn.findfile("gradlew", vim.fn.getcwd()) == "gradlew" + then + return true + else + return false + end +end + +M.is_main_class = function() + local bufnr = vim.api.nvim_get_current_buf() + local content = vim.api.nvim_buf_get_lines(bufnr, 0, -1, false) + for i, line in ipairs(content) do + if line:match("public static void main%s*%(") then + return true + end + end + + return false +end + +M.run_aven_pring_boot = function() + if M.is_maven_project() then + vim.cmd("terminal mvn spring-boot:run") + else + local notif_ok, notify = pcall(require, "notify") + if notif_ok then + notify("Project pom.xml not found !", "info") + else + print("Project pom.xml not found !") + end + end +end + +M.cmd_maven_spring_boot = function() + vim.api.nvim_create_user_command("RunMvnSpringBoot", function() + M.run_aven_pring_boot() + end, { nargs = 0 }) +end + +M.run_gradle_spring_boot = function() + if M.is_gradle_project() then + local uname = vim.loop.os_uname().sysname + if uname == "Windows_NT" then + vim.cmd("terminal .\\gradlew build --continuous") + vim.cmd("terminal .\\gradlew bootRun") + else + vim.cmd("terminal ./gradlew build --continuous") + vim.cmd("terminal ./gradlew bootRun") + end + else + local notif_ok, notify = pcall(require, "notify") + if notif_ok then + notify("Project build.gradle not found !", "info") + else + print("Project build.gradle not found !") + end + end +end + +M.cmd_gradle_spring_boot = function() + vim.api.nvim_create_user_command("RunGradleSpringBoot", function() + M.run_gradle_spring_boot() + end, { nargs = 0 }) +end + +M.run_mvn_and_java = function() + if M.is_maven_project() then + local result = M.is_main_class() + if not result then + local notif_ok, notify = pcall(require, "notify") + if notif_ok then + notify("Please open java main class !", "info") + else + print("Please open java main class !") + end + return + else + -- Fungsi untuk mencari file .jar dalam folder target + local function find_jar_file() + local target_dir = "target" + local jar_file = nil + + local handle = vim.loop.fs_scandir(target_dir) + if handle then + while true do + local name, t = vim.loop.fs_scandir_next(handle) + if not name then + break + end + if t == "file" and name:match("%.jar$") then + jar_file = name + break + end + end + end + return jar_file + end + local jar_file = find_jar_file() + -- Buat fungsi untuk menjalankan perintah secara berurutan dalam mode diam + function RunMvnAndJava() + -- daptkan path + local root = vim.uv.cwd() + local fname = vim.api.nvim_buf_get_name(0) + fname = fname:gsub(root, "") + fname = fname:gsub("/src/main/java/", "") + fname = fname:gsub("\\src\\main\\java\\", "") + fname = fname:gsub(".java", ""):gsub("/", ".") + fname = fname:gsub("\\", ".") + -- Jalankan perintah mvn package secara diam-diam + local notif_ok, notify = pcall(require, "notify") + if notif_ok then + notify("Compile Start !", "info") + end + vim.fn.jobstart("mvn package", { + on_exit = function() + vim.cmd("terminal java -cp target/" .. jar_file .. " " .. fname) + end, + }) + end + RunMvnAndJava() + end + else + local notif_ok, notify = pcall(require, "notify") + if notif_ok then + notify("Project pom.xml not found !", "info") + else + print("Project pom.xml not found !") + end + end +end + +M.cmd_mvn_and_java = function() + vim.api.nvim_create_user_command("RunMaven", function() + M.run_mvn_and_java() + end, { nargs = 0 }) +end + +M.cmd_gradle = function() + vim.api.nvim_create_user_command("RunGradle", function() + vim.cmd("terminal gradle run") + end, { nargs = 0 }) +end + +-- stylua: ignore +M.jdtls_keymaps=function () + -- add keymaps + vim.keymap.set('n', 'J', "", { desc = "Java" }) + -- Set a Vim motion to + J + o to organize imports in normal mode + vim.keymap.set('n', 'Jo', " lua require('jdtls').organize_imports()", { desc = "Java Organize Imports" }) + -- Set a Vim motion to + J + v to extract the code under the cursor to a variable + vim.keymap.set('n', 'Jv', " lua require('jdtls').extract_variable()", { desc = "Java Extract Variable" }) + -- Set a Vim motion to + J + v to extract the code selected in visual mode to a variable + vim.keymap.set('v', 'Jv', " lua require('jdtls').extract_variable(true)", { desc = "Java Extract Variable" }) + -- Set a Vim motion to + J + C to extract the code under the cursor to a static variable + vim.keymap.set('n', 'JC', " lua require('jdtls').extract_constant()", { desc = "Java Extract Constant" }) + -- Set a Vim motion to + J + C to extract the code selected in visual mode to a static variable + vim.keymap.set('v', 'JC', " lua require('jdtls').extract_constant(true)", { desc = "Java Extract Constant" }) + -- Set a Vim motion to + J + t to run the test method currently under the cursor + vim.keymap.set('n', 'Jt', " lua require('jdtls').test_nearest_method()", { desc = "Java Test Method" }) + -- Set a Vim motion to + J + t to run the test method that is currently selected in visual mode + vim.keymap.set('v', 'Jt', " lua require('jdtls').test_nearest_method(true)", { desc = "Java Test Method" }) + -- Set a Vim motion to + J + T to run an entire test suite (class) + vim.keymap.set('n', 'JT', " lua require('jdtls').test_class()", { desc = "Java Test Class" }) + -- Set a Vim motion to + J + u to update the project configuration + vim.keymap.set('n', 'Ju', " JdtUpdateConfig", { desc = "Java Update Config" }) +end + +M.opts = { + root_dir = require("jdtls.setup").find_root(M.root_markers), + project_name = function() + return vim.fn.fnamemodify(vim.fn.getcwd(), ":p:h:t") + end, + + get_jdtls = function() + local function check_os() + local uname = vim.loop.os_uname().sysname + if uname == "Darwin" then + return "mac" + elseif uname == "Windows_NT" then + return "win" + elseif uname == "Linux" then + return "linux" + else + return "unknown" + end + end + local mason_registry = require("mason-registry") + local jdtls = mason_registry.get_package("jdtls") + local jdtls_path = jdtls:get_install_path() + local launcher = vim.fn.glob(jdtls_path .. "/plugins/org.eclipse.equinox.launcher_*.jar") + local SYSTEM = check_os() + local config = jdtls_path .. "/config_" .. SYSTEM + local lombok = jdtls_path .. "/lombok.jar" + return launcher, config, lombok + end, + + jdtls_workspace_dir = function(project_name) + local function get_workspace() + local home = os.getenv("HOME") + local workspace_path = home .. "/code/workspace/" + local workspace_dir = workspace_path .. project_name + return workspace_dir + end + return get_workspace() + end, + full_cmd = function(opts) + local project_name = vim.fn.fnamemodify(vim.fn.getcwd(), ":p:h:t") + local launcher, os_config, lombok = opts.get_jdtls() + local cmd = { + "java", + "-Declipse.application=org.eclipse.jdt.ls.core.id1", + "-Dosgi.bundles.defaultStartLevel=4", + "-Declipse.product=org.eclipse.jdt.ls.core.product", + "-Dlog.protocol=true", + "-Dlog.level=ALL", + "-Xmx1g", + "--add-modules=ALL-SYSTEM", + "--add-opens", + "java.base/java.util=ALL-UNNAMED", + "--add-opens", + "java.base/java.lang=ALL-UNNAMED", + "-javaagent:" .. lombok, + "-jar", + launcher, + "-configuration", + os_config, + "-data", + opts.jdtls_workspace_dir(project_name), + } + return cmd + end, + + -- These depend on nvim-dap, but can additionally be disabled by setting false here. + dap = { hotcodereplace = "auto", config_overrides = {} }, + dap_main = {}, + test = true, + settings = { + java = { + inlayHints = { + parameterNames = { + enabled = "all", + }, + }, + }, + }, +} + +M.attach_jdtls = function(op) + M.opts = M.extend_or_override(M.opts, op or {}) + local opt = vim.opt + opt.shiftwidth = 4 + opt.tabstop = 4 + opt.softtabstop = 4 + opt.ts = 4 + opt.expandtab = true + + -- Check Ttriisittrer + + local function ensure_ts_install(lang) + local parsers = require("nvim-treesitter.parsers") + local installed = parsers.has_parser(lang) + + if not installed then + vim.cmd("TSInstall " .. lang) + require("notify")("Treesitter parser for " .. lang .. " installed successfully.") + end + end + + -- Memeriksa dan menginstal atau mengonfirmasi Treesitter untuk Java + ensure_ts_install("java") + + local mason_registry = require("mason-registry") + if + not mason_registry.is_installed("jdtls") + or not mason_registry.is_installed("java-debug-adapter") + or not mason_registry.is_installed("java-test") + then + vim.cmd("Mason") + require("notify")("Mason Installed Dependency, please restart nvim after installation is completed") + return + end + local bundles = {} ---@type string[] + if M.opts.dap and mason_registry.is_installed("java-debug-adapter") then + local java_dbg_pkg = mason_registry.get_package("java-debug-adapter") + local java_dbg_path = java_dbg_pkg:get_install_path() + local jar_patterns = { + java_dbg_path .. "/extension/server/com.microsoft.java.debug.plugin-*.jar", + } + -- java-test also depends on java-debug-adapter. + if M.opts.test and mason_registry.is_installed("java-test") then + local java_test_pkg = mason_registry.get_package("java-test") + local java_test_path = java_test_pkg:get_install_path() + vim.list_extend(jar_patterns, { + java_test_path .. "/extension/server/*.jar", + }) + end + for _, jar_pattern in ipairs(jar_patterns) do + for _, bundle in ipairs(vim.split(vim.fn.glob(jar_pattern), "\n")) do + table.insert(bundles, bundle) + end + end + end + -- initialisasi config + local function attach_jdtls() + -- load user cmd + M.cmd_maven_spring_boot() + M.cmd_gradle_spring_boot() + M.cmd_mvn_and_java() + M.cmd_gradle() + -- Configuration can be augmented and overridden by opts.jdtls + local config = M.extend_or_override({ + cmd = M.opts.full_cmd(M.opts), + root_dir = require("jdtls.setup").find_root(M.root_markers), + init_options = { + bundles = bundles, + }, + settings = M.opts.settings, + -- enable CMP capabilities + -- capabilities = require("user.lsp.handlers").capabilities or nil, + -- capabilities = require("auto-lsp.lsp.handlers").capabilities or nil, + capabilities = M.capabilities() or nil, + }, M.opts.jdtls) + + -- Existing server will be reused if the root_dir matches. + require("jdtls").start_or_attach(config) + end + + vim.api.nvim_create_autocmd("FileType", { + pattern = M.java_filetypes, + callback = attach_jdtls, + }) + + vim.api.nvim_create_autocmd("LspAttach", { + callback = function(args) + local client = vim.lsp.get_client_by_id(args.data.client_id) + -- stylua: ignore + if client and client.name == "jdtls" then + -- M.jdtls_keymaps() + -- M.lsp_keymaps() + if M.opts.dap and mason_registry.is_installed("java-debug-adapter") then + -- custom init for Java debugger + require("jdtls").setup_dap(M.opts.dap) + require("jdtls.dap").setup_dap_main_class_configs(M.opts.dap_main) + end + + -- User can set additional keymaps in opts.on_attach + if M.opts.on_attach then + M.opts.on_attach(args) + end + end + end, + }) + + attach_jdtls() +end + +M.install = function() + local ensure_installed = { + "java-debug-adapter", + "java-test", + "jdtls", + } + local mr = require("mason-registry") + mr:on("package:install:success", function() + vim.defer_fn(function() + -- trigger FileType event to possibly load this newly installed LSP server + require("lazy.core.handler.event").trigger({ + event = "FileType", + buf = vim.api.nvim_get_current_buf(), + }) + end, 100) + end) + + mr.refresh(function() + for _, tool in ipairs(ensure_installed) do + local p = mr.get_package(tool) + if not p:is_installed() then + p:install() + end + end + end) +end +return M diff --git a/lua/config/lazy.lua b/lua/config/lazy.lua deleted file mode 100644 index 2be223e..0000000 --- a/lua/config/lazy.lua +++ /dev/null @@ -1,38 +0,0 @@ -local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" -if not vim.loop.fs_stat(lazypath) then - -- bootstrap lazy.nvim - -- stylua: ignore - vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath }) -end -vim.opt.rtp:prepend(vim.env.LAZY or lazypath) -vim.g.mapleader = " " -vim.g.maplocalleader = " " -require("lazy").setup({ - spec = { - { import = "plugins" }, - { import = "custom.plugins" }, - }, - defaults = { - lazy = true, -- every plugin is lazy-loaded by default - version = "*", -- try installing the latest stable version for plugins that support semver - }, - ui = { border = "rounded", browser = "chrome", throttle = 40, custom_keys = { ["l"] = false } }, - change_detection = { enabled = false, notify = false }, - checker = { enabled = true }, -- automatically check for plugin updates - performance = { - rtp = { - -- disable some rtp plugins - disabled_plugins = { - "gzip", - "matchit", - "matchparen", - "netrwPlugin", - "tarPlugin", - "tohtml", - "tutor", - "zipPlugin", - "lazyredraw", - }, - }, - }, -}) diff --git a/lua/core/init.lua b/lua/core/init.lua deleted file mode 100644 index 8144ad7..0000000 --- a/lua/core/init.lua +++ /dev/null @@ -1,14 +0,0 @@ -require("config.lazy") --- require("user.options") --- require("user.keymaps") --- require("user.autocommands") --- require("user.format_onsave") --- require("user.colorscheme") --- require("user.snip") --- require("user.bufferline") --- require("user.chat_gpt") -require("user.options") -require("user.keymaps") -require("user.autocommands") -require("user.format_onsave") -require("user.treesitter") diff --git a/lua/custom/dashboard.lua b/lua/custom/dashboard.lua deleted file mode 100644 index 3fa0473..0000000 --- a/lua/custom/dashboard.lua +++ /dev/null @@ -1,27 +0,0 @@ -local M = {} - --- Untuk Ubah Dashboard --- 1. Buka remark dash board dibawah --- 2. Ubah dashboard sesuai keinginan dan kebutuhan - --- M.dashboard1 = { --- [[ _ __ __ ]], --- [[ ___ ___ (____ / /__ _______ ___/ ___ ]], --- [[ / _ / _ \ / / _ \/ '_/ / __/ _ / _ / -_) ]], --- [[ / .__\_____/ /\___/_/\_\ \__/\___\_,_/\__/ ]], --- [[ /_/ |___/ ]], --- } - --- M.dashboard2 = { --- [[ __ ]], --- [[ ___ ___ ___ __ __ /\_\ ___ ___ ]], --- [[ / _ `\ / __`\ / __`\/\ \/\ \\/\ \ / __` __`\ ]], --- [[/\ \/\ \/\ __//\ \_\ \ \ \_/ |\ \ \/\ \/\ \/\ \ ]], --- [[\ \_\ \_\ \____\ \____/\ \___/ \ \_\ \_\ \_\ \_\]], --- [[ \/_/\/_/\/____/\/___/ \/__/ \/_/\/_/\/_/\/_/]], --- } --- M.footer = "PCode" - -M.model = 1 -- isi dengan 1 atau 2 untuk model dashboard - -return M diff --git a/lua/custom/format_onsave.lua b/lua/custom/format_onsave.lua deleted file mode 100644 index 085c4ef..0000000 --- a/lua/custom/format_onsave.lua +++ /dev/null @@ -1,5 +0,0 @@ -local M = { - disable = 0, -- 0 ( format jalan) 1 (fromat off) -} - -return M diff --git a/lua/custom/lsp_installer.lua b/lua/custom/lsp_installer.lua deleted file mode 100644 index b62203f..0000000 --- a/lua/custom/lsp_installer.lua +++ /dev/null @@ -1,10 +0,0 @@ --- ini hanya untuk lsp yg tidak support masson --- untuk referesi support language kunjungi link dibawah --- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md -local m = { - lspinstall = { - "yamlls", - -- tambahkan di bawah sini setelah melakukan :masoninstall - }, -} -return m diff --git a/lua/custom/null-ls.lua b/lua/custom/null-ls.lua deleted file mode 100644 index 206fcd5..0000000 --- a/lua/custom/null-ls.lua +++ /dev/null @@ -1,10 +0,0 @@ -local null_ls = require("null-ls") -local formatting = null_ls.builtins.formatting -local diagnostics = null_ls.builtins.diagnostics -local m = { - sources = { - formatting.stylua, -- tambahkan di bawah sini - diagnostics.flake8, -- tambahkan di bawah sini - }, -} -return m diff --git a/lua/custom/plugins/init.lua b/lua/custom/plugins/init.lua deleted file mode 100644 index 5a6d786..0000000 --- a/lua/custom/plugins/init.lua +++ /dev/null @@ -1,4 +0,0 @@ -return { - --- masukan plugin tambahan disini - { "folke/trouble.nvim", enabled = false }, -- ini untuk disable plugin -} diff --git a/lua/custom/register_lsp.lua b/lua/custom/register_lsp.lua deleted file mode 100644 index bfefd0e..0000000 --- a/lua/custom/register_lsp.lua +++ /dev/null @@ -1,17 +0,0 @@ --- untuk referesi support language kunjungi link dibawah --- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md -local m = { - lspreg = { - "bashls", - "yamlls", - "jdtls", - "intelephense", - "marksman", - "csharp_ls", - "clangd", - "dartls", - "kotlin_language_server", - -- tambahkan di bawah sini setelah melakukan :masoninstall - }, -} -return m diff --git a/lua/gemini/init.lua b/lua/gemini/init.lua new file mode 100644 index 0000000..4b63a77 --- /dev/null +++ b/lua/gemini/init.lua @@ -0,0 +1,53 @@ +local M = {} +M.last_popup_win = nil +M.last_popup_buf = nil + +function M.ask_gemini() + -- Ambil path file buffer aktif + --[[ local buf_path = vim.api.nvim_buf_get_name(0) + if buf_path ~= "" then + local dir = vim.fn.fnamemodify(buf_path, ":h") + vim.api.nvim_set_current_dir(dir) + end ]] + + vim.ui.input({ prompt = "Prompt ke Gemini: " }, function(prompt) + if not prompt or prompt == "" then + vim.notify("Prompt kosong", vim.log.levels.WARN) + return + end + + M.show_popup("Loading...") + + vim.schedule(function() + local output = vim.fn.system('gemini --prompt "' .. prompt .. '"') + M.show_popup(output) + end) + end) +end + +function M.show_popup(output) + if M.last_popup_win and vim.api.nvim_win_is_valid(M.last_popup_win) then + vim.api.nvim_win_close(M.last_popup_win, true) + end + if M.last_popup_buf and vim.api.nvim_buf_is_valid(M.last_popup_buf) then + vim.api.nvim_buf_delete(M.last_popup_buf, { force = true }) + end + + local buf = vim.api.nvim_create_buf(false, true) + vim.api.nvim_buf_set_lines(buf, 0, -1, false, vim.split(output or "", "\n")) + local width = math.floor(vim.o.columns * 0.6) + local height = math.floor(vim.o.lines * 0.8) + local win = vim.api.nvim_open_win(buf, true, { + relative = "editor", + width = width, + height = height, + row = math.floor((vim.o.lines - height) / 2), + col = math.floor((vim.o.columns - width) / 2), + style = "minimal", + border = "rounded", + }) + M.last_popup_win = win + M.last_popup_buf = buf +end + +return M diff --git a/lua/pcode/config/lazy_lib.lua b/lua/pcode/config/lazy_lib.lua new file mode 100644 index 0000000..ab355f9 --- /dev/null +++ b/lua/pcode/config/lazy_lib.lua @@ -0,0 +1,91 @@ +-- Bootstrap lazy.nvim +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not (vim.uv or vim.loop).fs_stat(lazypath) then + local lazyrepo = "https://github.com/folke/lazy.nvim.git" + local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) + if vim.v.shell_error ~= 0 then + vim.api.nvim_echo({ + { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, + { out, "WarningMsg" }, + { "\nPress any key to exit..." }, + }, true, {}) + vim.fn.getchar() + os.exit(1) + end +end +vim.opt.rtp:prepend(vim.env.LAZY or lazypath) +vim.opt.number = false + +local icons = require("pcode.user.icons").ui +-- Make sure to setup `mapleader` and `maplocalleader` before +-- loading lazy.nvim so that mappings are correct. +-- This is also a good place to setup other settings (vim.opt) +vim.g.mapleader = " " +vim.g.maplocalleader = "\\" +-- initialisasi plugins +local importdata = { + { import = "pcode.plugins" }, +} +-- load theme +local theme = pcode.themes or {} +for key, _ in pairs(theme) do + table.insert(importdata, { import = "pcode.plugins.theme." .. key }) +end +-- load extras plugins +local extras = pcode.extras or {} +for key, value in pairs(extras) do + if value then + table.insert(importdata, { import = "pcode.plugins.extras." .. key }) + end +end +-- load language config +local lang = pcode.lang or {} +for key, value in pairs(lang) do + if value then + table.insert(importdata, { import = "pcode.plugins.lang." .. key }) + end +end +-- load transparant config +local transparant = pcode.transparent or false +if transparant then + table.insert(importdata, { import = "pcode.plugins.extras.transparent" }) +end +-- add overide path +table.insert(importdata, { import = "pcode.user.custom" }) +-- Setup lazy.nvim +require("lazy").setup({ + spec = importdata, + ui = { + backdrop = 100, -- Menyeting backdrop UI + border = "rounded", -- Mengatur border UI ke rounded + browser = "chrome", -- Menggunakan Chrome sebagai browser default + throttle = 40, -- Menyeting throttle + custom_keys = { + ["l"] = false, -- Menonaktifkan kunci lokal leader l + }, + icons = { + ft = icons.ft, + lazy = icons.Bell .. " ", + loaded = icons.CheckCircle, + not_loaded = icons.not_loaded, + }, + }, + change_detection = { enabled = false, notify = false }, -- Nonaktifkan deteksi perubahan + -- automatically check for plugin updates + checker = { enabled = true }, + performance = { + rtp = { + -- disable some rtp plugins + disabled_plugins = { + "gzip", + "matchit", + "matchparen", + "netrwPlugin", + "tarPlugin", + "tohtml", + "tutor", + "zipPlugin", + }, + }, + }, +}) diff --git a/lua/pcode/core/init.lua b/lua/pcode/core/init.lua new file mode 100644 index 0000000..786792e --- /dev/null +++ b/lua/pcode/core/init.lua @@ -0,0 +1,9 @@ +_G.pcode = _G.pcode or {} +require("pcode.user.default") +require("pcode.config.lazy_lib") +require("pcode.user.colorscheme") +require("pcode.core.neovide") + +vim.keymap.set({ "n", "v", "x" }, "", function() + require("gemini").ask_gemini() +end, { noremap = true, silent = true, desc = "Prompt Gemini CLI" }) diff --git a/lua/pcode/core/neovide.lua b/lua/pcode/core/neovide.lua new file mode 100644 index 0000000..fd56ef3 --- /dev/null +++ b/lua/pcode/core/neovide.lua @@ -0,0 +1,71 @@ +if vim.g.neovide then + local opts = { noremap = true, silent = true } + vim.g.neovide_input_use_logo = 1 -- enable use of the logo (cmd) key + vim.keymap.set("n", "", ":w", opts) -- Save + vim.keymap.set("v", "", '"+y', opts) -- Copy + vim.keymap.set("n", "", '"+P', opts) -- Paste normal mode + vim.keymap.set("v", "", '"+P', opts) -- Paste visual mode + vim.keymap.set("x", "", '"+P', opts) -- Paste visual mode + vim.keymap.set("c", "", "+", { noremap = true }) -- Paste command mode + vim.keymap.set("i", "", 'l"+Pli', opts) -- Paste insert mode + vim.keymap.set( + "n", + "", + "lua require('Comment.api').toggle.linewise.current()$i", + opts + ) + vim.keymap.set( + "i", + "", + "lua require('Comment.api').toggle.linewise.current()$i", + opts + ) + vim.keymap.set("v", "", "lua require('Comment.api').toggle.linewise(vim.fn.visualmode())", opts) + + vim.o.guifont = "Hasklug_Nerd_Font:h15" + vim.g.neovide_padding_top = 0 + vim.g.neovide_padding_bottom = 1 + vim.g.neovide_padding_right = 1 + vim.g.neovide_padding_left = 1 + + -- config for transparent + vim.g.neovide_transparency = 1 + vim.g.neovide_hide_mouse_when_typing = false + vim.g.neovide_underline_automatic_scaling = false + vim.g.neovide_refresh_rate_idle = 5 + vim.g.neovide_no_idle = true + vim.g.neovide_remember_window_size = true + vim.g.neovide_touch_drag_timeout = 0.17 + vim.g.neovide_show_border = false + vim.g.neovide_theme = "auto" + vim.g.neovide_confirm_quit = true + vim.g.neovide_remember_window_size = true + vim.g.neovide_cursor_smooth_blink = true + -- animation config + --vim.g.neovide_scroll_animation_length = 0.3 + --vim.g.neovide_cursor_animation_length = 0.13 + vim.g.neovide_cursor_trail_size = 0.8 + vim.g.neovide_cursor_antialiasing = true + vim.g.neovide_cursor_animate_in_insert_mode = true + vim.g.neovide_cursor_vfx_mode = "torpedo" + + vim.opt.linespace = 0 + vim.g.neovide_scale_factor = 1 + vim.opt.cmdheight = 0 + vim.opt.spell = false + + vim.g.neovide_window_blurred = true + vim.g.neovide_floating_blur_amount_x = 2.0 + vim.g.neovide_floating_blur_amount_y = 2.0 + vim.g.neovide_floating_shadow = false + vim.g.neovide_floating_z_height = 10 + vim.g.neovide_light_angle_degrees = 45 + vim.g.neovide_light_radius = 5 +end + +-- -- Allow clipboard copy paste in neovim +-- vim.g.neovide_input_use_logo = 1 +-- vim.api.nvim_set_keymap("", "", "+p", { noremap = true, silent = true }) +-- vim.api.nvim_set_keymap("!", "", "+", { noremap = true, silent = true }) +-- vim.api.nvim_set_keymap("t", "", "+", { noremap = true, silent = true }) +-- vim.api.nvim_set_keymap("v", "", "+", { noremap = true, silent = true }) diff --git a/lua/pcode/plugins/_default.lua b/lua/pcode/plugins/_default.lua new file mode 100644 index 0000000..b5b0ad5 --- /dev/null +++ b/lua/pcode/plugins/_default.lua @@ -0,0 +1,55 @@ +_G.idxOf = function(array, value) + for i, v in ipairs(array) do + if v == value then + return i + end + end + return nil +end + +_G.LAZYGIT_TOGGLE = function() + local ok = pcall(require, "toggleterm") + if not ok then + require("notify")("toggleterm not found!", "error") + return + end + local Terminal = require("toggleterm.terminal").Terminal + local lazygit = Terminal:new({ cmd = "lazygit", hidden = true }) + lazygit:toggle() +end + +_G.substring = function(text, key) + local index, _ = string.find(text, key) + if index then + return true + else + return false + end +end + +_G.all_trim = function(s) + return s:match("^%s*(.-)%s*$") +end + +_G.current_theme = function() + if pcode.themes then + local theme = "" + for _, value in pairs(pcode.themes or {}) do + theme = value + end + return all_trim(theme) + end + return "" +end + +local function safeRequire(module) + local ok, result = pcall(require, module) + if ok then + return result + end +end + +safeRequire("pcode.user.options") +safeRequire("pcode.user.autocmd") +safeRequire("pcode.user.keymaps") +return {} diff --git a/lua/pcode/plugins/_lsp.lua b/lua/pcode/plugins/_lsp.lua new file mode 100644 index 0000000..8f1262b --- /dev/null +++ b/lua/pcode/plugins/_lsp.lua @@ -0,0 +1,95 @@ +return { + { + "williamboman/mason-lspconfig.nvim", + event = { "CmdlineEnter", "BufReadPre", "BufNewFile", "BufRead" }, + dependencies = { + { "pojokcodeid/auto-lsp.nvim", lazy = true }, + { + "neovim/nvim-lspconfig", + lazy = true, + cmd = { + "LspInfo", + "LspInstall", + "LspUninstall", + }, + config = function() + require("lspconfig.ui.windows").default_options.border = "rounded" + end, + }, + { + "williamboman/mason.nvim", + lazy = true, + build = ":MasonUpdate", + opts_extend = { "ensure_installed" }, + cmd = { + "Mason", + "MasonInstall", + "MasonUninstall", + "MasonUninstallAll", + "MasonLog", + }, + opts = function(_, opts) + local icons = require("pcode.user.icons").ui + opts.ensure_installed = opts.ensure_installed or {} + vim.list_extend(opts.ensure_installed, { "stylua" }) + opts.ui = { + -- border = "none", + border = icons.Border, + icons = { + package_pending = icons.Pending, + package_installed = icons.CheckCircle, + package_uninstalled = icons.BlankCircle, + }, + keymaps = { + toggle_server_expand = "", + install_server = "i", + update_server = "u", + check_server_version = "c", + update_all_servers = "U", + check_outdated_servers = "C", + uninstall_server = "X", + }, + } + opts.log_level = vim.log.levels.INFO + opts.max_concurrent_installers = 4 + return opts + end, + config = function(_, opts) + require("mason").setup(opts) + local mr = require("mason-registry") + mr:on("package:install:success", function() + vim.defer_fn(function() + -- trigger FileType event to possibly load this newly installed LSP server + require("lazy.core.handler.event").trigger({ + event = "FileType", + buf = vim.api.nvim_get_current_buf(), + }) + end, 100) + end) + + mr.refresh(function() + for _, tool in ipairs(opts.ensure_installed) do + local p = mr.get_package(tool) + if not p:is_installed() then + p:install() + end + end + end) + end, + }, + }, + opts = function(_, opts) + opts.skip_config = opts.skip_config or {} + opts.ensure_installed = opts.ensure_installed or {} + opts.automatic_installation = true + vim.list_extend(opts.ensure_installed, { "lua_ls" }) + opts.format_on_save = true -- if use none-ls set true + opts.virtual_text = true + opts.timeout_ms = 5000 + return opts + end, + config = function(_, opts) + require("auto-lsp").setup(opts) + end, + }, +} diff --git a/lua/pcode/plugins/_treesitter.lua b/lua/pcode/plugins/_treesitter.lua new file mode 100644 index 0000000..dd80401 --- /dev/null +++ b/lua/pcode/plugins/_treesitter.lua @@ -0,0 +1,50 @@ +return { + { "nvim-lua/plenary.nvim", event = "VeryLazy" }, + { + "nvim-treesitter/nvim-treesitter", + event = { "BufRead", "VeryLazy" }, + version = false, + build = ":TSUpdate", + lazy = true, + cmd = { + "TSInstall", + -- "TSInstallInfo", + "TSInstallSync", + "TSUpdate", + "TSUpdateSync", + "TSUninstall", + "TSUninstallInfo", + "TSInstallFromGrammar", + }, + opts = function() + return { + highlight = { enable = true }, + indent = { enable = true }, + ensure_installed = { "lua", "luadoc", "printf", "vim", "vimdoc" }, + incremental_selection = { + enable = true, + }, + autopairs = { + enable = true, + }, + } + end, + config = function(_, opts) + if type(opts.ensure_installed) == "table" then + ---@type table + local added = {} + opts.ensure_installed = vim.tbl_filter(function(lang) + if added[lang] then + return false + end + added[lang] = true + return true + end, opts.ensure_installed) + end + require("nvim-treesitter.configs").setup(opts) + vim.api.nvim_create_user_command("TSInstallInfo", function() + vim.cmd("Telescope treesitter_info") + end, {}) + end, + }, +} diff --git a/lua/pcode/plugins/_treesitterautopairs.lua b/lua/pcode/plugins/_treesitterautopairs.lua new file mode 100644 index 0000000..5537164 --- /dev/null +++ b/lua/pcode/plugins/_treesitterautopairs.lua @@ -0,0 +1,35 @@ +return { + "windwp/nvim-autopairs", + lazy = true, + dependencies = "hrsh7th/nvim-cmp", + event = "InsertEnter", + opts = { + check_ts = true, + ts_config = { + lua = { "string", "source" }, + javascript = { "string", "template_string" }, + java = false, + }, + disable_filetype = { "TelescopePrompt", "spectre_panel" }, + fast_wrap = { + map = "", + chars = { "{", "[", "(", '"', "'", "`" }, + pattern = string.gsub([[ [%'%"%)%>%]%)%}%,] ]], "%s+", ""), + offset = 0, -- Offset from pattern match + end_key = "$", + keys = "qwertyuiopzxcvbnmasdfghjkl", + check_comma = true, + highlight = "PmenuSel", + highlight_grey = "LineNr", + }, + }, + config = function(_, opts) + require("nvim-autopairs").setup(opts) + local cmp_autopairs = require("nvim-autopairs.completion.cmp") + local cmp_status_ok, cmp = pcall(require, "cmp") + if not cmp_status_ok then + return + end + cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done({ map_char = { tex = "" } })) + end, +} diff --git a/lua/pcode/plugins/_treesitterautotag.lua b/lua/pcode/plugins/_treesitterautotag.lua new file mode 100644 index 0000000..725cbd8 --- /dev/null +++ b/lua/pcode/plugins/_treesitterautotag.lua @@ -0,0 +1,6 @@ +return { + "windwp/nvim-ts-autotag", + lazy = true, + event = { "BufRead", "InsertEnter" }, + opts = {}, +} diff --git a/lua/pcode/plugins/alpha.lua b/lua/pcode/plugins/alpha.lua new file mode 100644 index 0000000..af3f039 --- /dev/null +++ b/lua/pcode/plugins/alpha.lua @@ -0,0 +1,82 @@ +local M = { + "goolord/alpha-nvim", + event = "VimEnter", +} + +M.opts = { + dash_model = { + [[ _ __ __ ]], + [[ ___ ___ (____ / /__ _______ ___/ ___ ]], + [[ / _ / _ \ / / _ \/ '_/ / __/ _ / _ / -_) ]], + [[ / .__\_____/ /\___/_/\_\ \__/\___\_,_/\__/ ]], + [[ /_/ |___/ ]], + }, +} + +function M.config(_, opts) + local alpha = require("alpha") + local startify = require("alpha.themes.startify") + startify.section.header.val = pcode.dashboard or opts.dash_model + startify.section.top_buttons.val = { + startify.button("F", "๓ฐˆž Find file", ":Telescope find_files "), + startify.button("e", "๏…› New file", ":ene startinsert "), + startify.button("p", "๓ฐ‰‹ Find project", ":Telescope projects "), + startify.button("r", "๓ฐฆ› Recently used files", ":Telescope oldfiles "), + startify.button("t", "๓ฐŠ„ Find text", ":Telescope live_grep "), + startify.button("c", "๎˜• Configuration", ":e $MYVIMRC "), + startify.button("l", "๓ฐ’ฒ Lazy", ":Lazy"), + startify.button("q", "๓ฐ…š Quit", ":qa"), + } + -- disable MRU + startify.section.mru.val = { { type = "padding", val = 4 } } + -- disable MRU cwd + startify.section.mru_cwd.val = { { type = "padding", val = 0 } } + -- disable nvim_web_devicons + startify.nvim_web_devicons.enabled = false + startify.section.bottom_buttons.val = {} + + vim.api.nvim_create_autocmd("User", { + pattern = "LazyVimStarted", + desc = "Add Alpha dashboard footer", + once = true, + callback = function() + local stats = require("lazy").stats() + local ms = math.floor(stats.startuptime * 100 + 0.5) / 100 + -- stylua: ignore + startify.section.footer.val = { + -- { + -- type = "text", + -- val = {"โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€"}, + -- }, + { + type = "text", + val = { + "โšก Neovim loaded " .. stats.loaded .. "/" .. stats.count .. " plugins ๏‡ฆ in " .. ms .. "ms", + }, + }, + -- { + -- type = "text", + -- val = {"โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€"}, + -- }, + } + pcall(vim.cmd.AlphaRedraw) + end, + }) + + vim.api.nvim_create_autocmd({ "User" }, { + pattern = { "AlphaReady" }, + callback = function() + vim.cmd([[ + set laststatus=0 | autocmd BufUnload set laststatus=3 + ]]) + end, + }) + -- ignore filetypes in MRU + local default_mru_ignore = {} + startify.mru_opts.ignore = function(path, ext) + return (string.find(path, "COMMIT_EDITMSG")) or (vim.tbl_contains(default_mru_ignore, ext)) + end + alpha.setup(startify.config) +end + +return M diff --git a/lua/pcode/plugins/bufferline.lua b/lua/pcode/plugins/bufferline.lua new file mode 100644 index 0000000..aea88c9 --- /dev/null +++ b/lua/pcode/plugins/bufferline.lua @@ -0,0 +1,34 @@ +return { + "akinsho/bufferline.nvim", + branch = "main", + event = { "BufRead", "InsertEnter", "BufNewFile" }, + dependencies = "pojokcodeid/auto-bufferline.nvim", + config = function() + vim.opt.termguicolors = true + local config = require("auto-bufferline").config() + require("bufferline").setup(config) + end, + keys = { + { "b", "", desc = " ๎‰— Buffers", mode = "n" }, + { + "bb", + function() + require("telescope.builtin").buffers(require("telescope.themes").get_dropdown({ previewer = false })) + end, + desc = "All Buffer", + mode = "n", + }, + { + "bc", + function() + require("auto-bufferline.configs.utils").bufremove() + end, + desc = "Close current buffer", + mode = "n", + }, + { "bd", "BufferLineCloseLeft", desc = "Close Buffer Left", mode = "n" }, + { "bD", "BufferLineCloseRight", desc = "Close Buffer Right", mode = "n" }, + { "ba", "BufferLineCloseOthers", desc = "Close Buffer Other", mode = "n" }, + { "bA", "BufferLineCloseOthersbd!", desc = "Close Buffer All", mode = "n" }, + }, +} diff --git a/lua/pcode/plugins/cmp.lua b/lua/pcode/plugins/cmp.lua new file mode 100644 index 0000000..19a084a --- /dev/null +++ b/lua/pcode/plugins/cmp.lua @@ -0,0 +1,151 @@ +return { + { + "L3MON4D3/LuaSnip", + event = "InsertEnter", + version = "v2.*", + -- build = "make install_jsregexp", + opts = { + history = true, + delete_check_events = "TextChanged", + }, + -- stylua: ignore + keys = { + { "", function() require("luasnip").jump(1) end, mode = "s" }, + { "", function() require("luasnip").jump(-1) end, mode = { "i", "s" } }, + }, + }, + { + "hrsh7th/nvim-cmp", + version = false, -- last release is way too old + event = "InsertEnter", + dependencies = { + "hrsh7th/cmp-nvim-lsp", + "hrsh7th/cmp-buffer", + "hrsh7th/cmp-path", + "saadparwaiz1/cmp_luasnip", + "hrsh7th/cmp-nvim-lua", + "xzbdmw/colorful-menu.nvim", + "lukas-reineke/cmp-rg", + }, + opts = function() + local cmp = require("cmp") + local luasnip = require("luasnip") + + local check_backspace = function() + local col = vim.fn.col(".") - 1 + return col == 0 or vim.fn.getline("."):sub(col, col):match("%s") + end + + return { + completion = { + completeopt = "menu,menuone,noinsert", + }, + snippet = { + expand = function(args) + require("luasnip").lsp_expand(args.body) + end, + }, + mapping = cmp.mapping.preset.insert({ + [""] = cmp.mapping.scroll_docs(-4), + [""] = cmp.mapping.scroll_docs(4), + [""] = cmp.mapping.complete(), + [""] = cmp.mapping.abort(), + [""] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_next_item() + elseif luasnip.expandable() then + luasnip.expand() + elseif luasnip.expand_or_jumpable() then + luasnip.expand_or_jump() + elseif check_backspace() then + fallback() + else + fallback() + end + end, { + "i", + "s", + }), + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_prev_item() + elseif luasnip.jumpable(-1) then + luasnip.jump(-1) + else + fallback() + end + end, { + "i", + "s", + }), + }), + sources = cmp.config.sources({ + { name = "nvim_lsp" }, + { name = "luasnip" }, + { name = "buffer" }, + { name = "path" }, + { name = "nvim_lua" }, + { name = "rg" }, + }), + formatting = { + fields = { "kind", "abbr", "menu" }, + format = function(entry, vim_item) + vim_item.menu = vim.api.nvim_get_mode().mode == "c" and "" or all_trim(vim_item.kind) + vim_item.kind = string.format("%s", all_trim(require("pcode.user.icons")["kind2"][vim_item.kind])) + + local original_notify = vim.notify + vim.notify = function(msg, level, opts) + if type(msg) == "string" and msg:match("has new line character, please open an issue") then + return + end + original_notify(msg, level, opts) + end + + local ok, highlights_info = pcall(require("colorful-menu").cmp_highlights, entry) + if ok and highlights_info ~= nil then + vim_item.abbr_hl_group = highlights_info.highlights + + -- ambil nama group hilightnya saja + -- eg. "@parameter" + local var_hilight = highlights_info.highlights[1][1] + local id = vim.fn.hlID(var_hilight) + + local var_out = "@tag" + -- cek apakah hilight terdefinisi + if id ~= 0 then + var_out = var_hilight + else + var_out = var_hilight:match("([^%.]+)") + end + + vim_item.menu_hl_group = var_out + -- vim.notify(var_out) + else + vim_item.abbr_hl_group = "CmpItemAbbr" + vim_item.menu_hl_group = "CmpItemAbbr" + end + return vim_item + end, + }, + window = { + completion = cmp.config.window.bordered(), + documentation = cmp.config.window.bordered(), + }, + experimental = { + ghost_text = false, + native_menu = false, + }, + } + end, + }, + { + "rafamadriz/friendly-snippets", + event = "InsertEnter", + lazy = true, + config = function() + require("luasnip.loaders.from_vscode").lazy_load() + require("pcode.user.snippets") + end, + }, +} diff --git a/lua/pcode/plugins/cmpcmdline.lua b/lua/pcode/plugins/cmpcmdline.lua new file mode 100644 index 0000000..1267c83 --- /dev/null +++ b/lua/pcode/plugins/cmpcmdline.lua @@ -0,0 +1,141 @@ +return { + { + "folke/noice.nvim", + lazy = true, + enabled = true, + dependencies = { + { "MunifTanjim/nui.nvim" }, + }, + event = "CmdlineEnter", + opts = { + messages = { + enabled = false, + }, + notify = { + enabled = false, + }, + lsp = { + progress = { + enabled = false, + }, + hover = { + enabled = false, + }, + signature = { + enabled = false, + }, + }, + presets = { + -- Preset ini menyesuaikan bentuk cursor pada mode commond + command_bar_cursor = { + enabled = true, + cursor_shape = "ver30", -- "ver" menandakan bar vertikal, 30 adalah tinggi dalam persen + }, + }, + }, + keys = { + { + "", + function() + require("noice").redirect(vim.fn.getcmdline()) + end, + mode = "c", + desc = "Redirect Cmdline", + }, + { + "snl", + function() + require("noice").cmd("last") + end, + desc = "Noice Last Message", + }, + { + "snh", + function() + require("noice").cmd("history") + end, + desc = "Noice History", + }, + { + "sna", + function() + require("noice").cmd("all") + end, + desc = "Noice All", + }, + { + "", + function() + if not require("noice.lsp").scroll(4) then + return "" + end + end, + silent = true, + expr = true, + desc = "Scroll forward", + mode = { "i", "n", "s" }, + }, + { + "", + function() + if not require("noice.lsp").scroll(-4) then + return "" + end + end, + silent = true, + expr = true, + desc = "Scroll backward", + mode = { "i", "n", "s" }, + }, + }, + }, + { + "hrsh7th/cmp-cmdline", + -- event = "VeryLazy", + event = "CmdlineEnter", + config = function() + local cmp = require("cmp") + local mapping = { + [""] = cmp.mapping.confirm({ select = true }), + [""] = cmp.mapping(cmp.mapping.select_prev_item(), { "i", "c" }), + [""] = cmp.mapping(cmp.mapping.select_prev_item(), { "i", "c" }), + [""] = cmp.mapping(cmp.mapping.select_next_item(), { "i", "c" }), + [""] = cmp.mapping(cmp.mapping.select_next_item(), { "i", "c" }), + } + + -- Use buffer source for `/`. + cmp.setup.cmdline("/", { + preselect = "none", + completion = { + completeopt = "menu,preview,menuone,noselect", + }, + mapping = mapping, + sources = { + { name = "buffer" }, + }, + experimental = { + ghost_text = true, + native_menu = false, + }, + }) + + -- Use cmdline & path source for ':'. + cmp.setup.cmdline(":", { + preselect = "none", + completion = { + completeopt = "menu,preview,menuone,noselect", + }, + mapping = mapping, + sources = cmp.config.sources({ + { name = "path" }, + }, { + { name = "cmdline" }, + }), + experimental = { + ghost_text = true, + native_menu = false, + }, + }) + end, + }, +} diff --git a/lua/pcode/plugins/coderunner.lua b/lua/pcode/plugins/coderunner.lua new file mode 100644 index 0000000..f614432 --- /dev/null +++ b/lua/pcode/plugins/coderunner.lua @@ -0,0 +1,64 @@ +--typescript = "deno run", +-- cpp="gcc $fileName -lstdc++ -o $fileNameWithoutExt && $fileNameWithoutExt" +local pyrun = "python -u" +if vim.fn.has("win32") == 0 then + pyrun = "python3 -u" +end +local rfile = { + java = "cd $dir && javac $fileName && java $fileNameWithoutExt", + python = pyrun, + typescript = "ts-node $dir/$fileName", + rust = "cd $dir && rustc $fileName && $dir/$fileNameWithoutExt", + cpp = "cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir/$fileNameWithoutExt", + scss = "sass $dir/$fileName $dir/$fileNameWithoutExt.css", + javascript = 'node "$dir/$fileName"', + -- go = "go run .", + go = "go run $fileName", +} + +local runProject = {} +local cwd = vim.fn.getcwd() +local go_mod_path = cwd .. "/go.mod" +if vim.fn.filereadable(go_mod_path) ~= 0 then + runProject[cwd] = { + name = "Go Project (cwd)", + command = "go run .", + } +end + +return { + "CRAG666/code_runner.nvim", + lazy = true, + cmd = { "RunCode", "RunFile", "RunProject", "RunClose" }, + opts = { + filetype = rfile, + project = runProject, + mode = "float", + focus = true, + startinsert = true, + term = { + position = "bot", + size = 50, + }, + float = { + close_key = "", + border = "rounded", + height = 0.8, + width = 0.8, + x = 0.5, + y = 0.5, + border_hl = "FloatBorder", + float_hl = "Normal", + blend = 0, + }, + }, + config = function(_, opts) + require("code_runner").setup(opts) + end, + keys = { + { "r", "", desc = " ๎ฎž Run", mode = "n" }, + { "rr", "RunCode", desc = "Run Code", mode = "n" }, + { "rf", "RunFile", desc = "Run File", mode = "n" }, + { "rp", "RunProject", desc = "Run Project", mode = "n" }, + }, +} diff --git a/lua/pcode/plugins/comment.lua b/lua/pcode/plugins/comment.lua new file mode 100644 index 0000000..36a731d --- /dev/null +++ b/lua/pcode/plugins/comment.lua @@ -0,0 +1,29 @@ +return { + "numToStr/Comment.nvim", + event = "VeryLazy", + dependencies = { + "JoosepAlviste/nvim-ts-context-commentstring", + }, + opts = function() + return { + pre_hook = require("ts_context_commentstring.integrations.comment_nvim").create_pre_hook(), + } + end, + keys = { + { + "/", + "(comment_toggle_linewise_current)", + desc = "๓ฐ†ˆ Coment line", + mode = "n", + }, + { + "/", + "(comment_toggle_linewise_visual)", + desc = "๓ฐ†ˆ Coment line", + mode = "v", + }, + }, + config = function(_, opts) + require("Comment").setup(opts) + end, +} diff --git a/lua/pcode/plugins/conform.lua b/lua/pcode/plugins/conform.lua new file mode 100644 index 0000000..cb8b867 --- /dev/null +++ b/lua/pcode/plugins/conform.lua @@ -0,0 +1,43 @@ +return { + "pojokcodeid/auto-conform.nvim", + dependencies = { + "williamboman/mason.nvim", + "stevearc/conform.nvim", + }, + event = "BufRead", + opts = function(_, opts) + opts.formatters = opts.formatters or {} + opts.formatters_by_ft = opts.formatters_by_ft or {} + opts.ensure_installed = opts.ensure_installed or {} + -- vim.list_extend(opts.ensure_installed, { "stylua" }) + opts.lang_maps = opts.lang_maps or {} + opts.name_maps = opts.name_maps or {} + opts.add_new = opts.add_new or {} + opts.ignore = opts.ignore or {} + opts.format_on_save = opts.format_on_save or true + opts.format_timeout_ms = opts.format_timeout_ms or 5000 + end, + config = function(_, opts) + require("auto-conform").setup(opts) + -- other conform config + local conform = require("conform") + if opts.format_on_save then + conform.setup({ + format_on_save = { + lsp_fallback = true, + timeout_ms = opts.format_timeout_ms or 5000, + }, + }) + end + vim.keymap.set({ "n", "v" }, "lF", function() + conform.format({ + lsp_fallback = true, + async = false, + timeout_ms = opts.format_timeout_ms or 5000, + }) + end, { desc = "Format file or range (in visual mode)" }) + end, + keys = { + { "l", "", desc = "๓ฐ˜ฆ Lsp" }, + }, +} diff --git a/lua/pcode/plugins/dressing.lua b/lua/pcode/plugins/dressing.lua new file mode 100644 index 0000000..2398ff6 --- /dev/null +++ b/lua/pcode/plugins/dressing.lua @@ -0,0 +1,34 @@ +return { + "stevearc/dressing.nvim", + lazy = true, + init = function() + ---@diagnostic disable-next-line: duplicate-set-field + vim.ui.select = function(...) + require("lazy").load({ plugins = { "dressing.nvim" } }) + return vim.ui.select(...) + end + ---@diagnostic disable-next-line: duplicate-set-field + --[[ vim.ui.input = function(...) + require("lazy").load({ plugins = { "dressing.nvim" } }) + return vim.ui.input(...) + end ]] + end, + opts = { + input = { + title_pos = "center", + relative = "editor", + default_prompt = "โžค ", + win_options = { winhighlight = "Normal:Normal,NormalNC:Normal" }, + prefer_width = 30, + max_width = { 140, 0.9 }, + min_width = { 50, 0.2 }, + }, + select = { + backend = { "telescope", "builtin" }, + builtin = { win_options = { winhighlight = "Normal:Normal,NormalNC:Normal" } }, + }, + }, + config = function(_, opts) + require("dressing").setup(opts) + end, +} diff --git a/lua/pcode/plugins/extras/autosave.lua b/lua/pcode/plugins/extras/autosave.lua new file mode 100644 index 0000000..cdc58ba --- /dev/null +++ b/lua/pcode/plugins/extras/autosave.lua @@ -0,0 +1,49 @@ +return { + "okuuva/auto-save.nvim", + version = "^1.0.0", -- see https://devhints.io/semver, alternatively use '*' to use the latest tagged release + cmd = "ASToggle", -- optional for lazy loading on command + event = { "InsertLeave", "TextChanged" }, -- optional for lazy loading on trigger events + opts = { + enabled = true, -- start auto-save when the plugin is loaded (i.e. when your package manager loads it) + trigger_events = { -- See :h events + immediate_save = { "BufLeave", "FocusLost" }, -- vim events that trigger an immediate save + defer_save = { "InsertLeave", "TextChanged" }, -- vim events that trigger a deferred save (saves after `debounce_delay`) + cancel_deferred_save = { "InsertEnter" }, -- vim events that cancel a pending deferred save + }, + -- function that takes the buffer handle and determines whether to save the current buffer or not + -- return true: if buffer is ok to be saved + -- return false: if it's not ok to be saved + -- if set to `nil` then no specific condition is applied + condition = nil, + write_all_buffers = false, -- write all buffers when the current one meets `condition` + noautocmd = false, -- do not execute autocmds when saving + lockmarks = false, -- lock marks when saving, see `:h lockmarks` for more details + debounce_delay = 1500, -- delay after which a pending save is executed + -- log debug messages to 'auto-save.log' file in neovim cache directory, set to `true` to enable + debug = false, + }, + config = function(_, opts) + require("auto-save").setup(opts) + local group = vim.api.nvim_create_augroup("autosave", {}) + + vim.api.nvim_create_autocmd("User", { + pattern = "AutoSaveWritePost", + group = group, + callback = function(opts) + local ftype = vim.bo.filetype + if opts.data.saved_buffer ~= nil and ftype ~= "TelescopePrompt" and not substring(tostring(ftype), "dap") then + local filename = vim.api.nvim_buf_get_name(opts.data.saved_buffer) + local is_ok = pcall(require, "notify") + if is_ok then + require("notify")("AutoSave: saved at " .. vim.fn.strftime("%H:%M:%S")) + else + print("AutoSave: saved " .. filename .. " at " .. vim.fn.strftime("%H:%M:%S")) + end + end + end, + }) + end, + keys = { + { "n", ":ASToggle", desc = "๓ฐจš Toggle auto-save" }, + }, +} diff --git a/lua/pcode/plugins/extras/bigfiles.lua b/lua/pcode/plugins/extras/bigfiles.lua new file mode 100644 index 0000000..52bf3e5 --- /dev/null +++ b/lua/pcode/plugins/extras/bigfiles.lua @@ -0,0 +1,8 @@ +return { + "LunarVim/bigfile.nvim", + lazy = true, + event = "BufReadPre", + opts = { + file_size = 2, + }, +} diff --git a/lua/pcode/plugins/extras/cheatsheet.lua b/lua/pcode/plugins/extras/cheatsheet.lua new file mode 100644 index 0000000..decb6fb --- /dev/null +++ b/lua/pcode/plugins/extras/cheatsheet.lua @@ -0,0 +1,73 @@ +return { + "pojokcodeid/cheatsheet-nvim", + event = "VeryLazy", + keys = { + { "", "KeymapsPopup", desc = "Keymaps Popup" }, + }, + cmd = { "KeymapsPopup" }, + opts = { + ["LSP"] = { + { "LSP Code Action", "n", "la" }, + { "LSP Code Format", "n", "lf" }, + { "LSP Information", "n", "li" }, + { "Mason Information", "n", "lI" }, + { "LSP Next Diagnostic", "n", "lj" }, + { "LSP Previous Diagnostic", "n", "lk" }, + { "LSP Quickfix", "n", "lr" }, + { "LSP Signature Help", "n", "ls" }, + { "LSP Format On Range", "v", "lF" }, + }, + ["Cmp"] = { + { "Scroll Next Documentation", "i", "CTRL + f" }, + { "Scroll Previous Documentation", "i", "CTRL + b" }, + { "Mapping Complete", "i", "CTRL + space" }, + { "Abort Completion", "i", "CTRL + e" }, + { "Accept Completion", "i", "โ†ต" }, + { "Next Autocompletion", "i", "TAB" }, + { "Previous Autocompletion", "i", "SHIFT + TAB" }, + }, + ["Terminal"] = { + { "Terminal Float", "n", "tf" }, + { "Terminal Horizontal", "n", "th" }, + { "Terminal new tab", "n", "ts" }, + { "Terminal Vertical", "n", "tv" }, + { "Terminal Close", "n", "tx" }, + }, + ["Comment"] = { + { "Comment line toggle", "n/v", "gcc or CTRL + /" }, + { "Comment block toggle", "n/v", "gbc or CTRL + /" }, + { "Comment visual selection", "v", "gc" }, + { "Comment visual selection using block delimiters", "v", "gb" }, + { "Comment out text object line wise", "v", "gc" }, + { "Comment out text object block wise", "v", "gb" }, + { "Add comment on the line above", "n", "gcO" }, + { "Add comment on the line below", "n", "gco" }, + { "Add comment at the end of line", "n", "gcA" }, + }, + ["Bufferline"] = { + { "Move Active Buffer Left", "n", "SHIFT + h/SHIFT + Left" }, + { "Move Active Buffer Right", "n", "SHIFT + l/SHIFT + Right" }, + { "Reorder Bufferline", "n", "SHIFT + PageUp/PageDown" }, + { "Close Current Buffer", "n", "SHIFT + t" }, + }, + ["Window"] = { + { "Resize Window", "n", "CTRL + Left/Right/Up/Down" }, + { "Navigate Window", "n", "CTRL + h/l" }, + }, + ["Text-Manipulation"] = { + { "Select Multiple Cursor Vertical", "n/i", "SHIFT + ALT + Up/Down" }, + { "Select text", "n", "CTRL + d" }, + { "Select Multiple Cursor", "i/n", "ALT + Left Click Mouse" }, + { "Duplicate Row", "i/n/v", "SHIFT + ALT + Up/Down" }, + { "Move Row", "i/n/v", "ALT + Up/Down" }, + }, + ["Ai"] = { + { "Approve AI Sugention", "i", "CTRL + g" }, + { "Change AI Option", "i", "CTRL + Up/Down" }, + { "Clear AI Sugention", "i", "CTRL + x" }, + }, + }, + + config = true, +} diff --git a/lua/pcode/plugins/extras/codeium.lua b/lua/pcode/plugins/extras/codeium.lua new file mode 100644 index 0000000..17e6af2 --- /dev/null +++ b/lua/pcode/plugins/extras/codeium.lua @@ -0,0 +1,33 @@ +return { + "exafunction/codeium.vim", + enabled = true, + -- for fix notwork new version + -- https://github.com/exafunction/codeium.vim/issues/376#issuecomment-2159643405 + -- version = "1.8.37", + -- event = "bufwinenter", + -- event = "bufenter", + -- event = "insertenter", + event = { "VeryLazy", "bufreadpre", "bufnewfile", "bufread" }, + build = ":Codeium Auth", + cmd = { "CodeiumChat" }, + config = function() + vim.g.codeium_disable_bindings = 1 + + -- Change '' here to any keycode you like. + vim.keymap.set("i", "", function() + return vim.fn["codeium#Accept"]() + end, { expr = true, silent = true }) + vim.keymap.set("i", "", function() + return vim.fn["codeium#CycleCompletions"](1) + end, { expr = true, silent = true }) + vim.keymap.set("i", "", function() + return vim.fn["codeium#CycleCompletions"](-1) + end, { expr = true, silent = true }) + vim.keymap.set("i", "", function() + return vim.fn["codeium#Clear"]() + end, { expr = true, silent = true }) + end, + keys = { + { "c", ":CodeiumChat", desc = "๓ฐญน codeium chat", mode = "n" }, + }, +} diff --git a/lua/pcode/plugins/extras/codeiumnvim.lua b/lua/pcode/plugins/extras/codeiumnvim.lua new file mode 100644 index 0000000..7d91c9c --- /dev/null +++ b/lua/pcode/plugins/extras/codeiumnvim.lua @@ -0,0 +1,38 @@ +return { + -- codeium cmp source + { + "nvim-cmp", + event = "BufReadPre", + dependencies = { + -- codeium + { + "Exafunction/windsurf.nvim", + cmd = "Codeium", + enabled = true, + opts = { + enable_chat = true, + enable_cmp_source = true, + virtual_text = { + enabled = true, + key_bindings = { + accept = "", + next = "", + prev = "", + }, + }, + }, + config = function(_, opts) + require("codeium").setup(opts) + end, + }, + }, + --@param opts cmp.ConfigSchema + opts = function(_, opts) + table.insert(opts.sources, 1, { + name = "codeium", + group_index = 1, + priority = 100, + }) + end, + }, +} diff --git a/lua/pcode/plugins/extras/colorizer.lua b/lua/pcode/plugins/extras/colorizer.lua new file mode 100644 index 0000000..850a9e1 --- /dev/null +++ b/lua/pcode/plugins/extras/colorizer.lua @@ -0,0 +1,25 @@ +return { + "NvChad/nvim-colorizer.lua", + lazy = true, + event = { "BufRead", "InsertEnter", "BufNewFile" }, + opts = { + user_default_options = { + RGB = true, -- #RGB hex codes + RRGGBB = true, -- #RRGGBB hex codes + names = true, -- "Name" codes like Blue + RRGGBBAA = true, -- #RRGGBBAA hex codes + rgb_fn = true, -- CSS rgb() and rgba() functions + hsl_fn = true, -- CSS hsl() and hsla() functions + css = true, -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB + css_fn = true, -- Enable all CSS *functions*: rgb_fn, hsl_fn + -- Available modes: foreground, background + mode = "background", -- Set the display mode. + tailwind = true, + }, + filetypes = { + "*", -- Highlight all files, but customize some others. + css = { rgb_fn = true }, -- Enable parsing rgb(...) functions in css. + html = { names = false }, -- Disable parsing "names" like Blue or Gray + }, + }, +} diff --git a/lua/pcode/plugins/extras/dap.lua b/lua/pcode/plugins/extras/dap.lua new file mode 100644 index 0000000..5c31a83 --- /dev/null +++ b/lua/pcode/plugins/extras/dap.lua @@ -0,0 +1,62 @@ +return { + { + "rcarriga/nvim-dap-ui", + lazy = true, + event = "BufRead", + dependencies = { + { "mfussenegger/nvim-dap", lazy = true }, + { "nvim-neotest/nvim-nio", lazy = true }, + { + "theHamsta/nvim-dap-virtual-text", + opts = { + virt_text_win_col = 80, + }, + }, + }, + config = function() + require("pcode.user.dapui") + end, + keys = { + { "d", "", desc = " ๎ซ˜ Debug" }, + { "dt", "lua require'dap'.toggle_breakpoint()", desc = "Toggle Breakpoint" }, + { "db", "lua require'dap'.step_back()", desc = "Step Back" }, + { "dc", "lua require'dap'.continue()", desc = "Continue" }, + { "dC", "lua require'dap'.run_to_cursor()", desc = "Run To Cursor" }, + { "dd", "lua require'dap'.disconnect()", desc = "Disconnect" }, + { "dg", "lua require'dap'.session()", desc = "Get Session" }, + { "di", "lua require'dap'.step_into()", desc = "Step Into" }, + { "do", "lua require'dap'.step_over()", desc = "Step Over" }, + { "du", "lua require'dap'.step_out()", desc = "Step Out" }, + { "dp", "lua require'dap'.pause()", desc = "Pause" }, + { "dr", "lua require'dap'.repl.toggle()", desc = "Toggle Repl" }, + { "ds", "lua require'dap'.continue()", desc = "Start" }, + { "dq", "lua require'dap'.close()", desc = "Quit" }, + { "dU", "lua require'dapui'.toggle({reset = true})", desc = "Toggle UI" }, + }, + }, + { + "jay-babu/mason-nvim-dap.nvim", + lazy = true, + event = "BufRead", + dependencies = { "williamboman/mason.nvim", "mfussenegger/nvim-dap" }, + opts = function(_, opts) + opts.ensure_installed = opts.ensure_installed or {} + vim.list_extend(opts.ensure_installed, {}) + opts.automatic_setup = true + opts.handlers = { + function(config) + -- all sources with no handler get passed here + + -- Keep original functionality + require("mason-nvim-dap").default_setup(config) + end, + } + return opts + end, + -- enabled = vim.fn.has("win32") == 0, + config = function(_, opts) + require("mason").setup() + require("mason-nvim-dap").setup(opts) + end, + }, +} diff --git a/lua/pcode/plugins/extras/deviconcolor.lua b/lua/pcode/plugins/extras/deviconcolor.lua new file mode 100644 index 0000000..600efb7 --- /dev/null +++ b/lua/pcode/plugins/extras/deviconcolor.lua @@ -0,0 +1,7 @@ +return { + "rachartier/tiny-devicons-auto-colors.nvim", + event = "VeryLazy", + config = function() + require("tiny-devicons-auto-colors").setup() + end, +} diff --git a/lua/pcode/plugins/extras/dressing.lua b/lua/pcode/plugins/extras/dressing.lua new file mode 100644 index 0000000..cafd8c9 --- /dev/null +++ b/lua/pcode/plugins/extras/dressing.lua @@ -0,0 +1,35 @@ +return { + "pojokcodeid/dressing.nvim", + lazy = true, + init = function() + ---@diagnostic disable-next-line: duplicate-set-field + vim.ui.select = function(...) + require("lazy").load({ plugins = { "dressing.nvim" } }) + return vim.ui.select(...) + end + ---@diagnostic disable-next-line: duplicate-set-field + -- vim.ui.input = function(...) + -- require("lazy").load({ plugins = { "dressing.nvim" } }) + -- return vim.ui.input(...) + -- end + end, + opts = { + input = { + enabled = false, + title_pos = "center", + relative = "editor", + default_prompt = "โžค ", + win_options = { winhighlight = "Normal:Normal,NormalNC:Normal" }, + prefer_width = 30, + max_width = { 140, 0.9 }, + min_width = { 50, 0.2 }, + }, + select = { + backend = { "telescope", "builtin" }, + builtin = { win_options = { winhighlight = "Normal:Normal,NormalNC:Normal" } }, + }, + }, + config = function(_, opts) + require("dressing").setup(opts) + end, +} diff --git a/lua/pcode/plugins/extras/fidget.lua b/lua/pcode/plugins/extras/fidget.lua new file mode 100644 index 0000000..6d9c12c --- /dev/null +++ b/lua/pcode/plugins/extras/fidget.lua @@ -0,0 +1,14 @@ +return { + "j-hui/fidget.nvim", + lazy = true, + tag = "legacy", + event = "BufRead", + config = function() + require("fidget").setup({ + window = { + blend = 0, + relative = "editor", + }, + }) + end, +} diff --git a/lua/pcode/plugins/extras/illuminate.lua b/lua/pcode/plugins/extras/illuminate.lua new file mode 100644 index 0000000..84f3a55 --- /dev/null +++ b/lua/pcode/plugins/extras/illuminate.lua @@ -0,0 +1,65 @@ +local M = { + "RRethy/vim-illuminate", + event = "BufRead", +} + +M.opts = { + delay = 200, + large_file_cutoff = 2000, + large_file_overrides = { + providers = { "lsp" }, + }, + filetypes_denylist = { + "mason", + "harpoon", + "DressingInput", + "NeogitCommitMessage", + "qf", + "dirvish", + "oil", + "minifiles", + "fugitive", + "alpha", + "NvimTree", + "lazy", + "NeogitStatus", + "Trouble", + "netrw", + "lir", + "DiffviewFiles", + "Outline", + "Jaq", + "spectre_panel", + "toggleterm", + "DressingSelect", + "TelescopePrompt", + }, +} + +function M.config(_, opts) + require("illuminate").configure(opts) + local function map(key, dir, buffer) + vim.keymap.set("n", key, function() + require("illuminate")["goto_" .. dir .. "_reference"](false) + end, { desc = dir:sub(1, 1):upper() .. dir:sub(2) .. " Reference", buffer = buffer }) + end + + map("]]", "next") + map("[[", "prev") + + -- also set it after loading ftplugins, since a lot overwrite [[ and ]] + vim.api.nvim_create_autocmd("FileType", { + callback = function() + local buffer = vim.api.nvim_get_current_buf() + map("]]", "next", buffer) + map("[[", "prev", buffer) + end, + }) +end + +M.keys = { + { "]]", desc = "Next Reference" }, + { "[[", desc = "Prev Reference" }, +} + +return M diff --git a/lua/pcode/plugins/extras/indentscupe.lua b/lua/pcode/plugins/extras/indentscupe.lua new file mode 100644 index 0000000..8ce15ae --- /dev/null +++ b/lua/pcode/plugins/extras/indentscupe.lua @@ -0,0 +1,36 @@ +local icons = require("pcode.user.icons") +return { + "echasnovski/mini.indentscope", + version = false, -- wait till new 0.7.0 release to put it back on semver + event = "BufReadPre", + opts = { + symbol = icons.ui.LineMiddle, + options = { try_as_border = true }, + }, + init = function() + vim.api.nvim_create_autocmd("FileType", { + pattern = { + "alpha", + "dashboard", + "fzf", + "help", + "lazy", + "lazyterm", + "mason", + "neo-tree", + "NvimTree", + "notify", + "toggleterm", + "Trouble", + "trouble", + "term", + "terminal", + "zsh", + "keymaps_table", + }, + callback = function() + vim.b.miniindentscope_disable = true + end, + }) + end, +} diff --git a/lua/pcode/plugins/extras/liveserver.lua b/lua/pcode/plugins/extras/liveserver.lua new file mode 100644 index 0000000..c54a910 --- /dev/null +++ b/lua/pcode/plugins/extras/liveserver.lua @@ -0,0 +1,10 @@ +return { + "barrett-ruth/live-server.nvim", + build = "npm i -g live-server", + cmd = { "LiveServerStart", "LiveServerStop", "LiveServerToggle" }, + config = true, + keys = { + -- open http://localhost:5555/ jika menggunakan wsl + { "rl", "LiveServerToggle", desc = "LiveServer" }, + }, +} diff --git a/lua/pcode/plugins/extras/lspsignatur.lua b/lua/pcode/plugins/extras/lspsignatur.lua new file mode 100644 index 0000000..436e687 --- /dev/null +++ b/lua/pcode/plugins/extras/lspsignatur.lua @@ -0,0 +1,23 @@ +return { + "ray-x/lsp_signature.nvim", + event = "VeryLazy", + opts = function() + local is_enabled = true + return { + -- Window mode + floating_window = is_enabled, -- Display it as floating window. + hi_parameter = "IncSearch", -- Color to highlight floating window. + handler_opts = { border = "rounded" }, -- Window style + + -- Hint mode + hint_enable = false, -- Display it as hint. + hint_prefix = "๐Ÿ‘ˆ ", + + -- Additionally, you can use uH to toggle inlay hints. + toggle_key_flip_floatwin_setting = is_enabled, + } + end, + config = function(_, opts) + require("lsp_signature").setup(opts) + end, +} diff --git a/lua/pcode/plugins/extras/minianimate.lua b/lua/pcode/plugins/extras/minianimate.lua new file mode 100644 index 0000000..0799b80 --- /dev/null +++ b/lua/pcode/plugins/extras/minianimate.lua @@ -0,0 +1,40 @@ +return { + -- animations + { + "echasnovski/mini.animate", + event = "BufRead", + opts = function() + -- don't use animate when scrolling with the mouse + local mouse_scrolled = false + for _, scroll in ipairs({ "Up", "Down" }) do + local key = "" + vim.keymap.set({ "", "i" }, key, function() + mouse_scrolled = true + return key + end, { expr = true }) + end + + local animate = require("mini.animate") + return { + resize = { + timing = animate.gen_timing.linear({ duration = 100, unit = "total" }), + }, + scroll = { + timing = animate.gen_timing.linear({ duration = 150, unit = "total" }), + subscroll = animate.gen_subscroll.equal({ + predicate = function(total_scroll) + if mouse_scrolled then + mouse_scrolled = false + return false + end + return total_scroll > 1 + end, + }), + }, + } + end, + config = function(_, opts) + require("mini.animate").setup(opts) + end, + }, +} diff --git a/lua/pcode/plugins/extras/navic.lua b/lua/pcode/plugins/extras/navic.lua new file mode 100644 index 0000000..efc47db --- /dev/null +++ b/lua/pcode/plugins/extras/navic.lua @@ -0,0 +1,35 @@ +local M = { + "SmiteshP/nvim-navic", + event = "BufRead", + dependencies = { + "LunarVim/breadcrumbs.nvim", + opts = {}, + config = true, + }, +} + +function M.config() + local icons = require("pcode.user.icons").kind + for key, value in pairs(icons) do + icons[key] = value .. " " + end + require("nvim-navic").setup({ + icons = icons, + lsp = { + auto_attach = true, + preference = nil, + }, + highlight = false, + separator = " > ", + depth_limit = 0, + depth_limit_indicator = "..", + safe_output = true, + lazy_update_context = false, + click = false, + format_text = function(text) + return text + end, + }) +end + +return M diff --git a/lua/pcode/plugins/extras/neocodeium.lua b/lua/pcode/plugins/extras/neocodeium.lua new file mode 100644 index 0000000..1dc4190 --- /dev/null +++ b/lua/pcode/plugins/extras/neocodeium.lua @@ -0,0 +1,72 @@ +return { + "monkoose/neocodeium", + event = "VeryLazy", + config = function() + local uv = vim.uv + local fn = vim.fn + local pummenu_timer = assert(uv.new_timer()) + local cmp = require("cmp") + local neocodeium = require("neocodeium") + local renderer = require("neocodeium.renderer") + local completer = require("neocodeium.completer") + local function is_noselect() + local completeopt = vim.o.completeopt + return completeopt:find("noselect") and -1 or 0 + end + + local default_selected_compl = is_noselect() + local selected_compl = default_selected_compl + + -- if cmp menu_opened then neocodeium clear + cmp.event:on("menu_opened", function() + neocodeium.clear() + end) + neocodeium.setup({ + filter = function() + return not cmp.visible() + end, + }) + + -- if cmp menu_is_closed then neocodeium activate + cmp.event:on("menu_closed", function() + local cur_selected = fn.complete_info({ "selected" }).selected + if selected_compl == cur_selected then + completer:initiate() + else + selected_compl = cur_selected + completer:clear(true) + renderer:display_label() + pummenu_timer:stop() + pummenu_timer:start( + 400, + 0, + vim.schedule_wrap(function() + if fn.pumvisible() == 1 then + completer:initiate() + end + end) + ) + end + end) + vim.keymap.set("i", "", function() + neocodeium.accept() + end) + vim.keymap.set("i", "", function() + neocodeium.cycle() + end) + vim.keymap.set("i", "", function() + require("neocodeium").cycle(-1) + end) + vim.keymap.set("i", "", function() + require("neocodeium").clear() + end) + -- create user command CodeiumDiasable + vim.api.nvim_create_user_command("CodeiumDisable", function() + require("neocodeium.commands").disable(true) + end, {}) + -- create user command CodeiumEnable + vim.api.nvim_create_user_command("CodeiumEnable", function() + require("neocodeium.commands").enable() + end, {}) + end, +} diff --git a/lua/pcode/plugins/extras/neoscroll.lua b/lua/pcode/plugins/extras/neoscroll.lua new file mode 100644 index 0000000..3d5acf2 --- /dev/null +++ b/lua/pcode/plugins/extras/neoscroll.lua @@ -0,0 +1,8 @@ +return { + "karb94/neoscroll.nvim", + event = "VeryLazy", + lazy = true, + config = function() + require("neoscroll").setup({}) + end, +} diff --git a/lua/pcode/plugins/extras/nvimmenu.lua b/lua/pcode/plugins/extras/nvimmenu.lua new file mode 100644 index 0000000..e2d1506 --- /dev/null +++ b/lua/pcode/plugins/extras/nvimmenu.lua @@ -0,0 +1,36 @@ +return { + { + "nvzone/menu", + lazy = true, + event = { "VeryLazy" }, + dependencies = { + { "nvzone/volt", lazy = true }, + { "nvzone/showkeys", cmd = "ShowkeysToggle", lazy = true }, + { + "nvzone/minty", + cmd = { "Shades", "Huefy" }, + lazy = true, + }, + }, + opts = { + mouse = true, + border = true, + }, + config = function(_, opts) + -- Keyboard users + vim.keymap.set("n", "", function() + require("menu").open("default") + end, {}) + + -- mouse users + nvimtree users! + vim.keymap.set({ "n", "v" }, "", function() + require("menu.utils").delete_old_menus() + vim.cmd.exec('"normal! \\"') + + local buf = vim.api.nvim_win_get_buf(vim.fn.getmousepos().winid) + local options = vim.bo[buf].ft == "NvimTree" and "nvimtree" or "default" + require("menu").open(options, opts) + end, {}) + end, + }, +} diff --git a/lua/pcode/plugins/extras/nvimufo.lua b/lua/pcode/plugins/extras/nvimufo.lua new file mode 100644 index 0000000..eb63709 --- /dev/null +++ b/lua/pcode/plugins/extras/nvimufo.lua @@ -0,0 +1,107 @@ +local M = { "kevinhwang91/nvim-ufo" } +M.event = "VeryLazy" +M.dependencies = { + "kevinhwang91/promise-async", + "luukvbaal/statuscol.nvim", +} +M.config = function() + local builtin = require("statuscol.builtin") + local cfg = { + setopt = true, + relculright = true, + segments = { + + { text = { builtin.foldfunc, " " }, click = "v:lua.ScFa", hl = "Comment" }, + + { text = { "%s" }, click = "v:lua.ScSa" }, + { text = { builtin.lnumfunc, " " }, click = "v:lua.ScLa" }, + }, + } + + require("statuscol").setup(cfg) + + vim.o.foldcolumn = "1" -- '0' is not bad + vim.o.foldlevel = 99 -- Using ufo provider need a large value, feel free to decrease the value + vim.o.foldlevelstart = 99 + vim.o.foldenable = true + vim.o.fillchars = [[eob: ,fold: ,foldopen:โ–พ,foldsep: ,foldclose:โ–ธ]] + + -- Using ufo provider need remap `zR` and `zM`. If Neovim is 0.6.1, remap yourself + vim.keymap.set("n", "zR", require("ufo").openAllFolds) + vim.keymap.set("n", "zM", require("ufo").closeAllFolds) + + local handler = function(virtText, lnum, endLnum, width, truncate) + local newVirtText = {} + local suffix = (" ๓ฐก %d "):format(endLnum - lnum) + local sufWidth = vim.fn.strdisplaywidth(suffix) + local targetWidth = width - sufWidth + local curWidth = 0 + for _, chunk in ipairs(virtText) do + local chunkText = chunk[1] + local chunkWidth = vim.fn.strdisplaywidth(chunkText) + if targetWidth > curWidth + chunkWidth then + table.insert(newVirtText, chunk) + else + chunkText = truncate(chunkText, targetWidth - curWidth) + local hlGroup = chunk[2] + table.insert(newVirtText, { chunkText, hlGroup }) + chunkWidth = vim.fn.strdisplaywidth(chunkText) + -- str width returned from truncate() may less than 2nd argument, need padding + if curWidth + chunkWidth < targetWidth then + suffix = suffix .. (" "):rep(targetWidth - curWidth - chunkWidth) + end + break + end + curWidth = curWidth + chunkWidth + end + table.insert(newVirtText, { suffix, "MoreMsg" }) + return newVirtText + end + + local ftMap = { + -- typescriptreact = { "lsp", "treesitter" }, + -- python = { "indent" }, + -- git = "", + } + + require("ufo").setup({ + fold_virt_text_handler = handler, + close_fold_kinds = {}, + -- close_fold_kinds = { "imports", "comment" }, + provider_selector = function(bufnr, filetype, buftype) + -- if you prefer treesitter provider rather than lsp, + -- return ftMap[filetype] or {'treesitter', 'indent'} + return ftMap[filetype] + -- return { "treesitter", "indent" } + + -- refer to ./doc/example.lua for detail + end, + + preview = { + win_config = { + border = { "", "โ”€", "", "", "", "โ”€", "", "" }, + winhighlight = "Normal:Folded", + winblend = 0, + }, + mappings = { + scrollU = "", + scrollD = "", + jumpTop = "[", + jumpBot = "]", + }, + }, + }) + + vim.keymap.set("n", "zR", require("ufo").openAllFolds) + vim.keymap.set("n", "zM", require("ufo").closeAllFolds) + vim.keymap.set("n", "zr", require("ufo").openFoldsExceptKinds) + vim.keymap.set("n", "zm", require("ufo").closeFoldsWith) -- closeAllFolds == closeFoldsWith(0) + vim.keymap.set("n", "K", function() + local winid = require("ufo").peekFoldedLinesUnderCursor() + if not winid then + vim.lsp.buf.hover() + end + end) +end + +return M diff --git a/lua/pcode/plugins/extras/rainbowdelimiters.lua b/lua/pcode/plugins/extras/rainbowdelimiters.lua new file mode 100644 index 0000000..3cf3380 --- /dev/null +++ b/lua/pcode/plugins/extras/rainbowdelimiters.lua @@ -0,0 +1,37 @@ +return { + "hiphish/rainbow-delimiters.nvim", + lazy = true, + event = "BufRead", + branch = "master", + config = function() + -- Modul ini berisi beberapa definisi default + local rainbow_delimiters = require("rainbow-delimiters") + vim.g.rainbow_delimiters = { + strategy = { + [""] = rainbow_delimiters.strategy["global"], + vim = rainbow_delimiters.strategy["local"], + }, + query = { + [""] = "rainbow-delimiters", + -- lua = "rainbow-blocks", + }, + priority = { + [""] = 110, + lua = 210, + }, + highlight = { + "RainbowDelimiterRed", + "RainbowDelimiterYellow", + "RainbowDelimiterBlue", + "RainbowDelimiterOrange", + "RainbowDelimiterGreen", + "RainbowDelimiterViolet", + "RainbowDelimiterCyan", + }, + blacklist = { + "html", + "tsx", + }, + } + end, +} diff --git a/lua/pcode/plugins/extras/refactoring.lua b/lua/pcode/plugins/extras/refactoring.lua new file mode 100644 index 0000000..a521863 --- /dev/null +++ b/lua/pcode/plugins/extras/refactoring.lua @@ -0,0 +1,49 @@ +return { + -- Incremental rename + { + "smjonas/inc-rename.nvim", + cmd = "IncRename", + -- stylua: ignore + keys = { + {"u","",desc=" ๏„ Edit"}, + { + "un", + function() + return ":IncRename " .. vim.fn.expand("") + end, + desc = "Incremental rename", + mode = "n", + noremap = true, + expr = true, + }, + }, + config = true, + }, + { + "folke/noice.nvim", + optional = true, + opts = { + presets = { inc_rename = true }, + }, + }, + -- Refactoring tool + { + "ThePrimeagen/refactoring.nvim", + keys = { + { + "r", + function() + require("refactoring").select_refactor({ + show_success_message = true, + }) + end, + mode = "v", + noremap = true, + silent = true, + expr = false, + desc = " ๎ฉณ Refactoring", + }, + }, + opts = {}, + }, +} diff --git a/lua/pcode/plugins/extras/rest.lua b/lua/pcode/plugins/extras/rest.lua new file mode 100644 index 0000000..2b887f0 --- /dev/null +++ b/lua/pcode/plugins/extras/rest.lua @@ -0,0 +1,27 @@ +vim.filetype.add({ + extension = { + ["http"] = "http", + }, +}) +return { + { + "mistweaverco/kulala.nvim", + ft = "http", + keys = { + { "R", "", desc = " ๓ฐ–Ÿ Rest" }, + { "Rs", "lua require('kulala').run()", desc = "Send the request" }, + { "Rt", "lua require('kulala').toggle_view()", desc = "Toggle headers/body" }, + { "Rp", "lua require('kulala').jump_prev()", desc = "Jump to previous request" }, + { "Rn", "lua require('kulala').jump_next()", desc = "Jump to next request" }, + }, + opts = {}, + }, + { + "nvim-treesitter/nvim-treesitter", + opts = function(_, opts) + opts.ensure_installed = opts.ensure_installed or {} + vim.list_extend(opts.ensure_installed, { "http", "graphql" }) + return opts + end, + }, +} diff --git a/lua/pcode/plugins/extras/restnvim.lua b/lua/pcode/plugins/extras/restnvim.lua new file mode 100644 index 0000000..3c3b305 --- /dev/null +++ b/lua/pcode/plugins/extras/restnvim.lua @@ -0,0 +1,46 @@ +-- install luarock +-- sudo apt-get install luarocks lua5.4 (untuk linux) +-- https://github.com/luarocks/luarocks/wiki/Installation-instructions-for-Windows + +-- manual penggunaan +-- https://www.jetbrains.com/help/idea/exploring-http-syntax.html +return { + "rest-nvim/rest.nvim", + -- NOTE: Follow https://github.com/rest-nvim/rest.nvim/issues/306 + -- commit = "91badd46c60df6bd9800c809056af2d80d33da4c", + event = "VeryLazy", + enabled = vim.fn.executable("luarocks") == 1, + dependencies = { + { + "nvim-treesitter/nvim-treesitter", + opts = function(_, opts) + vim.list_extend(opts.ensure_installed, { "http" }) + end, + }, + }, + config = function() + require("rest-nvim").setup() + vim.api.nvim_create_autocmd("FileType", { + pattern = { "http", "httpResult" }, + callback = function() + local opt = vim.opt + opt.number = false -- Print line number + opt.preserveindent = false -- Preserve indent structure as much as possible + opt.relativenumber = false + end, + }) + end, + ft = "http", + keys = { + { + "rh", + "Rest run", + desc = "Run http request under cursor", + }, + { + "rH", + "Rest last", + desc = "Run last http request", + }, + }, +} diff --git a/lua/pcode/plugins/extras/scrollview.lua b/lua/pcode/plugins/extras/scrollview.lua new file mode 100644 index 0000000..73b0543 --- /dev/null +++ b/lua/pcode/plugins/extras/scrollview.lua @@ -0,0 +1,13 @@ +return { + "dstein64/nvim-scrollview", + lazy = true, + event = { "BufRead", "InsertEnter", "BufNewFile" }, + opts = { + bg = "LightCyan", + ctermbg = 160, + }, + config = function(_, opts) + require("scrollview").setup(opts) + vim.g.scrollview_excluded_filetypes = { "NvimTree", "vista_kind", "Outline", "neo-tree" } + end, +} diff --git a/lua/pcode/plugins/extras/showkeys.lua b/lua/pcode/plugins/extras/showkeys.lua new file mode 100644 index 0000000..00bb89a --- /dev/null +++ b/lua/pcode/plugins/extras/showkeys.lua @@ -0,0 +1 @@ +return { "nvzone/showkeys", cmd = "ShowkeysToggle" } diff --git a/lua/pcode/plugins/extras/smartsplit.lua b/lua/pcode/plugins/extras/smartsplit.lua new file mode 100644 index 0000000..42da51e --- /dev/null +++ b/lua/pcode/plugins/extras/smartsplit.lua @@ -0,0 +1,21 @@ +return { + "mrjones2014/smart-splits.nvim", + lazy = true, + event = { "BufRead", "InsertEnter", "BufNewFile" }, + opts = { + ignored_filetypes = { + "nofile", + "quickfix", + "qf", + "prompt", + }, + ignored_buftypes = { "nofile" }, + }, + config = function(_, opts) + require("smart-splits").setup(opts) + vim.keymap.set("n", "", require("smart-splits").resize_left) + vim.keymap.set("n", "", require("smart-splits").resize_down) + vim.keymap.set("n", "", require("smart-splits").resize_right) + end, +} diff --git a/lua/pcode/plugins/extras/telescopediff.lua b/lua/pcode/plugins/extras/telescopediff.lua new file mode 100644 index 0000000..c122598 --- /dev/null +++ b/lua/pcode/plugins/extras/telescopediff.lua @@ -0,0 +1,26 @@ +return { + "nvim-telescope/telescope.nvim", + dependencies = { + "nvim-lua/plenary.nvim", + "jemag/telescope-diff.nvim", + }, + config = function() + require("telescope").load_extension("diff") + end, + keys = { + { + "sd", + function() + require("telescope").extensions.diff.diff_files({ hidden = true }) + end, + desc = "Diff 2 Files", + }, + { + "sD", + function() + require("telescope").extensions.diff.diff_current({ hidden = true }) + end, + desc = "Diff Current File", + }, + }, +} diff --git a/lua/pcode/plugins/extras/telescopetreesiterinfo.lua b/lua/pcode/plugins/extras/telescopetreesiterinfo.lua new file mode 100644 index 0000000..487b930 --- /dev/null +++ b/lua/pcode/plugins/extras/telescopetreesiterinfo.lua @@ -0,0 +1,13 @@ +return { + "nvim-telescope/telescope.nvim", + dependencies = { + "nvim-lua/plenary.nvim", + "roycrippen4/telescope-treesitter-info.nvim", + }, + config = function() + require("telescope").load_extension("treesitter_info") + end, + keys = { + { "p", "Telescope treesitter_info", desc = "Treesitter Info" }, + }, +} diff --git a/lua/pcode/plugins/extras/tinydignostic.lua b/lua/pcode/plugins/extras/tinydignostic.lua new file mode 100644 index 0000000..42a20ab --- /dev/null +++ b/lua/pcode/plugins/extras/tinydignostic.lua @@ -0,0 +1,22 @@ +return { + "rachartier/tiny-inline-diagnostic.nvim", + event = "VeryLazy", -- Or `LspAttach` + priority = 1000, -- needs to be loaded in first + config = function() + require("tiny-inline-diagnostic").setup({ + preset = "powerline", + -- signs = { + -- left = "๎‚ถ", + -- right = "๎‚ด", + -- diag = "โ—", + -- arrow = " ๏…ท ", + -- up_arrow = " ๏…ถ ", + -- vertical = " โ”‚", + -- vertical_end = " โ””", + -- }, + blend = { + factor = 0.22, + }, + }) + end, +} diff --git a/lua/pcode/plugins/extras/transparent.lua b/lua/pcode/plugins/extras/transparent.lua new file mode 100644 index 0000000..137aa4c --- /dev/null +++ b/lua/pcode/plugins/extras/transparent.lua @@ -0,0 +1,70 @@ +return { + -- transparant config + { + "xiyaowong/transparent.nvim", + lazy = true, + event = "BufWinEnter", + cmd = { "TransparentToggle", "TransparentEnable", "TransparentDisable" }, + config = function() + require("transparent").setup({ + extra_groups = { + "Normal", + "NormalNC", + "NormalFloat", + "FloatBorder", + "Comment", + "Folded", + "GitSignsAdd", + "GitSignsDelete", + "GitSignsChange", + "FoldColumn", + "WinBar", + "WinBarNC", + "NotifyBackground", + "TabLine", + "TabLineFill", + }, + exclude_groups = { + -- disable active selection backgroun + "CursorLine", + "CursorLineNR", + "CursorLineSign", + "CursorLineFold", + -- disable nvimtree CursorLine + "NvimTreeCursorLine", + -- disable Neotree CursorLine + "NeoTreeCursorLine", + -- disable Telescope active selection background + "TelescopeSelection", + -- disable lualine background color + "LualineNormal", + }, + }) + require("transparent").clear_prefix("BufferLine") + -- clear prefix for which-key + require("transparent").clear_prefix("WhichKey") + -- clear prefix for lazy.nvim + require("transparent").clear_prefix("Lazy") + -- clear prefix for NvimTree + require("transparent").clear_prefix("NvimTree") + -- clear prefix for NeoTree + require("transparent").clear_prefix("NeoTree") + -- clear prefix for Telescope + require("transparent").clear_prefix("Telescope") + require("transparent").clear_prefix("mason") + -- create auto command to set transparent + vim.cmd("TransparentDisable") + vim.cmd("TransparentEnable") + vim.api.nvim_set_hl(0, "MasonHeader", { bold = true, bg = "NONE", fg = "#838FA7" }) + vim.api.nvim_set_hl(0, "MasonMutedBlock", { bg = "NONE", fg = "#838FA7" }) + vim.api.nvim_set_hl(0, "MasonHighlightBlockBold", { bold = true, bg = "NONE", fg = "#ABB2BF" }) + vim.api.nvim_set_hl(0, "LazyH1", { bold = true, bg = "NONE", fg = "#ABB2BF" }) + end, + }, + { + "rcarriga/nvim-notify", + opts = function(_, opts) + opts.background_colour = "#00000000" + end, + }, +} diff --git a/lua/pcode/plugins/extras/treesittercontex.lua b/lua/pcode/plugins/extras/treesittercontex.lua new file mode 100644 index 0000000..7871d22 --- /dev/null +++ b/lua/pcode/plugins/extras/treesittercontex.lua @@ -0,0 +1,10 @@ +return { + "nvim-treesitter/nvim-treesitter-context", + lazy = true, + event = { "BufRead", "VeryLazy" }, + opts = {}, + keys = { + { "T", "", desc = " ๏†ป TS Context" }, + { "Tt", "TSContextToggle", desc = "Toggle Context" }, + }, +} diff --git a/lua/pcode/plugins/extras/verticalcolumn.lua b/lua/pcode/plugins/extras/verticalcolumn.lua new file mode 100644 index 0000000..8214e58 --- /dev/null +++ b/lua/pcode/plugins/extras/verticalcolumn.lua @@ -0,0 +1,27 @@ +return { + { + "lukas-reineke/virt-column.nvim", + event = "BufRead", + opts = {}, + config = function() + local icons = require("pcode.user.icons") + require("virt-column").overwrite({ + exclude = { + filetypes = { "help", "text", "markdown" }, + }, + char = icons.ui.LineMiddle, + }) + -- Mengatur colum color max 80 caracter + vim.api.nvim_create_autocmd("BufWinEnter", { + pattern = "*", + callback = function() + vim.opt.formatoptions = "croql" + vim.opt.textwidth = 80 + vim.opt.colorcolumn = "+1" + vim.opt.lazyredraw = false + -- vim.cmd "hi ColorColumn guibg=#1B2430 ctermbg=246" + end, + }) + end, + }, +} diff --git a/lua/pcode/plugins/extras/visualmulti.lua b/lua/pcode/plugins/extras/visualmulti.lua new file mode 100644 index 0000000..2e2a5cf --- /dev/null +++ b/lua/pcode/plugins/extras/visualmulti.lua @@ -0,0 +1,64 @@ +return { + --[[ "mg979/vim-visual-multi", + event = { "BufRead", "InsertEnter", "BufNewFile" }, + branch = "master", + lazy = true, + init = function() + -- Nonaktifkan mapping default jika ingin custom + vim.g.VM_default_mappings = 0 + + vim.g.VM_mouse_mappings = 1 -- equal CTRL + Left Click on VSCODE + vim.g.VM_maps = { + ["Find Under"] = "", -- equal CTRL+D on VSCODE + ["Find Subword Under"] = "", -- equal CTRL+D on VSCODE + ["Select Cursor Down"] = "", -- equal CTRL+ALT+DOWN on VSCODE + ["Select Cursor Up"] = "", -- equal CTRL+ALT+UP on VSCODE + ["Undo"] = "u", -- undo + ["Redo"] = "", -- redo + } + end, ]] + { + "brenton-leighton/multiple-cursors.nvim", + version = "*", + opts = {}, + event = { "BufRead", "InsertEnter", "BufNewFile" }, + keys = { + -- ๐Ÿง  Seperti Ctrl + D di VS Code โ†’ pilih kata berikutnya yang sama + { + "", + function() + vim.cmd("MultipleCursorsAddJumpNextMatch") + vim.schedule(function() + vim.notify( + "๐Ÿ–Š๏ธ Multiple cursor: menambahkan seleksi berikutnya", + vim.log.levels.INFO, + { title = "MultipleCursors" } + ) + end) + end, + mode = { "n", "x" }, + desc = "Select next match", + }, + + -- ๐Ÿ‘‡ Menambah kursor ke bawah seperti Ctrl + Alt + โ†“ + { "", "MultipleCursorsAddDown", mode = { "n", "i", "x" }, desc = "Add cursor down" }, + + -- ๐Ÿ‘† Menambah kursor ke atas seperti Ctrl + Alt + โ†‘ + { "", "MultipleCursorsAddUp", mode = { "n", "i", "x" }, desc = "Add cursor up" }, + + -- ๐Ÿ–ฑ๏ธ Tambah/hapus kursor dengan Ctrl + Klik mouse + { + "", + "MultipleCursorsMouseAddDelete", + mode = { "n", "i" }, + desc = "Add/remove cursor with mouse", + }, + + -- ๐Ÿ”ฒ Tambah kursor ke seluruh baris visual yang dipilih (pakai Leader + m) + { "m", "MultipleCursorsAddVisualArea", mode = { "x" }, desc = "Add cursors to visual lines" }, + + -- ๐Ÿ”’ Lock semua kursor supaya siap edit serentak + { "L", "MultipleCursorsLock", mode = { "n", "x" }, desc = "Lock cursors" }, + }, + }, +} diff --git a/lua/pcode/plugins/extras/yanky.lua b/lua/pcode/plugins/extras/yanky.lua new file mode 100644 index 0000000..fbdd6b9 --- /dev/null +++ b/lua/pcode/plugins/extras/yanky.lua @@ -0,0 +1,19 @@ +return { + "gbprod/yanky.nvim", + event = "BufReadPre", + opts = { + ring = { + history_length = 50, + storage = "memory", + }, + preserve_cursor_position = { + enabled = false, + }, + }, + config = function(_, opts) + require("yanky").setup(opts) + -- cycle through the yank history, only work after paste + vim.keymap.set("n", "[y", "(YankyCycleForward)") + vim.keymap.set("n", "]y", "(YankyCycleBackward)") + end, +} diff --git a/lua/pcode/plugins/extras/zenmode.lua b/lua/pcode/plugins/extras/zenmode.lua new file mode 100644 index 0000000..79f4eee --- /dev/null +++ b/lua/pcode/plugins/extras/zenmode.lua @@ -0,0 +1,21 @@ +return { + "folke/zen-mode.nvim", + event = "VeryLazy", + opts = { + plugins = { + options = { + -- hide statusline + laststatus = 0, + }, + }, + on_open = function(win) + require("notify")("Zen Mode ON") + end, + on_close = function() + require("notify")("Zen Mode OFF") + end, + }, + keys = { + { "z", "ZenMode", desc = "๓ฐคผ Toggle Zen Mode" }, + }, +} diff --git a/lua/pcode/plugins/gitsign.lua b/lua/pcode/plugins/gitsign.lua new file mode 100644 index 0000000..558ce44 --- /dev/null +++ b/lua/pcode/plugins/gitsign.lua @@ -0,0 +1,66 @@ +return { + "lewis6991/gitsigns.nvim", + lazy = true, + enabled = vim.fn.executable("git") == 1, + ft = "gitcommit", + event = "BufRead", + opts = { + signs = { + add = { text = "โ–Ž" }, + change = { text = "โ–Ž" }, + delete = { text = "๏ƒš" }, + topdelete = { text = "๏ƒš" }, + changedelete = { text = "โ–Ž" }, + untracked = { text = "โ–Ž" }, + }, + signcolumn = true, + numhl = false, + linehl = false, + word_diff = false, + watch_gitdir = { + interval = 1000, + follow_files = true, + }, + attach_to_untracked = true, + current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame` + current_line_blame_opts = { + virt_text = true, + virt_text_pos = "eol", -- 'eol' | 'overlay' | 'right_align' + delay = 1000, + ignore_whitespace = false, + }, + current_line_blame_formatter = ", - ", + sign_priority = 6, + status_formatter = nil, -- Use default + update_debounce = 200, + max_file_length = 40000, + preview_config = { + -- Options passed to nvim_open_win + border = "rounded", + style = "minimal", + relative = "cursor", + row = 0, + col = 1, + }, + }, + config = function(_, opts) + require("gitsigns").setup(opts) + end, + -- stylua: ignore + keys = { + { "g", "", desc = " ๎™ Git" }, + { "gg",function()LAZYGIT_TOGGLE()end,desc = "Lazygit"}, + { "gj",function()require("gitsigns").next_hunk()end,desc = "Next Hunk"}, + { "gk",function()require("gitsigns").prev_hunk()end,desc = "Prev Hunk"}, + { "gl",function()require("gitsigns").blame_line()end,desc = "Blame"}, + { "gp",function()require("gitsigns").preview_hunk()end,desc = "Preview Hunk"}, + { "gr",function()require("gitsigns").reset_hunk()end,desc = "Reset Hunk"}, + { "gR",function()require("gitsigns").reset_buffer()end,desc = "Reset Buffer"}, + { "gs",function()require("gitsigns").stage_hunk()end,desc = "Stage Hunge"}, + { "gu",function()require("gitsigns").undo_stage_hunk()end,desc = "Undo Stage Hunge"}, + { "go","Telescope git_status",desc = "Opened Changed File"}, + { "gb","Telescope git_branches",desc = "Checkout Branch"}, + { "gc","Telescope git_commits",desc = "Checkout Commit"}, + { "gd","Gitsigns diffthis HEAD",desc = "Diff"}, + }, +} diff --git a/lua/pcode/plugins/indentblakline.lua b/lua/pcode/plugins/indentblakline.lua new file mode 100644 index 0000000..2d76ff1 --- /dev/null +++ b/lua/pcode/plugins/indentblakline.lua @@ -0,0 +1,39 @@ +return { + --[[ "lukas-reineke/indent-blankline.nvim", + -- version = "3.5.4", + event = { "BufRead", "InsertEnter", "BufNewFile" }, + lazy = true, + opts = { + indent = { + char = "โ”‚", + tab_char = "โ”‚", + }, + scope = { enabled = false }, + exclude = { + buftypes = { + "nofile", + "prompt", + "quickfix", + "terminal", + }, + filetypes = { + "help", + "alpha", + "dashboard", + "neo-tree", + "Trouble", + "trouble", + "lazy", + "mason", + "notify", + "toggleterm", + "lazyterm", + "NvimTree", + "aerial", + "neogitstatus", + "startify", + }, + }, + }, + main = "ibl", ]] +} diff --git a/lua/pcode/plugins/indentline.lua b/lua/pcode/plugins/indentline.lua new file mode 100644 index 0000000..909d0a6 --- /dev/null +++ b/lua/pcode/plugins/indentline.lua @@ -0,0 +1,22 @@ +return { + "shellRaining/hlchunk.nvim", + event = { "BufReadPre", "BufNewFile" }, + config = function() + require("hlchunk").setup({ + chunk = { + enable = true, + -- ... + }, + indent = { + enable = true, + -- ... + }, + exclude_filetypes = { + aerial = true, + dashboard = true, + alpha = true, + -- some other filetypes + }, + }) + end, +} diff --git a/lua/pcode/plugins/lang/angular.lua b/lua/pcode/plugins/lang/angular.lua new file mode 100644 index 0000000..f4a4f2d --- /dev/null +++ b/lua/pcode/plugins/lang/angular.lua @@ -0,0 +1,29 @@ +return { + { + "nvim-treesitter", + opts = function(_, opts) + if type(opts.ensure_installed) == "table" then + vim.list_extend(opts.ensure_installed, { "angular", "scss", "typescript" }) + end + vim.api.nvim_create_autocmd({ "BufReadPost", "BufNewFile" }, { + pattern = { "*.component.html", "*.container.html" }, + callback = function() + vim.treesitter.start(nil, "angular") + end, + }) + end, + }, + { + "williamboman/mason-lspconfig.nvim", + opts = function(_, opts) + opts.ensure_installed = opts.ensure_installed or {} + vim.list_extend(opts.ensure_installed, { "angularls", "ts_ls" }) + end, + }, + { + "williamboman/mason.nvim", + opts = { + ensure_installed = { "prettier" }, + }, + }, +} diff --git a/lua/pcode/plugins/lang/cpp.lua b/lua/pcode/plugins/lang/cpp.lua new file mode 100644 index 0000000..51fcc4d --- /dev/null +++ b/lua/pcode/plugins/lang/cpp.lua @@ -0,0 +1,66 @@ +return { + { + "nvim-treesitter/nvim-treesitter", + event = "VeryLazy", + opts = function(_, opts) + opts.ensure_installed = opts.ensure_installed or {} + vim.list_extend(opts.ensure_installed, { "cpp", "c" }) + end, + }, + { + "williamboman/mason-lspconfig.nvim", + opts = function(_, opts) + opts.ensure_installed = opts.ensure_installed or {} + vim.list_extend(opts.ensure_installed, { "clangd" }) + end, + }, + { + "jay-babu/mason-nvim-dap.nvim", + event = "VeryLazy", + opts = function(_, opts) + opts.ensure_installed = opts.ensure_installed or {} + vim.list_extend(opts.ensure_installed, { "codelldb" }) + end, + }, + { + "pojokcodeid/auto-conform.nvim", + event = "VeryLazy", + opts = function(_, opts) + local package = "clang-format" + vim.list_extend(opts.ensure_installed, { package }) + opts.formatters_by_ft.cpp = { package } + opts.formatters_by_ft.c = { package } + end, + }, + { + "nvim-neotest/neotest", + ft = { "cpp" }, + dependencies = { + "nvim-treesitter/nvim-treesitter", + "nvim-neotest/nvim-nio", + "antoinemadec/FixCursorHold.nvim", + "nvim-lua/plenary.nvim", + "alfaix/neotest-gtest", + }, + config = function() + require("neotest").setup({ + adapters = { + require("neotest-gtest").setup({}), + }, + }) + end, + -- stylua: ignore + keys = { + { "T","",desc=" ๏’™ Test"}, + { "Tt", function() require("neotest").run.run(vim.fn.expand("%")) end, desc = "Run File" }, + { "Tr", function() require("neotest").run.run() end, desc = "Run Nearest" }, + { "TT", function() require("neotest").run.run(vim.loop.cwd()) end, desc = "Run All Test Files" }, + { "Tl", function() require("neotest").run.run_last() end, desc = "Run Last" }, + { "Ts", function() require("neotest").summary.toggle() end, desc = "Toggle Summary" }, + { "To", function() require("neotest").output.open({ enter = true, auto_close = true }) end, desc = "Show Output" }, + { "TO", function() require("neotest").output_panel.toggle() end, desc = "Toggle Output Panel" }, + { "TS", function() require("neotest").run.stop() end, desc = "Stop" }, + { "rc", "terminalg++ --debug main.cpp -o main", desc = "Compile Debug main.cpp" }, + }, + }, +} diff --git a/lua/pcode/plugins/lang/deno.lua b/lua/pcode/plugins/lang/deno.lua new file mode 100644 index 0000000..b1ae955 --- /dev/null +++ b/lua/pcode/plugins/lang/deno.lua @@ -0,0 +1,149 @@ +return { + { + "nvim-treesitter/nvim-treesitter", + opts = function(_, opts) + opts.ensure_installed = opts.ensure_installed or {} + vim.list_extend( + opts.ensure_installed, + { "html", "javascript", "typescript", "tsx", "css", "json", "jsonc" } + ) + end, + }, + { + "williamboman/mason-lspconfig.nvim", + opts = function(_, opts) + opts.ensure_installed = opts.ensure_installed or {} + vim.list_extend(opts.ensure_installed, { "html", "eslint", "cssls", "emmet_ls", "jsonls", "denols" }) + end, + }, + { + "pojokcodeid/auto-conform.nvim", + event = "VeryLazy", + opts = function(_, opts) + opts.formatters_by_ft = opts.formatters_by_ft or {} + local package = "prettier" + vim.list_extend(opts.ensure_installed, { package }) + opts.formatters_by_ft.javascript = { package } + end, + }, + { + "pojokcodeid/auto-lint.nvim", + opts = function(_, opts) + opts.linters_by_ft = opts.linters_by_ft or {} + vim.list_extend(opts.ensure_installed, { "eslint_d" }) + opts.linters_by_ft.javascript = { "eslint_d" } + end, + }, + { + "rcarriga/nvim-dap-ui", + lazy = true, + event = "BufRead", + dependencies = { + { "mfussenegger/nvim-dap", lazy = true }, + { "nvim-neotest/nvim-nio", lazy = true }, + { + "mxsdev/nvim-dap-vscode-js", + dependencies = { + "microsoft/vscode-js-debug", + version = "1.x", + build = "npm i && npm run compile vsDebugServerBundle && mv dist out", + }, + config = function() + require("dap-vscode-js").setup({ + -- node_path = "node", -- Path of node executable. Defaults to $NODE_PATH, and then "node" + debugger_path = vim.fn.stdpath("data") .. "/lazy/vscode-js-debug", + -- debugger_cmd = { "extension" }, -- Command to use to launch the debug server. Takes precedence over `node_path` and `debugger_path`. + adapters = { + "chrome", + "pwa-node", + "pwa-chrome", + "pwa-msedge", + "node-terminal", + "pwa-extensionHost", + "node", + "chrome", + }, -- which adapters to register in nvim-dap + -- log_file_path = "(stdpath cache)/dap_vscode_js.log" -- Path for file logging + -- log_file_level = false -- Logging level for output to file. Set to false to disable file logging. + -- log_console_level = vim.log.levels.ERROR -- Logging level for output to console. Set to false to disable console output. + }) + end, + }, + }, + config = function() + require("pcode.user.dapui") + local js_based_languages = { "typescript" } + + for _, language in ipairs(js_based_languages) do + require("dap").configurations[language] = { + { + type = "pwa-node", + request = "launch", + name = "Launch file", + runtimeExecutable = "deno", + runtimeArgs = { + "run", + "--inspect-wait", + "--allow-all", + }, + program = "${file}", + cwd = "${workspaceFolder}", + attachSimplePort = 9229, + }, + } + end + end, + -- stylua: ignor + keys = { + { "d", "", desc = " ๎ซ˜ Debug" }, + { "dt", "lua require'dap'.toggle_breakpoint()", desc = "Toggle Breakpoint" }, + { "db", "lua require'dap'.step_back()", desc = "Step Back" }, + { "dc", "lua require'dap'.continue()", desc = "Continue" }, + { "dC", "lua require'dap'.run_to_cursor()", desc = "Run To Cursor" }, + { "dd", "lua require'dap'.disconnect()", desc = "Disconnect" }, + { "dg", "lua require'dap'.session()", desc = "Get Session" }, + { "di", "lua require'dap'.step_into()", desc = "Step Into" }, + { "do", "lua require'dap'.step_over()", desc = "Step Over" }, + { "du", "lua require'dap'.step_out()", desc = "Step Out" }, + { "dp", "lua require'dap'.pause()", desc = "Pause" }, + { "dr", "lua require'dap'.repl.toggle()", desc = "Toggle Repl" }, + { "ds", "lua require'dap'.continue()", desc = "Start" }, + { "dq", "lua require'dap'.close()", desc = "Quit" }, + { "dU", "lua require'dapui'.toggle({reset = true})", desc = "Toggle UI" }, + { "T", "", desc = " ๏’™ Test" }, + { "Tr", "terminal deno test", desc = "Run Test" }, + { "Tp", "terminal deno test --parallel", desc = "Run Parallel" }, + { + "Ts", + function() + vim.cmd("terminal deno test " .. vim.fn.expand("%")) + end, + desc = "Run Current File", + }, + { + "Tu", + function() + -- local current_word = vim.fn.expand("") + local extracted_text = "" + local input = vim.fn.getline(".") + local contains_double_quotes = input:match('"') + local contains_single_quotes = input:match("'") + if contains_double_quotes then + -- process jika ada double quote + input = input:gsub('"', "'") + local start_index, end_index = input:find("'([^']*)'") -- Mencari teks di dalam tanda petik satu + extracted_text = input:sub(start_index, end_index) + elseif contains_single_quotes then + input = input:gsub('"', "'") + local start_index, end_index = input:find("'([^']*)'") -- Mencari teks di dalam tanda petik satu + extracted_text = input:sub(start_index, end_index) + else + extracted_text = (input:gsub("Deno.test%(function", "")):gsub("%(%) %{", "") + end + vim.cmd("terminal deno test --filter " .. extracted_text) + end, + desc = "Run Under Cursor", + }, + }, + }, +} diff --git a/lua/pcode/plugins/lang/golang.lua b/lua/pcode/plugins/lang/golang.lua new file mode 100644 index 0000000..db8cf0a --- /dev/null +++ b/lua/pcode/plugins/lang/golang.lua @@ -0,0 +1,426 @@ +return { + { + "nvim-treesitter/nvim-treesitter", + opts = function(_, opts) + opts.ensure_installed = opts.ensure_installed or {} + vim.list_extend(opts.ensure_installed, { "go", "gomod", "gosum", "gotmpl", "gowork" }) + end, + }, + { + "williamboman/mason-lspconfig.nvim", + opts = function(_, opts) + opts.ensure_installed = opts.ensure_installed or {} + vim.list_extend(opts.ensure_installed, { "gopls" }) + vim.api.nvim_create_user_command("GoRun", function() + local filename = vim.fn.expand("%:p") -- path lengkap file aktif + if not filename:match("%.go$") then + vim.notify("current file is not a go file.", vim.log.levels.WARN, { title = "GoRun" }) + return + end + + local Terminal = require("toggleterm.terminal").Terminal + local go_runner = Terminal:new({ + cmd = "go run " .. filename, + direction = "float", + close_on_exit = false, + hidden = true, + }) + + go_runner:toggle() + end, {}) + vim.api.nvim_create_user_command("GoBuild", function() + local cwd = vim.fn.getcwd() + local go_mod_path = cwd .. "/go.mod" + if vim.fn.filereadable(go_mod_path) == 0 then + vim.notify("current project is not a go project.", vim.log.levels.WARN, { title = "GoBuild" }) + return + end + + local Terminal = require("toggleterm.terminal").Terminal + -- create file exe jika os adalah windows + local filename = "output" + if vim.fn.has("win32") == 1 then + filename = "output.exe" + end + local go_runner = Terminal:new({ + cmd = "go build -o " .. filename .. " && ./" .. filename, + direction = "float", + close_on_exit = false, + hidden = true, + }) + + go_runner:toggle() + end, {}) + + -- Fungsi untuk membuat proyek Go + local function go_new_project() + local function create_notif(message, level) + local notif_ok, notify = pcall(require, "notify") + if notif_ok then + notify(message, level) + else + print(message) + end + end + + local function get_user_input(prompt, default_value) + vim.fn.inputsave() + local result = vim.fn.input(prompt, default_value) + vim.fn.inputrestore() + + if result == "" then + create_notif("Input canceled.", "info") + return nil, true + end + return result, false + end + + local project_name, canceled = get_user_input("Enter project name: ", "myapp") + if canceled then + return + end + + local file_name, canceled = get_user_input("Enter file name (without .go): ", "main") + if canceled then + return + end + + local function_name, canceled = get_user_input("Enter function name: ", "main") + if canceled then + return + end + + local cwd = vim.fn.getcwd() + local project_path = cwd .. "/" .. project_name + if vim.fn.isdirectory(project_path) == 1 then + create_notif("Project directory already exists: " .. project_path, "error") + return + end + + local mkdir_cmd = string.format("mkdir -p '%s'", project_path) + local gomod_cmd = string.format("cd '%s' && go mod init %s", project_path, project_name) + local entry_file = string.format("%s/%s.go", project_path, file_name) + local main_code = string.format( + [[ +package main + +import "fmt" + +func %s() { + fmt.Println("Hello, world!") +} +]], + function_name + ) + + vim.fn.system(mkdir_cmd) + vim.fn.system(gomod_cmd) + + local file = io.open(entry_file, "w") + if file then + file:write(main_code) + file:close() + create_notif("Go project created at " .. project_path, "info") + vim.cmd("cd " .. project_path) + + -- Jika ada NvimTreeOpen, jalankan lalu kembalikan fokus ke file + if vim.fn.exists(":NvimTreeOpen") == 2 then + vim.cmd("NvimTreeOpen") + -- Penjadwalan agar kembali ke buffer file Go setelah NvimTree terbuka + vim.schedule(function() + vim.cmd("edit " .. entry_file) + -- Cari baris function + local lines = {} + for line in main_code:gmatch("([^\n]*)\n?") do + table.insert(lines, line) + end + local func_line = 1 + for i, line in ipairs(lines) do + if line:find("func%s+" .. function_name .. "%s*%(") then + func_line = i + break + end + end + local target_line = func_line + 1 + vim.api.nvim_win_set_cursor(0, { target_line, 4 }) + vim.cmd("startinsert") + end) + else + vim.cmd("edit " .. entry_file) + local lines = {} + for line in main_code:gmatch("([^\n]*)\n?") do + table.insert(lines, line) + end + local func_line = 1 + for i, line in ipairs(lines) do + if line:find("func%s+" .. function_name .. "%s*%(") then + func_line = i + break + end + end + local target_line = func_line + 1 + vim.api.nvim_win_set_cursor(0, { target_line, 4 }) + vim.cmd("startinsert") + end + else + create_notif("Failed to create file: " .. entry_file, "error") + end + end + + vim.api.nvim_create_user_command("GoNewProject", go_new_project, {}) + + -- Fungsi untuk membuat file Go + local function go_new_file() + local function create_notif(message, level) + local notif_ok, notify = pcall(require, "notify") + if notif_ok then + notify(message, level) + else + print(message) + end + end + + local function get_user_input(prompt, default_value) + vim.fn.inputsave() + local result = vim.fn.input(prompt, default_value) + vim.fn.inputrestore() + if result == "" then + create_notif("Input canceled.", "info") + return nil, true + end + return result, false + end + + -- Ambil nama folder + local folder_name, canceled = get_user_input("Enter folder name (dot for current folder): ", ".") + if canceled then + return + end + + -- Ambil nama file (tanpa .go) + local file_name, canceled = get_user_input("Enter file name (without .go): ", "newfile") + if canceled then + return + end + + -- Ambil nama package + local package_name, canceled = get_user_input("Enter package name: ", "main") + if canceled then + return + end + + -- Ambil nama function + local function_name, canceled = get_user_input("Enter function name: ", "main") + if canceled then + return + end + + local cwd = vim.fn.getcwd() + local folder_path = (folder_name == "." or folder_name == "") and cwd or cwd .. "/" .. folder_name + + -- Cek dan buat folder jika perlu + if vim.fn.isdirectory(folder_path) == 0 then + local mkdir_cmd = string.format("mkdir -p '%s'", folder_path) + vim.fn.system(mkdir_cmd) + end + + local file_path = string.format("%s/%s.go", folder_path, file_name) + + if vim.fn.filereadable(file_path) == 1 then + create_notif("File already exists: " .. file_path, "error") + return + end + + local code = string.format( + [[ +package %s + +func %s() { + +} +]], + package_name, + function_name + ) + + -- Buat file dan isi konten + local file = io.open(file_path, "w") + if file then + file:write(code) + file:close() + create_notif("Go file created: " .. file_path, "info") + + -- Buka file dan tempatkan kursor di bawah function, mode insert + vim.cmd("edit " .. file_path) + local lines = {} + for line in code:gmatch("([^\n]*)\n?") do + table.insert(lines, line) + end + local func_line = 1 + for i, line in ipairs(lines) do + if line:find("func%s+" .. function_name .. "%s*%(") then + func_line = i + break + end + end + local target_line = func_line + 1 + vim.api.nvim_win_set_cursor(0, { target_line, 4 }) + vim.cmd("startinsert") + else + create_notif("Failed to create file: " .. file_path, "error") + end + end + + vim.api.nvim_create_user_command("GoNewFile", go_new_file, {}) + end, + }, + { + "pojokcodeid/auto-conform.nvim", + event = "VeryLazy", + opts = function(_, opts) + local package = "gofumpt" + vim.list_extend(opts.ensure_installed, { package }) + opts.formatters_by_ft.gofumpt = { package } + end, + }, + { + "pojokcodeid/auto-lint.nvim", + opts = function(_, opts) + opts.linters_by_ft = opts.linters_by_ft or {} + vim.list_extend(opts.ensure_installed, { "golangci-lint" }) + opts.linters_by_ft.php = { "golangci-lint" } + end, + }, + { + "nvim-neotest/neotest", + event = "VeryLazy", + ft = "go", + dependencies = { + "nvim-lua/plenary.nvim", + "antoinemadec/FixCursorHold.nvim", + "nvim-treesitter/nvim-treesitter", + + "nvim-neotest/neotest-plenary", + "nvim-neotest/neotest-vim-test", + + "nvim-neotest/nvim-nio", + + { + "fredrikaverpil/neotest-golang", + dependencies = { + { + "leoluz/nvim-dap-go", + opts = {}, + }, + }, + branch = "main", + }, + }, + opts = function(_, opts) + opts.adapters = opts.adapters or {} + opts.adapters["neotest-golang"] = { + go_test_args = { + "-v", + "-race", + "-count=1", + "-timeout=60s", + "-coverprofile=" .. vim.fn.getcwd() .. "/coverage.out", + }, + dap_go_enabled = true, + } + end, + config = function(_, opts) + if opts.adapters then + local adapters = {} + for name, config in pairs(opts.adapters or {}) do + if type(name) == "number" then + if type(config) == "string" then + config = require(config) + end + adapters[#adapters + 1] = config + elseif config ~= false then + local adapter = require(name) + if type(config) == "table" and not vim.tbl_isempty(config) then + local meta = getmetatable(adapter) + if adapter.setup then + adapter.setup(config) + elseif meta and meta.__call then + adapter(config) + else + error("Adapter " .. name .. " does not support setup") + end + end + adapters[#adapters + 1] = adapter + end + end + opts.adapters = adapters + end + + require("neotest").setup(opts) + end, + -- stylua: ignore + keys = { + { "T","",desc=" ๏’™ Test"}, + { "Ta", function() require("neotest").run.attach() end, desc = "[t]est [a]ttach" }, + { "Tf", function() require("neotest").run.run(vim.fn.expand("%")) end, desc = "[t]est run [f]ile" }, + { "TA", function() require("neotest").run.run(vim.uv.cwd()) end, desc = "[t]est [A]ll files" }, + { "TS", function() require("neotest").run.run({ suite = true }) end, desc = "[t]est [S]uite" }, + { "Tn", function() require("neotest").run.run() end, desc = "[t]est [n]earest" }, + { "Tl", function() require("neotest").run.run_last() end, desc = "[t]est [l]ast" }, + { "Ts", function() require("neotest").summary.toggle() end, desc = "[t]est [s]ummary" }, + { "To", function() require("neotest").output.open({ enter = true, auto_close = true }) end, desc = "[t]est [o]utput" }, + { "TO", function() require("neotest").output_panel.toggle() end, desc = "[t]est [O]utput panel" }, + { "Tt", function() require("neotest").run.stop() end, desc = "[t]est [t]erminate" }, + { "Td", function() require("neotest").run.run({ suite = false, strategy = "dap" }) end, desc = "Debug nearest test" }, + }, + }, + { + "rcarriga/nvim-dap-ui", + lazy = true, + event = "BufRead", + dependencies = { + { "mfussenegger/nvim-dap", lazy = true }, + { "nvim-neotest/nvim-nio", lazy = true }, + { + "theHamsta/nvim-dap-virtual-text", + opts = { + virt_text_win_col = 80, + }, + }, + }, + config = function() + require("pcode.user.dapui") + end, + keys = { + { "d", "", desc = " ๎ซ˜ Debug" }, + { "dt", "lua require'dap'.toggle_breakpoint()", desc = "Toggle Breakpoint" }, + { "db", "lua require'dap'.step_back()", desc = "Step Back" }, + { "dc", "lua require'dap'.continue()", desc = "Continue" }, + { "dC", "lua require'dap'.run_to_cursor()", desc = "Run To Cursor" }, + { "dd", "lua require'dap'.disconnect()", desc = "Disconnect" }, + { "dg", "lua require'dap'.session()", desc = "Get Session" }, + { "di", "lua require'dap'.step_into()", desc = "Step Into" }, + { "do", "lua require'dap'.step_over()", desc = "Step Over" }, + { "du", "lua require'dap'.step_out()", desc = "Step Out" }, + { "dp", "lua require'dap'.pause()", desc = "Pause" }, + { "dr", "lua require'dap'.repl.toggle()", desc = "Toggle Repl" }, + { "ds", "lua require'dap'.continue()", desc = "Start" }, + { "dq", "lua require'dap'.close()", desc = "Quit" }, + { "dU", "lua require'dapui'.toggle({reset = true})", desc = "Toggle UI" }, + }, + }, + { + "jay-babu/mason-nvim-dap.nvim", + lazy = true, + event = "BufRead", + dependencies = { "williamboman/mason.nvim", "mfussenegger/nvim-dap" }, + config = function() + require("mason-nvim-dap").setup({ + automatic_installation = true, + automatic_setup = true, + handlers = {}, + ensure_installed = { "delve" }, + }) + end, + }, +} diff --git a/lua/pcode/plugins/lang/java.lua b/lua/pcode/plugins/lang/java.lua new file mode 100644 index 0000000..aaba41c --- /dev/null +++ b/lua/pcode/plugins/lang/java.lua @@ -0,0 +1,111 @@ +local M = {} +M = { + { + "williamboman/mason-lspconfig.nvim", + opts = function(_, opts) + opts.skip_config = opts.skip_config or {} + vim.list_extend(opts.skip_config, { "jdtls" }) + end, + }, + { + "pojokcodeid/auto-java-project.nvim", + event = "VeryLazy", + config = function() + require("auto-java-project").setup() + vim.keymap.set("n", "Jc", ":CreateJavaClass", { desc = "Create Java Class" }) + vim.keymap.set("n", "Jm", ":CreateJavaMainClass", { desc = "Create Java Main Class" }) + vim.keymap.set("n", "Ji", ":CreateJavaInterface", { desc = "Create Java Interface" }) + end, + }, + { + "mfussenegger/nvim-jdtls", + dependencies = { "pojokcodeid/auto-jdtls.nvim" }, + ft = { "java" }, + -- your opts go here + opts = {}, + config = function(_, opts) + require("auto-jdtls").setup(opts) + require("auto-jdtls.utils").lsp_keymaps() + require("auto-jdtls.utils").jdtls_keymaps() + vim.keymap.set("n", "rM", ":RunMvnSpringBoot", { desc = "Run Maven Sping Boot" }) + vim.keymap.set("n", "rG", ":RunGradleSpringBoot", { desc = "Run Gradle Sping Boot" }) + vim.keymap.set("n", "rm", ":RunMaven", { desc = "Run Maven Project" }) + vim.keymap.set("n", "rg", ":RunGradle", { desc = "Run Gradle Project" }) + end, + }, + { + "nvim-neotest/neotest", + dependencies = { + "nvim-neotest/nvim-nio", + "nvim-lua/plenary.nvim", + "antoinemadec/FixCursorHold.nvim", + "nvim-treesitter/nvim-treesitter", + "andy-bell101/neotest-java", + }, + -- enabled = vim.fn.findfile("build.gradle", vim.fn.getcwd()) == "build.gradle" or false, + config = function() + require("auto-jdtls.create_maven_project") + require("neotest").setup({ + adapters = { + require("neotest-java"), + }, + }) + end, + -- stylua: ignore + keys = { + { "T","",desc=" ๏’™ Test"}, + { "Tt", function() require("neotest").run.run(vim.fn.expand("%")) end, desc = "Run File" }, + { "Tr", function() require("neotest").run.run() end, desc = "Run Nearest" }, + { "TT", function() require("neotest").run.run(vim.loop.cwd()) end, desc = "Run All Test Files" }, + { "Tl", function() require("neotest").run.run_last() end, desc = "Run Last" }, + { "Ts", function() require("neotest").summary.toggle() end, desc = "Toggle Summary" }, + { "To", function() require("neotest").output.open({ enter = true, auto_close = true }) end, desc = "Show Output" }, + { "TO", function() require("neotest").output_panel.toggle() end, desc = "Toggle Output Panel" }, + { "TS", function() require("neotest").run.stop() end, desc = "Stop" }, + }, + }, + { + "rockerBOO/symbols-outline.nvim", + cmd = "SymbolsOutline", + config = function() + local icons = require("pcode.user.icons").kind + require("symbols-outline").setup({ + symbols = { + File = { icon = icons.File, hl = "@text.uri" }, + Module = { icon = icons.Module, hl = "@namespace" }, + Namespace = { icon = icons.Namespace, hl = "@namespace" }, + Package = { icon = icons.Package, hl = "@namespace" }, + Class = { icon = icons.Class, hl = "@type" }, + Method = { icon = icons.Method, hl = "@method" }, + Property = { icon = icons.Property, hl = "@method" }, + Field = { icon = icons.Field, hl = "@field" }, + Constructor = { icon = icons.Constructor, hl = "@constructor" }, + Enum = { icon = icons.Enum, hl = "@type" }, + Interface = { icon = icons.Interface, hl = "@type" }, + Function = { icon = icons.Function, hl = "@function" }, + Variable = { icon = icons.Variable, hl = "@constant" }, + Constant = { icon = icons.Constant, hl = "@constant" }, + String = { icon = icons.String, hl = "@string" }, + Number = { icon = icons.Number, hl = "@number" }, + Boolean = { icon = icons.Boolean, hl = "@boolean" }, + Array = { icon = icons.Array, hl = "@constant" }, + Object = { icon = icons.Object, hl = "@type" }, + Key = { icon = icons.Key, hl = "@type" }, + Null = { icon = icons.Null, hl = "@type" }, + EnumMember = { icon = icons.EnumMember, hl = "@field" }, + Struct = { icon = icons.Struct, hl = "@type" }, + Event = { icon = icons.Event, hl = "@type" }, + Operator = { icon = icons.Operator, hl = "@operator" }, + TypeParameter = { icon = icons.TypeParameter, hl = "@parameter" }, + Component = { icon = icons.Component, hl = "@function" }, + Fragment = { icon = icons.Fragment, hl = "@constant" }, + }, + }) + end, + keys = { + { "Js", "SymbolsOutline", desc = "Toggle Outline" }, + }, + }, +} + +return M diff --git a/lua/pcode/plugins/lang/java2.lua b/lua/pcode/plugins/lang/java2.lua new file mode 100644 index 0000000..8ed35bf --- /dev/null +++ b/lua/pcode/plugins/lang/java2.lua @@ -0,0 +1,47 @@ +return { + "nvim-java/nvim-java", + -- event = "VeryLazy", + ft = { "java" }, + dependencies = { + "MunifTanjim/nui.nvim", + "neovim/nvim-lspconfig", + "mfussenegger/nvim-dap", + "williamboman/mason.nvim", + }, + config = function() + require("java").setup({ + notifications = { + dap = false, + }, + jdk = { + auto_install = false, + }, + }) + require("lspconfig").jdtls.setup({ + settings = { + java = { + configuration = { + runtimes = { + { + name = "JavaSE-17", + path = os.getenv("JAVA_HOME") or "", + default = true, + }, + }, + }, + }, + }, + }) + end, + keys = { + { "rg", "", desc = "Gradle" }, + { "rgp", "JavaProfile", desc = "Java Profile" }, + { "rgg", "terminalgradle run", desc = "Run Gradle" }, + { "rgb", "JavaBuildBuildWorkspace", desc = "Java Build Workspace" }, + { "rgd", "JavaDapConfig", desc = "Java Configure DAP" }, + { "T", "", desc = "Test" }, + { "Tc", "JavaTestRunCurrentClass", desc = "Test Current Class" }, + { "Tm", "JavaTestRunCurrentMethod", desc = "Test Current Method" }, + { "Th", "JavaTestViewLastReport", desc = "View Test Last Report" }, + }, +} diff --git a/lua/pcode/plugins/lang/java3.lua b/lua/pcode/plugins/lang/java3.lua new file mode 100644 index 0000000..4da43c5 --- /dev/null +++ b/lua/pcode/plugins/lang/java3.lua @@ -0,0 +1,327 @@ +local M = {} +local java_filetypes = { "java" } +local root_markers = { ".git", "mvnw", "gradlew", "pom.xml", "build.gradle" } + +-- Utility function to extend or override a config table, similar to the way +-- that Plugin.opts works. +---@param config table +---@param custom function | table | nil +local function extend_or_override(config, custom, ...) + if type(custom) == "function" then + config = custom(config, ...) or config + elseif custom then + config = vim.tbl_deep_extend("force", config, custom) --[[@as table]] + end + return config +end + +local function capabilities() + local status_ok, cmp_nvim_lsp = pcall(require, "cmp_nvim_lsp") + if status_ok then + return cmp_nvim_lsp.default_capabilities() + end + + local CAPABILITIES = vim.lsp.protocol.make_client_capabilities() + CAPABILITIES.textDocument.completion.completionItem.snippetSupport = true + CAPABILITIES.textDocument.completion.completionItem.resolveSupport = { + properties = { + "documentation", + "detail", + "additionalTextEdits", + }, + } + + return CAPABILITIES +end + +M = { + { + "williamboman/mason-lspconfig.nvim", + -- stylua: ignore + opts = function(_, opts) + opts.skip_config = opts.skip_config or {} + vim.list_extend(opts.skip_config, { "jdtls" }) + -- Set vim motion for + l + h to show code documentation about the code the cursor is currently over if available + vim.keymap.set("n", "lh", vim.lsp.buf.hover, { desc = "Code Hover Documentation" }) + -- Set vim motion for + l + d to go where the code/variable under the cursor was defined + vim.keymap.set("n", "ld", vim.lsp.buf.definition, { desc = "Code Goto Definition" }) + -- Set vim motion for + l + a for display code action suggestions for code diagnostics in both normal and visual mode + vim.keymap.set({ "n", "v" }, "la", vim.lsp.buf.code_action, { desc = "Code Actions" }) + -- Set vim motion for + l + r to display references to the code under the cursor + vim.keymap.set("n", "lr", require("telescope.builtin").lsp_references, { desc = "Code Goto References" }) + -- Set vim motion for + l + i to display implementations to the code under the cursor + vim.keymap.set("n", "li", require("telescope.builtin").lsp_implementations, { desc = "Code Goto Implementations" }) + -- Set a vim motion for + l + R to smartly rename the code under the cursor + vim.keymap.set("n", "lR", vim.lsp.buf.rename, { desc = "Code Rename" }) + -- Set a vim motion for + l + D to go to where the code/object was declared in the project (class file) + vim.keymap.set("n", "lD", vim.lsp.buf.declaration, { desc = "Code Goto Declaration" }) + end, + keys = { + { "l", "", desc = "LSP", mode = { "n", "v" } }, + }, + }, + { + "mfussenegger/nvim-jdtls", + ft = java_filetypes, + enabled = true, + opts = function() + return { + root_dir = require("jdtls.setup").find_root(root_markers), + project_name = function() + return vim.fn.fnamemodify(vim.fn.getcwd(), ":p:h:t") + end, + + -- Where are the config and workspace dirs for a project? + jdtls_config_dir = function(project_name) + return vim.fn.stdpath("cache") .. "/jdtls/" .. project_name .. "/config" + end, + jdtls_workspace_dir = function(project_name) + return vim.fn.stdpath("cache") .. "/jdtls/" .. project_name .. "/workspace" + end, + cmd = { vim.fn.exepath("jdtls") }, + full_cmd = function(opts) + local project_name = vim.fn.fnamemodify(vim.fn.getcwd(), ":p:h:t") + local cmd = vim.deepcopy(opts.cmd) + if project_name then + vim.list_extend(cmd, { + "-configuration", + opts.jdtls_config_dir(project_name), + "-data", + opts.jdtls_workspace_dir(project_name), + }) + end + return cmd + end, + + -- These depend on nvim-dap, but can additionally be disabled by setting false here. + dap = { hotcodereplace = "auto", config_overrides = {} }, + dap_main = {}, + test = true, + settings = { + java = { + inlayHints = { + parameterNames = { + enabled = "all", + }, + }, + }, + }, + } + end, + config = function(_, opts) + local opt = vim.opt + opt.shiftwidth = 4 + opt.tabstop = 4 + opt.softtabstop = 4 + opt.ts = 4 + opt.expandtab = true + + local mason_registry = require("mason-registry") + local bundles = {} ---@type string[] + if opts.dap and mason_registry.is_installed("java-debug-adapter") then + local java_dbg_pkg = mason_registry.get_package("java-debug-adapter") + local java_dbg_path = java_dbg_pkg:get_install_path() + local jar_patterns = { + java_dbg_path .. "/extension/server/com.microsoft.java.debug.plugin-*.jar", + } + -- java-test also depends on java-debug-adapter. + if opts.test and mason_registry.is_installed("java-test") then + local java_test_pkg = mason_registry.get_package("java-test") + local java_test_path = java_test_pkg:get_install_path() + vim.list_extend(jar_patterns, { + java_test_path .. "/extension/server/*.jar", + }) + end + for _, jar_pattern in ipairs(jar_patterns) do + for _, bundle in ipairs(vim.split(vim.fn.glob(jar_pattern), "\n")) do + table.insert(bundles, bundle) + end + end + end + + local function attach_jdtls() + -- Configuration can be augmented and overridden by opts.jdtls + local config = extend_or_override({ + cmd = opts.full_cmd(opts), + root_dir = require("jdtls.setup").find_root(root_markers), + init_options = { + bundles = bundles, + }, + settings = opts.settings, + -- enable CMP capabilities + -- capabilities = require("user.lsp.handlers").capabilities or nil, + -- capabilities = require("auto-lsp.lsp.handlers").capabilities or nil, + capabilities = capabilities() or nil, + }, opts.jdtls) + + -- Existing server will be reused if the root_dir matches. + require("jdtls").start_or_attach(config) + -- not need to require("jdtls.setup").add_commands(), start automatically adds commands + end + + vim.api.nvim_create_autocmd("FileType", { + pattern = java_filetypes, + callback = attach_jdtls, + }) + + -- Setup keymap and dap after the lsp is fully attached. + -- https://github.com/mfussenegger/nvim-jdtls#nvim-dap-configuration + -- https://neovim.io/doc/user/lsp.html#LspAttach + vim.api.nvim_create_autocmd("LspAttach", { + callback = function(args) + local client = vim.lsp.get_client_by_id(args.data.client_id) + -- stylua: ignore + if client and client.name == "jdtls" then + -- add keymaps + vim.keymap.set('n', 'J', "", { desc = "Java" }) + -- Set a Vim motion to + J + o to organize imports in normal mode + vim.keymap.set('n', 'Jo', " lua require('jdtls').organize_imports()", { desc = "Java Organize Imports" }) + -- Set a Vim motion to + J + v to extract the code under the cursor to a variable + vim.keymap.set('n', 'Jv', " lua require('jdtls').extract_variable()", { desc = "Java Extract Variable" }) + -- Set a Vim motion to + J + v to extract the code selected in visual mode to a variable + vim.keymap.set('v', 'Jv', " lua require('jdtls').extract_variable(true)", { desc = "Java Extract Variable" }) + -- Set a Vim motion to + J + C to extract the code under the cursor to a static variable + vim.keymap.set('n', 'JC', " lua require('jdtls').extract_constant()", { desc = "Java Extract Constant" }) + -- Set a Vim motion to + J + C to extract the code selected in visual mode to a static variable + vim.keymap.set('v', 'JC', " lua require('jdtls').extract_constant(true)", { desc = "Java Extract Constant" }) + -- Set a Vim motion to + J + t to run the test method currently under the cursor + vim.keymap.set('n', 'Jt', " lua require('jdtls').test_nearest_method()", { desc = "Java Test Method" }) + -- Set a Vim motion to + J + t to run the test method that is currently selected in visual mode + vim.keymap.set('v', 'Jt', " lua require('jdtls').test_nearest_method(true)", { desc = "Java Test Method" }) + -- Set a Vim motion to + J + T to run an entire test suite (class) + vim.keymap.set('n', 'JT', " lua require('jdtls').test_class()", { desc = "Java Test Class" }) + -- Set a Vim motion to + J + u to update the project configuration + vim.keymap.set('n', 'Ju', " JdtUpdateConfig", { desc = "Java Update Config" }) + if opts.dap and mason_registry.is_installed("java-debug-adapter") then + -- custom init for Java debugger + require("jdtls").setup_dap(opts.dap) + require("jdtls.dap").setup_dap_main_class_configs(opts.dap_main) + end + + -- User can set additional keymaps in opts.on_attach + if opts.on_attach then + opts.on_attach(args) + end + end + end, + }) + + -- Avoid race condition by calling attach the first time, since the autocmd won't fire. + attach_jdtls() + end, + }, + { + "nvim-treesitter/nvim-treesitter", + opts = function(_, opts) + opts.ensure_installed = opts.ensure_installed or {} + vim.list_extend(opts.ensure_installed, { "java" }) + end, + }, + { + "williamboman/mason-lspconfig.nvim", + opts = function(_, opts) + opts.ensure_installed = opts.ensure_installed or {} + vim.list_extend(opts.ensure_installed, { "jdtls" }) + end, + }, + { + "pojokcodeid/auto-conform.nvim", + event = "VeryLazy", + opts = function(_, opts) + vim.list_extend(opts.ensure_installed, { "java-debug-adapter", "java-test" }) + opts.formatters_by_ft.java = { "lsp_fmt" } + end, + }, + { + "nvim-neotest/neotest", + dependencies = { + "nvim-neotest/nvim-nio", + "nvim-lua/plenary.nvim", + "antoinemadec/FixCursorHold.nvim", + "nvim-treesitter/nvim-treesitter", + "andy-bell101/neotest-java", + }, + config = function() + local project_type = "maven" + local gradle_file = vim.fn.findfile("build.gradle", vim.fn.getcwd()) + if gradle_file then + project_type = "gradle" + end + + require("neotest").setup({ + adapters = { + require("neotest-java")({ + -- function to determine which runner to use based on project path + determine_runner = function(project_root_path) + -- return should be "maven" or "gradle" + return project_type + end, + -- override the builtin runner discovery behaviour to always use given + -- tool. Default is "nil", so no override + force_runner = nil, + -- if the automatic runner discovery can't uniquely determine whether + -- to use Gradle or Maven, fallback to using this runner. Default is + -- "gradle or maven" + fallback_runner = project_type, + }), + }, + }) + end, + -- stylua: ignore + keys = { + { "T","",desc=" ๏’™ Test"}, + { "Tt", function() require("neotest").run.run(vim.fn.expand("%")) end, desc = "Run File" }, + { "Tr", function() require("neotest").run.run() end, desc = "Run Nearest" }, + { "TT", function() require("neotest").run.run(vim.loop.cwd()) end, desc = "Run All Test Files" }, + { "Tl", function() require("neotest").run.run_last() end, desc = "Run Last" }, + { "Ts", function() require("neotest").summary.toggle() end, desc = "Toggle Summary" }, + { "To", function() require("neotest").output.open({ enter = true, auto_close = true }) end, desc = "Show Output" }, + { "TO", function() require("neotest").output_panel.toggle() end, desc = "Toggle Output Panel" }, + { "TS", function() require("neotest").run.stop() end, desc = "Stop" }, + { "rg", "terminalgradle run", desc = "Run Gradle", mode = "n" }, + }, + }, + { + "rockerBOO/symbols-outline.nvim", + cmd = "SymbolsOutline", + config = function() + require("symbols-outline").setup({ + symbols = { + File = { icon = "๓ฐˆ”", hl = "@text.uri" }, + Module = { icon = "๎ชŒ", hl = "@namespace" }, + Namespace = { icon = "๓ฐ…ช", hl = "@namespace" }, + Package = { icon = "๎ฌฉ", hl = "@namespace" }, + Class = { icon = "๐“’", hl = "@type" }, + Method = { icon = "ฦ’", hl = "@method" }, + Property = { icon = "๎˜ค", hl = "@method" }, + Field = { icon = "๎ญŸ", hl = "@field" }, + Constructor = { icon = "๎ˆ", hl = "@constructor" }, + Enum = { icon = "โ„ฐ", hl = "@type" }, + Interface = { icon = "๎ญก", hl = "@type" }, + Function = { icon = "๏‰", hl = "@function" }, + Variable = { icon = "๎ž›", hl = "@constant" }, + Constant = { icon = "๎ˆฌ", hl = "@constant" }, + String = { icon = "๐“", hl = "@string" }, + Number = { icon = "#", hl = "@number" }, + Boolean = { icon = "๓ฐจ™ ", hl = "@boolean" }, + Array = { icon = "๎ชŠ", hl = "@constant" }, + Object = { icon = "โฆฟ", hl = "@type" }, + Key = { icon = "๐Ÿ”", hl = "@type" }, + Null = { icon = "NULL", hl = "@type" }, + EnumMember = { icon = "๏…", hl = "@field" }, + Struct = { icon = "๐“ข", hl = "@type" }, + Event = { icon = "๐Ÿ—ฒ", hl = "@type" }, + Operator = { icon = "+", hl = "@operator" }, + TypeParameter = { icon = "๐™", hl = "@parameter" }, + Component = { icon = "๓ฐ…ด", hl = "@function" }, + Fragment = { icon = "๓ฐ…ด", hl = "@constant" }, + }, + }) + end, + keys = { + { "S", "SymbolsOutline", desc = "Toggle Outline" }, + }, + }, +} + +return M diff --git a/lua/pcode/plugins/lang/java4.lua b/lua/pcode/plugins/lang/java4.lua new file mode 100644 index 0000000..cb144cf --- /dev/null +++ b/lua/pcode/plugins/lang/java4.lua @@ -0,0 +1,32 @@ +return { + "nvim-java/nvim-java", + -- ft = { "java" }, + dependencies = { + "MunifTanjim/nui.nvim", + "neovim/nvim-lspconfig", + "mfussenegger/nvim-dap", + "williamboman/mason.nvim", + }, + opts = { + notifications = { + dap = false, + }, + jdk = { + auto_install = false, + }, + + -- NOTE: One of these files must be in your project root directory. + -- Otherwise the debugger will end in the wrong directory and fail. + root_markers = { + "settings.gradle", + "settings.gradle.kts", + "pom.xml", + "build.gradle", + "mvnw", + "gradlew", + "build.gradle", + "build.gradle.kts", + ".git", + }, + }, +} diff --git a/lua/pcode/plugins/lang/javascript.lua b/lua/pcode/plugins/lang/javascript.lua new file mode 100644 index 0000000..4dfa494 --- /dev/null +++ b/lua/pcode/plugins/lang/javascript.lua @@ -0,0 +1,235 @@ +local config_file = "jest.config.ts" +local M = { + { + "nvim-treesitter/nvim-treesitter", + opts = function(_, opts) + opts.ensure_installed = opts.ensure_installed or {} + vim.list_extend(opts.ensure_installed, { "html", "javascript", "typescript", "tsx", "css", "json", "jsonc" }) + end, + }, + { + "williamboman/mason-lspconfig.nvim", + opts = function(_, opts) + opts.ensure_installed = opts.ensure_installed or {} + vim.list_extend(opts.ensure_installed, { "html", "eslint", "cssls", "emmet_ls", "jsonls", "ts_ls" }) + end, + }, + { + "pojokcodeid/auto-conform.nvim", + event = "VeryLazy", + opts = function(_, opts) + opts.formatters_by_ft = opts.formatters_by_ft or {} + local package = "prettier" + vim.list_extend(opts.ensure_installed, { package }) + opts.formatters_by_ft.javascript = { package } + end, + }, + { + "nvim-neotest/neotest", + dependencies = { + "antoinemadec/FixCursorHold.nvim", + "nvim-neotest/neotest-jest", + "nvim-neotest/nvim-nio", + "marilari88/neotest-vitest", + }, + ft = { "javascript", "typescript", "javascriptreact", "typescriptreact" }, + opts = { + adapters = { + ["neotest-jest"] = { + jestCommand = "npm test -- ", + jestConfigFile = function() + local file = vim.fn.expand("%:p") + if string.find(file, "/packages/") then + return string.match(file, "(.-/[^/]+/)src") .. config_file + end + return vim.fn.getcwd() .. "/" .. config_file + end, + cwd = function() + local file = vim.fn.expand("%:p") + if string.find(file, "/packages/") then + return string.match(file, "(.-/[^/]+/)src") + end + return vim.fn.getcwd() + end, + }, + ["neotest-vitest"] = {}, + }, + status = { virtual_text = true }, + output = { open_on_run = true }, + }, + config = function(_, opts) + local neotest_ns = vim.api.nvim_create_namespace("neotest") + vim.diagnostic.config({ + virtual_text = { + format = function(diagnostic) + -- Replace newline and tab characters with space for more compact diagnostics + local message = diagnostic.message:gsub("\n", " "):gsub("\t", " "):gsub("%s+", " "):gsub("^%s+", "") + return message + end, + }, + }, neotest_ns) + + opts.consumers = opts.consumers or {} + if opts.adapters then + local adapters = {} + for name, config in pairs(opts.adapters or {}) do + if type(name) == "number" then + if type(config) == "string" then + config = require(config) + end + adapters[#adapters + 1] = config + elseif config ~= false then + local adapter = require(name) + if type(config) == "table" and not vim.tbl_isempty(config) then + local meta = getmetatable(adapter) + if adapter.setup then + adapter.setup(config) + elseif meta and meta.__call then + adapter(config) + else + error("Adapter " .. name .. " does not support setup") + end + end + adapters[#adapters + 1] = adapter + end + end + opts.adapters = adapters + end + + require("neotest").setup(opts) + end, + -- stylua: ignore + keys = { + { "T","",desc=" ๏’™ Test"}, + { "Tt", function() require("neotest").run.run(vim.fn.expand("%")) end, desc = "Run File" }, + { "Tr", function() require("neotest").run.run() end, desc = "Run Nearest" }, + { "TT", function() require("neotest").run.run(vim.loop.cwd()) end, desc = "Run All Test Files" }, + { "Tl", function() require("neotest").run.run_last() end, desc = "Run Last" }, + { "Ts", function() require("neotest").summary.toggle() end, desc = "Toggle Summary" }, + { "To", function() require("neotest").output.open({ enter = true, auto_close = true }) end, desc = "Show Output" }, + { "TO", function() require("neotest").output_panel.toggle() end, desc = "Toggle Output Panel" }, + { "TS", function() require("neotest").run.stop() end, desc = "Stop" }, + }, + }, + { + "pojokcodeid/npm-runner.nvim", + event = "VeryLazy", + dependencies = { + "rcarriga/nvim-notify", + }, + -- your opts go here + opts = { + command = { + dev = { + start = "NpmRunDev", + stop = "NpmStopDev", + cmd = "npm run dev", + }, + prod = { + start = "NpmStart", + stop = "NpmStop", + cmd = "npm start", + }, + }, + opt = { + show_mapping = "nm", + hide_mapping = "nh", + width = 70, + height = 20, + }, + }, + keys = { + { "n", "", desc = " ๎ด Npm" }, + }, + config = function(_, opts) + require("npm-runner").setup(opts.command, opts.opt) + end, + }, + { + "rcarriga/nvim-dap-ui", + lazy = true, + event = "BufRead", + dependencies = { + { "mfussenegger/nvim-dap", lazy = true }, + { "nvim-neotest/nvim-nio", lazy = true }, + { + "mxsdev/nvim-dap-vscode-js", + dependencies = { + "microsoft/vscode-js-debug", + version = "1.x", + build = "npm i && npm run compile vsDebugServerBundle && mv dist out", + }, + config = function() + require("dap-vscode-js").setup({ + -- node_path = "node", -- Path of node executable. Defaults to $NODE_PATH, and then "node" + debugger_path = vim.fn.stdpath("data") .. "/lazy/vscode-js-debug", + -- debugger_cmd = { "extension" }, -- Command to use to launch the debug server. Takes precedence over `node_path` and `debugger_path`. + adapters = { + "chrome", + "pwa-node", + "pwa-chrome", + "pwa-msedge", + "node-terminal", + "pwa-extensionHost", + "node", + "chrome", + }, -- which adapters to register in nvim-dap + -- log_file_path = "(stdpath cache)/dap_vscode_js.log" -- Path for file logging + -- log_file_level = false -- Logging level for output to file. Set to false to disable file logging. + -- log_console_level = vim.log.levels.ERROR -- Logging level for output to console. Set to false to disable console output. + }) + end, + }, + }, + config = function() + require("pcode.user.dapui") + local js_based_languages = { "typescript", "javascript", "typescriptreact" } + + for _, language in ipairs(js_based_languages) do + require("dap").configurations[language] = { + { + type = "pwa-node", + request = "launch", + name = "Launch file", + program = "${file}", + cwd = "${workspaceFolder}", + }, + { + type = "pwa-node", + request = "attach", + name = "Attach", + processId = require("dap.utils").pick_process, + cwd = "${workspaceFolder}", + }, + { + type = "pwa-chrome", + request = "launch", + name = 'Start Chrome with "localhost"', + url = "http://localhost:3000", + webRoot = "${workspaceFolder}", + userDataDir = "${workspaceFolder}/.vscode/vscode-chrome-debug-userdatadir", + }, + } + end + end, + keys = { + { "d", "", desc = " ๎ซ˜ Debug" }, + { "dt", "lua require'dap'.toggle_breakpoint()", desc = "Toggle Breakpoint" }, + { "db", "lua require'dap'.step_back()", desc = "Step Back" }, + { "dc", "lua require'dap'.continue()", desc = "Continue" }, + { "dC", "lua require'dap'.run_to_cursor()", desc = "Run To Cursor" }, + { "dd", "lua require'dap'.disconnect()", desc = "Disconnect" }, + { "dg", "lua require'dap'.session()", desc = "Get Session" }, + { "di", "lua require'dap'.step_into()", desc = "Step Into" }, + { "do", "lua require'dap'.step_over()", desc = "Step Over" }, + { "du", "lua require'dap'.step_out()", desc = "Step Out" }, + { "dp", "lua require'dap'.pause()", desc = "Pause" }, + { "dr", "lua require'dap'.repl.toggle()", desc = "Toggle Repl" }, + { "ds", "lua require'dap'.continue()", desc = "Start" }, + { "dq", "lua require'dap'.close()", desc = "Quit" }, + { "dU", "lua require'dapui'.toggle({reset = true})", desc = "Toggle UI" }, + }, + }, +} + +return M diff --git a/lua/pcode/plugins/lang/kotlin.lua b/lua/pcode/plugins/lang/kotlin.lua new file mode 100644 index 0000000..0012d27 --- /dev/null +++ b/lua/pcode/plugins/lang/kotlin.lua @@ -0,0 +1,136 @@ +return { + -- install treesitter + { + "nvim-treesitter/nvim-treesitter", + opts = function(_, opts) + opts.ensure_installed = opts.ensure_installed or {} + vim.list_extend(opts.ensure_installed, { "kotlin" }) + end, + }, + { + "williamboman/mason-lspconfig.nvim", + opts = function(_, opts) + opts.ensure_installed = opts.ensure_installed or {} + vim.list_extend(opts.ensure_installed, { "kotlin_language_server" }) + end, + }, + { + "pojokcodeid/auto-conform.nvim", + event = "VeryLazy", + opts = function(_, opts) + opts.formatters_by_ft = opts.formatters_by_ft or {} + local package = "ktfmt" + vim.list_extend(opts.ensure_installed, { package }) + opts.formatters_by_ft.kotlin = { package } + end, + }, + { + "pojokcodeid/auto-lint.nvim", + optional = true, + opts = function(_, opts) + opts.linters_by_ft = opts.linters_by_ft or {} + vim.list_extend(opts.ensure_installed, { "ktlint" }) + opts.linters_by_ft.kotlin = { "ktlint" } + end, + }, + { + "mason.nvim", + opts = { + ensure_installed = { "kotlin-debug-adapter" }, + }, + }, + { + "rcarriga/nvim-dap-ui", + lazy = true, + event = "BufRead", + dependencies = { + { "mfussenegger/nvim-dap", lazy = true }, + { "nvim-neotest/nvim-nio", lazy = true }, + }, + opts = function() + require("pcode.user.dapui") + local dap = require("dap") + if not dap.adapters.kotlin then + dap.adapters.kotlin = { + type = "executable", + command = "kotlin-debug-adapter", + options = { auto_continue_if_many_stopped = false }, + } + end + + dap.configurations.kotlin = { + { + type = "kotlin", + request = "launch", + name = "This file", + -- may differ, when in doubt, whatever your project structure may be, + -- it has to correspond to the class file located at `build/classes/` + -- and of course you have to build before you debug + mainClass = function() + local root = vim.uv.cwd() + local fname = vim.api.nvim_buf_get_name(0) + fname = fname:gsub(root, "") + fname = fname:gsub("/app/src/main/kotlin/", "") + fname = fname:gsub(".kt", "Kt"):gsub("/", ".") + -- src/main/kotlin/websearch/Main.kt -> websearch.MainKt + return fname + end, + projectRoot = "${workspaceFolder}", + jsonLogFile = "", + enableJsonLogging = false, + }, + { + -- Use this for unit tests + -- First, run + -- ./gradlew --info cleanTest test --debug-jvm + -- then attach the debugger to it + type = "kotlin", + request = "attach", + name = "Attach to debugging session", + port = 5005, + args = {}, + projectRoot = vim.fn.getcwd, + hostName = "localhost", + timeout = 2000, + }, + } + end, + keys = { + { "d", "", desc = " ๎ซ˜ Debug" }, + { "dt", "lua require'dap'.toggle_breakpoint()", desc = "Toggle Breakpoint" }, + { "db", "lua require'dap'.step_back()", desc = "Step Back" }, + { "dc", "lua require'dap'.continue()", desc = "Continue" }, + { "dC", "lua require'dap'.run_to_cursor()", desc = "Run To Cursor" }, + { "dd", "lua require'dap'.disconnect()", desc = "Disconnect" }, + { "dg", "lua require'dap'.session()", desc = "Get Session" }, + { "di", "lua require'dap'.step_into()", desc = "Step Into" }, + { "do", "lua require'dap'.step_over()", desc = "Step Over" }, + { "du", "lua require'dap'.step_out()", desc = "Step Out" }, + { "dp", "lua require'dap'.pause()", desc = "Pause" }, + { "dr", "lua require'dap'.repl.toggle()", desc = "Toggle Repl" }, + { "ds", "lua require'dap'.continue()", desc = "Start" }, + { "dq", "lua require'dap'.close()", desc = "Quit" }, + { "dU", "lua require'dapui'.toggle({reset = true})", desc = "Toggle UI" }, + -- setting cek + -- https://stackoverflow.com/questions/9356543/logging-while-testing-through-gradle + { "T", "", desc = " Test" }, + { "Ta", "terminal gradle test", desc = "Run All" }, + { + "Tu", + function() + -- local current_word = vim.fn.expand("") + local current_word = "" + local input = vim.fn.getline(".") + current_word = all_trim((input:gsub("class", "")):gsub("{", "")) -- hilangkan bagian class + current_word = current_word:gsub("fun", "") + current_word = current_word:gsub("%(%)", "") + current_word = current_word:gsub("{", "") + current_word = current_word:gsub("@Test", "") + vim.cmd("terminal gradle test --tests *." .. all_trim(current_word)) + end, + desc = "Run Under Cursor", + }, + { "rg", "terminalgradle run", desc = "Run Gradle", mode = "n" }, + }, + }, +} diff --git a/lua/pcode/plugins/lang/kotlin_backup.lua b/lua/pcode/plugins/lang/kotlin_backup.lua new file mode 100644 index 0000000..fe17637 --- /dev/null +++ b/lua/pcode/plugins/lang/kotlin_backup.lua @@ -0,0 +1,149 @@ +return { + -- install treesitter + { + "nvim-treesitter/nvim-treesitter", + opts = function(_, opts) + opts.ensure_installed = opts.ensure_installed or {} + vim.list_extend(opts.ensure_installed, { "kotlin" }) + end, + }, + { + "williamboman/mason-lspconfig.nvim", + opts = function(_, opts) + opts.ensure_installed = opts.ensure_installed or {} + vim.list_extend(opts.ensure_installed, { "kotlin_language_server" }) + end, + }, + { + "pojokcodeid/auto-conform.nvim", + event = "VeryLazy", + opts = function(_, opts) + opts.formatters_by_ft = opts.formatters_by_ft or {} + local package = "ktfmt" + vim.list_extend(opts.ensure_installed, { package }) + opts.formatters_by_ft.kotlin = { package } + end, + }, + { + "pojokcodeid/auto-lint.nvim", + optional = true, + opts = function(_, opts) + opts.linters_by_ft = opts.linters_by_ft or {} + vim.list_extend(opts.ensure_installed, { "ktlint" }) + opts.linters_by_ft.kotlin = { "ktlint" } + end, + }, + { + "mason.nvim", + opts = { + ensure_installed = { "kotlin-debug-adapter" }, + }, + }, + { + "rcarriga/nvim-dap-ui", + lazy = true, + event = "BufRead", + dependencies = { + { "mfussenegger/nvim-dap", lazy = true }, + { "nvim-neotest/nvim-nio", lazy = true }, + }, + opts = function() + require("pcode.user.dapui") + local dap = require("dap") + if not dap.adapters.kotlin then + dap.adapters.kotlin = { + type = "executable", + command = "kotlin-debug-adapter", + options = { auto_continue_if_many_stopped = false }, + } + end + + dap.configurations.kotlin = { + { + type = "kotlin", + request = "launch", + name = "This file", + -- may differ, when in doubt, whatever your project structure may be, + -- it has to correspond to the class file located at `build/classes/` + -- and of course you have to build before you debug + mainClass = function() + local root = vim.uv.cwd() + local fname = vim.api.nvim_buf_get_name(0) + fname = fname:gsub(root, "") + fname = fname:gsub("/app/src/main/kotlin/", "") + fname = fname:gsub(".kt", "Kt"):gsub("/", ".") + -- src/main/kotlin/websearch/Main.kt -> websearch.MainKt + return fname + end, + projectRoot = "${workspaceFolder}", + jsonLogFile = "", + enableJsonLogging = false, + }, + { + -- Use this for unit tests + -- First, run + -- ./gradlew --info cleanTest test --debug-jvm + -- then attach the debugger to it + type = "kotlin", + request = "attach", + name = "Attach to debugging session", + port = 5005, + args = {}, + projectRoot = vim.fn.getcwd, + hostName = "localhost", + timeout = 2000, + }, + } + end, + keys = { + { "d", "", desc = " ๎ซ˜ Debug" }, + { "dt", "lua require'dap'.toggle_breakpoint()", desc = "Toggle Breakpoint" }, + { "db", "lua require'dap'.step_back()", desc = "Step Back" }, + { "dc", "lua require'dap'.continue()", desc = "Continue" }, + { "dC", "lua require'dap'.run_to_cursor()", desc = "Run To Cursor" }, + { "dd", "lua require'dap'.disconnect()", desc = "Disconnect" }, + { "dg", "lua require'dap'.session()", desc = "Get Session" }, + { "di", "lua require'dap'.step_into()", desc = "Step Into" }, + { "do", "lua require'dap'.step_over()", desc = "Step Over" }, + { "du", "lua require'dap'.step_out()", desc = "Step Out" }, + { "dp", "lua require'dap'.pause()", desc = "Pause" }, + { "dr", "lua require'dap'.repl.toggle()", desc = "Toggle Repl" }, + { "ds", "lua require'dap'.continue()", desc = "Start" }, + { "dq", "lua require'dap'.close()", desc = "Quit" }, + { "dU", "lua require'dapui'.toggle({reset = true})", desc = "Toggle UI" }, + -- setting cek + -- https://stackoverflow.com/questions/9356543/logging-while-testing-through-gradle + { "T", "", desc = " Test" }, + { "Ta", "terminal gradle test", desc = "Run All" }, + { + "Tu", + function() + local function get_default_package() + local path = vim.fn.expand("%:p:h") + local project_root = vim.fn.getcwd() + local relative_path = path:sub(#project_root + 1) + relative_path = relative_path:gsub("app\\src\\test\\kotlin\\", "") + relative_path = relative_path:gsub("app/src/test/kotlin/", "") + relative_path = relative_path:gsub("\\", ".") + relative_path = relative_path:gsub("/", ".") + return relative_path:sub(2) + end + local curr_file = vim.fn.expand("%:t") + curr_file = curr_file:gsub("kt", "") + local current_word = "" + local input = vim.fn.getline(".") + current_word = all_trim((input:gsub("class", "")):gsub("{", "")) -- hilangkan bagian class + current_word = current_word:gsub("fun", "") + current_word = current_word:gsub("%(%)", "") + current_word = current_word:gsub("{", "") + current_word = current_word:gsub("@Test", "") + vim.cmd( + "terminal gradle test --tests " .. get_default_package() .. "." .. curr_file .. all_trim(current_word) + ) + end, + desc = "Run Under Cursor", + }, + { "rg", "terminalgradle run", desc = "Run Gradle", mode = "n" }, + }, + }, +} diff --git a/lua/pcode/plugins/lang/markdown.lua b/lua/pcode/plugins/lang/markdown.lua new file mode 100644 index 0000000..17951cf --- /dev/null +++ b/lua/pcode/plugins/lang/markdown.lua @@ -0,0 +1,102 @@ +return { + { + "pojokcodeid/auto-conform.nvim", + event = "VeryLazy", + optional = true, + opts = function(_, opts) + vim.list_extend(opts.formatters, { + ["markdown-toc"] = { + condition = function(_, ctx) + for _, line in ipairs(vim.api.nvim_buf_get_lines(ctx.buf, 0, -1, false)) do + if line:find("") then + return true + end + end + end, + }, + ["markdownlint-cli2"] = { + condition = function(_, ctx) + local diag = vim.tbl_filter(function(d) + return d.source == "markdownlint" + end, vim.diagnostic.get(ctx.buf)) + return #diag > 0 + end, + }, + }) + vim.list_extend(opts.formatters_by_ft, { + ["markdown"] = { "prettier", "markdownlint-cli2", "markdown-toc" }, + ["markdown.mdx"] = { "prettier", "markdownlint-cli2", "markdown-toc" }, + }) + end, + }, + { + "williamboman/mason.nvim", + opts = function(_, opts) + vim.list_extend(opts.ensure_installed, { "markdownlint-cli2", "markdown-toc" }) + end, + }, + { + "pojokcodeid/auto-lint.nvim", + event = "VeryLazy", + opts = function(_, opts) + vim.list_extend(opts.ensure_installed, { "markdownlint-cli2" }) + end, + config = function(_, opts) + require("auto-lint").setup(opts) + end, + }, + { + "williamboman/mason-lspconfig.nvim", + opts = function(_, opts) + opts.ensure_installed = opts.ensure_installed or {} + vim.list_extend(opts.ensure_installed, { "marksman" }) + end, + }, + -- Markdown preview + { + "iamcco/markdown-preview.nvim", + cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" }, + build = function() + require("lazy").load({ plugins = { "markdown-preview.nvim" } }) + vim.fn["mkdp#util#install"]() + end, + keys = { + { + "Cp", + ft = "markdown", + "MarkdownPreviewToggle", + desc = "Markdown Preview", + }, + }, + config = function() + vim.cmd([[do FileType]]) + end, + }, + + { + "MeanderingProgrammer/render-markdown.nvim", + opts = { + code = { + sign = false, + width = "block", + right_pad = 1, + }, + heading = { + sign = false, + icons = {}, + }, + }, + ft = { "markdown", "norg", "rmd", "org" }, + config = function(_, opts) + require("render-markdown").setup(opts) + end, + keys = { + { "C", "", desc = " ๎˜‰ Markdown" }, + { + "Cr", + "RenderMarkdown", + desc = "Render Markdown", + }, + }, + }, +} diff --git a/lua/pcode/plugins/lang/php.lua b/lua/pcode/plugins/lang/php.lua new file mode 100644 index 0000000..f9e671f --- /dev/null +++ b/lua/pcode/plugins/lang/php.lua @@ -0,0 +1,223 @@ +local function is_laravel_project() + return vim.fn.isdirectory("app") == 1 + and vim.fn.isdirectory("bootstrap") == 1 + and vim.fn.isdirectory("config") == 1 + and vim.fn.isdirectory("database") == 1 + and vim.fn.isdirectory("routes") == 1 +end +-- check parser php +-- local is_config = true +-- local parsers = require("nvim-treesitter.parsers").get_parser_configs() +-- if parsers.php ~= nil then +-- is_config = false +-- end +return { + { + "nvim-treesitter/nvim-treesitter", + opts = function(_, opts) + opts.ensure_installed = opts.ensure_installed or {} + vim.list_extend(opts.ensure_installed, { + "c", + "lua", + "vim", + "vimdoc", + "query", + "markdown", + "markdown_inline", + "html", + "php_only", + "php", + "bash", + "blade", + "json", + }) + end, + config = function(_, opts) + local parser_config = require("nvim-treesitter.parsers").get_parser_configs() + + parser_config.blade = { + install_info = { + url = "https://github.com/EmranMR/tree-sitter-blade", + files = { "src/parser.c" }, + branch = "main", + }, + filetype = "blade", + } + + vim.filetype.add({ + pattern = { + [".*%.blade%.php"] = "blade", + }, + }) + + require("nvim-treesitter.configs").setup(opts) + end, + }, + { + "williamboman/mason-lspconfig.nvim", + opts = function(_, opts) + opts.ensure_installed = opts.ensure_installed or {} + vim.list_extend(opts.ensure_installed, { "intelephense", "stimulus_ls" }) + end, + }, + { + "pojokcodeid/auto-conform.nvim", + event = "VeryLazy", + opts = function(_, opts) + vim.list_extend(opts.ensure_installed, { "pretty-php", "blade-formatter" }) + opts.formatters_by_ft.php = { "pretty-php" } + opts.formatters_by_ft.blade = { "blade-formatter" } + end, + }, + { + "pojokcodeid/auto-lint.nvim", + event = "VeryLazy", + opts = function(_, opts) + vim.list_extend(opts.ensure_installed, { "phpcs" }) + end, + config = function(_, opts) + require("auto-lint").setup(opts) + end, + }, + { + "rcarriga/nvim-dap-ui", + lazy = true, + event = "BufRead", + dependencies = { + { "mfussenegger/nvim-dap", lazy = true }, + { "nvim-neotest/nvim-nio", lazy = true }, + { + "xdebug/vscode-php-debug", + version = "1.x", + build = "npm install && npm run build", + config = function() + require("dap.ext.vscode").load_launchjs() + end, + }, + }, + config = function() + require("pcode.user.dapui") + local dap = require("dap") + dap.adapters.php = { + type = "executable", + command = "node", + -- change this to where you build vscode-php-debug + args = { vim.fn.stdpath("data") .. "/lazy/vscode-php-debug/out/phpDebug.js" }, + } + + dap.configurations.php = { + -- to run php right from the editor + { + name = "run current script", + type = "php", + request = "launch", + port = 9003, + cwd = "${fileDirname}", + program = "${file}", + runtimeExecutable = "php", + }, + -- to listen to any php call + { + name = "listen for Xdebug local", + type = "php", + request = "launch", + port = 9003, + }, + -- to listen to php call in docker container + { + name = "listen for Xdebug docker", + type = "php", + request = "launch", + port = 9003, + -- this is where your file is in the container + pathMappings = { + ["/opt/project"] = "${workspaceFolder}", + }, + }, + } + end, + keys = { + { "d", "", desc = " ๎ซ˜ Debug" }, + { "dt", "lua require'dap'.toggle_breakpoint()", desc = "Toggle Breakpoint" }, + { "db", "lua require'dap'.step_back()", desc = "Step Back" }, + { "dc", "lua require'dap'.continue()", desc = "Continue" }, + { "dC", "lua require'dap'.run_to_cursor()", desc = "Run To Cursor" }, + { "dd", "lua require'dap'.disconnect()", desc = "Disconnect" }, + { "dg", "lua require'dap'.session()", desc = "Get Session" }, + { "di", "lua require'dap'.step_into()", desc = "Step Into" }, + { "do", "lua require'dap'.step_over()", desc = "Step Over" }, + { "du", "lua require'dap'.step_out()", desc = "Step Out" }, + { "dp", "lua require'dap'.pause()", desc = "Pause" }, + { "dr", "lua require'dap'.repl.toggle()", desc = "Toggle Repl" }, + { "ds", "lua require'dap'.continue()", desc = "Start" }, + { "dq", "lua require'dap'.close()", desc = "Quit" }, + { "dU", "lua require'dapui'.toggle({reset = true})", desc = "Toggle UI" }, + }, + }, + { + "nvim-neotest/neotest", + dependencies = { + "antoinemadec/FixCursorHold.nvim", + "olimorris/neotest-phpunit", + "nvim-neotest/nvim-nio", + }, + config = function() + require("neotest-phpunit")({ + filter_dirs = { "vendor" }, + }) + require("neotest").setup({ + adapters = { + require("neotest-phpunit"), + }, + }) + end, + -- stylua: ignore + keys = { + { "T","",desc=" ๏’™ Test"}, + { "Tt", function() require("neotest").run.run(vim.fn.expand("%")) end, desc = "Run File" }, + { "Tr", function() require("neotest").run.run() end, desc = "Run Nearest" }, + { "TT", function() require("neotest").run.run(vim.loop.cwd()) end, desc = "Run All Test Files" }, + { "Tl", function() require("neotest").run.run_last() end, desc = "Run Last" }, + { "Ts", function() require("neotest").summary.toggle() end, desc = "Toggle Summary" }, + { "To", function() require("neotest").output.open({ enter = true, auto_close = true }) end, desc = "Show Output" }, + { "TO", function() require("neotest").output_panel.toggle() end, desc = "Toggle Output Panel" }, + { "TS", function() require("neotest").run.stop() end, desc = "Stop" }, + }, + }, + { + "mfussenegger/nvim-lint", + opts = function(_, opts) + opts.linters_by_ft = opts.linters_by_ft or {} + opts.linters_by_ft.php = { "phpcs" } + opts.linters_by_ft.blade = { "tlint" } + end, + config = function(_, opts) + require("lint").linters_by_ft = opts.linters_by_ft + end, + }, + -- untuk case tertentu install ini + -- npm install -g tree-sitter-cli + { + "adalessa/laravel.nvim", + enabled = is_laravel_project(), -- pastikan membuka laravel project + -- version = "v2.2.1", + dependencies = { + "nvim-lua/plenary.nvim", + "nvim-treesitter/nvim-treesitter", + "tpope/vim-dotenv", + "nvim-telescope/telescope.nvim", + "MunifTanjim/nui.nvim", + "kevinhwang91/promise-async", + }, + cmd = { "Laravel" }, + keys = { + { "L", "", desc = " ๓ฐซ Laravel" }, + { "La", ":Laravel artisan" }, + { "Lr", ":Laravel routes" }, + { "Lm", ":Laravel related" }, + }, + event = { "VeryLazy" }, + opts = {}, + config = true, + }, +} diff --git a/lua/pcode/plugins/lang/prisma.lua b/lua/pcode/plugins/lang/prisma.lua new file mode 100644 index 0000000..6729b34 --- /dev/null +++ b/lua/pcode/plugins/lang/prisma.lua @@ -0,0 +1,57 @@ +return { + { + "nvim-treesitter/nvim-treesitter", + opts = function(_, opts) + opts.ensure_installed = opts.ensure_installed or {} + vim.list_extend(opts.ensure_installed, { "prisma" }) + end, + }, + { + "williamboman/mason-lspconfig.nvim", + opts = function(_, opts) + opts.ensure_installed = opts.ensure_installed or {} + vim.list_extend(opts.ensure_installed, { "prismals" }) + vim.cmd([[ + autocmd BufWritePost *.prisma silent! execute "!npx prisma format" + ]]) + end, + keys = { + { "p", "", desc = " ๎š„ Prisma" }, + { + "pf", + function() + vim.cmd("execute '!npx prisma format'") + end, + desc = "Prisma Format", + }, + { + "pm", + function() + vim.cmd("execute '!npx prisma init --datasource-provider mysql'") + end, + desc = "init MySQL", + }, + { + "pp", + function() + vim.cmd("execute '!npx prisma init --datasource-provider postgresql'") + end, + desc = "init postgresql", + }, + { + "pe", + function() + vim.cmd("execute '!npx prisma migrate dev --name init'") + end, + desc = "Migrate", + }, + { + "ps", + function() + vim.cmd("terminal npx prisma studio") + end, + desc = "npx prisma Studio", + }, + }, + }, +} diff --git a/lua/pcode/plugins/lang/python.lua b/lua/pcode/plugins/lang/python.lua new file mode 100644 index 0000000..1a3db2c --- /dev/null +++ b/lua/pcode/plugins/lang/python.lua @@ -0,0 +1,134 @@ +-- https://github.com/nvim-neotest/neotest-python +-- https://docs.pytest.org/en/7.1.x/getting-started.html +-- (ini untuk windows)********************************************* +-- https://stackoverflow.com/questions/17737203/python-and-virtualenv-on-windows +-- pip install virtualenv +-- python -m virtualenv demoEnv +-- demoEnv\Scripts\activate +-- deactivate +-- (di bawah ini untuk +-- linux)*********************************************************** +-- python3 -m venv my-virtual-env +-- sudo python3 -m venv my-virtual-env +-- . ./my-virtual-env/bin/activate +-- sudo apt-get install python3-pytest + +-- DAP untuik linux tidak perlu tambahan pakai defaultnya saja +-- ini config khusus windows +local nvim_dap = { + "mfussenegger/nvim-dap", + event = "BufReadPre", + dependencies = { + "rcarriga/nvim-dap-ui", + "theHamsta/nvim-dap-virtual-text", + "nvim-neotest/nvim-nio", + "williamboman/mason.nvim", + "jay-babu/mason-nvim-dap.nvim", + "mfussenegger/nvim-dap-python", + }, + config = function() + require("nvim-dap-virtual-text").setup({ + virt_text_pos = "eol", + commented = true, + }) + local dap_python = require("dap-python") + + require("mason-nvim-dap").setup({ + automatic_installation = true, + automatic_setup = true, + handlers = {}, + ensure_installed = { "python" }, + }) + local mason_path = vim.fn.glob(vim.fn.stdpath("data") .. "/mason/") + local debugpy_path = mason_path .. "packages/debugpy/venv/Scripts/python" + + dap_python.setup(debugpy_path) + dap_python.default_port = 38000 + + require("pcode.user.dapui") + end, + keys = { + { "d", "", desc = " ๎ซ˜ Debug" }, + { "dt", "lua require'dap'.toggle_breakpoint()", desc = "Toggle Breakpoint" }, + { "db", "lua require'dap'.step_back()", desc = "Step Back" }, + { "dc", "lua require'dap'.continue()", desc = "Continue" }, + { "dC", "lua require'dap'.run_to_cursor()", desc = "Run To Cursor" }, + { "dd", "lua require'dap'.disconnect()", desc = "Disconnect" }, + { "dg", "lua require'dap'.session()", desc = "Get Session" }, + { "di", "lua require'dap'.step_into()", desc = "Step Into" }, + { "do", "lua require'dap'.step_over()", desc = "Step Over" }, + { "du", "lua require'dap'.step_out()", desc = "Step Out" }, + { "dp", "lua require'dap'.pause()", desc = "Pause" }, + { "dr", "lua require'dap'.repl.toggle()", desc = "Toggle Repl" }, + { "ds", "lua require'dap'.continue()", desc = "Start" }, + { "dq", "lua require'dap'.close()", desc = "Quit" }, + { "dU", "lua require'dapui'.toggle({reset = true})", desc = "Toggle UI" }, + }, +} +local M = { + { + "nvim-neotest/neotest", + dependencies = { + "mfussenegger/nvim-dap-python", + "antoinemadec/FixCursorHold.nvim", + "nvim-neotest/nvim-nio", + "nvim-neotest/neotest-python", + }, + config = function() + local mason_path = vim.fn.glob(vim.fn.stdpath("data") .. "/mason/") + pcall(function() + require("dap-python").setup(mason_path .. "packages/debugpy/venv/bin/python") + end) + require("neotest").setup({ + adapters = { + require("neotest-python")({ + dap = { justMyCode = false }, + args = { "--log-level", "DEBUG" }, + runner = "pytest", + python = vim.fn.has("win32") == 0 and "python3" or "python", + }), + }, + }) + end, + -- stylua: ignore + keys = { + { "T","",desc=" ๏’™ Test"}, + { "Tt", function() require("neotest").run.run(vim.fn.expand("%")) end, desc = "Run File" }, + { "Tr", function() require("neotest").run.run() end, desc = "Run Nearest" }, + { "TT", function() require("neotest").run.run(vim.loop.cwd()) end, desc = "Run All Test Files" }, + { "Tl", function() require("neotest").run.run_last() end, desc = "Run Last" }, + { "Ts", function() require("neotest").summary.toggle() end, desc = "Toggle Summary" }, + { "To", function() require("neotest").output.open({ enter = true, auto_close = true }) end, desc = "Show Output" }, + { "TO", function() require("neotest").output_panel.toggle() end, desc = "Toggle Output Panel" }, + { "TS", function() require("neotest").run.stop() end, desc = "Stop" }, + }, + }, + { + "nvim-treesitter/nvim-treesitter", + opts = function(_, opts) + opts.ensure_installed = opts.ensure_installed or {} + vim.list_extend(opts.ensure_installed, { "python" }) + end, + }, + { + "williamboman/mason-lspconfig.nvim", + opts = function(_, opts) + opts.ensure_installed = opts.ensure_installed or {} + vim.list_extend(opts.ensure_installed, { "pyright" }) + end, + }, + { + "pojokcodeid/auto-conform.nvim", + event = "VeryLazy", + opts = function(_, opts) + vim.list_extend(opts.ensure_installed, { "flake8", "black", "debugpy" }) + opts.formatters_by_ft.python = { "black" } + end, + }, +} + +if vim.fn.has("win32") ~= 0 then + table.insert(M, nvim_dap) +end + +return M diff --git a/lua/pcode/plugins/lang/rust.lua b/lua/pcode/plugins/lang/rust.lua new file mode 100644 index 0000000..d437035 --- /dev/null +++ b/lua/pcode/plugins/lang/rust.lua @@ -0,0 +1,152 @@ +return { + { + "nvim-treesitter/nvim-treesitter", + opts = function(_, opts) + opts.ensure_installed = opts.ensure_installed or {} + vim.list_extend(opts.ensure_installed, { "rust" }) + end, + }, + { + "williamboman/mason-lspconfig.nvim", + opts = function(_, opts) + opts.skip_config = opts.skip_config or {} + opts.ensure_installed = opts.ensure_installed or {} + vim.list_extend(opts.ensure_installed, { "rust_analyzer" }) + vim.list_extend(opts.skip_config, { "rust_analyzer" }) + end, + }, + { + "pojokcodeid/auto-conform.nvim", + event = "VeryLazy", + opts = function(_, opts) + opts.formatters_by_ft.rust = { "lsp_fmt" } + end, + }, + -- disable none-ls + { + "nvimtools/none-ls.nvim", + enabled = false, + }, + { + "rust-lang/rust.vim", + ft = "rust", + init = function() + vim.g.rustfmt_autosave = 1 + end, + }, + { + "saecki/crates.nvim", + tag = "stable", + ft = { "toml" }, + config = function() + require("crates").setup() + end, + }, + { + "mrcjkb/rustaceanvim", + version = "^4", + ft = { "rust" }, + dependencies = "neovim/nvim-lspconfig", + config = function() + -- local on_attach = require("user.lsp.handlers").on_attach + -- local capabilities = require("user.lsp.handlers").capabilities + local on_attach = require("auto-lsp.lsp.handlers").on_attach + local capabilities = require("auto-lsp.lsp.handlers").capabilities + + vim.g.rustaceanvim = { + server = { + on_attach = on_attach, + capabilities = capabilities, + }, + } + end, + keys = { + { "rt", "lua vim.cmd.RustLsp('run')", desc = "Run Rust" }, + }, + }, + { + "nvim-neotest/neotest", + dependencies = { + "nvim-neotest/nvim-nio", + "nvim-lua/plenary.nvim", + "antoinemadec/FixCursorHold.nvim", + "nvim-treesitter/nvim-treesitter", + }, + config = function() + require("neotest").setup({ + adapters = { + require("rustaceanvim.neotest"), + }, + }) + end, + -- stylua: ignore + keys = { + { "T","",desc=" ๏’™ Test"}, + { "Tt", function() require("neotest").run.run(vim.fn.expand("%")) end, desc = "Run File" }, + { "Tr", function() require("neotest").run.run() end, desc = "Run Nearest" }, + { "TT", function() require("neotest").run.run(vim.loop.cwd()) end, desc = "Run All Test Files" }, + { "Tl", function() require("neotest").run.run_last() end, desc = "Run Last" }, + { "Ts", function() require("neotest").summary.toggle() end, desc = "Toggle Summary" }, + { "To", function() require("neotest").output.open({ enter = true, auto_close = true }) end, desc = "Show Output" }, + { "TO", function() require("neotest").output_panel.toggle() end, desc = "Toggle Output Panel" }, + { "TS", function() require("neotest").run.stop() end, desc = "Stop" }, + }, + }, + { + "mfussenegger/nvim-dap", + event = "BufReadPre", + dependencies = { + "rcarriga/nvim-dap-ui", + "theHamsta/nvim-dap-virtual-text", + "nvim-neotest/nvim-nio", + "williamboman/mason.nvim", + "jay-babu/mason-nvim-dap.nvim", + }, + config = function() + require("nvim-dap-virtual-text").setup({ + virt_text_pos = "eol", + commented = true, + }) + + require("mason-nvim-dap").setup({ + automatic_installation = true, + automatic_setup = true, + handlers = {}, + ensure_installed = { "codelldb" }, + }) + local mason_path = vim.fn.glob(vim.fn.stdpath("data") .. "/mason/") + local debugrs_path = mason_path .. "packages/codelldb/extension/adapter/codelldb" + require("pcode.user.dapui") + local dap = require("dap") + dap.adapters.codelldb = { + type = "server", + port = "${port}", + executable = { + -- CHANGE THIS to your path! + command = debugrs_path, + args = { "--port", "${port}" }, + + -- On windows you may have to uncomment this: + detached = vim.fn.has("win32") and false or true, + }, + } + end, + keys = { + { "d", "", desc = " ๎ซ˜ Debug" }, + { "dt", "lua require'dap'.toggle_breakpoint()", desc = "Toggle Breakpoint" }, + { "db", "lua require'dap'.step_back()", desc = "Step Back" }, + { "dc", "lua require'dap'.continue()", desc = "Continue" }, + { "dC", "lua require'dap'.run_to_cursor()", desc = "Run To Cursor" }, + { "dd", "lua require'dap'.disconnect()", desc = "Disconnect" }, + { "dg", "lua require'dap'.session()", desc = "Get Session" }, + { "di", "lua require'dap'.step_into()", desc = "Step Into" }, + { "do", "lua require'dap'.step_over()", desc = "Step Over" }, + { "du", "lua require'dap'.step_out()", desc = "Step Out" }, + { "dp", "lua require'dap'.pause()", desc = "Pause" }, + { "dr", "lua require'dap'.repl.toggle()", desc = "Toggle Repl" }, + { "ds", "lua require'dap'.continue()", desc = "Start" }, + { "dq", "lua require'dap'.close()", desc = "Quit" }, + { "dU", "lua require'dapui'.toggle({reset = true})", desc = "Toggle UI" }, + }, + }, +} diff --git a/lua/pcode/plugins/lang/sql.lua b/lua/pcode/plugins/lang/sql.lua new file mode 100644 index 0000000..bf21dff --- /dev/null +++ b/lua/pcode/plugins/lang/sql.lua @@ -0,0 +1,56 @@ +return { + "kristijanhusak/vim-dadbod-ui", + dependencies = { + { "tpope/vim-dadbod", lazy = true }, + { "kristijanhusak/vim-dadbod-completion", ft = { "sql", "mysql", "plsql" }, lazy = true }, + }, + init = function() + -- Your DBUI configuration + vim.g.db_ui_show_database_icon = 1 + vim.g.db_ui_use_nerd_fonts = 1 + vim.g.db_ui_show_help = 0 + end, + config = function() + local function db_completion() + require("cmp").setup.buffer({ + sources = { { name = "vim-dadbod-completion" } }, + }) + end + vim.g.db_ui_save_location = vim.fn.stdpath("config") .. require("plenary.path").path.sep .. "db_ui" + + vim.api.nvim_create_autocmd("FileType", { + pattern = { + "sql", + }, + command = [[setlocal omnifunc=vim_dadbod_completion#omni]], + }) + + vim.api.nvim_create_autocmd("FileType", { + pattern = { + "sql", + "mysql", + "plsql", + }, + callback = function() + vim.schedule(db_completion) + end, + }) + end, + cmd = { + "DBUIToggle", + "DBUI", + "DBUIAddConnection", + "DBUIFindBuffer", + "DBUIRenameBuffer", + "DBUILastQueryInfo", + }, + -- stylua: ignore + keys = { + { "D", "", desc = " ๓ฐ†ผ DBUI" }, + { "Dd", "AlphaNvimTreeCloseDBUI", desc = "๓ฐ†ผ DBUI Open" }, + { "Dq", + "DBUICloseBufferLineCloseOthersbd!lua require('auto-bufferline.configs.utils').bufremove()Alpha", + desc = "๓ฐ…™ DBUI Close", + }, + }, +} diff --git a/lua/pcode/plugins/lang/tailwind.lua b/lua/pcode/plugins/lang/tailwind.lua new file mode 100644 index 0000000..affb0fd --- /dev/null +++ b/lua/pcode/plugins/lang/tailwind.lua @@ -0,0 +1,35 @@ +return { + { + "williamboman/mason-lspconfig.nvim", + opts = function(_, opts) + opts.ensure_installed = opts.ensure_installed or {} + vim.list_extend(opts.ensure_installed, { "tailwindcss" }) + end, + }, + { + "NvChad/nvim-colorizer.lua", + opts = { + user_default_options = { + tailwind = true, + }, + }, + }, + { + "hrsh7th/nvim-cmp", + dependencies = { + { "roobert/tailwindcss-colorizer-cmp.nvim", config = true }, + }, + opts = function(_, opts) + -- original kind icon formatter + local format_kinds = opts.formatting.format + opts.formatting.format = function(entry, item) + format_kinds(entry, item) -- add icons + local lspkind = require("tailwindcss-colorizer-cmp").formatter(entry, item) + if lspkind.kind == "XX" then + lspkind.kind = "๎ญœ " + end + return lspkind + end + end, + }, +} diff --git a/lua/pcode/plugins/lspsignature.lua b/lua/pcode/plugins/lspsignature.lua new file mode 100644 index 0000000..209dd7d --- /dev/null +++ b/lua/pcode/plugins/lspsignature.lua @@ -0,0 +1,13 @@ +return { + "ray-x/lsp_signature.nvim", + event = "InsertEnter", + opts = { + bind = true, + handler_opts = { + border = "rounded", + }, + hint_prefix = "๓ฐฉ ", + }, + -- or use config + -- config = function(_, opts) require'lsp_signature'.setup({you options}) end +} diff --git a/lua/pcode/plugins/lualine.lua b/lua/pcode/plugins/lualine.lua new file mode 100644 index 0000000..16cb850 --- /dev/null +++ b/lua/pcode/plugins/lualine.lua @@ -0,0 +1,15 @@ +return { + { + "pojokcodeid/auto-lualine.nvim", + event = { "InsertEnter", "BufRead", "BufNewFile" }, + dependencies = { "nvim-lualine/lualine.nvim" }, + opts = { + setColor = "auto", + setOption = "roundedall", + setMode = 5, + }, + config = function(_, opts) + require("auto-lualine").setup(opts) + end, + }, +} diff --git a/lua/pcode/plugins/notify.lua b/lua/pcode/plugins/notify.lua new file mode 100644 index 0000000..9030dec --- /dev/null +++ b/lua/pcode/plugins/notify.lua @@ -0,0 +1,31 @@ +return { + "rcarriga/nvim-notify", + lazy = true, + event = "VeryLazy", + keys = { + { "u", "", desc = " ๓ฐ€ฆ Notify" }, + { + "uN", + function() + require("notify").dismiss({ silent = true, pending = true }) + end, + desc = "Delete all Notifications", + }, + }, + opts = { + timeout = 3000, + max_height = function() + return math.floor(vim.o.lines * 0.75) + end, + max_width = function() + return math.floor(vim.o.columns * 0.4) + end, + render = "wrapped-compact", + -- background_colour = "#00000000", + }, + config = function(_, opts) + local notify = require("notify") + notify.setup(opts) + vim.notify = notify.notify + end, +} diff --git a/lua/pcode/plugins/nvimlint.lua b/lua/pcode/plugins/nvimlint.lua new file mode 100644 index 0000000..ddf894d --- /dev/null +++ b/lua/pcode/plugins/nvimlint.lua @@ -0,0 +1,17 @@ +return { + "pojokcodeid/auto-lint.nvim", + dependencies = { + "mfussenegger/nvim-lint", + }, + event = "BufRead", + opts = function(_, opts) + opts.map_lang = opts.map_lang or {} + opts.map_name = opts.map_name or {} + opts.add_new = opts.add_new or {} + opts.ignore = opts.ignore or {} + opts.ensure_installed = opts.ensure_installed or {} + end, + config = function(_, opts) + require("auto-lint").setup(opts) + end, +} diff --git a/lua/pcode/plugins/nvimtree.lua b/lua/pcode/plugins/nvimtree.lua new file mode 100644 index 0000000..ac8771d --- /dev/null +++ b/lua/pcode/plugins/nvimtree.lua @@ -0,0 +1,321 @@ +local M = {} +if pcode.use_nvimtree then + -- for fix error last close buffer + vim.api.nvim_create_autocmd({ "QuitPre" }, { + callback = function() + vim.cmd("NvimTreeClose") + end, + }) + + M = { + "nvim-tree/nvim-tree.lua", + cmd = { "NvimTreeFindFileToggle", "NvimTree", "NvimTreeOpen", "NvimTreeToggle", "NvimTreeFocus", "NvimTreeClose" }, + keys = { + { "e", "NvimTreeToggle", desc = "๓ฐ™… Explorer" }, + }, + opts = function(_, opts) + local icons = require("pcode.user.icons") + opts.auto_reload_on_write = false + opts.disable_netrw = false + opts.hijack_cursor = false + opts.hijack_netrw = true + opts.hijack_unnamed_buffer_when_opening = false + opts.sync_root_with_cwd = true + opts.sort = { + sorter = "name", + folders_first = true, + files_first = false, + } + opts.root_dirs = {} + opts.prefer_startup_root = false + opts.sync_root_with_cwd = true + opts.reload_on_bufenter = false + opts.respect_buf_cwd = false + opts.on_attach = "default" + opts.select_prompts = false + opts.update_focused_file = { + enable = true, + update_root = false, + } + opts.view = { + adaptive_size = false, + centralize_selection = true, + width = 30, + side = "left", + preserve_window_proportions = false, + number = false, + relativenumber = false, + signcolumn = "yes", + float = { + enable = false, + quit_on_focus_loss = true, + open_win_config = { + relative = "editor", + border = "rounded", + width = 30, + height = 30, + row = 1, + col = 1, + }, + }, + } + opts.renderer = { + root_folder_label = false, + highlight_git = true, + indent_markers = { enable = true }, + -- indent_markers = { + -- enable = true, + -- inline_arrows = true, + -- icons = { + -- corner = "โ””", + -- edge = "โ”‚", + -- item = "โ”‚", + -- none = " ", + -- }, + -- }, + icons = { + webdev_colors = true, + git_placement = "before", + padding = " ", + symlink_arrow = " โž› ", + show = { + file = true, + folder = true, + folder_arrow = true, + git = true, + }, + glyphs = { + default = icons.ui.Text, + symlink = icons.ui.FileSymlink, + bookmark = icons.ui.BookMark, + folder = { + arrow_closed = icons.ui.ChevronShortRight, + arrow_open = icons.ui.ChevronShortDown, + default = icons.ui.Folder, + open = icons.ui.FolderOpen, + empty = icons.ui.EmptyFolder, + empty_open = icons.ui.EmptyFolderOpen, + symlink = icons.ui.FolderSymlink, + symlink_open = icons.ui.FolderOpen, + }, + git = { + unstaged = icons.git.FileUnstaged, + staged = icons.git.FileStaged, + unmerged = icons.git.FileUnmerged, + renamed = icons.git.FileRenamed, + untracked = icons.git.FileUntracked, + deleted = icons.git.FileDeleted, + ignored = icons.git.FileIgnored, + }, + }, + }, + special_files = { "Cargo.toml", "Makefile", "README.md", "readme.md" }, + symlink_destination = true, + } + opts.filters = { + dotfiles = false, + git_clean = false, + no_buffer = false, + custom = { "node_modules", "\\.cache", "\\.git" }, + exclude = { + ".gitignore", + ".prettierignore", + }, + } + opts.notify = { + threshold = vim.log.levels.INFO, + } + opts.git = { + enable = true, + ignore = false, + show_on_dirs = true, + show_on_open_dirs = true, + disable_for_dirs = {}, + timeout = 400, + } + return opts + end, + config = function(_, opts) + if pcode.nvimtree_float then + -- set nvimtree float view (default left side) + opts.view = { + adaptive_size = false, + centralize_selection = true, + side = "left", + preserve_window_proportions = false, + number = false, + relativenumber = false, + signcolumn = "yes", + float = { + enable = true, + open_win_config = function() + local screen_w = vim.opt.columns:get() + ---@diagnostic disable-next-line: undefined-field + local screen_h = vim.opt.lines:get() - vim.opt.cmdheight:get() + local window_w = screen_w * 0.5 + local window_h = screen_h * 0.9 + local window_w_int = math.floor(window_w) + local window_h_int = math.floor(window_h) + local center_x = (screen_w - window_w) / 2 + ---@diagnostic disable-next-line: undefined-field + local center_y = ((vim.opt.lines:get() - window_h) / 2) - vim.opt.cmdheight:get() + return { + border = "rounded", + relative = "editor", + row = center_y, + col = center_x, + width = window_w_int, + height = window_h_int, + } + end, + }, + width = function() + return math.floor(vim.opt.columns:get() * 0.5) + end, + } + end + require("nvim-tree").setup(opts) + local api = require("nvim-tree.api") + api.events.subscribe(api.events.Event.FileCreated, function(file) + vim.cmd("edit " .. file.fname) + end) + end, + } +else + local git_available = vim.fn.executable("git") == 1 + + M = { + "nvim-neo-tree/neo-tree.nvim", + branch = "v3.x", + event = { "BufRead", "BufNewFile" }, + cmd = "Neotree", + dependencies = { + "nvim-lua/plenary.nvim", + "MunifTanjim/nui.nvim", + }, + + deactivate = function() + vim.cmd([[Neotree close]]) + end, + + keys = { + { + "e", + "Neotree toggle", + desc = "Explorer", + }, + }, + + init = function() + vim.api.nvim_create_autocmd("BufEnter", { + group = vim.api.nvim_create_augroup("Neotree_start_directory", { clear = true }), + desc = "Start Neo-tree with directory", + once = true, + callback = function() + if not package.loaded["neo-tree"] then + local stats = vim.uv.fs_stat(vim.fn.argv(0)) + if stats and stats.type == "directory" then + require("neo-tree") + end + end + end, + }) + end, + + opts = { + popup_border_style = "rounded", + enable_git_status = git_available, + auto_clean_after_session_restore = true, + close_if_last_window = true, + + sources = vim.tbl_filter(function(src) + return src ~= nil + end, { + "filesystem", + "buffers", + git_available and "git_status" or nil, + }), + + source_selector = { + winbar = true, + content_layout = "center", + sources = { + { source = "filesystem", display_name = " ๓ฐ‰“ Files " }, + { source = "buffers", display_name = " ๏‘ƒ Buffers " }, + { source = "git_status", display_name = " ๎ฉฆ Git " }, + }, + }, + + window = { + position = "left", + width = 35, + }, + + default_component_configs = { + icon = { + folder_closed = "๓ฐ‰‹", + folder_open = "๓ฐฐ", + folder_empty = "๓ฐ‰–", + }, + git_status = { + symbols = { + unstaged = "๓ฐ„ฑ", + staged = "๓ฐฑ’", + added = "", -- or "โœš", but this is redundant info if you use git_status_colors on the name + modified = "", -- or "๏‘„", but this is redundant info if you use git_status_colors on the name + deleted = "๏‘ง", -- this can only be used in the git_status source + renamed = "๓ฐ•", -- this can only be used in the git_status source + -- Status type + untracked = "๏„จ", + ignored = "๏‘ด", + conflict = "๎œง", + }, + }, + }, + + filesystem = { + filtered_items = { + visible = false, + hide_dotfiles = false, + hide_gitignored = false, + hide_hidden = true, + hide_by_name = { + ".git", + "node_modules", + }, + }, + }, + + buffers = { + follow_current_file = { + enabled = true, + leave_dirs_open = false, + }, + group_empty_dirs = true, + show_unloaded = true, + }, + }, + + config = function(_, opts) + require("neo-tree").setup(opts) + + vim.api.nvim_create_autocmd("TermClose", { + pattern = "*lazygit*", + callback = function() + if package.loaded["neo-tree.sources.git_status"] then + require("neo-tree.sources.git_status").refresh() + end + end, + }) + + -- vim.cmd [[ + -- highlight NeoTreeTabActive guifg=#ffffff guibg=#5f87af + -- highlight NeoTreeTabInactive guifg=#aaaaaa guibg=NONE + -- highlight NeoTreeTabSeparatorActive guifg=#5f87af guibg=NONE + -- highlight NeoTreeTabSeparatorInactive guifg=#3a3a3a guibg=NONE + -- ]] + end, + } +end + +return M diff --git a/lua/pcode/plugins/telecope.lua b/lua/pcode/plugins/telecope.lua new file mode 100644 index 0000000..a173ac6 --- /dev/null +++ b/lua/pcode/plugins/telecope.lua @@ -0,0 +1,189 @@ +return { + "nvim-telescope/telescope.nvim", + lazy = true, + cmd = "Telescope", + version = false, + opts = function() + local find_files = { + hidden = true, + } + local live_grep = { + only_sort_text = true, + additional_args = function() + return { "--multiline" } + end, + } + local actions = require("telescope.actions") + vim.g.theme_switcher_loaded = true + return { + defaults = { + vimgrep_arguments = { + "rg", + "-L", + "--color=never", + "--no-heading", + "--with-filename", + "--line-number", + "--column", + "--smart-case", + }, + prompt_prefix = " ๏€‚ ", + selection_caret = "๏ค ", + entry_prefix = " ", + initial_mode = "insert", + selection_strategy = "reset", + sorting_strategy = "ascending", + layout_strategy = "horizontal", + layout_config = { + horizontal = { + prompt_position = "top", + preview_width = 0.55, + results_width = 0.8, + }, + vertical = { + mirror = false, + }, + width = 0.87, + height = 0.80, + preview_cutoff = 120, + }, + file_sorter = require("telescope.sorters").get_fuzzy_file, + file_ignore_patterns = { "node_modules" }, + generic_sorter = require("telescope.sorters").get_generic_fuzzy_sorter, + path_display = { "smart" }, + winblend = 0, + border = {}, + borderchars = { "โ”€", "โ”‚", "โ”€", "โ”‚", "โ•ญ", "โ•ฎ", "โ•ฏ", "โ•ฐ" }, + color_devicons = true, + set_env = { ["COLORTERM"] = "truecolor" }, -- default = nil, + file_previewer = require("telescope.previewers").vim_buffer_cat.new, + grep_previewer = require("telescope.previewers").vim_buffer_vimgrep.new, + qflist_previewer = require("telescope.previewers").vim_buffer_qflist.new, + -- Developer configurations: Not meant for general override + buffer_previewer_maker = require("telescope.previewers").buffer_previewer_maker, + mappings = { + n = { ["q"] = require("telescope.actions").close }, + }, + }, + + extensions_list = { "themes", "terms" }, + + pickers = { + find_files = find_files, + live_grep = live_grep, + grep_string = { + only_sort_text = true, + }, + buffers = { + initial_mode = "normal", + mappings = { + i = { + [""] = actions.delete_buffer, + }, + n = { + ["dd"] = actions.delete_buffer, + }, + }, + }, + planets = { + show_pluto = true, + show_moon = true, + }, + git_files = { + hidden = true, + show_untracked = true, + }, + colorscheme = { + enable_preview = true, + }, + }, + + mappings = { + i = { + [""] = actions.cycle_history_next, + [""] = actions.cycle_history_prev, + + [""] = actions.move_selection_next, + [""] = actions.move_selection_previous, + + [""] = actions.close, + + [""] = actions.move_selection_next, + [""] = actions.move_selection_previous, + + [""] = actions.select_default, + [""] = actions.select_horizontal, + [""] = actions.select_vertical, + [""] = actions.select_tab, + + [""] = actions.preview_scrolling_up, + [""] = actions.preview_scrolling_down, + + [""] = actions.results_scrolling_up, + [""] = actions.results_scrolling_down, + + [""] = actions.toggle_selection + actions.move_selection_worse, + [""] = actions.toggle_selection + actions.move_selection_better, + [""] = actions.send_to_qflist + actions.open_qflist, + [""] = actions.send_selected_to_qflist + actions.open_qflist, + [""] = actions.complete_tag, + [""] = actions.which_key, -- keys from pressing + }, + + n = { + [""] = actions.close, + [""] = actions.select_default, + [""] = actions.select_horizontal, + [""] = actions.select_vertical, + [""] = actions.select_tab, + + [""] = actions.toggle_selection + actions.move_selection_worse, + [""] = actions.toggle_selection + actions.move_selection_better, + [""] = actions.send_to_qflist + actions.open_qflist, + [""] = actions.send_selected_to_qflist + actions.open_qflist, + + ["j"] = actions.move_selection_next, + ["k"] = actions.move_selection_previous, + ["H"] = actions.move_to_top, + ["M"] = actions.move_to_middle, + ["L"] = actions.move_to_bottom, + + [""] = actions.move_selection_next, + [""] = actions.move_selection_previous, + ["gg"] = actions.move_to_top, + ["G"] = actions.move_to_bottom, + + [""] = actions.preview_scrolling_up, + [""] = actions.preview_scrolling_down, + + [""] = actions.results_scrolling_up, + [""] = actions.results_scrolling_down, + + ["?"] = actions.which_key, + }, + }, + } + end, + config = function(_, opts) + require("telescope").setup(opts) + -- load extensions + pcall(function() + for _, ext in ipairs(opts.extensions_list) do + require("telescope").load_extension(ext) + end + end) + end, + keys = { + { "s", "", desc = " ๏€Ž Search", mode = "n" }, + { "f", "Telescope find_files", desc = "๏ข Find files", mode = "n" }, + { "F", "Telescope live_grep", desc = "๏ข Find Text", mode = "n" }, + { "sb", "Telescope git_branches", desc = "Checkout branch", mode = "n" }, + { "sc", "Telescope colorscheme", desc = "Colorscheme", mode = "n" }, + { "sh", "Telescope help_tags", desc = "Find Help", mode = "n" }, + { "sM", "Telescope man_pages", desc = "Man Pages", mode = "n" }, + { "sr", "Telescope oldfiles", desc = "Open Recent File", mode = "n" }, + { "sR", "Telescope registers", desc = "Registers", mode = "n" }, + { "sk", "Telescope keymaps", desc = "Keymaps", mode = "n" }, + { "sC", "Telescope commands", desc = "Commands", mode = "n" }, + }, +} diff --git a/lua/pcode/plugins/theme/catppuccin.lua b/lua/pcode/plugins/theme/catppuccin.lua new file mode 100644 index 0000000..d37df00 --- /dev/null +++ b/lua/pcode/plugins/theme/catppuccin.lua @@ -0,0 +1,83 @@ +return { + "catppuccin/nvim", + name = "catppuccin", + priority = 1000, + config = function() + local transparent = false + require("catppuccin").setup({ + flavour = "auto", -- latte, frappe, macchiato, mocha + background = { -- :h background + light = "latte", + dark = "mocha", + }, + transparent_background = transparent, -- disables setting the background color. + show_end_of_buffer = false, -- shows the '~' characters after the end of buffers + term_colors = false, -- sets terminal colors (e.g. `g:terminal_color_0`) + dim_inactive = { + enabled = false, -- dims the background color of inactive window + shade = "dark", + percentage = 0.15, -- percentage of the shade to apply to the inactive window + }, + no_italic = false, -- Force no italic + no_bold = false, -- Force no bold + no_underline = false, -- Force no underline + styles = { -- Handles the styles of general hi groups (see `:h highlight-args`): + comments = { "italic" }, -- Change the style of comments + conditionals = { "italic" }, + loops = {}, + functions = {}, + keywords = { "italic" }, + strings = {}, + variables = {}, + numbers = {}, + booleans = {}, + properties = {}, + types = {}, + operators = {}, + -- miscs = {}, -- Uncomment to turn off hard-coded styles + }, + color_overrides = { + all = { + mantle = "#1e1e2e", + }, + }, + custom_highlights = function(colors) + return { + NvimTreeNormal = { fg = colors.text, bg = transparent and colors.none or colors.base }, + NvimTreeWinSeparator = { fg = "#181825", bg = transparent and colors.none or colors.none }, + Pmenu = { fg = colors.text, bg = transparent and colors.none or colors.base }, + WhichKeyFloat = { fg = colors.text, bg = transparent and colors.none or colors.base }, + WhichKey = { fg = colors.text, bg = transparent and colors.none or colors.base }, + WhichKeyBorder = { fg = colors.text, bg = transparent and colors.none or colors.base }, + NormalFloat = { fg = colors.text, bg = transparent and colors.none or colors.base }, + Normal = { fg = colors.text, bg = transparent and colors.none or colors.base }, + NormalNC = { fg = colors.text, bg = transparent and colors.none or colors.base }, + TabLine = { fg = colors.text, bg = transparent and colors.none or colors.base }, + StatusLine = { fg = colors.text, bg = transparent and colors.none or colors.base }, + MasonBackdrop = { link = "NormalFloat" }, + } + end, + highlight_overrides = { + all = function(colors) + return { + ["@markup.link.url"] = { fg = colors.rosewater, style = { "italic" } }, + } + end, + }, + default_integrations = true, + integrations = { + bufferline = true, + cmp = true, + gitsigns = true, + nvimtree = true, + treesitter = true, + notify = false, + mini = { + enabled = true, + indentscope_color = "", + }, + -- For more plugins integrations please scroll down (https://github.com/catppuccin/nvim#integrations) + }, + }) + end, +} diff --git a/lua/pcode/plugins/theme/dracula.lua b/lua/pcode/plugins/theme/dracula.lua new file mode 100644 index 0000000..1836e75 --- /dev/null +++ b/lua/pcode/plugins/theme/dracula.lua @@ -0,0 +1,70 @@ +return { + "Mofiqul/dracula.nvim", + priority = 1000, + opts = function() + local colors = require("dracula").colors() + return { + colors = { + -- purple = "#FCC76A", + menu = colors.bg, + selection = "#363848", + }, + italic_comment = true, + lualine_bg_color = colors.bg, + overrides = { + Keywords = { fg = colors.cyan, italic = true }, + ["@keyword"] = { fg = colors.pink, italic = true }, + ["@keyword.function"] = { fg = colors.cyan, italic = true }, + ["@function"] = { fg = colors.green, italic = true }, + ["@tag.attribute"] = { fg = colors.green, italic = true }, + ["@tag.builtin.javascript"] = { fg = colors.pink }, + ["@tag.delimiter.javascript"] = { fg = colors.fg }, + ["@type.javascript"] = { fg = colors.fg }, + ["@property.css"] = { fg = colors.cyan }, + ["@type.css"] = { fg = colors.green }, + ["@tag.css"] = { fg = colors.pink }, + ["@keyword.css"] = { fg = colors.fg }, + ["@string.css"] = { fg = colors.pink }, + ["@punctuation.delimiter.lua"] = { fg = colors.orange }, + NvimTreeFolderIcon = { fg = "#6776a7" }, + NeoTreeDirectoryIcon = { fg = "#6776a7" }, + CmpItemAbbr = { fg = "#ABB2BF" }, + CmpItemKind = { fg = "#ABB2BF" }, + CmpItemAbbrDeprecated = { fg = "#ABB2BF" }, + CmpItemAbbrMatch = { fg = "#8BE9FD" }, + htmlLink = { fg = "#BD93F9", underline = false }, + Underlined = { fg = "#8BE9FD" }, + NvimTreeSpecialFile = { fg = "#FF79C6" }, + SpellBad = { fg = "#FF6E6E" }, + illuminatedWord = { bg = "#3b4261" }, + illuminatedCurWord = { bg = "#3b4261" }, + IlluminatedWordText = { bg = "#3b4261" }, + IlluminatedWordRead = { bg = "#3b4261" }, + IlluminatedWordWrite = { bg = "#3b4261" }, + DiffChange = { fg = colors.fg }, + StatusLine = { fg = colors.fg, bg = colors.bg }, + StatusLineTerm = { fg = colors.fg, bg = colors.bg }, + BufferLineFill = { bg = colors.bg }, + Pmenu = { fg = colors.fg, bg = colors.bg }, + LspInfoBorder = { fg = colors.fg }, + LspReferenceText = { bg = "#3b4261" }, + LspReferenceRead = { bg = "#3b4261" }, + LspReferenceWrite = { bg = "#3b4261" }, + WinBar = { bg = colors.bg }, + WinBarNC = { fg = colors.fg, bg = colors.bg }, + MasonBackdrop = { link = "NormalFloat" }, + CodeiumSuggestion = { fg = "#94969c" }, + NeoTreeTabInactive = { fg = "#6776a7", bg = colors.bg }, + NeoTreeTabSeparatorActive = { fg = "#6776a7", bg = colors.bg }, + NeoTreeTabSeparatorInactive = { fg = "#6776a7", bg = colors.bg }, + NeoTreeTabActive = { fg = colors.fg, bg = colors.selection }, + }, + transparent_bg = false, + } + end, + config = function(_, opts) + require("dracula").setup(opts) + local colorscheme = pcode.themes.dracula or "dracula" + vim.cmd("colorscheme " .. colorscheme) + end, +} diff --git a/lua/pcode/plugins/theme/evatheme.lua b/lua/pcode/plugins/theme/evatheme.lua new file mode 100644 index 0000000..4c441b6 --- /dev/null +++ b/lua/pcode/plugins/theme/evatheme.lua @@ -0,0 +1,49 @@ +return { + "sharpchen/Eva-Theme.nvim", + lazy = false, + priority = 1000, + config = function() + require("Eva-Theme").setup({}) + local color = {} + if pcode.localcode then + color = require("Eva-Theme.palette").dark_base + else + color = require("Eva-Theme.palette").dark + end + vim.api.nvim_create_autocmd("ColorScheme", { + pattern = "*", + callback = function() + local hi = vim.api.nvim_set_hl + hi(0, "LspInfoBorder", { fg = color.comment }) + hi(0, "FloatBorder", { fg = color.comment }) + hi(0, "StatusLine", { bg = color.background }) + hi(0, "StatusLineNC", { bg = color.background }) + hi(0, "WinBar", { bg = color.background }) + hi(0, "WinBarNC", { bg = color.background }) + hi(0, "NormalFloat", { bg = color.background }) + hi(0, "TabLine", { bg = color.background }) + hi(0, "NormalNC", { bg = color.background }) + hi(0, "MasonBackdrop", { link = "NormalFloat" }) + hi(0, "@tag.delimiter.javascript", { fg = color.punctuation }) + hi(0, "@tag.delimiter.tsx", { fg = color.punctuation }) + -- git + hi(0, "NvimTreeGitNewIcon", { bg = color.dark, fg = color.git.added }) + hi(0, "NvimTreeGitRenamedIcon", { bg = color.dark, fg = color.git.added }) + hi(0, "NvimTreeGitDeletedIcon", { bg = color.dark, fg = color.git.stagedDeleted }) + hi(0, "NvimTreeGitDirtyIcon", { bg = color.dark, fg = color.git.diffModified }) + hi(0, "NvimTreeGitIgnoredIcon", { bg = color.dark, fg = color.git.ignored }) + hi(0, "NvimTreeGitMergeIcon", { bg = color.dark, fg = color.git.diffModified }) + hi(0, "NvimTreeGitStagedIcon", { bg = color.dark, fg = color.git.stagedModified }) + hi(0, "NvimTreeWinSeparator", { bg = color.dark, fg = color.comment }) + hi(0, "MiniIndentscopeSymbol", { bg = color.dark, fg = color.parameter }) + -- cursor + -- hi(0, "Cursor", { bg = "#838FA7", fg = "#838FA7" }) + hi(0, "CursorColumn", { bg = color.dark, fg = color.punctuation }) + hi(0, "TermCursor", { bg = color.digit, fg = color.dark }) + hi(0, "TermCursorNC", { bg = color.digit, fg = color.dark }) + hi(0, "MiniIndentscopeSymbol", { fg = color.digit }) + hi(0, "MiniIndentscopeSymbolOff", { fg = color.digit }) + end, + }) + end, +} diff --git a/lua/pcode/plugins/theme/github.lua b/lua/pcode/plugins/theme/github.lua new file mode 100644 index 0000000..dd346b2 --- /dev/null +++ b/lua/pcode/plugins/theme/github.lua @@ -0,0 +1,109 @@ +return { + "projekt0n/github-nvim-theme", + lazy = false, -- make sure we load this during startup if it is your main colorscheme + priority = 1000, -- make sure to load this before all the other start plugins + config = function() + local is_transparent = false + local palette = require("github-theme.palette").load(pcode.themes.github or "github_dark_dimmed") + require("github-theme").setup({ + options = { + -- Compiled file's destination location + compile_path = vim.fn.stdpath("cache") .. "/github-theme", + compile_file_suffix = "_compiled", -- Compiled file suffix + hide_end_of_buffer = true, -- Hide the '~' character at the end of the buffer for a cleaner look + hide_nc_statusline = true, -- Override the underline style for non-active statuslines + transparent = is_transparent, -- Disable setting background + terminal_colors = true, -- Set terminal colors (vim.g.terminal_color_*) used in `:terminal` + dim_inactive = false, -- Non focused panes set to alternative background + module_default = true, -- Default enable value for modules + styles = { -- Style to be applied to different syntax groups + comments = "italic", -- Value is any valid attr-list value `:help attr-list` + functions = "italic", + keywords = "NONE", + variables = "NONE", + conditionals = "NONE", + constants = "NONE", + numbers = "NONE", + operators = "NONE", + strings = "NONE", + types = "NONE", + }, + inverse = { -- Inverse highlight for different types + match_paren = false, + visual = false, + search = false, + }, + darken = { -- Darken floating windows and sidebar-like windows + floats = false, + sidebars = { + enable = true, + list = {}, -- Apply dark background to specific windows + }, + }, + modules = { -- List of various plugins and additional options + -- ... + }, + }, + palettes = { + github_dark_dimmed = { + bg0 = is_transparent and "NONE" or "bg1", + bg1 = is_transparent and "NONE" or "bg", + }, + }, + specs = {}, + groups = { + all = { + MasonBackdrop = { link = "NormalFloat" }, + illuminatedWord = { bg = "#3b4261" }, + illuminatedCurWord = { bg = "#3b4261" }, + IlluminatedWordText = { bg = "#3b4261" }, + IlluminatedWordRead = { bg = "#3b4261" }, + IlluminatedWordWrite = { bg = "#3b4261" }, + ["@tag.attribute"] = { fg = "#77bdfb", style = "italic" }, + ["@text.uri"] = { fg = palette.const, style = "italic" }, + ["@keyword.return"] = { fg = "#fa7970", style = "italic" }, + -- ["@tag.attribute.html"] = { fg = "#faa356", style = "italic" }, + -- ["@operator.html"] = { fg = "#faa356" }, + -- ["@tag.html"] = { fg = "#fa7970" }, + -- ["@tag.delimiter.html"] = { fg = "#faa356" }, + -- ["@tag.javascript"] = { fg = "#faa356" }, + -- ["@tag.javascript"] = { fg = "#8ddb8c" }, + ["@tag.builtin.javascript"] = { fg = "#8ddb8c" }, + -- ["@tag.tsx"] = { fg = "#8ddb8c" }, + ["@string.special.url"] = { fg = palette.const, style = "italic" }, + ["@tag.delimiter.javascript"] = { fg = "fg1" }, + ["@tag.tsx"] = { fg = "#faa356" }, + ["@lsp.type.parameter"] = { fg = "#91cbff" }, + ["@property.lua"] = { fg = "#91cbff", bg = is_transparent and "NONE" or "bg1" }, + ["@lsp.type.property.lua"] = { fg = "fg1", bg = is_transparent and "NONE" or "bg1" }, + ["@lsp.type.variable.lua"] = { fg = "#91cbff", bg = is_transparent and "NONE" or "bg1" }, + -- sparator new all + NvimTreeNormal = { fg = "fg1", bg = is_transparent and "NONE" or "bg1" }, + NvimTreeSpecialFile = { fg = "#faa356", style = "italic" }, + NvimTreeIndentMarker = { fg = "#3E4450" }, + BufferLineFill = { bg = is_transparent and "NONE" or "bg1" }, + BufferLineUnfocusedFill = { bg = is_transparent and "NONE" or "bg1" }, + LualineNormal = { bg = is_transparent and "NONE" or "bg1" }, + StatusLine = { bg = is_transparent and "NONE" or "bg1" }, + StatusLineTerm = { bg = is_transparent and "NONE" or "bg1" }, + Pmenu = { bg = is_transparent and "NONE" or "bg1" }, + PmenuSel = { link = "CursorLine" }, + WhichKeyFloat = { bg = is_transparent and "NONE" or "bg1" }, + LazyNormal = { bg = is_transparent and "NONE" or "bg1" }, + LazyBackground = { bg = is_transparent and "NONE" or "bg1" }, + NormalSB = { fg = "fg1", bg = is_transparent and "NONE" or "bg1" }, -- normal text + NormalFloat = { fg = "fg1", bg = is_transparent and "NONE" or "bg1" }, + IblIndent = { fg = "#3E4450" }, + WinBar = { bg = is_transparent and "NONE" or "bg1" }, + WinBarNC = { bg = is_transparent and "NONE" or "bg1" }, + }, + github_dark_high_contrast = { + NvimTreeSpecialFile = { fg = "#faa356", style = "italic" }, + }, + github_dark_dimmed = { + -- As with specs and palettes, a specific style's value will be used over the `all`'s value. + }, + }, + }) + end, +} diff --git a/lua/pcode/plugins/theme/gruvbox.lua b/lua/pcode/plugins/theme/gruvbox.lua new file mode 100644 index 0000000..f1856cc --- /dev/null +++ b/lua/pcode/plugins/theme/gruvbox.lua @@ -0,0 +1,29 @@ +return { + "ellisonleao/gruvbox.nvim", + priority = 1000, + opts = function() + local color = require("gruvbox").palette + return { + terminal_colors = true, -- add neovim terminal colors + undercurl = false, + underline = false, + bold = false, + contrast = "", -- can be "hard", "soft" or empty string + palette_overrides = {}, + overrides = { + ["NormalFloat"] = { bg = "NONE" }, + ["NormalNC"] = { bg = "NONE" }, + ["MiniIndentscopeSymbol"] = { fg = color.bright_yellow }, + ["StatusLine"] = { bg = "NONE" }, + ["FoldColumn"] = { bg = "NONE" }, + ["Folded"] = { bg = "NONE" }, + ["SignColumn"] = { bg = "NONE" }, + ["MasonBackdrop"] = { link = "NormalFloat" }, + }, + } + end, + config = function(_, opts) + vim.o.background = "dark" + require("gruvbox").setup(opts) + end, +} diff --git a/lua/pcode/plugins/theme/jetbrains.lua b/lua/pcode/plugins/theme/jetbrains.lua new file mode 100644 index 0000000..b35ec37 --- /dev/null +++ b/lua/pcode/plugins/theme/jetbrains.lua @@ -0,0 +1,42 @@ +return { + "pojokcodeid/darcula-dark.nvim", + priority = 1000, + lazy = false, + config = function() + require("darcula").setup({ + colors = { + lavender = "#9876AA", + statusline = "NONE", + }, + }) + vim.api.nvim_create_autocmd("ColorScheme", { + pattern = "*", + callback = function() + local colors = require("darcula").colors() + local hi = vim.api.nvim_set_hl + hi(0, "@property.json", { fg = colors.lavender }) + hi(0, "@property.jsonc", { fg = colors.lavender }) + hi(0, "LineNr", { ctermfg = 11, fg = colors._39 }) + -- hi(0, "@variable.member.sql", { fg = colors.olive_green }) + -- telescope + hi(0, "TelescopePromptBorder", { fg = colors.medium_gray }) + hi(0, "TelescopeResultsBorder", { fg = colors.medium_gray }) + hi(0, "TelescopePreviewBorder", { fg = colors.medium_gray }) + hi(0, "TelescopeSelection", { bg = colors.dark_charcoal_gray }) + hi(0, "TelescopeMultiSelection", { bg = colors.dark_charcoal_gray }) + hi(0, "TelescopeNormal", { bg = colors.dark }) + hi(0, "TelescopeMatching", { fg = colors.olive_green }) + hi(0, "TelescopePromptPrefix", { fg = colors.red }) + hi(0, "TelescopeResultsDiffDelete", { fg = colors.red }) + hi(0, "TelescopeResultsDiffChange", { fg = colors.bright_cyan }) + hi(0, "TelescopeResultsDiffAdd", { fg = colors.olive_green }) + hi(0, "TelescopePromptNormal", { bg = colors.dark, fg = colors.grey }) + hi(0, "TelescopePromptPrefix", { bg = colors.dark, fg = colors.red }) + hi(0, "TelescopeResultsTitle", { bg = colors.olive_green, fg = colors.very_dark_gray }) + hi(0, "MasonBackdrop", { link = "NormalFloat" }) + end, + }) + local colorscheme = pcode.themes.jetbrains or "darcula-dark" + vim.cmd("colorscheme " .. colorscheme) + end, +} diff --git a/lua/pcode/plugins/theme/onedarkpro.lua b/lua/pcode/plugins/theme/onedarkpro.lua new file mode 100644 index 0000000..1687b3e --- /dev/null +++ b/lua/pcode/plugins/theme/onedarkpro.lua @@ -0,0 +1,125 @@ +return { + "olimorris/onedarkpro.nvim", + priority = 1000, + config = function() + local is_transparent = false + require("onedarkpro").setup({ + styles = { + types = "NONE", + methods = "NONE", + numbers = "NONE", + strings = "NONE", + comments = "italic", + keywords = "bold,italic", + constants = "NONE", + functions = "italic", + operators = "NONE", + variables = "NONE", + parameters = "NONE", + conditionals = "italic", + virtual_text = "NONE", + tags = "italic", + }, + colors = { + bg_statusline = "#282c34", + onedark = { + green = "#99c379", + gray = "#8094b4", + red = "#e06c75", + purple = "#c678dd", + yellow = "#e5c07a", + blue = "#61afef", + cyan = "#56b6c2", + indentline = "#3b4261", + float_bg = "#282c34", + }, + onedark_dark = { + bg_statusline = "#000", + }, + }, + options = { + cursorline = true, + transparency = is_transparent, + terminal_colors = true, + }, + highlights = { + -- overide cursor line fill colors + LineNr = { fg = "#49505E" }, -- Line number for ":number" and ":#" commands, and when 'number' or 'relativenumber' option is set. + CursorLineNr = { fg = "${blue}" }, -- Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line. + CursorLine = { bg = "#333842" }, + Cursor = { fg = "${bg}", bg = "${fg}" }, -- character under the cursor + lCursor = { fg = "${bg}", bg = "${fg}" }, -- the character under the cursor when |language-mapping| is used (see 'guicursor') + CursorIM = { fg = "${bg}", bg = "${fg}" }, -- like Cursor, but used when in IME mode |CursorIM| + CursorColumn = { bg = "#333842" }, -- Screen-column at the cursor, when 'cursorcolumn' is set. + -- overide nvimtree folder icon fill color + NvimTreeFolderIcon = { fg = "${gray}" }, + -- overide nvimtree text fill color folder opened + NvimTreeOpenedFolderName = { fg = "${blue}" }, + -- overide nvimtree text fill color root folder + NvimTreeRootFolder = { fg = "${yellow}" }, + NvimTreeSpecialFile = { fg = "${orange}" }, + NvimTreeWinSeparator = { fg = "#202329" }, + NvimTreeIndentMarker = { fg = "#3E4450" }, + -- overide nvimtree cursorline + NvimTreeCursorLine = { bg = "#333842" }, + -- overide indenline fill color + IblIndent = { fg = "#3E4450" }, + -- overide cmp cursorline fill color with #333842 + PmenuSel = { bg = "#333842" }, + illuminatedWord = { bg = "#3b4261" }, + illuminatedCurWord = { bg = "#3b4261" }, + IlluminatedWordText = { bg = "#3b4261" }, + IlluminatedWordRead = { bg = "#3b4261" }, + IlluminatedWordWrite = { bg = "#3b4261" }, + StatusLine = { fg = "#f8f8f2", bg = is_transparent and "NONE" or "${bg}" }, + StatusLineTerm = { fg = "#f8f8f2", bg = "${bg}" }, + BufferLineFill = { bg = is_transparent and "NONE" or "${bg}" }, + ["@string.special.url.html"] = { fg = "${green}" }, + ["@lsp.type.parameter"] = { fg = "${gray}" }, + -- ["@text.uri.html"] = { fg = "${green}" }, + -- ["@tag.javascript"] = { fg = "${red}" }, + -- ["@tag.attribute"] = { fg = "${orange}", style = "italic" }, + -- ["@constructor.javascript"] = { fg = "${red}" }, + -- ["@variable"] = { fg = "${fg}", style = "NONE" }, -- various variable names + -- ["@variable.builtin"] = { fg = "${red}", style = "NONE" }, + -- ["@variable.member"] = "${cyan}", + -- ["@variable.parameter"] = "${red}", + -- ["@property"] = { fg = "${cyan}" }, -- similar to `@field` + ["@property.lua"] = { fg = "${red}", bg = "NONE" }, + ["@lsp.type.property.lua"] = { fg = "${cyan}", bg = "NONE" }, + ["@lsp.type.variable.lua"] = { fg = "${red}", bg = "NONE" }, + NvimTreeGitDirty = { fg = "${yellow}" }, + Pmenu = { fg = "${fg}", bg = "${bg}" }, + PmenuThumb = { bg = "${gray}" }, -- Popup menu: Thumb of the scrollbar. + -- overide lualine fill color with bg color + LualineNormal = { bg = "${bg}" }, + -- overide lualine_c fill color with bg color + LualineC = { bg = "${bg}" }, + -- overide lualine_x fill color with bg color + LualineX = { bg = "${bg}" }, + -- overide which-key fill color with bg color + -- WhichKey = { bg = "${bg}" }, + -- -- overide which-key fill color with bg color + -- WhichKeySeperator = { bg = "${bg}" }, + -- -- overide which-key fill color with bg color + -- WhichKeyDesc = { fg = "${red}" }, + -- -- overide which-key fill color with bg color + -- WhichKeyFloat = { bg = "${bg}" }, + WhichKeyFloat = { bg = is_transparent and "NONE" or "${bg}" }, + -- -- overide which-key fill color with bg color + -- WhichKeyValue = { bg = "${bg}" }, + -- -- overide which-key fill color with bg color + -- WhichKeyBorder = { bg = "${bg}" }, + LspInfoBorder = { fg = "${fg}" }, + NormalFloat = { fg = "${fg}", bg = is_transparent and "NONE" or "${bg}" }, + Normal = { fg = "${fg}", bg = is_transparent and "NONE" or "${bg}" }, + NormalNC = { fg = "${fg}", bg = is_transparent and "NONE" or "${bg}" }, + FloatBorder = { fg = "${fg}", bg = is_transparent and "NONE" or "${bg}" }, + NonText = { bg = "NONE", fg = "#3E4450" }, + MasonBackdrop = { link = "NormalFloat" }, + }, + }) + local colorscheme = pcode.themes.onedarkpro or "onedark" + vim.cmd("colorscheme " .. colorscheme) + end, +} diff --git a/lua/pcode/plugins/theme/sublimetext.lua b/lua/pcode/plugins/theme/sublimetext.lua new file mode 100644 index 0000000..9546d40 --- /dev/null +++ b/lua/pcode/plugins/theme/sublimetext.lua @@ -0,0 +1,19 @@ +return { + "pojokcodeid/nvim-juliana", + lazy = false, + priority = 1000, + opts = {}, + config = function() + vim.api.nvim_create_autocmd("ColorScheme", { + pattern = "*", + callback = function() + -- get colors + local colors = require("nvim-juliana").colors() + -- custom hilights + local hi = vim.api.nvim_set_hl + hi(0, "FoldColumn", { bg = colors.bg2 }) + hi(0, "MasonBackdrop", { link = "NormalFloat" }) + end, + }) + end, +} diff --git a/lua/pcode/plugins/theme/tokyonight.lua b/lua/pcode/plugins/theme/tokyonight.lua new file mode 100644 index 0000000..bb519af --- /dev/null +++ b/lua/pcode/plugins/theme/tokyonight.lua @@ -0,0 +1,78 @@ +return { + "folke/tokyonight.nvim", + priority = 1000, + config = function() + local status_ok, tokyonight = pcall(require, "tokyonight") + if not status_ok then + return + end + local transp = false + local sidebar = "normal" --"dark , transparent, normal" + local hilight = "#292e42" + local tras = pcode.transparent_mode or 0 + if tras == 1 then + transp = true + sidebar = "transparent" + -- hilight = "#3E4254" + -- hilight = "#353a56" + hilight = "#292e42" + end + + tokyonight.setup({ + -- your configuration comes here + -- or leave it empty to use the default settings + style = "night", -- The theme comes in three styles, `storm`, `moon`, a darker variant `night` and `day` + light_style = "day", -- The theme is used when the background is set to light + transparent = transp, -- Enable this to disable setting the background color + terminal_colors = true, -- Configure the colors used when opening a `:terminal` in Neovim + styles = { + -- Style to be applied to different syntax groups + -- Value is any valid attr-list value for `:help nvim_set_hl` + -- comments = { italic = true }, + comments = { italic = true }, + keywords = {}, + functions = {}, + variables = {}, + -- Background styles. Can be "dark", "transparent" or "normal" + sidebars = sidebar, -- style for sidebars, see below + floats = sidebar, -- style for floating windows + }, + sidebars = { "qf", "help" }, -- Set a darker background on sidebar-like windows. For example: `["qf", "vista_kind", "terminal", "packer"]` + day_brightness = 0.2, -- Adjusts the brightness of the colors of the **Day** style. Number between 0 and 1, from dull to vibrant colors + hide_inactive_statusline = false, -- Enabling this option, will hide inactive statuslines and replace them with a thin border instead. Should work with the standard **StatusLine** and **LuaLine**. + dim_inactive = false, -- dims inactive windows + lualine_bold = false, -- When `true`, section headers in the lualine theme will be bold + + --- You can override specific color groups to use other groups or a hex color + --- function will be called with a ColorScheme table + -- @param colors ColorScheme + on_colors = function(colors) + colors.bg_highlight = hilight + colors.bg_statusline = colors.none + end, + + --- You can override specific highlights to use other groups or a hex color + --- function will be called with a Highlights and ColorScheme table + --@param highlights Highlights + -- @param colors ColorScheme + on_highlights = function(highlights, colors) + highlights.NvimTreeFolderIcon = { + bg = colors.none, + fg = "#e0af68", + } + highlights.Underlined = { + underline = false, + } + highlights.NvimTreeWinSeparator = { + fg = colors.border, + } + highlights.BufferLineFill = { bg = colors.bg } + highlights.NvimTreeSpecialFile = { fg = colors.purple, underline = false } + highlights["@tag.attribute"] = { fg = colors.green1, italic = true } + -- highlights["@keyword.function"] = { fg = colors.blue, italic = true } + -- highlights["@function"] = { fg = colors.blue, italic = true } + highlights.MasonBackdrop = { link = "NormalFloat" } + end, + }) + end, +} diff --git a/lua/pcode/plugins/toggleterm.lua b/lua/pcode/plugins/toggleterm.lua new file mode 100644 index 0000000..92e289d --- /dev/null +++ b/lua/pcode/plugins/toggleterm.lua @@ -0,0 +1,57 @@ +return { + "akinsho/toggleterm.nvim", + lazy = true, + cmd = { + "ToggleTerm", + "TermExec", + "ToggleTermToggleAll", + "ToggleTermSendCurrentLine", + "ToggleTermSendVisualLines", + "ToggleTermSendVisualSelection", + }, + branch = "main", + enabled = true, + opts = { + size = 20, + open_mapping = [[]], + hide_numbers = true, + shade_filetypes = {}, + shade_terminals = true, + shading_factor = 2, + start_in_insert = true, + insert_mappings = true, + persist_size = true, + direction = "float", + close_on_exit = true, + shell = vim.o.shell, + float_opts = { + border = "curved", + winblend = 0, + highlights = { + border = "Normal", + background = "Normal", + }, + }, + }, + config = function(_, opts) + require("toggleterm").setup(opts) + function _G.set_terminal_keymaps() + local optsn = { noremap = true } + vim.api.nvim_buf_set_keymap(0, "t", "", [[]], optsn) + vim.api.nvim_buf_set_keymap(0, "t", "jk", [[]], optsn) + vim.api.nvim_buf_set_keymap(0, "t", "", [[h]], optsn) + vim.api.nvim_buf_set_keymap(0, "t", "", [[j]], optsn) + vim.api.nvim_buf_set_keymap(0, "t", "", [[k]], optsn) + vim.api.nvim_buf_set_keymap(0, "t", "", [[l]], optsn) + end + vim.cmd("autocmd! TermOpen term://* lua set_terminal_keymaps()") + end, + keys = { + { "t", "", desc = " ๏’‰ Terminal", mode = "n" }, + { "tx", "ToggleTermToggleAll!", desc = "Close Tab", mode = "n" }, + { "tf", "ToggleTerm direction=float", desc = "Float", mode = "n" }, + { "th", "ToggleTerm size=10 direction=horizontal", desc = "Horizontal", mode = "n" }, + { "tv", "ToggleTerm size=80 direction=vertical", desc = "Vertical", mode = "n" }, + { "ts", "ToggleTerm direction=tab", desc = "New Tab", mode = "n" }, + }, +} diff --git a/lua/pcode/plugins/webdevicon.lua b/lua/pcode/plugins/webdevicon.lua new file mode 100644 index 0000000..24e8ed3 --- /dev/null +++ b/lua/pcode/plugins/webdevicon.lua @@ -0,0 +1,21 @@ +return { + "kyazdani42/nvim-web-devicons", + lazy = true, + dependencies = "pojokcodeid/nvim-material-icon", + opts = function() + local material_icon_ok, material_icon = pcall(require, "nvim-material-icon") + if not material_icon_ok then + return + end + material_icon.setup({ + override = {}, + }) + return { + override = material_icon.get_icons(), + override_by_filename = {}, + } + end, + config = function(_, opts) + require("nvim-web-devicons").setup(opts) + end, +} diff --git a/lua/pcode/plugins/whichkey.lua b/lua/pcode/plugins/whichkey.lua new file mode 100644 index 0000000..244600f --- /dev/null +++ b/lua/pcode/plugins/whichkey.lua @@ -0,0 +1,74 @@ +return { + "folke/which-key.nvim", + lazy = true, + keys = { "", '"', "'", "`", "c", "v" }, + event = "VeryLazy", + opts = function() + return { + plugins = { + marks = true, + registers = true, + spelling = { + enabled = true, + suggestions = 20, + }, + presets = { + operators = false, + motions = false, + text_objects = false, + windows = false, + nav = false, + z = false, + g = false, + }, + }, + icons = { + mappings = false, + }, + win = { + row = -1, + border = "rounded", -- none, single, double, shadow + padding = { 1, 2 }, -- extra window padding [top/bottom, right/left] + title = true, + title_pos = "center", + zindex = 1000, + bo = {}, + wo = {}, + }, + layout = { + height = { min = 4, max = 25 }, -- min and max height of the columns + width = { min = 20, max = 50 }, -- min and max width of the columns + spacing = 3, -- spacing between columns + align = "left", -- align columns left, center or right + }, + show_help = true, -- show help message on the command line when the popup is visible + show_keys = true, -- show the currently pressed key and its label as a message in the command line + -- Disabled by default for Telescope + disable = { + buftypes = {}, + filetypes = { "TelescopePrompt" }, + }, + ---@type false | "classic" | "modern" | "helix" + preset = "modern", + mappings = { + { "S", "", desc = " ๓ฑ‘  Plugins(Lazy)", mode = "n" }, + { "Si", "Lazy install", desc = "Install", mode = "n" }, + { "Ss", "Lazy sync", desc = "Sync", mode = "n" }, + { "SS", "Lazy clear", desc = "Status", mode = "n" }, + { "Sc", "Lazy clean", desc = "Clean", mode = "n" }, + { "Su", "Lazy update", desc = "Update", mode = "n" }, + { "Sp", "Lazy profile", desc = "Profile", mode = "n" }, + { "Sl", "Lazy log", desc = "Log", mode = "n" }, + { "Sd", "Lazy debug", desc = "Debug", mode = "n" }, + { "w", "w!", desc = "๓ฐ†“ Save", mode = "n" }, + { "q", "q!", desc = "๓ฐฟ… Quit", mode = "n" }, + { "h", "nohlsearch", desc = "๓ฑชฟ No Highlight", mode = "n" }, + }, + } + end, + config = function(_, opts) + local which_key = require("which-key") + which_key.setup(opts) + which_key.add(opts.mappings) + end, +} diff --git a/lua/pcode/user/autocmd.lua b/lua/pcode/user/autocmd.lua new file mode 100644 index 0000000..528e476 --- /dev/null +++ b/lua/pcode/user/autocmd.lua @@ -0,0 +1,364 @@ +local api = vim.api + +-- General Settings +api.nvim_create_augroup("_general_settings", { clear = true }) + +api.nvim_create_autocmd("FileType", { + group = "_general_settings", + pattern = "qf", + command = "set nobuflisted", +}) + +-- Git Settings +api.nvim_create_augroup("_git", { clear = true }) +api.nvim_create_autocmd("FileType", { + group = "_git", + pattern = "gitcommit", + command = "setlocal wrap spell", +}) + +-- Markdown Settings +api.nvim_create_augroup("_markdown", { clear = true }) +api.nvim_create_autocmd("FileType", { + group = "_markdown", + pattern = "markdown", + command = "setlocal wrap spell", +}) + +-- Auto Resize +api.nvim_create_augroup("_auto_resize", { clear = true }) +api.nvim_create_autocmd("VimResized", { + group = "_auto_resize", + command = "tabdo wincmd =", +}) + +-- Alpha Settings +api.nvim_create_augroup("_alpha", { clear = true }) +api.nvim_create_autocmd("User", { + group = "_alpha", + pattern = "AlphaReady", + command = "set showtabline=0 | autocmd BufUnload set showtabline=2", +}) + +-- Terminal Settings +api.nvim_create_augroup("neovim_terminal", { clear = true }) +api.nvim_create_autocmd("TermOpen", { + group = "neovim_terminal", + command = "startinsert | set nonumber norelativenumber | nnoremap i", +}) + +-- Function to Create Non-Existent Directory on BufWrite +local function MkNonExDir(file, buf) + if vim.fn.empty(vim.fn.getbufvar(buf, "&buftype")) == 1 and not string.match(file, "^%w+://") then + local dir = vim.fn.fnamemodify(file, ":h") + if vim.fn.isdirectory(dir) == 0 then + vim.fn.mkdir(dir, "p") + end + end +end + +api.nvim_create_augroup("BWCCreateDir", { clear = true }) +api.nvim_create_autocmd("BufWritePre", { + group = "BWCCreateDir", + callback = function(_) + MkNonExDir(vim.fn.expand(""), vim.fn.expand("")) + end, +}) + +local autocmd = vim.api.nvim_create_autocmd +autocmd("VimEnter", { + pattern = "*", + callback = function() + vim.opt.statusline = "%#normal# " + end, +}) + +vim.api.nvim_create_autocmd("FileType", { + pattern = { "help", "alpha", "dashboard", "NvimTree", "Trouble", "lazy", "mason", "neotest-summary" }, + callback = function() + vim.b.miniindentscope_disable = true + end, +}) + +vim.filetype.add({ + pattern = { + [".*%.blade%.php"] = "blade", + }, +}) + +-- config cursor +vim.opt.guicursor = { + "n-v:block", -- Normal, Visual, Command mode: block cursor + "i-ci-ve-c:ver25", -- Insert, Command-line Insert, Visual mode: vertical bar cursor + "r-cr:hor20", -- Replace, Command-line Replace mode: horizontal bar cursor + "o:hor50", -- Operator-pending mode: horizontal bar cursor + "a:blinkwait700-blinkoff400-blinkon250", -- Blinking settings + "sm:block-blinkwait175-blinkoff150-blinkon175", -- Select mode: block cursor with blinking +} + +vim.api.nvim_create_autocmd("ExitPre", { + group = vim.api.nvim_create_augroup("Exit", { clear = true }), + command = "set guicursor=n-v-c:block,i-ci-ve:ver25,r-cr:hor20,o:hor50,a:blinkwait700-blinkoff400-blinkon250-Cursor/lCursor,sm:block-blinkwait175-blinkoff150-blinkon175,a:ver90", + desc = "Set cursor back to beam when leaving Neovim.", +}) + +-- Extras +local function lsp_status() + local bufnr = vim.api.nvim_get_current_buf() + local clients = vim.lsp.get_clients and vim.lsp.get_clients({ bufnr = bufnr }) + or vim.lsp.get_active_clients({ bufnr = bufnr }) + + if #clients == 0 then + print("๓ฐ…š No LSP clients attached") + return + end + + print("๓ฐ’‹ LSP Status for buffer " .. bufnr .. ":") + print("โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€") + + for i, client in ipairs(clients) do + print(string.format("๓ฐŒ˜ Client %d: %s (ID: %d)", i, client.name, client.id)) + print(" Root: " .. (client.config.root_dir or "N/A")) + print(" Filetypes: " .. table.concat(client.config.filetypes or {}, ", ")) + + -- Check capabilities + local caps = client.server_capabilities + local features = {} + if caps.completionProvider then + table.insert(features, "completion") + end + if caps.hoverProvider then + table.insert(features, "hover") + end + if caps.definitionProvider then + table.insert(features, "definition") + end + if caps.referencesProvider then + table.insert(features, "references") + end + if caps.renameProvider then + table.insert(features, "rename") + end + if caps.codeActionProvider then + table.insert(features, "code_action") + end + if caps.documentFormattingProvider then + table.insert(features, "formatting") + end + + print(" Features: " .. table.concat(features, ", ")) + print("") + end +end + +vim.api.nvim_create_user_command("LspStatus", lsp_status, { desc = "Show detailed LSP status" }) + +local function check_lsp_capabilities() + local bufnr = vim.api.nvim_get_current_buf() + local clients = vim.lsp.get_clients and vim.lsp.get_clients({ bufnr = bufnr }) + or vim.lsp.get_active_clients({ bufnr = bufnr }) + + if #clients == 0 then + print("No LSP clients attached") + return + end + + for _, client in ipairs(clients) do + print("Capabilities for " .. client.name .. ":") + local caps = client.server_capabilities + + local capability_list = { + { "Completion", caps.completionProvider }, + { "Hover", caps.hoverProvider }, + { "Signature Help", caps.signatureHelpProvider }, + { "Go to Definition", caps.definitionProvider }, + { "Go to Declaration", caps.declarationProvider }, + { "Go to Implementation", caps.implementationProvider }, + { "Go to Type Definition", caps.typeDefinitionProvider }, + { "Find References", caps.referencesProvider }, + { "Document Highlight", caps.documentHighlightProvider }, + { "Document Symbol", caps.documentSymbolProvider }, + { "Workspace Symbol", caps.workspaceSymbolProvider }, + { "Code Action", caps.codeActionProvider }, + { "Code Lens", caps.codeLensProvider }, + { "Document Formatting", caps.documentFormattingProvider }, + { "Document Range Formatting", caps.documentRangeFormattingProvider }, + { "Rename", caps.renameProvider }, + { "Folding Range", caps.foldingRangeProvider }, + { "Selection Range", caps.selectionRangeProvider }, + } + + for _, cap in ipairs(capability_list) do + local status = cap[2] and "โœ“" or "โœ—" + print(string.format(" %s %s", status, cap[1])) + end + print("") + end +end + +vim.api.nvim_create_user_command("LspCapabilities", check_lsp_capabilities, { desc = "Show LSP capabilities" }) + +local function lsp_diagnostics_info() + local bufnr = vim.api.nvim_get_current_buf() + local diagnostics = vim.diagnostic.get(bufnr) + + local counts = { ERROR = 0, WARN = 0, INFO = 0, HINT = 0 } + + for _, diagnostic in ipairs(diagnostics) do + local severity = vim.diagnostic.severity[diagnostic.severity] + counts[severity] = counts[severity] + 1 + end + + print("๓ฐ’ก Diagnostics for current buffer:") + print(" Errors: " .. counts.ERROR) + print(" Warnings: " .. counts.WARN) + print(" Info: " .. counts.INFO) + print(" Hints: " .. counts.HINT) + print(" Total: " .. #diagnostics) +end + +vim.api.nvim_create_user_command("LspDiagnostics", lsp_diagnostics_info, { desc = "Show LSP diagnostics count" }) + +local function lsp_info() + local bufnr = vim.api.nvim_get_current_buf() + local clients = vim.lsp.get_clients and vim.lsp.get_clients({ bufnr = bufnr }) + or vim.lsp.get_active_clients({ bufnr = bufnr }) + + print("โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•") + print(" LSP INFORMATION ") + print("โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•") + print("") + + -- Basic info + print("๓ฐˆ™ Language client log: " .. vim.lsp.get_log_path()) + print("๓ฐˆ” Detected filetype: " .. vim.bo.filetype) + print("๓ฐˆฎ Buffer: " .. bufnr) + print("๓ฐˆ” Root directory: " .. (vim.fn.getcwd() or "N/A")) + print("") + + if #clients == 0 then + print("๓ฐ…š No LSP clients attached to buffer " .. bufnr) + print("") + print("Possible reasons:") + print(" โ€ข No language server installed for " .. vim.bo.filetype) + print(" โ€ข Language server not configured") + print(" โ€ข Not in a project root directory") + print(" โ€ข File type not recognized") + return + end + + print("๓ฐ’‹ LSP clients attached to buffer " .. bufnr .. ":") + print("โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€") + + for i, client in ipairs(clients) do + print(string.format("๓ฐŒ˜ Client %d: %s", i, client.name)) + print(" ID: " .. client.id) + print(" Root dir: " .. (client.config.root_dir or "Not set")) + print(" Command: " .. table.concat(client.config.cmd or {}, " ")) + print(" Filetypes: " .. table.concat(client.config.filetypes or {}, ", ")) + + -- Server status + if client.is_stopped() then + print(" Status: ๓ฐ…š Stopped") + else + print(" Status: ๓ฐ„ฌ Running") + end + + -- Workspace folders + if client.workspace_folders and #client.workspace_folders > 0 then + print(" Workspace folders:") + for _, folder in ipairs(client.workspace_folders) do + print(" โ€ข " .. folder.name) + end + end + + -- Attached buffers count + local attached_buffers = {} + for buf, _ in pairs(client.attached_buffers or {}) do + table.insert(attached_buffers, buf) + end + print(" Attached buffers: " .. #attached_buffers) + + -- Key capabilities + local caps = client.server_capabilities + local key_features = {} + if caps.completionProvider then + table.insert(key_features, "completion") + end + if caps.hoverProvider then + table.insert(key_features, "hover") + end + if caps.definitionProvider then + table.insert(key_features, "definition") + end + if caps.documentFormattingProvider then + table.insert(key_features, "formatting") + end + if caps.codeActionProvider then + table.insert(key_features, "code_action") + end + + if #key_features > 0 then + print(" Key features: " .. table.concat(key_features, ", ")) + end + + print("") + end + + -- Diagnostics summary + local diagnostics = vim.diagnostic.get(bufnr) + if #diagnostics > 0 then + print("๓ฐ’ก Diagnostics Summary:") + local counts = { ERROR = 0, WARN = 0, INFO = 0, HINT = 0 } + + for _, diagnostic in ipairs(diagnostics) do + local severity = vim.diagnostic.severity[diagnostic.severity] + counts[severity] = counts[severity] + 1 + end + + print(" ๓ฐ…š Errors: " .. counts.ERROR) + print(" ๓ฐ€ช Warnings: " .. counts.WARN) + print(" ๓ฐ‹ฝ Info: " .. counts.INFO) + print(" ๓ฐŒถ Hints: " .. counts.HINT) + print(" Total: " .. #diagnostics) + else + print("๓ฐ„ฌ No diagnostics") + end + + print("") + print("Use :LspLog to view detailed logs") + print("Use :LspCapabilities for full capability list") +end + +-- Create command +vim.api.nvim_create_user_command("LspInfo2", lsp_info, { desc = "Show comprehensive LSP information" }) + +vim.api.nvim_create_user_command("OpenBrowser", function(opts) + local url = opts.args + -- Jika tidak ada URL, pakai about:blank sebagai default + if url == "" then + url = "http://google.com" + end + + -- Deteksi jika dijalankan di WSL + local is_wsl = vim.fn.system("uname -r"):find("WSL") + if is_wsl then + vim.fn.jobstart({ "/mnt/c/Windows/System32/cmd.exe", "/c", "start", url }, { detach = true }) + return + end + + -- Jika bukan WSL, gunakan cara biasa + local open_cmd + if vim.fn.has("mac") == 1 then + open_cmd = "open" + elseif vim.fn.has("unix") == 1 then + open_cmd = "xdg-open" + elseif vim.fn.has("win32") == 1 then + open_cmd = "start" + else + print("OS tidak didukung.") + return + end + + vim.fn.jobstart({ open_cmd, url }, { detach = true }) +end, { nargs = "?", complete = "file" }) diff --git a/lua/pcode/user/colorscheme.lua b/lua/pcode/user/colorscheme.lua new file mode 100644 index 0000000..eebf999 --- /dev/null +++ b/lua/pcode/user/colorscheme.lua @@ -0,0 +1,7 @@ +if pcode.themes then + local theme = "" + for _, value in pairs(pcode.themes or {}) do + theme = value + end + pcall(vim.cmd.colorscheme, theme) +end diff --git a/lua/pcode/user/custom.lua b/lua/pcode/user/custom.lua new file mode 100644 index 0000000..a2592bc --- /dev/null +++ b/lua/pcode/user/custom.lua @@ -0,0 +1,145 @@ +return { + -- overidse dashboard + { + "goolord/alpha-nvim", + opts = { + dash_model = { + [[ _ __ __ ]], + [[ ___ ___ (____ / /__ _______ ___/ ___ ]], + [[ / _ / _ \ / / _ \/ '_/ / __/ _ / _ / -_) ]], + [[ / .__\_____/ /\___/_/\_\ \__/\___\_,_/\__/ ]], + [[ /_/ |___/ ]], + }, + }, + }, + -- overide lualine + { + "pojokcodeid/auto-lualine.nvim", + opts = { + -- for more options check out https://github.com/pojokcodeid/auto-lualine.nvim + setColor = "auto", + setOption = "parallelogram", + setMode = 5, + }, + }, + -- overide formatting + { + "pojokcodeid/auto-conform.nvim", + opts = { + format_on_save = true, + format_timeout_ms = 5000, + }, + }, + -- install treesitter + { + "nvim-treesitter/nvim-treesitter", + opts = function(_, opts) + vim.list_extend(opts.ensure_installed, { "lua", "c" }) + end, + }, + -- install mason (lsp, dap, linters, formatters) + { + "williamboman/mason.nvim", + -- opts = { ensure_installed = { "stylua" } }, + }, + -- overide lsp config + { + "williamboman/mason-lspconfig.nvim", + opts = function(_, opts) + vim.list_extend(opts.skip_config, {}) + opts.virtual_text = false + vim.diagnostic.config({ virtual_lines = { current_line = true } }) + -- sample custom diagnostic icon + vim.diagnostic.config({ + underline = false, + virtual_text = false, + update_in_insert = false, + severity_sort = true, + signs = { + text = { + [vim.diagnostic.severity.ERROR] = "๎ช‡ ", + [vim.diagnostic.severity.WARN] = "๎ฉฌ ", + [vim.diagnostic.severity.HINT] = "๏€ ", + [vim.diagnostic.severity.INFO] = "๎ฉด ", + }, + }, + }) + end, + }, + -- add whichkey mappings + { + "folke/which-key.nvim", + opts = function(_, opts) + opts.mappings = opts.mappings or {} + vim.list_extend(opts.mappings, { + { "h", "nohlsearch", desc = "๓ฑชฟ No Highlight", mode = "n" }, + }) + end, + }, + -- overide telescope + { + "nvim-telescope/telescope.nvim", + opts = function(_, opts) + opts.pickers = { + find_files = { + hidden = true, + }, + live_grep = { + theme = "dropdown", + only_sort_text = true, + additional_args = function() + return { "--multiline" } + end, + }, + } + end, + }, + -- add code runner + { + "CRAG666/code_runner.nvim", + opts = function(_, opts) + vim.list_extend(opts.filetype, { go = "go run $fileName" }) + end, + }, + -- custem nvimtree + -- { + -- "nvim-tree/nvim-tree.lua", + -- opts = function(_, opts) + -- set nvimtree float view (default left side) + -- opts.view = { + -- adaptive_size = false, + -- centralize_selection = true, + -- side = "left", + -- preserve_window_proportions = false, + -- number = false, + -- relativenumber = false, + -- signcolumn = "yes", + -- float = { + -- enable = true, + -- open_win_config = function() + -- local screen_w = vim.opt.columns:get() + -- local screen_h = vim.opt.lines:get() - vim.opt.cmdheight:get() + -- local window_w = screen_w * 0.5 + -- local window_h = screen_h * 0.9 + -- local window_w_int = math.floor(window_w) + -- local window_h_int = math.floor(window_h) + -- local center_x = (screen_w - window_w) / 2 + -- local center_y = ((vim.opt.lines:get() - window_h) / 2) - vim.opt.cmdheight:get() + -- return { + -- border = "rounded", + -- relative = "editor", + -- row = center_y, + -- col = center_x, + -- width = window_w_int, + -- height = window_h_int, + -- } + -- end, + -- }, + -- width = function() + -- return math.floor(vim.opt.columns:get() * 0.5) + -- end, + -- } + -- return opts + -- end, + -- }, +} diff --git a/lua/pcode/user/dapui.lua b/lua/pcode/user/dapui.lua new file mode 100644 index 0000000..78f108a --- /dev/null +++ b/lua/pcode/user/dapui.lua @@ -0,0 +1,83 @@ +-- local dap, dapui = require("dap"), require("dapui") + +local dap_status_ok, dap = pcall(require, "dap") +if not dap_status_ok then + return +end + +local dap_ui_status_ok, dapui = pcall(require, "dapui") +if not dap_ui_status_ok then + return +end + +-- dapui.setup() +dapui.setup({ + icons = { expanded = "โ–พ", collapsed = "โ–ธ" }, + mappings = { + -- Use a table to apply multiple mappings + expand = { "", "<2-LeftMouse>" }, + open = "o", + remove = "d", + edit = "e", + repl = "r", + toggle = "t", + }, + -- Expand lines larger than the window + -- Requires >= 0.7 + expand_lines = vim.fn.has("nvim-0.7"), + -- Layouts define sections of the screen to place windows. + -- The position can be "left", "right", "top" or "bottom". + -- The size specifies the height/width depending on position. It can be an Int + -- or a Float. Integer specifies height/width directly (i.e. 20 lines/columns) while + -- Float value specifies percentage (i.e. 0.3 - 30% of available lines/columns) + -- Elements are the elements shown in the layout (in order). + -- Layouts are opened in order so that earlier layouts take priority in window sizing. + layouts = { + { + elements = { + -- Elements can be strings or table with id and size keys. + { id = "scopes", size = 0.25 }, + "breakpoints", + -- "stacks", + -- "watches", + }, + size = 40, -- 40 columns + position = "right", + }, + { + elements = { + "repl", + "console", + }, + size = 0.25, -- 25% of total lines + position = "bottom", + }, + }, + floating = { + max_height = nil, -- These can be integers or a float between 0 and 1. + max_width = nil, -- Floats will be treated as percentage of your screen. + border = "single", -- Border style. Can be "single", "double" or "rounded" + mappings = { + close = { "q", "" }, + }, + }, + windows = { indent = 1 }, + render = { + max_type_length = nil, -- Can be integer or nil. + }, +}) + +dap.listeners.after.event_initialized["dapui_config"] = function() + -- dapui.setup() + dapui.open() +end +dap.listeners.before.event_terminated["dapui_config"] = function() + dapui.close() +end +dap.listeners.before.event_exited["dapui_config"] = function() + dapui.close() +end +-- vim.fn.sign_define("DapBreakpoint", { text = "๐ŸŸฅ", texthl = "", linehl = "", numhl = "" }) +-- vim.fn.sign_define("DapBreakpoint", { text = "๏†ˆ", texthl = "DiagnosticSignError", linehl = "", numhl = "" }) +vim.fn.sign_define("DapBreakpoint", { text = "๓ฐจฐ", texthl = "DiagnosticSignError", linehl = "", numhl = "" }) +vim.fn.sign_define("DapStopped", { text = "โ–ถ๏ธ", texthl = "", linehl = "", numhl = "" }) diff --git a/lua/pcode/user/default.lua b/lua/pcode/user/default.lua new file mode 100644 index 0000000..3c22e2d --- /dev/null +++ b/lua/pcode/user/default.lua @@ -0,0 +1,106 @@ +-- activate config spesific languages +pcode.lang = { + angular = false, + cpp = false, + sql = false, + deno = false, + golang = false, + java = false, + java2 = false, + java3 = false, + java4 = false, + javascript = false, + kotlin = false, + markdown = false, + php = false, + prisma = false, + python = false, + rust = false, + tailwind = false, +} +-- activate config extras +pcode.extras = { + autosave = false, + bigfiles = false, + codeium = false, + codeiumnvim = false, + neocodeium = true, + liveserver = false, + minianimate = false, + neoscroll = false, + nvimufo = false, + refactoring = false, + rest = false, + treesittercontex = false, + colorizer = false, + dap = false, + deviconcolor = false, + illuminate = true, + indentscupe = false, + navic = true, + nvimmenu = false, + rainbowdelimiters = true, + scrollview = false, + smartsplit = true, + verticalcolumn = true, + visualmulti = true, + yanky = true, + zenmode = false, + lspsignatur = false, + telescopetreesiterinfo = false, + fidget = false, + tinydignostic = false, + dressing = true, + telescopediff = false, + cheatsheet = false, + showkeys = true, +} +-- activate config themes +pcode.themes = { + -- note: open remark only one + -- **:: Eva Theme ::** -- + -- evatheme = "Eva-Dark", + -- evatheme = "Eva-Dark-Italic", + -- evatheme = "Eva-Dark-Bold", + -- evatheme = "Eva-Light", + -- + -- **:: Dracula Theme ::** -- + dracula = "dracula", + -- dracula = "dracula-soft", + -- + -- **:: Onedarkpro Theme ::** -- + -- onedarkpro = "onedark", + -- onedarkpro = "onedark_vivid", + -- onedarkpro = "onedark_dark", + -- + -- **:: Jetbrains Theme ::** -- + -- jetbrains = "darcula-dark", + -- + -- **:: Sublimetext Theme ::** -- + -- sublimetext = "juliana", + -- + -- **:: Tokyonight Theme ::** -- + -- tokyonight = "tokyonight-night", + -- tokyonight = "tokyonight-storm", + -- tokyonight = "tokyonight-day", + -- tokyonight = "tokyonight-moon", + -- + -- **:: Catppuccin Theme ::** -- + -- catppuccin = "catppuccin", + -- catppuccin = "catppuccin-latte", + -- catppuccin = "catppuccin-frappe", + -- catppuccin = "catppuccin-macchiato", + -- catppuccin = "catppuccin-macchiato", + -- + -- **:: Gruvbox Theme ::** -- + -- gruvbox = "gruvbox", + -- + -- **:: Github Theme ::** -- + -- github = "github_dark_dimmed", +} +-- activate config transparent_bg +pcode.transparent = false +pcode.localcode = true +pcode.snippets_path = vim.fn.stdpath("config") .. "/mysnippets" +pcode.use_nvimtree = true +pcode.nvimtree_float = false diff --git a/lua/pcode/user/icons.lua b/lua/pcode/user/icons.lua new file mode 100644 index 0000000..e0389db --- /dev/null +++ b/lua/pcode/user/icons.lua @@ -0,0 +1,248 @@ +return { + kind = { + Boolean = "๓ฐจ™", + Color = "๎ญœ", + -- Codeium = "๓ฐ˜ฆ", + Codeium = "๓ฐจ", + Control = "๎ฉจ", + Collapsed = "๏‘  ", + Component = "๓ฐ…ด", + Copilot = "๏’ธ", + CopilotOff = "๏’น", + Folder = "๓ฐ‰‹", + Keyword = "๎ญข", + Reference = "๎ฌถ", + Snippet = "๎ญฆ", + TabNine = "๓ฐš", + Text = "๎ช“", + Unit = "๎ช–", + Value = "๎ช“", + File = "๎ฉป", + Module = "๎ช‹", + Namespace = "๎ช‹", + Package = "๎ฌฉ", + Class = "๎ญ›", + Method = "๎ชŒ", + Property = "๎ญฅ", + Field = "๎ญŸ", + Constructor = "๎ชŒ", + Enum = "๎ช•", + Interface = "๎ญก", + Function = "๎ชŒ", + Fragment = "๓ฐ…ด", + Variable = "๎ชˆ", + Constant = "๎ญ", + String = "๎ฎ", + Number = "๎ช", + Array = "๎ชŠ", + Object = "๎ช‹", + Key = "๎ช“", + Null = "๎ช", + EnumMember = "๎ญž", + Struct = "๎ช‘", + Event = "๎ช†", + Operator = "๎ญค", + TypeParameter = "๎ช’", + }, + kind2 = { + Array = " ๎ชŠ ", + Boolean = " ๓ฐจ™ ", + Class = " ๓ฐฏณ ", + Codeium = " ๓ฐ˜ฆ ", + Color = " ๓ฐฐ  ", + Control = " ๎ฉจ ", + Collapsed = " > ", + -- Constant = " ๓ฐฏฑ ", + Constant = " ๓ฐฏฒ ", + Constructor = " ๏ฃ ", + Copilot = " ๏’ธ ", + Enum = " ๓ฐฏน ", + EnumMember = " ๎ญž ", + Event = " ๎ช† ", + Field = " ๎ญž ", + File = " ๎ฉป ", + Folder = " ๎ชƒ ", + -- Function = " ๓ฐกฑ ", + Function = " ๓ฐฏผ ", + Interface = " ๓ฐฐ… ", + Key = " ๎ฌ‘ ", + -- Keyword = " ๓ฑ•ด ", + Keyword = " ๎ญข ", + Method = " ๓ฐฐ‘ ", + -- Module = " ๓ฐ†ผ ", + Module = " ๓ฐฐ ", + Namespace = " ๓ฐฐ” ", + Null = " ๎Š™ ", + Number = " ๓ฐฐ” ", + Object = " ๓ฐฒŸ ", + Operator = " ๎ชค ", + Package = " ๓ฐฐš ", + Property = " ๓ฐฒฝ ", + Reference = " ๓ฐฐ  ", + -- Snippet = " ๏“ป ", + -- Snippet = " ๎ญฆ ", + Snippet = " ๓ฐฐข ", + String = " ๎ฎ ", + Struct = " ๓ฐฐฃ ", + TabNine = " ๓ฐš ", + -- Text = " ๓ฑœฅ ", + -- Text = " ๎ช“ ", + Text = " ๓ฐฐฅ ", + TypeParameter = " ๓ฐฐฆ ", + Unit = " ๓ฑœฅ ", + Value = " ๎ช“ ", + -- Variable = " ๓ฐซง ", + Variable = " ๎ชˆ ", + -- Variable = " ๓ฐฐฌ ", + }, + git = { + LineAdded = "๎ซœ", + LineModified = "๎ซž", + LineRemoved = "๎ซŸ", + FileDeleted = "๎ซŸ", + FileIgnored = "๏“ƒ", + FileRenamed = "๎ซ ", + FileStaged = "S", + FileUnmerged = "๎ซพ", + FileUnstaged = "๏‘„", + FileUntracked = "U", + Diff = "๎ซก", + Repo = "๎ฉข", + Octoface = "๎ฌง", + Branch = "๎œฅ", + Branch2 = "๎‚ ", + Branch3 = "๓ฐ˜ฌ", + NoBranch = "๓ฑ“Œ", + }, + ui = { + ArrowCircleDown = "๏‚ซ", + ArrowCircleLeft = "๏‚จ", + ArrowCircleRight = "๏‚ฉ", + ArrowCircleUp = "๏‚ช", + BoldArrowDown = "๏ฃ", + BoldArrowLeft = "๏ ", + BoldArrowRight = "๏ก", + BoldArrowUp = "๏ข", + BoldClose = "๏€", + BoldDividerLeft = "๎‚ฒ", + BoldDividerRight = "๎‚ฐ", + BoldLineLeft = "โ–Ž", + BookMark = "๎ชฅ", + BoxChecked = "๏†", + Bug = "๎ชฏ", + Stacks = "๎ฎ†", + Scopes = "๎ˆข", + Watches = "๓ฐ‚ฅ", + DebugConsole = "๎ฎ›", + Calendar = "๎ชฐ", + Check = "๎ชฒ", + ChevronRight = "๎ชถ", + ChevronShortDown = "๎ชด", + ChevronShortLeft = "๎ชต", + ChevronShortRight = "๎ชถ", + ChevronShortUp = "๎ชท", + ChevronShortDown2 = "๏‘ผ ", + ChevronShortLeft2 = "๏‘ฝ", + ChevronShortRight2 = "๏‘ ", + ChevronShortUp2 = "๏‘ป", + Circle = "๏„‘ ", + Close = "๓ฐ…–", + CloudDownload = "๎ซ‚", + Code = "๎ซ„", + Comment = "๎ฉซ", + Dashboard = "๎ซ", + DividerLeft = "๎‚ณ", + DividerRight = "๎‚ฑ", + DoubleChevronRight = "ยป", + Ellipsis = "๎ฉผ", + EmptyFolder = "๓ฐ‰–", + EmptyFolderOpen = "๓ฐท", + File = "๎ฉป", + FileSymlink = "๎ซฎ", + Files = "๎ซฐ", + FindFile = "๓ฐˆž", + FindText = "๓ฐŠ„", + Fire = "๎ซฒ", + Folder = "๓ฐ‰‹", + FolderOpen = "๓ฐฐ", + FolderSymlink = "๏’‚", + Forward = "๏ค", + Gear = "๎ซธ", + History = "๎ช‚", + Lightbulb = "๎ฉก", + LineLeft = "โ–", + LineMiddle = "โ”‚", + List = "๎ฎ„", + Lock = "๎ฉต", + NewFile = "๎ฉฟ", + Note = "๎ฌฆ", + Package = "๎ฌฉ", + Pencil = "๓ฐซ", + Plus = "๏‘", + Project = "๎ฉข", + Search = "๎ฉญ", + SignIn = "๎ฉฏ", + SignOut = "๎ฉฎ", + Tab = "๓ฐŒ’", + Table = "๎ฎท", + Target = "๓ฐ€˜", + Telescope = "๎ญจ", + Text = "๎˜’", + Tree = "๏†ป", + Triangle = "๓ฐŠ", + TriangleShortArrowDown = "๏‘‹", + TriangleShortArrowLeft = "๏ธ", + TriangleShortArrowRight = "๏‘Š", + TriangleShortArrowUp = "๏‘พ", + Neovim = "๎šฎ", + Pending = "๏€™ ", + BlankCircle = "๏„‘ ", + CheckCircle = "๏˜ ", + DotCircle = "๏†’ ", + Border = { "โ•ญ", "โ”€", "โ•ฎ", "โ”‚", "โ•ฏ", "โ”€", "โ•ฐ", "โ”‚" }, + ProjekFolder = "๓ฑงถ", + Bell = "๓ฐ‚ ", + ft = "๏ƒถ", + not_loaded = "๏„Œ", + Paint = "๏‡ผ", + }, + folding = { + vert = "โ–•", -- alternatives โ”‚ + fold = " ", + eob = " ", -- suppress ~ at EndOfBuffer + diff = "โ•ฑ", -- alternatives = โฃฟ โ–‘ โ”€ + msgsep = "โ€พ", + foldopen = "โ–พ", + foldsep = "โ”‚", + foldclose = "โ–ธ", + plusBox = "๓ฐœ„", + plusSircle = "๓ฐ™", + plus = "๓ฐ•", + minusBox = "๓ฐ›ฒ", + minusSircle = "๓ฐท", + minus = "๓ฐด", + }, + diagnostics = { + BoldError = "๏—", + Error = "๎ช‡", + BoldWarning = "๏ฑ", + Warning = "๎ฉฌ", + BoldInformation = "๏š", + Information = "๎ฉด", + BoldQuestion = "๏™", + Question = "๎ฌฒ", + BoldHint = "๎ฉก", + Hint = "๓ฐŒถ", + Debug = "๎ชฏ", + Trace = "โœŽ", + }, + misc = { + Robot = "๓ฐšฉ", + Squirrel = "๎ญ˜", + Tag = "๎ฉฆ", + Watch = "๎ญผ", + Smiley = "๎ญ”", + Package = "๎ฌฉ", + CircuitBoard = "๎ชพ", + }, +} diff --git a/lua/pcode/user/java.lua b/lua/pcode/user/java.lua new file mode 100644 index 0000000..553a3d1 --- /dev/null +++ b/lua/pcode/user/java.lua @@ -0,0 +1,3 @@ +require("auto-jdtls2.create_gradle_project") +require("auto-jdtls2.create_maven_project") +require("auto-jdtls2.create_springboot_project") diff --git a/lua/pcode/user/keymaps.lua b/lua/pcode/user/keymaps.lua new file mode 100644 index 0000000..9ebb0d3 --- /dev/null +++ b/lua/pcode/user/keymaps.lua @@ -0,0 +1,150 @@ +-- definiskanfunction name +-- local keymap = vim.api.nvim_set_keymap +local keymap = vim.keymap.set +local opts = { noremap = true, silent = true } + +-- Remap space leader keys +keymap("", "", "", opts) +vim.g.mapleader = " " +vim.g.maplocalleader = " " + +-- MODES +-- mormal mode = "n" +-- insert mode = "i" +-- visual mode = "v" +-- visual block mode = "x" +-- term mode = "t" +-- command mode = "c" + +for _, mode in ipairs({ "i", "v", "n", "x" }) do + -- duplicate line + keymap(mode, "", "t.", opts) + keymap(mode, "", "t -1", opts) + keymap(mode, "", "t.", opts) + keymap(mode, "", "t -1", opts) + -- save file + keymap(mode, "", "silent! w", opts) +end + +-- duplicate line visual block +keymap("x", "", ":'<,'>t'>", opts) +keymap("x", "", ":'<,'>t'>", opts) +keymap("x", "", ":'<,'>t-1", opts) +keymap("x", "", ":'<,'>t-1", opts) + +-- move text up and down +keymap("x", "", ":move '>+1gv-gv", opts) +keymap("x", "", ":move '<-2gv-gv", opts) +keymap("n", "", "m+", opts) +keymap("i", "", "m+", opts) +keymap("n", "", "m-2", opts) +keymap("i", "", "m-2", opts) + +-- create comment CTRL + / visual block mode +keymap("x", "", function() + vim.api.nvim_feedkeys("gb", "v", true) +end, opts) +-- create comment CTRL + / normal mode +keymap("i", "", function() + vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes("", true, false, true), "n", true) + -- Toggle comment baris + vim.api.nvim_feedkeys("gcc", "v", true) + + -- Tunggu sejenak agar komentar terbentuk + vim.schedule(function() + local row = vim.fn.line(".") - 1 -- index dimulai dari 0 + local col = #vim.fn.getline(".") -- panjang baris = akhir kalimat + + -- Geser 2 spasi dari akhir dan masuk insert mode + vim.api.nvim_win_set_cursor(0, { row + 1, col }) + vim.api.nvim_feedkeys("i", "v", true) + vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes("", true, false, true), "n", true) + end) +end, opts) +-- create comment CTRL + / normal mode +keymap("n", "", function() + -- Toggle comment baris + vim.api.nvim_feedkeys("gcc", "v", true) + + -- Tunggu sejenak agar komentar terbentuk + vim.schedule(function() + local row = vim.fn.line(".") - 1 -- index dimulai dari 0 + local col = #vim.fn.getline(".") -- panjang baris = akhir kalimat + + -- Geser 2 spasi dari akhir dan masuk insert mode + vim.api.nvim_win_set_cursor(0, { row + 1, col }) + vim.api.nvim_feedkeys("i", "v", true) + vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes("", true, false, true), "n", true) + end) +end, opts) + +-- close windows +keymap("n", "q", "q", opts) +keymap("n", "f", "NvimTreeFindFileToggle", opts) + +-- window navigation +keymap("n", "", "h", opts) +keymap("n", "", "j", opts) +keymap("n", "", "k", opts) +keymap("n", "", "l", opts) +keymap("n", "", "gg0v$G", opts) +keymap("i", "", "gg0v$G", opts) +keymap("n", "", '"+y', opts) +keymap("v", "", '"+y', opts) +keymap("x", "", '"+y', opts) +keymap("n", "", '"+P', opts) +keymap("v", "", '"+P', opts) +keymap("i", "", "pa", opts) +keymap("x", "", '"+P', opts) +keymap("n", "", "undo", opts) +keymap("x", "", "undo", opts) +keymap("v", "", "undo", opts) +keymap("i", "", "undo", opts) + +-- Navigate buffers +keymap("n", "", ":bnext", opts) +keymap("n", "", ":bnext", opts) +keymap("n", "", ":bprevious", opts) +keymap("n", "", ":bprevious", opts) + +-- Reordering Bufferline +keymap("n", "", "BufferLineMovePrev", opts) +keymap("n", "", "BufferLineMoveNext", opts) + +-- Press jk fast to exit insert mode +keymap("i", "jk", "", opts) +keymap("i", "kj", "", opts) + +-- Stay in indent mode +keymap("v", "<", "", ">gv", opts) + +-- ALT + l to open terminal and run live-server +keymap("n", "", "terminal live-server", opts) + +-- close current buffer +keymap("n", "", "lua require('auto-bufferline.configs.utils').bufremove()", opts) + +vim.api.nvim_create_user_command("TSIsInstalled", function() + local parsers = require("nvim-treesitter.info").installed_parsers() + table.sort(parsers) + local choices = {} + local lookup = {} + + for _, parser in ipairs(parsers) do + local label = "[โœ“] " .. parser + table.insert(choices, label) + lookup[label] = parser + end + + vim.ui.select(choices, { + prompt = "Uninstall Treesitter", + }, function(choice) + if choice then + local parser_name = lookup[choice] + if parser_name then + vim.cmd("TSUninstall " .. parser_name) + end + end + end) +end, {}) diff --git a/lua/pcode/user/npmrun.lua b/lua/pcode/user/npmrun.lua new file mode 100644 index 0000000..ab88fb7 --- /dev/null +++ b/lua/pcode/user/npmrun.lua @@ -0,0 +1,262 @@ +local last_modal = nil -- global modal manager instance + +local function modal_manager(opts) + opts = opts or {} + local win_id = nil + local buf_id = nil + local last_content = "" + local is_shown = false + local ever_shown = false + + local function close() + if win_id and vim.api.nvim_win_is_valid(win_id) then + vim.api.nvim_win_close(win_id, true) + win_id = nil + end + is_shown = false + end + + local function open(content) + local lines = vim.split(content or "", "\n") + local width = opts.width or 70 + local height = math.min(opts.height or 15, #lines + 6) + local row = math.floor((vim.o.lines - height) / 2) + local col = math.floor((vim.o.columns - width) / 2) + if not buf_id or not vim.api.nvim_buf_is_valid(buf_id) then + buf_id = vim.api.nvim_create_buf(false, true) + vim.api.nvim_buf_set_keymap(buf_id, "n", "q", "", { + noremap = true, + silent = true, + callback = function() + close() + end, + }) + end + pcall(vim.api.nvim_buf_set_option, buf_id, "modifiable", true) + pcall(vim.api.nvim_buf_set_lines, buf_id, 0, -1, false, lines) + pcall(vim.api.nvim_buf_set_option, buf_id, "modifiable", false) + if not win_id or not vim.api.nvim_win_is_valid(win_id) then + win_id = vim.api.nvim_open_win(buf_id, true, { + relative = "editor", + width = width, + height = height, + row = row, + col = col, + style = "minimal", + border = "rounded", + }) + end + is_shown = true + ever_shown = true + end + + local function show() + if is_shown then + return + end + if last_content ~= "" then + open(last_content) + end + end + + local function hide() + close() + end + + local function update(content) + last_content = content + if is_shown and buf_id and vim.api.nvim_buf_is_valid(buf_id) then + local lines = vim.split(content or "", "\n") + pcall(vim.api.nvim_buf_set_option, buf_id, "modifiable", true) + pcall(vim.api.nvim_buf_set_lines, buf_id, 0, -1, false, lines) + pcall(vim.api.nvim_buf_set_option, buf_id, "modifiable", false) + end + end + + -- Hanya auto open saat pertama kali, tidak auto open setelah pernah di-close/hide + local function set_content(content) + last_content = content + if not ever_shown then + open(content) + elseif is_shown then + update(content) + end + -- jika ever_shown dan !is_shown, cukup simpan output saja + end + + return { + show = show, + hide = hide, + update = update, + close = close, + set_content = set_content, + is_shown = function() + return is_shown + end, + } +end + +local M = {} +M._last_modal = nil + +local function log(message, level) + vim.notify(string.format("npm-dev-runner: %s", message), vim.log.levels[level]) +end + +local function find_cached_dir(dir, cache) + if not dir then + vim.notify("npm-dev-runner: No directory provided to find_cached_dir()", vim.log.levels.ERROR) + return + end + local cur = dir + while not cache[cur] do + if cur == "/" or string.match(cur, "^[A-Z]:\\$") then + return + end + cur = vim.fn.fnamemodify(cur, ":h") + end + return cur +end + +local function is_running(dir, cache) + local cached_dir = find_cached_dir(dir, cache) + return cached_dir and cache[cached_dir] +end + +local function is_windows() + return vim.loop.os_uname().version:match("Windows") +end + +local default_opts = { + show_mapping = "nm", + hide_mapping = "nh", +} + +M.setup = function(command_table, opts) + opts = vim.tbl_deep_extend("force", {}, default_opts, opts or {}) + command_table = command_table or {} + + -- Keymap global, pakai modal terakhir yang aktif + if opts.show_mapping then + vim.keymap.set("n", opts.show_mapping, function() + if last_modal then + last_modal.show() + end + end, { desc = "Show last NPM modal output" }) + end + if opts.hide_mapping then + vim.keymap.set("n", opts.hide_mapping, function() + if last_modal then + last_modal.hide() + end + end, { desc = "Hide last NPM modal output" }) + end + + -- Tambah user command global untuk show/hide modal + vim.api.nvim_create_user_command("NpmModalShow", function() + if last_modal then + last_modal.show() + end + end, { desc = "Show last NPM modal output" }) + + vim.api.nvim_create_user_command("NpmModalHide", function() + if last_modal then + last_modal.hide() + end + end, { desc = "Hide last NPM modal output" }) + + for key, conf in pairs(command_table) do + local start_cmd = conf.start or ("NpmRun" .. key) + local stop_cmd = conf.stop or ("NpmStop" .. key) + local cmd_str = conf.cmd or "npm run dev" + local cache = {} + + local function do_start(dir) + if is_running(dir, cache) then + log(cmd_str .. " already running", "INFO") + return + end + + local all_output = {} + local modal = modal_manager(opts) + last_modal = modal + M._last_modal = modal + + local cmd + if is_windows() then + cmd = { "cmd.exe", "/C" } + for word in cmd_str:gmatch("%S+") do + table.insert(cmd, word) + end + else + cmd = {} + for word in cmd_str:gmatch("%S+") do + table.insert(cmd, word) + end + end + + local function process_lines(lines) + if not lines then + return + end + for _, l in ipairs(lines) do + table.insert(all_output, tostring(l)) + end + modal.set_content(table.concat(all_output, "\n")) + end + + local job_id = vim.fn.jobstart(cmd, { + cwd = dir, + stdout_buffered = false, + stderr_buffered = false, + on_stdout = function(_, data) + process_lines(data) + end, + on_stderr = function(_, data) + process_lines(data) + end, + on_exit = function(_, code) + table.insert(all_output, ("Process exited with code: %d"):format(code)) + modal.set_content(table.concat(all_output, "\n")) + cache[dir] = nil + end, + }) + + cache[dir] = { job_id = job_id, modal = modal } + log(cmd_str .. " started", "INFO") + end + + local function do_stop(dir) + local running = is_running(dir, cache) + if running then + local cached_dir = find_cached_dir(dir, cache) + if cached_dir then + local job_entry = cache[cached_dir] + if job_entry then + vim.fn.jobstop(job_entry.job_id) + if job_entry.modal then + job_entry.modal.close() + end + end + cache[cached_dir] = nil + log(cmd_str .. " stopped", "INFO") + end + end + end + + local function find_dir(args) + local dir = args ~= "" and args or "%:p:h" + return vim.fn.expand(vim.fn.fnamemodify(vim.fn.expand(dir), ":p")) + end + + vim.api.nvim_create_user_command(start_cmd, function(opts) + do_start(find_dir(opts.args)) + end, { nargs = "?" }) + + vim.api.nvim_create_user_command(stop_cmd, function(opts) + do_stop(find_dir(opts.args)) + end, { nargs = "?" }) + end +end + +return M diff --git a/lua/pcode/user/npmrun2.lua b/lua/pcode/user/npmrun2.lua new file mode 100644 index 0000000..e510cf1 --- /dev/null +++ b/lua/pcode/user/npmrun2.lua @@ -0,0 +1,171 @@ +local function open_new_buffer(name) + local buf = vim.api.nvim_create_buf(true, false) + vim.api.nvim_set_current_buf(buf) + vim.api.nvim_buf_set_option(buf, "modifiable", true) + if name then + vim.api.nvim_buf_set_name(buf, name) + end + return buf +end + +local M = {} + +local main_cmd = "npm run dev" -- default + +local function log(message, level) + vim.notify(string.format("npm-dev-runner: %s", message), vim.log.levels[level]) +end + +-- Cache: dir -> { job_id=..., buf=... } +local job_cache = {} + +local function find_cached_dir(dir) + if not dir then + vim.notify("npm-dev-runner: No directory provided to find_cached_dir()", vim.log.levels.ERROR) + return + end + + local cur = dir + while not job_cache[cur] do + if cur == "/" or string.match(cur, "^[A-Z]:\\$") then + return + end + cur = vim.fn.fnamemodify(cur, ":h") + end + return cur +end + +local function is_running(dir) + local cached_dir = find_cached_dir(dir) + return cached_dir and job_cache[cached_dir] +end + +local function is_windows() + return vim.loop.os_uname().version:match("Windows") +end + +M.toggle = function(dir) + local running = is_running(dir) + if not running then + M.start(dir) + return + end + M.stop(dir) +end + +--- Fungsi setup menerima argumen command utama, contoh: require("npmrun").setup("pnpm dev") +M.setup = function(cmd) + main_cmd = cmd or "npm run dev" + if not vim.fn.executable(main_cmd:match("%S+")) then + log(main_cmd .. " is not executable. Make sure it is installed and in PATH.", "ERROR") + return + end + + local function find_dir(args) + local dir = args ~= "" and args or "%:p:h" + return vim.fn.expand(vim.fn.fnamemodify(vim.fn.expand(dir), ":p")) + end + + vim.api.nvim_create_user_command("DevStart", function(opts) + M.start(find_dir(opts.args)) + end, { nargs = "?" }) + + vim.api.nvim_create_user_command("DevStop", function(opts) + M.stop(find_dir(opts.args)) + end, { nargs = "?" }) + + vim.api.nvim_create_user_command("DevToggle", function(opts) + M.toggle(find_dir(opts.args)) + end, { nargs = "?" }) +end + +M.start = function(dir) + if is_running(dir) then + log(main_cmd .. " already running", "INFO") + return + end + + local cmd + if is_windows() then + cmd = { "cmd.exe", "/C" } + for word in main_cmd:gmatch("%S+") do + table.insert(cmd, word) + end + else + cmd = {} + for word in main_cmd:gmatch("%S+") do + table.insert(cmd, word) + end + end + + local buffer_name = "npmrun.txt" + local output_buf = open_new_buffer(buffer_name) + vim.api.nvim_buf_set_lines(output_buf, 0, -1, false, {}) + + local function append_to_buffer(lines) + if not lines then + return + end + if not vim.api.nvim_buf_is_valid(output_buf) then + return + end + local filtered = {} + for _, l in ipairs(lines) do + if l ~= "" then + table.insert(filtered, l) + end + end + if #filtered > 0 then + local line_count = vim.api.nvim_buf_line_count(output_buf) + vim.api.nvim_buf_set_lines(output_buf, line_count, line_count, false, filtered) + end + end + + local function close_output_buffer() + if output_buf and vim.api.nvim_buf_is_valid(output_buf) then + vim.api.nvim_buf_delete(output_buf, { force = true }) + end + end + + local job_id = vim.fn.jobstart(cmd, { + cwd = dir, + stdout_buffered = false, -- streaming mode + stderr_buffered = false, + on_stdout = function(_, data) + append_to_buffer(data) + end, + on_stderr = function(_, data) + append_to_buffer(vim.tbl_map(function(l) + return "[ERR] " .. l + end, data)) + end, + on_exit = function(_, code) + append_to_buffer({ string.format(main_cmd .. " exited with code %d", code) }) + close_output_buffer() + job_cache[dir] = nil + end, + }) + + job_cache[dir] = { job_id = job_id, buf = output_buf } + log(main_cmd .. " started", "INFO") +end + +M.stop = function(dir) + local running = is_running(dir) + if running then + local cached_dir = find_cached_dir(dir) + if cached_dir then + local job_entry = job_cache[cached_dir] + if job_entry then + vim.fn.jobstop(job_entry.job_id) + if job_entry.buf and vim.api.nvim_buf_is_valid(job_entry.buf) then + vim.api.nvim_buf_delete(job_entry.buf, { force = true }) + end + end + job_cache[cached_dir] = nil + log(main_cmd .. " stopped", "INFO") + end + end +end + +return M diff --git a/lua/pcode/user/npmrun3.lua b/lua/pcode/user/npmrun3.lua new file mode 100644 index 0000000..79b0724 --- /dev/null +++ b/lua/pcode/user/npmrun3.lua @@ -0,0 +1,174 @@ +local function show_modal(text) + local buf = vim.api.nvim_create_buf(false, true) -- buffer untuk modal + + vim.api.nvim_buf_set_lines(buf, 0, -1, false, { text, "", "Press q to close" }) + + local width = 50 + local height = 5 + local row = math.floor((vim.o.lines - height) / 2) + local col = math.floor((vim.o.columns - width) / 2) + + local win = vim.api.nvim_open_win(buf, true, { + relative = "editor", + width = width, + height = height, + row = row, + col = col, + style = "minimal", + border = "rounded", + }) + + -- keymap untuk menutup modal dengan 'q' + vim.api.nvim_buf_set_keymap(buf, "n", "q", "", { + noremap = true, + silent = true, + callback = function() + vim.api.nvim_win_close(win, true) + end, + }) +end + +local M = {} + +local main_cmd = "npm run dev" -- default + +local function log(message, level) + vim.notify(string.format("npm-dev-runner: %s", message), vim.log.levels[level]) +end + +-- Cache: dir -> { job_id=..., buf=... } +local job_cache = {} + +local function find_cached_dir(dir) + if not dir then + vim.notify("npm-dev-runner: No directory provided to find_cached_dir()", vim.log.levels.ERROR) + return + end + + local cur = dir + while not job_cache[cur] do + if cur == "/" or string.match(cur, "^[A-Z]:\\$") then + return + end + cur = vim.fn.fnamemodify(cur, ":h") + end + return cur +end + +local function is_running(dir) + local cached_dir = find_cached_dir(dir) + return cached_dir and job_cache[cached_dir] +end + +local function is_windows() + return vim.loop.os_uname().version:match("Windows") +end + +M.toggle = function(dir) + local running = is_running(dir) + if not running then + M.start(dir) + return + end + M.stop(dir) +end + +--- Fungsi setup menerima argumen command utama, contoh: require("npmrun").setup("pnpm dev") +M.setup = function(cmd) + main_cmd = cmd or "npm run dev" + if not vim.fn.executable(main_cmd:match("%S+")) then + log(main_cmd .. " is not executable. Make sure it is installed and in PATH.", "ERROR") + return + end + + local function find_dir(args) + local dir = args ~= "" and args or "%:p:h" + return vim.fn.expand(vim.fn.fnamemodify(vim.fn.expand(dir), ":p")) + end + + vim.api.nvim_create_user_command("DevStart", function(opts) + M.start(find_dir(opts.args)) + end, { nargs = "?" }) + + vim.api.nvim_create_user_command("DevStop", function(opts) + M.stop(find_dir(opts.args)) + end, { nargs = "?" }) + + vim.api.nvim_create_user_command("DevToggle", function(opts) + M.toggle(find_dir(opts.args)) + end, { nargs = "?" }) +end + +M.start = function(dir) + if is_running(dir) then + log(main_cmd .. " already running", "INFO") + return + end + + local cmd + if is_windows() then + cmd = { "cmd.exe", "/C" } + for word in main_cmd:gmatch("%S+") do + table.insert(cmd, word) + end + else + cmd = {} + for word in main_cmd:gmatch("%S+") do + table.insert(cmd, word) + end + end + + local function append_to_buffer(lines) + if not lines then + return + end + + for _, line in ipairs(lines) do + if line ~= "" then + line = tostring(line) + line = line:gsub("^%s*(.-)%s*$", "%1") + if string.find(line, "http") then + show_modal(line) + break + end + end + end + end + + local job_id = vim.fn.jobstart(cmd, { + cwd = dir, + stdout_buffered = false, -- streaming mode + stderr_buffered = false, + on_stdout = function(_, data) + append_to_buffer(data) + end, + on_stderr = function(_, data) + append_to_buffer(vim.tbl_map(function(l) + return "[ERR] " .. l + end, data)) + end, + on_exit = function(_, _) + job_cache[dir] = nil + end, + }) + + job_cache[dir] = { job_id = job_id } + log(main_cmd .. " started", "INFO") +end + +M.stop = function(dir) + local running = is_running(dir) + if running then + local cached_dir = find_cached_dir(dir) + if cached_dir then + local job_entry = job_cache[cached_dir] + if job_entry then + vim.fn.jobstop(job_entry.job_id) + end + job_cache[cached_dir] = nil + log(main_cmd .. " stopped", "INFO") + end + end +end + +return M diff --git a/lua/pcode/user/npmrun4.lua b/lua/pcode/user/npmrun4.lua new file mode 100644 index 0000000..1c8c4f1 --- /dev/null +++ b/lua/pcode/user/npmrun4.lua @@ -0,0 +1,158 @@ +local function show_modal(text) + local buf = vim.api.nvim_create_buf(false, true) + vim.api.nvim_buf_set_lines(buf, 0, -1, false, { text, "", "Press q to close" }) + + local width = 50 + local height = 5 + local row = math.floor((vim.o.lines - height) / 2) + local col = math.floor((vim.o.columns - width) / 2) + + local win = vim.api.nvim_open_win(buf, true, { + relative = "editor", + width = width, + height = height, + row = row, + col = col, + style = "minimal", + border = "rounded", + }) + + vim.api.nvim_buf_set_keymap(buf, "n", "q", "", { + noremap = true, + silent = true, + callback = function() + vim.api.nvim_win_close(win, true) + end, + }) +end + +local M = {} + +local function log(message, level) + vim.notify(string.format("npm-dev-runner: %s", message), vim.log.levels[level]) +end + +-- Fungsi untuk mencari cache dir (supaya stop/start tetap per dir/project) +local function find_cached_dir(dir, cache) + if not dir then + vim.notify("npm-dev-runner: No directory provided to find_cached_dir()", vim.log.levels.ERROR) + return + end + local cur = dir + while not cache[cur] do + if cur == "/" or string.match(cur, "^[A-Z]:\\$") then + return + end + cur = vim.fn.fnamemodify(cur, ":h") + end + return cur +end + +-- Fungsi cek proses running +local function is_running(dir, cache) + local cached_dir = find_cached_dir(dir, cache) + return cached_dir and cache[cached_dir] +end + +local function is_windows() + return vim.loop.os_uname().version:match("Windows") +end + +M.setup = function(command_table) + command_table = command_table or {} + for key, conf in pairs(command_table) do + local start_cmd = conf.start or ("NpmRun" .. key) + local stop_cmd = conf.stop or ("NpmStop" .. key) + local cmd_str = conf.cmd or "npm run dev" + + -- cache khusus untuk mode ini + local cache = {} + + -- Fungsi Start + local function do_start(dir) + if is_running(dir, cache) then + log(cmd_str .. " already running", "INFO") + return + end + + local cmd + if is_windows() then + cmd = { "cmd.exe", "/C" } + for word in cmd_str:gmatch("%S+") do + table.insert(cmd, word) + end + else + cmd = {} + for word in cmd_str:gmatch("%S+") do + table.insert(cmd, word) + end + end + + local function process_lines(lines) + if not lines then + return + end + for _, line in ipairs(lines) do + if line ~= "" then + local str = tostring(line):gsub("^%s*(.-)%s*$", "%1") + if string.find(str, "http") then + show_modal(str) + end + end + end + end + + local job_id = vim.fn.jobstart(cmd, { + cwd = dir, + stdout_buffered = false, + stderr_buffered = false, + on_stdout = function(_, data) + process_lines(data) + end, + on_stderr = function(_, data) + process_lines(vim.tbl_map(function(l) + return "[ERR] " .. l + end, data)) + end, + on_exit = function(_, _) + cache[dir] = nil + end, + }) + + cache[dir] = { job_id = job_id } + log(cmd_str .. " started", "INFO") + end + + -- Fungsi Stop + local function do_stop(dir) + local running = is_running(dir, cache) + if running then + local cached_dir = find_cached_dir(dir, cache) + if cached_dir then + local job_entry = cache[cached_dir] + if job_entry then + vim.fn.jobstop(job_entry.job_id) + end + cache[cached_dir] = nil + log(cmd_str .. " stopped", "INFO") + end + end + end + + local function find_dir(args) + local dir = args ~= "" and args or "%:p:h" + return vim.fn.expand(vim.fn.fnamemodify(vim.fn.expand(dir), ":p")) + end + + -- Register Perintah + vim.api.nvim_create_user_command(start_cmd, function(opts) + do_start(find_dir(opts.args)) + end, { nargs = "?" }) + + vim.api.nvim_create_user_command(stop_cmd, function(opts) + do_stop(find_dir(opts.args)) + end, { nargs = "?" }) + end +end + +return M diff --git a/lua/pcode/user/options.lua b/lua/pcode/user/options.lua new file mode 100644 index 0000000..fb63c97 --- /dev/null +++ b/lua/pcode/user/options.lua @@ -0,0 +1,81 @@ +local options = { + backspace = vim.opt.backspace + { "nostop" }, -- Jangan hentikan backspace saat insert + clipboard = "unnamedplus", -- Koneksi ke clipboard sistem + cmdheight = 0, -- Sembunyikan command line kecuali dibutuhkan + completeopt = { "menuone", "noselect" }, -- Opsi untuk penyelesaian mode insert + copyindent = true, -- Salin indentasi sebelumnya pada autoindenting + cursorline = true, -- Sorot baris teks dari kursor + expandtab = true, -- Aktifkan penggunaan spasi di tab + fileencoding = "utf-8", -- Pengkodean konten file untuk buffer + fillchars = { eob = " " }, -- Nonaktifkan `~` pada baris yang tidak ada + history = 100, -- Jumlah perintah yang diingat dalam tabel riwayat + ignorecase = true, -- Pencarian tidak peka huruf besar kecil + laststatus = 3, -- globalstatus + guicursor = "n-v-c:block,i-ci-ve:ver25,r-cr:hor20,o:hor50,a:blinkwait700-blinkoff400-blinkon250-Cursor/lCursor,sm:block-blinkwait175-blinkoff150-blinkon175", + lazyredraw = false, -- Layar digambar ulang dengan malas + mouse = "a", -- Aktifkan dukungan mouse + number = true, -- Tampilkan garis nomor + preserveindent = true, -- Pertahankan struktur indentasi sebanyak mungkin + pumheight = 10, -- Tinggi menu pop up + relativenumber = true, -- Tampilkan garis nomor relatif + scrolloff = 8, -- Jumlah baris untuk menjaga di atas dan di bawah kursor + shiftwidth = 2, -- Jumlah spasi yang dimasukkan untuk indentasi + showmode = false, -- Nonaktifkan menampilkan mode di command line + showtabline = 2, -- Selalu tampilkan tabline + sidescrolloff = 8, -- Jumlah kolom untuk menjaga di sisi kursor + signcolumn = "yes", -- Selalu tampilkan kolom tanda + smartcase = true, -- Pencarian peka huruf besar kecil + splitbelow = true, -- Membagi jendela baru di bawah jendela saat ini + splitright = true, -- Membagi jendela baru di kanan jendela saat ini + swapfile = false, -- Nonaktifkan penggunaan swapfile untuk buffer + tabstop = 2, -- Jumlah spasi dalam tab + termguicolors = true, -- Aktifkan warna RGB 24-bit di TUI + timeoutlen = 300, -- Panjang waktu tunggu untuk urutan yang dipetakan + undofile = true, -- Aktifkan undo yang persisten + updatetime = 300, -- Panjang waktu tunggu sebelum memicu plugin + wrap = false, -- Nonaktifkan pembungkusan baris lebih panjang dari lebar jendela + writebackup = false, -- Nonaktifkan membuat cadangan sebelum menimpa file + guifont = "Hasklug Nerd Font:h15", -- font yang digunakan dalam aplikasi neovim grafis + whichwrap = "bs<>[]hl", -- Kunci "horizontal" yang diizinkan untuk berpindah ke baris sebelumnya/selanjutnya +} + +for k, v in pairs(options) do + vim.opt[k] = v +end + +-- vim.opt.shortmess = "ilmnrx" -- flags to shorten vim messages, see :help 'shortmess' +-- vim.o.winbar = "%{%v:lua.require'nvim-navic'.get_location()%}" +vim.opt.shortmess:append("c") -- don't give |ins-completion-menu| messages +vim.opt.iskeyword:append("-") -- hyphenated words recognized by searches +vim.opt.formatoptions:remove({ "t", "c", "q", "j" }) +vim.opt.formatoptions = "croql" +-- vim.opt.formatoptions:remove({ "c", "r", "o" }) -- don't insert the current comment leader automatically for auto-wrapping comments using 'textwidth', hitting in insert mode, or hitting 'o' or 'O' in normal mode. +vim.opt.runtimepath:remove("/usr/share/vim/vimfiles") -- separate vim plugins from neovim in case vim still in use +-- config for blink cursor in normal, visual and insert mode +-- vim.opt.guicursor = { +-- "n-v-c:block-Cursor/lCursor-blinkwait1000-blinkon100-blinkoff100", +-- "i-ci:ver25-Cursor/lCursor-blinkwait1000-blinkon100-blinkoff100", +-- "r:hor50-Cursor/lCursor-blinkwait100-blinkon100-blinkoff100", +-- } +vim.loader.enable() + +-- Disable statusline in dashboard +vim.api.nvim_create_autocmd("FileType", { + pattern = { "dbout", "dbui", "http", "httpResult", "checkhealth", "qf", "help", "lazy" }, + callback = function() + local opt = vim.opt + opt.number = false -- Print line number + opt.preserveindent = false -- Preserve indent structure as much as possible + opt.relativenumber = false + end, +}) + +vim.opt.guicursor = "n-v-c-sm:block,i-ci-ve:ver25,r-cr-o:hor20" + +local uname = vim.loop.os_uname() +if uname.sysname == "Windows_NT" then + vim.opt.shell = "pwsh" + vim.opt.shellcmdflag = "-NoLogo -NoProfile -ExecutionPolicy RemoteSigned -Command" + vim.opt.shellquote = "" + vim.opt.shellxquote = "" +end diff --git a/lua/pcode/user/snippets.lua b/lua/pcode/user/snippets.lua new file mode 100644 index 0000000..bdca731 --- /dev/null +++ b/lua/pcode/user/snippets.lua @@ -0,0 +1,8 @@ +local status_ok = pcall(require, "luasnip") +if not status_ok then + return +end + +local lpath = pcode.snippets_path or vim.fn.stdpath("config") .. "/snippets" +require("luasnip.loaders.from_vscode").lazy_load({ paths = lpath }) +require("luasnip.loaders.from_vscode").load({ paths = lpath }) diff --git a/lua/plugins/cmp.lua b/lua/plugins/cmp.lua deleted file mode 100644 index 062f96f..0000000 --- a/lua/plugins/cmp.lua +++ /dev/null @@ -1,91 +0,0 @@ -return { - "hrsh7th/nvim-cmp", - version = false, -- last release is way too old - event = "InsertEnter", - dependencies = { - "hrsh7th/cmp-nvim-lsp", - "hrsh7th/cmp-buffer", - "hrsh7th/cmp-path", - "saadparwaiz1/cmp_luasnip", - "hrsh7th/cmp-nvim-lua", - -- { - -- "hrsh7th/cmp-cmdline", - -- --event = "BufWinEnter", - -- event = "VeryLazy", - -- config = function() - -- require("user.cmdline") - -- end, - -- }, - }, - opts = function() - local cmp = require("cmp") - local luasnip = require("luasnip") - - local check_backspace = function() - local col = vim.fn.col(".") - 1 - return col == 0 or vim.fn.getline("."):sub(col, col):match("%s") - end - - return { - completion = { - completeopt = "menu,menuone,noinsert", - }, - snippet = { - expand = function(args) - require("luasnip").lsp_expand(args.body) - end, - }, - mapping = cmp.mapping.preset.insert({ - [""] = cmp.mapping.scroll_docs(-4), - [""] = cmp.mapping.scroll_docs(4), - [""] = cmp.mapping.complete(), - [""] = cmp.mapping.abort(), - [""] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. - [""] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_next_item() - elseif luasnip.expandable() then - luasnip.expand() - elseif luasnip.expand_or_jumpable() then - luasnip.expand_or_jump() - elseif check_backspace() then - fallback() - else - fallback() - end - end, { - "i", - "s", - }), - }), - sources = cmp.config.sources({ - { name = "nvim_lsp" }, - { name = "luasnip" }, - { name = "buffer" }, - { name = "path" }, - { name = "nvim_lua" }, - }), - formatting = { - fields = { "kind", "abbr", "menu" }, - format = function(entry, vim_item) - vim_item.kind = string.format("%s", require("user.icons")["kind"][vim_item.kind]) - vim_item.menu = ({ - nvim_lsp = "(LSP)", - luasnip = "(Snippet)", - buffer = "(Buffer)", - path = "(Path)", - })[entry.source.name] - return vim_item - end, - }, - window = { - completion = cmp.config.window.bordered(), - documentation = cmp.config.window.bordered(), - }, - experimental = { - ghost_text = false, - native_menu = false, - }, - } - end, -} diff --git a/lua/plugins/cmp_cndline.lua b/lua/plugins/cmp_cndline.lua deleted file mode 100644 index 742106b..0000000 --- a/lua/plugins/cmp_cndline.lua +++ /dev/null @@ -1,49 +0,0 @@ -return { - -- { - -- "hrsh7th/cmp-cmdline", - -- event = "BufWinEnter", - -- config = function() - -- local cmp = require("cmp") - -- -- for cmd line - -- cmp.setup.cmdline("/", { - -- mapping = cmp.mapping.preset.cmdline(), - -- sources = { - -- { name = "buffer" }, - -- }, - -- }) - -- - -- -- -- `:` cmdline setup. - -- cmp.setup.cmdline(":", { - -- mapping = cmp.mapping.preset.cmdline(), - -- sources = cmp.config.sources({ - -- { name = "path" }, - -- }, { - -- { - -- name = "cmdline", - -- option = { - -- ignore_cmds = { "man", "!" }, - -- }, - -- }, - -- }), - -- }) - -- end, - -- }, - - -- for auto complate commond mode - { - "gelguy/wilder.nvim", - event = "BufWinEnter", - config = function() - local wilder = require("wilder") - wilder.setup({ modes = { ":", "/", "?" } }) - wilder.set_option( - "renderer", - wilder.popupmenu_renderer({ - highlighter = wilder.basic_highlighter(), - left = { " ", wilder.popupmenu_devicons() }, - right = { " ", wilder.popupmenu_scrollbar() }, - }) - ) - end, - }, -} diff --git a/lua/plugins/default.lua b/lua/plugins/default.lua deleted file mode 100644 index 7618c79..0000000 --- a/lua/plugins/default.lua +++ /dev/null @@ -1,5 +0,0 @@ --- require("user.options") --- require("user.keymaps") --- require("user.autocommands") --- require("user.format_onsave") -return {} diff --git a/lua/plugins/init.lua b/lua/plugins/init.lua deleted file mode 100644 index 5cb107f..0000000 --- a/lua/plugins/init.lua +++ /dev/null @@ -1,428 +0,0 @@ --- local build = "powershell ./install.ps1" --- if vim.fn.has("win32") == 0 then --- build = "./install.sh" --- end -return { - -- plugin ini merupakan penyedia library neovim lua - { - "nvim-lua/plenary.nvim", - lazy = true, - }, - -- coding start - -- coloring code - { - "nvim-treesitter/nvim-treesitter", - event = "BufRead", - cmd = { - "TSBufDisable", - "TSBufEnable", - "TSBufToggle", - "TSDisable", - "TSEnable", - "TSToggle", - "TSInstall", - "TSInstallInfo", - "TSInstallSync", - "TSModuleInfo", - "TSUninstall", - "TSUpdate", - "TSUpdateSync", - }, - build = function() - local status_ok, ts = pcall(require, "nvim-treesitter.install") - if not status_ok then - return - end - ts.update({ with_sync = true })() - end, - -- config = function() - -- local status_ok, _ = pcall(require, "nvim-treesitter") - -- if not status_ok then - -- return - -- end - -- require("user.treesitter") - -- end, - }, - -- snippets - { - "L3MON4D3/LuaSnip", - dependencies = { - "rafamadriz/friendly-snippets", - config = function() - require("luasnip.loaders.from_vscode").lazy_load() - require("user.snip") - end, - }, - opts = { - history = true, - delete_check_events = "TextChanged", - }, - -- stylua: ignore - keys = { - { - "", - function() - return require("luasnip").jumpable(1) and "luasnip-jump-next" or "" - end, - expr = true, silent = true, mode = "i", - }, - { "", function() require("luasnip").jump(1) end, mode = "s" }, - { "", function() require("luasnip").jump(-1) end, mode = { "i", "s" } }, - }, - }, - -- -- auto completion (dipindah supaya loading lebih cepat) - -- { - -- "hrsh7th/nvim-cmp", - -- version = false, -- last release is way too old - -- event = "InsertEnter", - -- dependencies = { - -- "hrsh7th/cmp-nvim-lsp", - -- "hrsh7th/cmp-buffer", - -- "hrsh7th/cmp-path", - -- "saadparwaiz1/cmp_luasnip", - -- "hrsh7th/cmp-nvim-lua", - -- { - -- "tzachar/cmp-tabnine", - -- build = build, - -- event = "BufWinEnter", - -- config = function() - -- require("user.tabnine") - -- end, - -- }, - -- -- { - -- -- "hrsh7th/cmp-cmdline", - -- -- event = "BufWinEnter", - -- -- config = function() - -- -- require("user.cmdline") - -- -- end, - -- -- }, - -- }, - -- opts = function() - -- require("user.cmp") - -- end, - -- }, - -- - { - "neovim/nvim-lspconfig", - event = "BufWinEnter", - dependencies = { - "williamboman/mason-lspconfig.nvim", - }, - config = function() - require("user.lsp") - end, - }, - -- { - -- "williamboman/mason.nvim", - -- event = "VeryLazy", - -- cmd = { - -- "Mason", - -- "MasonInstall", - -- "MasonUninstall", - -- "MasonUninstallAll", - -- "MasonLog", - -- }, - -- dependencies = { "williamboman/mason-lspconfig.nvim" }, - -- init = function() - -- vim.tbl_map(function(plugin) - -- pcall(require, plugin) - -- end, { "lspconfig", "null-ls" }) - -- end, - -- }, - { - "williamboman/mason.nvim", - cmd = "Mason", - keys = { { "cm", "Mason", desc = "Mason" } }, - }, - -- for formater linter - { "RRethy/vim-illuminate", event = "BufRead" }, - { - "jayp0521/mason-null-ls.nvim", - dependencies = "jose-elias-alvarez/null-ls.nvim", - event = "BufRead", - opts = function() - require("user.mason-null-ls") - end, - }, - -- debuging - { - "rcarriga/nvim-dap-ui", - event = "BufWinEnter", - dependencies = "mfussenegger/nvim-dap", - enabled = vim.fn.has("win32") == 0, - config = function() - require("user.dapui") - end, - }, - { - "jayp0521/mason-nvim-dap.nvim", - event = "VeryLazy", - dependencies = { "williamboman/mason.nvim", "mfussenegger/nvim-dap" }, - enabled = vim.fn.has("win32") == 0, - init = function() - require("user.mason_dap") - end, - }, - -- for install lsp tidak support mason - { "williamboman/nvim-lsp-installer", event = "VeryLazy" }, - -- auto pairs - { - "windwp/nvim-autopairs", - commit = "4fc96c8f3df89b6d23e5092d31c866c53a346347", - dependencies = "hrsh7th/nvim-cmp", - event = "InsertEnter", - config = function() - require("user.autopairs") - end, - }, - -- untuk comment - { "JoosepAlviste/nvim-ts-context-commentstring", event = "BufRead" }, - { - "numToStr/Comment.nvim", - event = "BufRead", - config = function() - require("user.comment") - end, - }, - -- better todo coloring and icon - { - "folke/todo-comments.nvim", - event = "BufRead", - config = function() - require("todo-comments").setup() - end, - }, - -- styleing indent - { - "lukas-reineke/indent-blankline.nvim", - event = "BufRead", - config = function() - require("user.indentline") - end, - }, - -- { "ahmedkhalf/project.nvim", commit = "628de7e433dd503e782831fe150bb750e56e55d6", event = "VeryLazy" }, - -- for Speed up loading Lua modules in Neovim to improve startup time. - { - "lewis6991/impatient.nvim", - event = "BufRead", - config = function() - require("user.impatient") - end, - }, - -- for live server html,css,js - { "manzeloth/live-server", cmd = { "LiveServer" }, event = "BufRead" }, - -- for multi cursor select - { "mg979/vim-visual-multi", event = "BufRead" }, - -- for auto close tag - { - "windwp/nvim-ts-autotag", - event = "BufRead", - dependencies = "nvim-treesitter/nvim-treesitter", - config = function() - require("nvim-ts-autotag").setup() - end, - }, - -- for auto detection file and run code - { - "CRAG666/code_runner.nvim", - event = "BufRead", - -- dependencies = "nvim-lua/plenary.nvim", - cmd = { "RunCode", "RunFile", "RunProject", "RunClose" }, - config = function() - require("user.coderunner") - end, - }, - { - "is0n/jaq-nvim", - event = "BufRead", - config = function() - require("user.jaq") - end, - }, - -- for color view - { - "NvChad/nvim-colorizer.lua", - event = "BufRead", - opts = function() - require("user.colorizer") - end, - }, - -- for winbar icon - { - "SmiteshP/nvim-navic", - dependencies = "neovim/nvim-lspconfig", - event = "BufRead", - config = function() - require("user.breadcrumb") - require("user.winbar") - end, - }, - -- for popup alert - { - "rcarriga/nvim-notify", - event = "BufWinEnter", - config = function() - local notify = require("notify") - -- this for transparency - notify.setup({ background_colour = "#000000" }) - -- this overwrites the vim notify function - vim.notify = notify.notify - end, - }, - -- for resize screen - { - "mrjones2014/smart-splits.nvim", - event = "BufWinEnter", - config = function() - require("user.smartspit") - end, - }, - -- for popup input - { - "stevearc/dressing.nvim", - event = "BufWinEnter", - config = function() - require("user.dressing") - end, - }, - -- mini scrollview - { - "karb94/neoscroll.nvim", - event = "BufRead", - config = function() - require("user.neoscroll") - end, - }, - { - "dstein64/nvim-scrollview", - event = "BufRead", - config = function() - require("user.nvimscroll") - end, - }, - -- for manage and coloring copy - { - "gbprod/yanky.nvim", - event = "BufRead", - config = function() - require("user.yanky") - end, - }, - -- for check startuptime - { "dstein64/vim-startuptime", cmd = "StartupTime", event = "BufRead" }, - -- for coloring pairs - { "p00f/nvim-ts-rainbow", event = "BufRead", dependencies = "nvim-treesitter/nvim-treesitter" }, - -- for git - { - "lewis6991/gitsigns.nvim", - enabled = vim.fn.executable("git") == 1, - ft = "gitcommit", - event = "BufRead", - config = function() - require("user.gitsigns") - end, - }, - - -- additional plugins - -- active indent guide and indent text objects - { - "echasnovski/mini.indentscope", - version = false, -- wait till new 0.7.0 release to put it back on semver - event = "BufReadPre", - opts = { - -- symbol = "โ–", - symbol = "โ”‚", - options = { try_as_border = true }, - }, - config = function(_, opts) - vim.api.nvim_create_autocmd("FileType", { - pattern = { "help", "alpha", "dashboard", "NvimTree", "Trouble", "lazy", "mason" }, - callback = function() - vim.b.miniindentscope_disable = true - end, - }) - require("mini.indentscope").setup(opts) - end, - }, - -- makes some plugins dot-repeatable like leap - -- { "tpope/vim-repeat", event = "VeryLazy" }, - -- better diagnostics list and others - { - "folke/trouble.nvim", - event = "BufRead", - cmd = { "TroubleToggle", "Trouble" }, - opts = { use_diagnostic_signs = true }, - keys = { - { "xx", "TroubleToggle document_diagnostics", desc = "Document Diagnostics (Trouble)" }, - { "xX", "TroubleToggle workspace_diagnostics", desc = "Workspace Diagnostics (Trouble)" }, - }, - }, - -- for markdown preview - -- make sure already install npm and yarn - -- { - -- "iamcco/markdown-preview.nvim", - -- event = "VeryLazy", - -- build = "cd app && npm install", - -- init = function() - -- vim.g.mkdp_filetypes = { "markdown" } - -- end, - -- ft = { "markdown" }, - -- cmd = { "MarkdownPreview", "MarkdownPreviewStop", "MarkdownPreviewToggle" }, - -- }, - -- for codeGPT - -- { - -- "jackMort/ChatGPT.nvim", - -- dependencies = { "MunifTanjim/nui.nvim", "nvim-lua/plenary.nvim", "nvim-telescope/telescope.nvim" }, - -- lazy = true, - -- event = "VeryLazy", - -- -- opts = function() - -- -- require("user.chat_gpt") - -- -- end, - -- }, - -- indent detection - -- { - -- "Darazaki/indent-o-matic", - -- event = "VeryLazy", - -- opt = true, - -- cmd = { "IndentOMatic" }, - -- config = function() - -- require("user.indent-o-matic") - -- end, - -- }, - -- Lsp Saga - -- { - -- "glepnir/lspsaga.nvim", - -- event = "BufRead", - -- config = function() - -- require("lspsaga").setup({}) - -- end, - -- dependencies = { { "kyazdani42/nvim-web-devicons" } }, - -- init = function() - -- require("user.lspsaga_config") - -- end, - -- }, - -- Khusus Projek laravel baru di buka - -- { - -- "adalessa/laravel.nvim", - -- dependencies = { - -- "nvim-telescope/telescope.nvim", - -- }, - -- cmd = { "Sail", "Artisan", "Composer" }, - -- keys = { - -- { "pa", ":Artisan" }, - -- }, - -- config = function() - -- require("laravel").setup() - -- require("telescope").load_extension("laravel") - -- end, - -- }, - - -- for loading info - { - "j-hui/fidget.nvim", - event = "BufRead", - config = function() - require("fidget").setup() - end, - }, -} diff --git a/lua/plugins/ui.lua b/lua/plugins/ui.lua deleted file mode 100644 index a881ed7..0000000 --- a/lua/plugins/ui.lua +++ /dev/null @@ -1,202 +0,0 @@ -return { - -- color scheme - { - "folke/tokyonight.nvim", - -- commit = "66bfc2e8f754869c7b651f3f47a2ee56ae557764", - lazy = false, -- make sure we load this during startup if it is your main colorscheme - priority = 1000, -- make sure to load this before all the other start plugins - config = function() - local is_transparant = false - if is_transparant then - require("user.tokyonight_transparant") - else - require("user.tokyonight") - end - -- require("core") - require("user.colorscheme") - end, - }, - -- { - -- "navarasu/onedark.nvim", - -- init = function() - -- require("user.onedark") - -- require("onedark").load() - -- end, - -- }, - -- { "lunarvim/lunar.nvim" }, - -- -- { "arcticicestudio/nord-vim" }, - -- { - -- "catppuccin/nvim", - -- name = "catppuccin", - -- init = function() - -- require("user.catppuccin") - -- end, - -- }, - { "luisiacc/gruvbox-baby", lazy = true }, - -- { - -- "ellisonleao/gruvbox.nvim", - -- init = function() - -- require("gruvbox").setup({ - -- undercurl = true, - -- underline = true, - -- bold = true, - -- italic = true, - -- strikethrough = true, - -- invert_selection = false, - -- invert_signs = false, - -- invert_tabline = false, - -- invert_intend_guides = false, - -- inverse = true, -- invert background for search, diffs, statuslines and errors - -- contrast = "", -- can be "hard", "soft" or empty string - -- palette_overrides = {}, - -- overrides = {}, - -- dim_inactive = false, - -- transparent_mode = false, - -- }) - -- vim.o.background = "dark" -- or "light" for light mode - -- end, - -- }, - -- { "sainnhe/sonokai" }, - -- -- { "EdenEast/nightfox.nvim" }, - -- { - -- "marko-cerovac/material.nvim", - -- init = function() - -- vim.g.material_style = "darker" - -- end, - -- }, - - -- include treesitter - -- require("plugins.treesitter"), - -- { - -- "nvim-treesitter/nvim-treesitter", - -- commit = "8e763332b7bf7b3a426fd8707b7f5aa85823a5ac", - -- run = ":TSUpdate", - -- event = "BufWinEnter", - -- opts = function() - -- require("user.treesitter") - -- end, - -- }, - -- dashboard - { - "goolord/alpha-nvim", - -- event = "BufWinEnter", - event = "VimEnter", - config = function() - require("user.alpha") - end, - }, - -- line info bootom - { - "nvim-lualine/lualine.nvim", - -- dependencies = { "kyazdani42/nvim-web-devicons", opt = true }, - event = "BufWinEnter", - config = function() - local model = 0 - if model == 1 then - require("user.lualine1") - elseif model == 2 then - require("user.lualine2") - else - require("user.lualine") - end - end, - }, - -- for show icon - { - "kyazdani42/nvim-web-devicons", - event = "BufRead", - config = function() - require("user.webdevicons") - end, - }, - -- for tree exploler - { - "kyazdani42/nvim-tree.lua", - -- event = "BufWinEnter", - cmd = { "NvimTree", "NvimTreeToggle", "NvimTreeFocus", "NvimTreeClose" }, - -- dependencies = "kyazdani42/nvim-web-devicons", - config = function() - require("user.nvim-tree") - end, - }, - -- for file tab - { - "famiu/bufdelete.nvim", - event = "BufRead", - }, - { - "akinsho/bufferline.nvim", - event = "BufWinEnter", - config = function() - require("user.bufferline") - end, - }, - -- for delete buffers (close files) without closing your windows or messing up your layout. - { "moll/vim-bbye", event = "BufRead" }, - -- for view terminal - { - "akinsho/toggleterm.nvim", - cmd = "Toggleterm", - event = "BufWinEnter", - init = function() - require("user.toggleterm") - end, - }, - -- key mapping - { - "folke/which-key.nvim", - event = "VeryLazy", - init = function() - require("user.whichkey") - end, - }, - -- for search - { - "nvim-telescope/telescope.nvim", - -- event = "BufRead", - -- dependencies = { { "nvim-lua/plenary.nvim" } }, - cmd = "Telescope", - version = false, -- telescope did only one release, so use HEAD for now - config = function() - require("user.telescope") - end, - }, - -- -- ui components - -- { "MunifTanjim/nui.nvim", lazy = true }, - -- -- noicer ui - -- { - -- "folke/noice.nvim", - -- event = "VeryLazy", - -- opts = { - -- lsp = { - -- override = { - -- ["vim.lsp.util.convert_input_to_markdown_lines"] = true, - -- ["vim.lsp.util.stylize_markdown"] = true, - -- }, - -- }, - -- presets = { - -- bottom_search = true, - -- command_palette = true, - -- long_message_to_split = true, - -- }, - -- }, - -- -- stylua: ignore - -- keys = { - -- { "", function() require("noice").redirect(vim.fn.getcmdline()) end, mode = "c", desc = "Redirect Cmdline" }, - -- { "snl", function() require("noice").cmd("last") end, desc = "Noice Last Message" }, - -- { "snh", function() require("noice").cmd("history") end, desc = "Noice History" }, - -- { "sna", function() require("noice").cmd("all") end, desc = "Noice All" }, - -- { "", function() if not require("noice.lsp").scroll(4) then return "" end end, silent = true, expr = true, desc = "Scroll forward", mode = {"i", "n", "s"} }, - -- { "", function() if not require("noice.lsp").scroll(-4) then return "" end end, silent = true, expr = true, desc = "Scroll backward", mode = {"i", "n", "s"}}, - -- }, - -- }, - - -- simbol outline - { - "simrat39/symbols-outline.nvim", - event = "BufRead", - config = function() - require("symbols-outline").setup() - end, - }, -} diff --git a/lua/plugins_20230214/coding.lua b/lua/plugins_20230214/coding.lua deleted file mode 100644 index cb9abfd..0000000 --- a/lua/plugins_20230214/coding.lua +++ /dev/null @@ -1,124 +0,0 @@ -return {} --- return { --- -- snippets --- { --- "L3MON4D3/LuaSnip", --- dependencies = { --- "rafamadriz/friendly-snippets", --- config = function() --- require("luasnip.loaders.from_vscode").lazy_load() --- end, --- }, --- opts = { --- history = true, --- delete_check_events = "TextChanged", --- }, --- -- stylua: ignore --- keys = { --- { --- "", --- function() --- return require("luasnip").jumpable(1) and "luasnip-jump-next" or "" --- end, --- expr = true, silent = true, mode = "i", --- }, --- { "", function() require("luasnip").jump(1) end, mode = "s" }, --- { "", function() require("luasnip").jump(-1) end, mode = { "i", "s" } }, --- }, --- }, --- --- -- auto completion --- { --- "hrsh7th/nvim-cmp", --- event = "InsertEnter", --- dependencies = { --- "hrsh7th/cmp-nvim-lsp", --- "hrsh7th/cmp-buffer", --- "hrsh7th/cmp-path", --- "saadparwaiz1/cmp_luasnip", --- }, --- }, --- --- -- auto pairs --- { --- "echasnovski/mini.pairs", --- event = "VeryLazy", --- config = function(_, opts) --- require("mini.pairs").setup(opts) --- end, --- }, --- --- -- surround --- { --- "echasnovski/mini.surround", --- keys = { "gz" }, --- opts = { --- mappings = { --- add = "gza", -- Add surrounding in Normal and Visual modes --- delete = "gzd", -- Delete surrounding --- find = "gzf", -- Find surrounding (to the right) --- find_left = "gzF", -- Find surrounding (to the left) --- highlight = "gzh", -- Highlight surrounding --- replace = "gzr", -- Replace surrounding --- update_n_lines = "gzn", -- Update `n_lines` --- }, --- }, --- config = function(_, opts) --- -- use gz mappings instead of s to prevent conflict with leap --- require("mini.surround").setup(opts) --- end, --- }, --- --- -- comments --- { "JoosepAlviste/nvim-ts-context-commentstring" }, --- { --- "echasnovski/mini.comment", --- event = "VeryLazy", --- opts = { --- hooks = { --- pre = function() --- require("ts_context_commentstring.internal").update_commentstring({}) --- end, --- }, --- }, --- config = function(_, opts) --- require("mini.comment").setup(opts) --- end, --- }, --- --- -- better text-objects --- { --- "echasnovski/mini.ai", --- keys = { --- { "a", mode = { "x", "o" } }, --- { "i", mode = { "x", "o" } }, --- }, --- dependencies = { --- { --- "nvim-treesitter/nvim-treesitter-textobjects", --- init = function() --- -- no need to load the plugin, since we only need its queries --- require("lazy.core.loader").disable_rtp_plugin("nvim-treesitter-textobjects") --- end, --- }, --- }, --- opts = function() --- local ai = require("mini.ai") --- return { --- n_lines = 500, --- custom_textobjects = { --- o = ai.gen_spec.treesitter({ --- a = { "@block.outer", "@conditional.outer", "@loop.outer" }, --- i = { "@block.inner", "@conditional.inner", "@loop.inner" }, --- }, {}), --- f = ai.gen_spec.treesitter({ a = "@function.outer", i = "@function.inner" }, {}), --- c = ai.gen_spec.treesitter({ a = "@class.outer", i = "@class.inner" }, {}), --- }, --- } --- end, --- config = function(_, opts) --- local ai = require("mini.ai") --- ai.setup(opts) --- end, --- }, --- } diff --git a/lua/plugins_20230214/init.lua b/lua/plugins_20230214/init.lua deleted file mode 100644 index b6b8ae5..0000000 --- a/lua/plugins_20230214/init.lua +++ /dev/null @@ -1,617 +0,0 @@ -return { - { - "nvim-lua/plenary.nvim", - -- commit = "4b7e52044bbb84242158d977a50c4cbcd85070c7", - event = "BufWinEnter", - module = "plenary", - }, - -- color scheme - { - "folke/tokyonight.nvim", - -- commit = "66bfc2e8f754869c7b651f3f47a2ee56ae557764", - lazy = false, -- make sure we load this during startup if it is your main colorscheme - priority = 1000, -- make sure to load this before all the other start plugins - config = function() - local is_transparant = false - if is_transparant then - require("user.tokyonight_transparant") - else - require("user.tokyonight") - end - end, - }, - { "luisiacc/gruvbox-baby", lazy = true }, - -- { - -- "navarasu/onedark.nvim", - -- init = function() - -- require("user.onedark") - -- require("onedark").load() - -- end, - -- }, - -- { "lunarvim/lunar.nvim" }, - -- { "arcticicestudio/nord-vim" }, - -- { - -- "catppuccin/nvim", - -- name = "catppuccin", - -- init = function() - -- require("user.catppuccin") - -- end, - -- }, - -- { - -- "ellisonleao/gruvbox.nvim", - -- init = function() - -- require("gruvbox").setup({ - -- undercurl = true, - -- underline = true, - -- bold = true, - -- italic = true, - -- strikethrough = true, - -- invert_selection = false, - -- invert_signs = false, - -- invert_tabline = false, - -- invert_intend_guides = false, - -- inverse = true, -- invert background for search, diffs, statuslines and errors - -- contrast = "", -- can be "hard", "soft" or empty string - -- palette_overrides = {}, - -- overrides = {}, - -- dim_inactive = false, - -- transparent_mode = false, - -- }) - -- vim.o.background = "dark" -- or "light" for light mode - -- end, - -- }, - -- { "sainnhe/sonokai" }, - -- { "EdenEast/nightfox.nvim" }, - -- { - -- "marko-cerovac/material.nvim", - -- init = function() - -- vim.g.material_style = "darker" - -- end, - -- }, - - -- include treesitter - -- require("plugins.treesitter"), - { - "nvim-treesitter/nvim-treesitter", - -- commit = "8e763332b7bf7b3a426fd8707b7f5aa85823a5ac", - run = ":TSUpdate", - event = "BufWinEnter", - opts = function() - require("user.treesitter") - end, - }, - -- snippets - { - "L3MON4D3/LuaSnip", - dependencies = { - "rafamadriz/friendly-snippets", - config = function() - require("luasnip.loaders.from_vscode").lazy_load() - end, - }, - opts = { - history = true, - delete_check_events = "TextChanged", - }, - -- stylua: ignore - keys = { - { - "", - function() - return require("luasnip").jumpable(1) and "luasnip-jump-next" or "" - end, - expr = true, silent = true, mode = "i", - }, - { "", function() require("luasnip").jump(1) end, mode = "s" }, - { "", function() require("luasnip").jump(-1) end, mode = { "i", "s" } }, - }, - }, - - -- auto completion - { - "hrsh7th/nvim-cmp", - event = "InsertEnter", - dependencies = { - "hrsh7th/cmp-nvim-lsp", - "hrsh7th/cmp-buffer", - "hrsh7th/cmp-path", - "saadparwaiz1/cmp_luasnip", - }, - opts = function() - require("user.cmp") - end, - }, - { - "windwp/nvim-autopairs", - commit = "4fc96c8f3df89b6d23e5092d31c866c53a346347", - dependencies = "hrsh7th/nvim-cmp", - event = "VeryLazy", - init = function() - require("user.autopairs") - end, - }, - { - "numToStr/Comment.nvim", - --commit = "97a188a98b5a3a6f9b1b850799ac078faa17ab67", - event = "InsertEnter", - init = function() - require("user.comment") - end, - }, - -- styleing indent - { - "lukas-reineke/indent-blankline.nvim", - -- commit = "db7cbcb40cc00fc5d6074d7569fb37197705e7f6", - event = "BufRead", - init = function() - require("user.indentline") - end, - }, - { - "hrsh7th/cmp-buffer", - event = "VeryLazy", - -- commit = "3022dbc9166796b644a841a02de8dd1cc1d311fa", - dependencies = "hrsh7th/nvim-cmp", - }, - { - "hrsh7th/cmp-nvim-lua", - event = "VeryLazy", - -- commit = "d276254e7198ab7d00f117e88e223b4bd8c02d21", - dependencies = "hrsh7th/nvim-cmp", - }, - { - "neovim/nvim-lspconfig", - -- commit = "f11fdff7e8b5b415e5ef1837bdcdd37ea6764dda", - event = "BufWinEnter", - config = function() - require("user.lsp") - end, - }, - { - "williamboman/mason-lspconfig.nvim", - lazy = true, - }, - { - "williamboman/mason.nvim", - -- commit = "c2002d7a6b5a72ba02388548cfaf420b864fbc12", - event = "VeryLazy", - cmd = { - "Mason", - "MasonInstall", - "MasonUninstall", - "MasonUninstallAll", - "MasonLog", - }, - dependencies = { "williamboman/mason-lspconfig.nvim" }, - init = function() - vim.tbl_map(function(plugin) - pcall(require, plugin) - end, { "lspconfig", "null-ls" }) - end, - }, - -- for formater linter - { - "jose-elias-alvarez/null-ls.nvim", - -- commit = "c0c19f32b614b3921e17886c541c13a72748d450", - event = "VeryLazy", - }, - { - "RRethy/vim-illuminate", - -- commit = "a2e8476af3f3e993bb0d6477438aad3096512e42", - event = "VeryLazy", - }, - { - "jayp0521/mason-null-ls.nvim", - dependencies = "jose-elias-alvarez/null-ls.nvim", - event = "BufRead", - opts = function() - require("user.mason-null-ls") - end, - }, - -- dashboard - { - "goolord/alpha-nvim", - -- commit = "0bb6fc0646bcd1cdb4639737a1cee8d6e08bcc31", - module = "alpha", - event = "BufWinEnter", - config = function() - require("user.alpha") - end, - }, - -- line info bootom - { - "nvim-lualine/lualine.nvim", - -- commit = "a52f078026b27694d2290e34efa61a6e4a690621", - dependencies = { "kyazdani42/nvim-web-devicons", opt = true }, - event = "BufWinEnter", - opts = function() - local model = 2 - if model == 1 then - require("user.lualine1") - elseif model == 2 then - require("user.lualine2") - else - require("user.lualine") - end - end, - }, - -- for show icon - { - "kyazdani42/nvim-web-devicons", - -- commit = "563f3635c2d8a7be7933b9e547f7c178ba0d4352", - event = "VeryLazy", - config = function() - require("user.webdevicons") - end, - }, - -- for tree exploler - { - "kyazdani42/nvim-tree.lua", - -- commit = "7282f7de8aedf861fe0162a559fc2b214383c51c", - event = "BufWinEnter", - cmd = "NvimTreeToggle", - dependencies = "kyazdani42/nvim-web-devicons", - init = function() - require("user.nvim-tree") - end, - }, - -- for file tab - { - "akinsho/bufferline.nvim", - -- commit = "83bf4dc7bff642e145c8b4547aa596803a8b4dc4", - dependencies = { "kyazdani42/nvim-web-devicons", "famiu/bufdelete.nvim" }, - event = "VeryLazy", - -- config = function() - -- require("user.bufferline") - -- end, - }, - { - "moll/vim-bbye", - -- commit = "25ef93ac5a87526111f43e5110675032dbcacf56", - event = "VeryLazy", - }, - -- for view terminal - { - "akinsho/toggleterm.nvim", - --commit = "2a787c426ef00cb3488c11b14f5dcf892bbd0bda", - cmd = "Toggleterm", - event = "BufWinEnter", - init = function() - require("user.toggleterm") - end, - }, - { - "ahmedkhalf/project.nvim", - -- commit = "628de7e433dd503e782831fe150bb750e56e55d6", - event = "VeryLazy", - }, - { - "lewis6991/impatient.nvim", - -- commit = "b842e16ecc1a700f62adb9802f8355b99b52a5a6", - event = "VeryLazy", - init = function() - require("user.impatient") - end, - }, - -- key mapping - { - "folke/which-key.nvim", - event = "BufWinEnter", - init = function() - require("user.whichkey") - end, - }, - -- include for coding - -- require("plugins.coding"), - -- extra plugins - -- for search - { - "nvim-telescope/telescope.nvim", - event = "VeryLazy", - -- commit = "76ea9a898d3307244dce3573392dcf2cc38f340f", - dependencies = { { "nvim-lua/plenary.nvim" } }, - cmd = "Telescope", - init = function() - require("user.telescope") - end, - }, - -- for live server html,css,js - { "manzeloth/live-server", cmd = { "LiveServer" }, event = "VeryLazy" }, - -- for multi cursor select - { "mg979/vim-visual-multi", event = "BufWinEnter" }, - -- for auto close tag - { - "windwp/nvim-ts-autotag", - event = "VeryLazy", - dependencies = "nvim-treesitter/nvim-treesitter", - init = function() - require("nvim-ts-autotag").setup() - end, - }, - -- for auto detection file and run code - { - "CRAG666/code_runner.nvim", - event = "VeryLazy", - dependencies = "nvim-lua/plenary.nvim", - cmd = { "RunCode", "RunFile", "RunProject", "RunClose" }, - config = function() - require("user.coderunner") - end, - }, - { - "is0n/jaq-nvim", - event = "CursorHold", - config = function() - require("user.jaq") - end, - }, - -- for color view - { - "NvChad/nvim-colorizer.lua", - event = "VeryLazy", - opts = function() - require("user.colorizer") - end, - }, - -- for install only java support windows - { "williamboman/nvim-lsp-installer", event = "VeryLazy" }, - -- for winbar icon - { - "SmiteshP/nvim-navic", - dependencies = "neovim/nvim-lspconfig", - event = "BufRead", - config = function() - require("user.breadcrumb") - require("user.winbar") - end, - }, - -- for popup alert - { - "rcarriga/nvim-notify", - event = "BufRead", - config = function() - -- vim.notify = require("notify") -- ini jika tidak transparant - local notify = require("notify") - -- this for transparency - notify.setup({ background_colour = "#000000" }) - -- this overwrites the vim notify function - vim.notify = notify.notify - end, - }, - -- for resize screen - { - "mrjones2014/smart-splits.nvim", - event = "BufWinEnter", - config = function() - require("user.smartspit") - end, - }, - -- for popup input - { - "stevearc/dressing.nvim", - event = "BufWinEnter", - config = function() - require("user.dressing") - end, - }, - -- better todo coloring and icon - { - "folke/todo-comments.nvim", - event = "BufRead", - config = function() - require("todo-comments").setup() - end, - }, - -- mini scrollview - { - "karb94/neoscroll.nvim", - event = "WinScrolled", - config = function() - require("user.neoscroll") - end, - }, - { - "dstein64/nvim-scrollview", - event = "BufRead", - config = function() - require("user.nvimscroll") - end, - }, - -- auto complite commond mode - { - "gelguy/wilder.nvim", - event = "BufWinEnter", - config = function() - local wilder = require("wilder") - wilder.setup({ modes = { ":", "/", "?" } }) - -- *ini popup biasa - -- wilder.set_option( - -- "renderer", - -- wilder.popupmenu_renderer({ - -- highlighter = wilder.basic_highlighter(), - -- left = { " ", wilder.popupmenu_devicons() }, - -- right = { " ", wilder.popupmenu_scrollbar() }, - -- }) - -- ) - - -- *ini untuk border rounded - wilder.set_option( - "renderer", - wilder.popupmenu_renderer(wilder.popupmenu_border_theme({ - highlights = { - border = "Normal", -- highlight to use for the border - }, - -- 'single', 'double', 'rounded' or 'solid' - -- can also be a list of 8 characters, see :h wilder#popupmenu_border_theme() for more details - border = "rounded", - left = { " ", wilder.popupmenu_devicons() }, - right = { " ", wilder.popupmenu_scrollbar() }, - })) - ) - - -- *ini untuk popup dialog - -- wilder.set_option( - -- "renderer", - -- wilder.popupmenu_renderer(wilder.popupmenu_palette_theme({ - -- -- 'single', 'double', 'rounded' or 'solid' - -- -- can also be a list of 8 characters, see :h wilder#popupmenu_palette_theme() for more details - -- border = "rounded", - -- max_height = "40%", -- max height of the palette - -- max_width = "40%", - -- min_height = 0, -- set to the same as 'max_height' for a fixed height window - -- prompt_position = "top", -- 'top' or 'bottom' to set the location of the prompt - -- reverse = 0, -- set to 1 to reverse the order of the list, use in combination with 'prompt_position' - -- left = { " ", wilder.popupmenu_devicons() }, - -- right = { " ", wilder.popupmenu_scrollbar() }, - -- pumblend = 20, - -- })) - -- ) - end, - }, - -- for manage and coloring copy - { - "gbprod/yanky.nvim", - event = "BufRead", - config = function() - require("user.yanky") - end, - }, - -- for check startuptime - { "dstein64/vim-startuptime", cmd = "StartupTime", event = "VeryLazy" }, - -- for coloring pairs - { "p00f/nvim-ts-rainbow", event = "BufWinEnter", dependencies = "nvim-treesitter/nvim-treesitter" }, - { - "lewis6991/gitsigns.nvim", - -- commit = "2c6f96dda47e55fa07052ce2e2141e8367cbaaf2", - enabled = vim.fn.executable("git") == 1, - ft = "gitcommit", - event = "VeryLazy", - config = function() - require("user.gitsigns") - end, - }, - - -- additional new plugins - -- active indent guide and indent text objects - { - "echasnovski/mini.indentscope", - version = false, -- wait till new 0.7.0 release to put it back on semver - event = "BufReadPre", - opts = { - -- symbol = "โ–", - symbol = "โ”‚", - options = { try_as_border = true }, - }, - config = function(_, opts) - vim.api.nvim_create_autocmd("FileType", { - pattern = { "help", "alpha", "dashboard", "neo-tree", "Trouble", "lazy", "mason" }, - callback = function() - vim.b.miniindentscope_disable = true - end, - }) - require("mini.indentscope").setup(opts) - end, - }, - -- makes some plugins dot-repeatable like leap - { "tpope/vim-repeat", event = "VeryLazy" }, - -- better diagnostics list and others - { - "folke/trouble.nvim", - event = "VeryLazy", - cmd = { "TroubleToggle", "Trouble" }, - opts = { use_diagnostic_signs = true }, - keys = { - { "xx", "TroubleToggle document_diagnostics", desc = "Document Diagnostics (Trouble)" }, - { "xX", "TroubleToggle workspace_diagnostics", desc = "Workspace Diagnostics (Trouble)" }, - }, - }, - -- for markdown preview - -- -- make sure already install npm and yarn - -- { - -- "iamcco/markdown-preview.nvim", - -- event = "VeryLazy", - -- build = "cd app && npm install", - -- init = function() - -- vim.g.mkdp_filetypes = { "markdown" } - -- end, - -- ft = { "markdown" }, - -- cmd = { "MarkdownPreview", "MarkdownPreviewStop", "MarkdownPreviewToggle" }, - -- }, - -- debuging - { - "mfussenegger/nvim-dap", - event = "VeryLazy", - enabled = vim.fn.has("win32") == 0, - }, - { - "rcarriga/nvim-dap-ui", - dependencies = "mfussenegger/nvim-dap", - enabled = vim.fn.has("win32") == 0, - config = function() - require("user.dapui") - end, - }, - { - "jayp0521/mason-nvim-dap.nvim", - event = "VeryLazy", - dependencies = { "williamboman/mason.nvim", "mfussenegger/nvim-dap" }, - enabled = vim.fn.has("win32") == 0, - init = function() - require("user.mason_dap") - end, - }, - -- for codeGPT - -- { - -- "jackMort/ChatGPT.nvim", - -- dependencies = { "MunifTanjim/nui.nvim", "nvim-lua/plenary.nvim", "nvim-telescope/telescope.nvim" }, - -- lazy = true, - -- event = "VeryLazy", - -- -- opts = function() - -- -- require("user.chat_gpt") - -- -- end, - -- }, - -- indent detection - -- { - -- "Darazaki/indent-o-matic", - -- event = "VeryLazy", - -- opt = true, - -- cmd = { "IndentOMatic" }, - -- config = function() - -- require("user.indent-o-matic") - -- end, - -- }, - -- Lsp Saga - -- { - -- "glepnir/lspsaga.nvim", - -- event = "BufRead", - -- config = function() - -- require("lspsaga").setup({}) - -- end, - -- dependencies = { { "kyazdani42/nvim-web-devicons" } }, - -- init = function() - -- require("user.lspsaga_config") - -- end, - -- }, - -- Khusus Projek laravel baru di buka - -- { - -- "adalessa/laravel.nvim", - -- dependencies = { - -- "nvim-telescope/telescope.nvim", - -- }, - -- cmd = { "Sail", "Artisan", "Composer" }, - -- keys = { - -- { "pa", ":Artisan" }, - -- }, - -- config = function() - -- require("laravel").setup() - -- require("telescope").load_extension("laravel") - -- end, - -- }, - { - "j-hui/fidget.nvim", - event = "VeryLazy", - config = function() - require("fidget").setup() - end, - }, -} diff --git a/lua/plugins_20230214/treesitter_20230115.lua b/lua/plugins_20230214/treesitter_20230115.lua deleted file mode 100644 index 42b0ff8..0000000 --- a/lua/plugins_20230214/treesitter_20230115.lua +++ /dev/null @@ -1,62 +0,0 @@ -return { - { - "nvim-treesitter/nvim-treesitter", - -- build = ":TSUpdate", - -- event = "BufReadPost", - ---@type TSConfig - opts = { - sync_install = false, - highlight = { enable = true }, - autopairs = { - enable = true, - }, - indent = { enable = true, disable = { "python", "css" } }, - autotag = { enable = true }, - incremental_selection = { enable = true }, - rainbow = { - enable = true, - disable = { "html" }, - extended_mode = false, - max_file_lines = nil, - }, - context_commentstring = { - enable = true, - enable_autocmd = false, - config = { - -- Languages that have a single comment style - typescript = "// %s", - css = "/* %s */", - scss = "/* %s */", - html = "", - svelte = "", - vue = "", - json = "", - }, - }, - ensure_installed = { - "bash", - "html", - -- "c", - -- "javascript", - -- "json", - -- "lua", - -- "python", - -- "typescript", - -- "tsx", - -- "css", - -- "rust", - -- "java", - -- "yaml", - -- "markdown", - -- "markdown_inline", - }, - }, - ---@param opts TSConfig - config = function(plugin, opts) - if plugin.ensure_installed then - require("lazyvim.util").deprecate("treesitter.ensure_installed", "treesitter.opts.ensure_installed") - end - require("nvim-treesitter.configs").setup(opts) - end, - }, -} diff --git a/lua/user/alpha.lua b/lua/user/alpha.lua deleted file mode 100644 index dd97e93..0000000 --- a/lua/user/alpha.lua +++ /dev/null @@ -1,17 +0,0 @@ -local data_exists, custom_dasboard = pcall(require, "custom.dashboard") -if data_exists then - if type(custom_dasboard) == "table" then - local model = custom_dasboard.model - if model ~= nil then - if model == 1 then - require("user.startify") - else - require("user.dashboard") - end - else - require("user.startify") - end - end -else - require("user.startify") -end diff --git a/lua/user/autocommands.lua b/lua/user/autocommands.lua deleted file mode 100644 index 19e3424..0000000 --- a/lua/user/autocommands.lua +++ /dev/null @@ -1,42 +0,0 @@ --- autocmd BufWinEnter * :set formatoptions-=cro -vim.cmd([[ - augroup _general_settings - autocmd! - autocmd FileType qf,help,man,lspinfo nnoremap q :close - autocmd TextYankPost * silent!lua require('vim.highlight').on_yank({higroup = 'Visual', timeout = 200}) - autocmd BufWinEnter * :set formatoptions=croql - autocmd BufWinEnter * :set textwidth=80 - autocmd BufWinEnter * :set colorcolumn=+1 - " autocmd BufWinEnter * :set nolazyredraw - " autocmd BufWinEnter * :hi ColorColumn guibg=#1B2430 ctermbg=246 - autocmd FileType qf set nobuflisted - augroup end - - augroup _git - autocmd! - autocmd FileType gitcommit setlocal wrap - autocmd FileType gitcommit setlocal spell - augroup end - - augroup _markdown - autocmd! - autocmd FileType markdown setlocal wrap - autocmd FileType markdown setlocal spell - augroup end - - augroup _auto_resize - autocmd! - autocmd VimResized * tabdo wincmd = - augroup end - - augroup _alpha - autocmd! - autocmd User AlphaReady set showtabline=0 | autocmd BufUnload set showtabline=2 - augroup end -]]) - --- Autoformat --- augroup _lsp --- autocmd! --- autocmd BufWritePre * lua vim.lsp.buf.formatting() --- augroup end diff --git a/lua/user/autopairs.lua b/lua/user/autopairs.lua deleted file mode 100644 index 3d49991..0000000 --- a/lua/user/autopairs.lua +++ /dev/null @@ -1,34 +0,0 @@ --- Setup nvim-cmp. -local status_ok, npairs = pcall(require, "nvim-autopairs") -if not status_ok then - return -end - -npairs.setup({ - check_ts = true, - ts_config = { - lua = { "string", "source" }, - javascript = { "string", "template_string" }, - java = false, - }, - disable_filetype = { "TelescopePrompt", "spectre_panel" }, - fast_wrap = { - map = "", - chars = { "{", "[", "(", '"', "'" }, - pattern = string.gsub([[ [%'%"%)%>%]%)%}%,] ]], "%s+", ""), - offset = 0, -- Offset from pattern match - end_key = "$", - keys = "qwertyuiopzxcvbnmasdfghjkl", - check_comma = true, - highlight = "PmenuSel", - highlight_grey = "LineNr", - }, -}) - --- If you want insert `(` after select function or method item -local cmp_autopairs = require("nvim-autopairs.completion.cmp") -local cmp_status_ok, cmp = pcall(require, "cmp") -if not cmp_status_ok then - return -end -cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done({ map_char = { tex = "" } })) diff --git a/lua/user/autotag.lua b/lua/user/autotag.lua deleted file mode 100644 index 33a92af..0000000 --- a/lua/user/autotag.lua +++ /dev/null @@ -1,10 +0,0 @@ -local status_ok, cfg = pcall(require, "nvim-treesitter.configs") -if not status_ok then - return -end - -cfg.setup({ - autotag = { - enable = true, - }, -}) diff --git a/lua/user/breadcrumb.lua b/lua/user/breadcrumb.lua deleted file mode 100644 index 2594a81..0000000 --- a/lua/user/breadcrumb.lua +++ /dev/null @@ -1,50 +0,0 @@ -local status_ok, navic = pcall(require, "nvim-navic") -if not status_ok then - return -end - -local ico = require("user.icons") -local icons = ico.kind - -navic.setup({ - icons = { - Array = icons.Array .. " ", - Boolean = icons.Boolean, - Class = icons.Class .. " ", - Color = icons.Color .. " ", - Constant = icons.Constant .. " ", - Constructor = icons.Constructor .. " ", - Enum = icons.Enum .. " ", - EnumMember = icons.EnumMember .. " ", - Event = icons.Event .. " ", - Field = icons.Field .. " ", - File = icons.File .. " ", - Folder = icons.Folder .. " ", - Function = icons.Function .. " ", - Interface = icons.Interface .. " ", - Key = icons.Key .. " ", - Keyword = icons.Keyword .. " ", - Method = icons.Method .. " ", - Module = icons.Module .. " ", - Namespace = icons.Namespace .. " ", - Null = icons.Null .. " ", - Number = icons.Number .. " ", - Object = icons.Object .. " ", - Operator = icons.Operator .. " ", - Package = icons.Package .. " ", - Property = icons.Property .. " ", - Reference = icons.Reference .. " ", - Snippet = icons.Snippet .. " ", - String = icons.String .. " ", - Struct = icons.Struct .. " ", - Text = icons.Text .. " ", - TypeParameter = icons.TypeParameter .. " ", - Unit = icons.Unit .. " ", - Value = icons.Value .. " ", - Variable = icons.Variable .. " ", - }, - highlight = true, - separator = " " .. ico.ui.ChevronRight .. " ", - depth_limit = 0, - depth_limit_indicator = "..", -}) diff --git a/lua/user/bufferline.lua b/lua/user/bufferline.lua deleted file mode 100644 index 9c2b51d..0000000 --- a/lua/user/bufferline.lua +++ /dev/null @@ -1,211 +0,0 @@ -local status_ok, bufferline = pcall(require, "bufferline") -if not status_ok then - return -end - -local icons = require("user.icons") -local use_icons = true - -local function diagnostics_indicator(num, _, diagnostics, _) - local result = {} - local symbols = { - error = icons.diagnostics.Error, - warning = icons.diagnostics.Warning, - info = icons.diagnostics.Information, - } - if not use_icons then - return "(" .. num .. ")" - end - for name, count in pairs(diagnostics) do - if symbols[name] and count > 0 then - table.insert(result, symbols[name] .. " " .. count) - end - end - result = table.concat(result, " ") - return #result > 0 and result or "" -end - -bufferline.setup({ - options = { - color_icons = true, - numbers = "none", -- | "ordinal" | "buffer_id" | "both" | function({ ordinal, id, lower, raise }): string, - --close_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" - close_command = function(bufnum) - require("bufdelete").bufdelete(bufnum, true) - end, - --right_mouse_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" - right_mouse_command = function(bufnum) - require("bufdelete").bufdelete(bufnum, true) - end, - left_mouse_command = "buffer %d", -- can be a string | function, see "Mouse actions" - middle_mouse_command = nil, -- can be a string | function, see "Mouse actions" - -- NOTE: this plugin is designed with this icon in mind, - -- and so changing this is NOT recommended, this is intended - -- as an escape hatch for people who cannot bear it for whatever reason - indicator_icon = nil, - indicator = { style = "icon", icon = "โ–Ž" }, - --buffer_close_icon = "๏™•", - buffer_close_icon = icons.ui.Close, - -- buffer_close_icon = '๏€', - -- modified_icon = "โ—", - modified_icon = icons.ui.Circle, - -- close_icon = "๏€", - close_icon = icons.ui.BoldClose, - -- close_icon = '๏™˜', - --left_trunc_marker = "๏‚จ", - left_trunc_marker = icons.ui.ArrowCircleLeft, - --right_trunc_marker = "๏‚ฉ", - right_trunc_marker = icons.ui.ArrowCircleRight, - --- name_formatter can be used to change the buffer's label in the bufferline. - --- Please note some names can/will break the - --- bufferline so use this at your discretion knowing that it has - --- some limitations that will *NOT* be fixed. - -- name_formatter = function(buf) -- buf contains a "name", "path" and "bufnr" - -- -- remove extension from markdown files for example - -- if buf.name:match('%.md') then - -- return vim.fn.fnamemodify(buf.name, ':t:r') - -- end - -- end, - max_name_length = 30, - max_prefix_length = 30, -- prefix used when a buffer is de-duplicated - tab_size = 21, - diagnostics = false, -- | "nvim_lsp" | "coc", - diagnostics_update_in_insert = false, - diagnostics_indicator = diagnostics_indicator, - -- diagnostics_indicator = function(count, level, diagnostics_dict, context) - -- return "("..count..")" - -- end, - -- NOTE: this will be called a lot so don't do any heavy processing here - -- custom_filter = function(buf_number) - -- -- filter out filetypes you don't want to see - -- if vim.bo[buf_number].filetype ~= "" then - -- return true - -- end - -- -- filter out by buffer name - -- if vim.fn.bufname(buf_number) ~= "" then - -- return true - -- end - -- -- filter out based on arbitrary rules - -- -- e.g. filter out vim wiki buffer from tabline in your work repo - -- if vim.fn.getcwd() == "" and vim.bo[buf_number].filetype ~= "wiki" then - -- return true - -- end - -- end, - offsets = { - { - filetype = "NvimTree", - text = "Explorer", - highlight = "Directory", - text_align = "left", - padding = 1, - }, - }, - show_buffer_icons = true, - show_buffer_close_icons = true, - show_close_icon = true, - show_tab_indicators = true, - persist_buffer_sort = true, -- whether or not custom sorted buffers should persist - -- can also be a table containing 2 custom separators - -- [focused and unfocused]. eg: { '|', '|' } - separator_style = "thin", -- | "thick" | "thin" | { 'any', 'any' }, - enforce_regular_tabs = true, - always_show_bufferline = true, - -- sort_by = 'id' | 'extension' | 'relative_directory' | 'directory' | 'tabs' | function(buffer_a, buffer_b) - -- -- add custom logic - -- return buffer_a.modified > buffer_b.modified - -- end - }, - highlights = { - fill = { - fg = { attribute = "fg", highlight = "#ff0000" }, - bg = { attribute = "bg", highlight = "TabLine" }, - }, - background = { - fg = { attribute = "fg", highlight = "TabLine" }, - bg = { attribute = "bg", highlight = "TabLine" }, - }, - - -- buffer_selected = { - -- fg = {attribute='fg',highlight='#ff0000'}, - -- bg = {attribute='bg',highlight='#0000ff'}, - -- gui = 'none' - -- }, - buffer_visible = { - fg = { attribute = "fg", highlight = "TabLine" }, - bg = { attribute = "bg", highlight = "TabLine" }, - }, - - close_button = { - fg = { attribute = "fg", highlight = "TabLine" }, - bg = { attribute = "bg", highlight = "TabLine" }, - }, - close_button_visible = { - fg = { attribute = "fg", highlight = "TabLine" }, - bg = { attribute = "bg", highlight = "TabLine" }, - }, - -- close_button_selected = { - -- fg = {attribute='fg',highlight='TabLineSel'}, - -- bg ={attribute='bg',highlight='TabLineSel'} - -- }, - - tab_selected = { - fg = { attribute = "fg", highlight = "Normal" }, - bg = { attribute = "bg", highlight = "Normal" }, - }, - tab = { - fg = { attribute = "fg", highlight = "TabLine" }, - bg = { attribute = "bg", highlight = "TabLine" }, - }, - tab_close = { - -- fg = {attribute='fg',highlight='LspDiagnosticsDefaultError'}, - fg = { attribute = "fg", highlight = "TabLineSel" }, - bg = { attribute = "bg", highlight = "Normal" }, - }, - - duplicate_selected = { - fg = { attribute = "fg", highlight = "TabLineSel" }, - bg = { attribute = "bg", highlight = "TabLineSel" }, - underline = true, - }, - duplicate_visible = { - fg = { attribute = "fg", highlight = "TabLine" }, - bg = { attribute = "bg", highlight = "TabLine" }, - underline = true, - }, - duplicate = { - fg = { attribute = "fg", highlight = "TabLine" }, - bg = { attribute = "bg", highlight = "TabLine" }, - underline = true, - }, - - modified = { - fg = { attribute = "fg", highlight = "TabLine" }, - bg = { attribute = "bg", highlight = "TabLine" }, - }, - modified_selected = { - fg = { attribute = "fg", highlight = "Normal" }, - bg = { attribute = "bg", highlight = "Normal" }, - }, - modified_visible = { - fg = { attribute = "fg", highlight = "TabLine" }, - bg = { attribute = "bg", highlight = "TabLine" }, - }, - - separator = { - fg = { attribute = "bg", highlight = "TabLine" }, - bg = { attribute = "bg", highlight = "TabLine" }, - }, - separator_selected = { - fg = { attribute = "bg", highlight = "Normal" }, - bg = { attribute = "bg", highlight = "Normal" }, - }, - -- separator_visible = { - -- fg = {attribute='bg',highlight='TabLine'}, - -- bg = {attribute='bg',highlight='TabLine'} - -- }, - indicator_selected = { - fg = { attribute = "fg", highlight = "LspDiagnosticsDefaultHint" }, - bg = { attribute = "bg", highlight = "Normal" }, - }, - }, -}) diff --git a/lua/user/catppuccin.lua b/lua/user/catppuccin.lua deleted file mode 100644 index 3e19584..0000000 --- a/lua/user/catppuccin.lua +++ /dev/null @@ -1,42 +0,0 @@ -require("catppuccin").setup({ - flavour = "macchiato", -- latte, frappe, macchiato, mocha - background = { -- :h background - light = "latte", - dark = "macchiato", - }, - transparent_background = true, - show_end_of_buffer = false, -- show the '~' characters after the end of buffers - term_colors = false, - dim_inactive = { - enabled = false, - shade = "dark", - percentage = 0.15, - }, - no_italic = false, -- Force no italic - no_bold = false, -- Force no bold - styles = { - comments = { "italic" }, - conditionals = { "italic" }, - loops = {}, - functions = {}, - keywords = {}, - strings = {}, - variables = {}, - numbers = {}, - booleans = {}, - properties = {}, - types = {}, - operators = {}, - }, - color_overrides = {}, - custom_highlights = {}, - integrations = { - cmp = true, - gitsigns = true, - nvimtree = true, - telescope = true, - notify = false, - mini = false, - -- For more plugins integrations please scroll down (https://github.com/catppuccin/nvim#integrations) - }, -}) diff --git a/lua/user/chat_gpt.lua b/lua/user/chat_gpt.lua deleted file mode 100644 index ecb3bbc..0000000 --- a/lua/user/chat_gpt.lua +++ /dev/null @@ -1,74 +0,0 @@ -local status_ok, chatgpt = pcall(require, "chatgpt") -if not status_ok then - return -end - -chatgpt.setup({ - welcome_message = WELCOME_MESSAGE, -- set to "" if you don't like the fancy godot robot - loading_text = "loading", - question_sign = "๏€‡", -- you can use emoji if you want e.g. ๐Ÿ™‚ - answer_sign = "๏ฎง", -- ๐Ÿค– - max_line_length = 120, - yank_register = "+", - chat_layout = { - relative = "editor", - position = "50%", - size = { - height = "80%", - width = "80%", - }, - }, - settings_window = { - border = { - style = "rounded", - text = { - top = " Settings ", - }, - }, - }, - chat_window = { - filetype = "chatgpt", - border = { - highlight = "FloatBorder", - style = "rounded", - text = { - top = " ChatGPT ", - }, - }, - }, - chat_input = { - prompt = " ๏†’ ", - border = { - highlight = "FloatBorder", - style = "rounded", - text = { - top_align = "center", - top = " Prompt ", - }, - }, - }, - openai_params = { - model = "text-davinci-003", - frequency_penalty = 0, - presence_penalty = 0, - max_tokens = 300, - temperature = 0, - top_p = 1, - n = 1, - }, - openai_edit_params = { - model = "code-davinci-edit-001", - temperature = 0, - top_p = 1, - n = 1, - }, - keymaps = { - close = { "", "" }, - yank_last = "", - scroll_up = "", - scroll_down = "", - toggle_settings = "", - new_session = "", - cycle_windows = "", - }, -}) diff --git a/lua/user/cmdline.lua b/lua/user/cmdline.lua deleted file mode 100644 index fc39835..0000000 --- a/lua/user/cmdline.lua +++ /dev/null @@ -1,37 +0,0 @@ -require("cmp").setup.cmdline({ "/", "?" }, { - mapping = require("cmp").mapping.preset.cmdline({ - [""] = { - c = function() - if require("cmp").visible() then - require("cmp").select_next_item() - else - require("cmp").complete() - end - end, - }, - [""] = { c = require("cmp").mapping.abort() }, - [""] = { c = require("cmp").mapping.confirm({ select = false }) }, - }), - sources = require("cmp").config.sources({ { name = "buffer", keyword_length = 1 } }), -}) - -require("cmp").setup.cmdline(":", { - mapping = require("cmp").mapping.preset.cmdline({ - [""] = { - c = function() - if require("cmp").visible() then - require("cmp").select_next_item() - else - require("cmp").complete() - end - end, - }, - [""] = { c = require("cmp").mapping.abort() }, - [""] = { c = require("cmp").mapping.confirm({ select = false }) }, - }), - sources = require("cmp").config.sources({ - { name = "path", keyword_length = 1 }, - }, { - { name = "cmdline", keyword_length = 1 }, - }), -}) diff --git a/lua/user/cmp.lua b/lua/user/cmp.lua deleted file mode 100644 index 820cbdd..0000000 --- a/lua/user/cmp.lua +++ /dev/null @@ -1,164 +0,0 @@ -local cmp_status_ok, cmp = pcall(require, "cmp") -if not cmp_status_ok then - return -end - -local snip_status_ok, luasnip = pcall(require, "luasnip") -if not snip_status_ok then - return -end - -require("luasnip/loaders/from_vscode").lazy_load() - -local check_backspace = function() - local col = vim.fn.col(".") - 1 - return col == 0 or vim.fn.getline("."):sub(col, col):match("%s") -end - --- ๏— ๏šจ ๏ญ„ ๏ฏŸ ๏‘ ๏™ฑ some other good icons --- local kind_icons = { --- Text = "๏พ", --- Method = "m", --- Function = "๏ž”", --- Constructor = "๏ฅ", --- Field = "๎œ–", --- Variable = "๏šฆ", --- Class = "๏ –", --- Interface = "๏ƒจ", --- Module = "๏’‡", --- Property = "๏‚ญ", --- Unit = "๎ˆŸ", --- Value = "๏ขŸ", --- Enum = "๏…", --- Keyword = "๏ Š", --- Snippet = "๏ƒ„", --- Color = "๏ฃ—", --- File = "๏œ˜", --- Reference = "๏’", --- Folder = "๏Š", --- EnumMember = "๏…", --- Constant = "๏›ผ", --- Struct = "๏†ณ", --- Event = "๏ƒง", --- Operator = "๏š”", --- TypeParameter = "๏žƒ", --- } --- find more here: https://www.nerdfonts.com/cheat-sheet -local new_kind_icon = require("user.icons") - -cmp.setup({ - snippet = { - expand = function(args) - luasnip.lsp_expand(args.body) -- For `luasnip` users. - end, - }, - mapping = { - [""] = cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Select }), - [""] = cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Select }), - [""] = cmp.mapping.select_prev_item(), - [""] = cmp.mapping.select_next_item(), - [""] = cmp.mapping(cmp.mapping.scroll_docs(-1), { "i", "c" }), - [""] = cmp.mapping(cmp.mapping.scroll_docs(1), { "i", "c" }), - [""] = cmp.mapping(cmp.mapping.complete(), { "i", "c" }), - [""] = cmp.config.disable, -- Specify `cmp.config.disable` if you want to remove the default `` mapping. - [""] = cmp.mapping({ - i = cmp.mapping.abort(), - c = cmp.mapping.close(), - }), - -- Accept currently selected item. If none selected, `select` first item. - -- Set `select` to `false` to only confirm explicitly selected items. - [""] = cmp.mapping.confirm({ select = true }), - [""] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_next_item() - elseif luasnip.expandable() then - luasnip.expand() - elseif luasnip.expand_or_jumpable() then - luasnip.expand_or_jump() - elseif check_backspace() then - fallback() - else - fallback() - end - end, { - "i", - "s", - }), - [""] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_prev_item() - elseif luasnip.jumpable(-1) then - luasnip.jump(-1) - else - fallback() - end - end, { - "i", - "s", - }), - }, - formatting = { - fields = { "kind", "abbr", "menu" }, - format = function(entry, vim_item) - -- Kind icons - -- vim_item.kind = string.format("%s", kind_icons[vim_item.kind]) - vim_item.kind = string.format("%s", new_kind_icon["kind"][vim_item.kind]) - -- vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind - vim_item.menu = ({ - -- nvim_lsp = "[LSP]", - -- luasnip = "[Snippet]", - -- buffer = "[Buffer]", - -- path = "[Path]", - nvim_lsp = "(LSP)", - luasnip = "(Snippet)", - buffer = "(Buffer)", - path = "(Path)", - })[entry.source.name] - return vim_item - end, - }, - sources = { - { name = "nvim_lsp" }, - { name = "luasnip" }, - { name = "buffer" }, - { name = "path" }, - }, - confirm_opts = { - behavior = cmp.ConfirmBehavior.Replace, - select = false, - }, - window = { - completion = cmp.config.window.bordered(), - documentation = cmp.config.window.bordered(), - -- documentation = { - -- border = { "โ•ญ", "โ”€", "โ•ฎ", "โ”‚", "โ•ฏ", "โ”€", "โ•ฐ", "โ”‚" }, - -- }, - }, - experimental = { - ghost_text = false, - native_menu = false, - }, -}) - --- for cmd line --- cmp.setup.cmdline("/", { --- mapping = cmp.mapping.preset.cmdline(), --- sources = { --- { name = "buffer" }, --- }, --- }) --- --- -- `:` cmdline setup. --- cmp.setup.cmdline(":", { --- mapping = cmp.mapping.preset.cmdline(), --- sources = cmp.config.sources({ --- { name = "path" }, --- }, { --- { --- name = "cmdline", --- option = { --- ignore_cmds = { "Man", "!" }, --- }, --- }, --- }), --- }) diff --git a/lua/user/coderunner.lua b/lua/user/coderunner.lua deleted file mode 100644 index 83d49b7..0000000 --- a/lua/user/coderunner.lua +++ /dev/null @@ -1,45 +0,0 @@ -local status_ok, code_runner = pcall(require, "code_runner") -if not status_ok then - return -end -code_runner.setup({ - -- put here the commands by filetype - filetype = { - java = "cd $dir && javac $fileName && java $fileNameWithoutExt", - python = "python3 -u", - typescript = "deno run", - javascript = "node $dir/$fileName", - rust = "cd $dir && rustc $fileName && $dir/$fileNameWithoutExt", - -- cpp="gcc $fileName -lstdc++ -o $fileNameWithoutExt && $fileNameWithoutExt" - cpp = "g++ $fileName -o $fileNameWithoutExt && $dir/$fileNameWithoutExt", - scss = "sass $dir/$fileName $dir/$fileNameWithoutExt.css", - }, - -- mode = "term", - mode = "float", - focus = true, - startinsert = true, - term = { - --position = "vert", - position = "bot", - size = 50, - }, - float = { - -- Key that close the code_runner floating window - close_key = "", - -- Window border (see ':h nvim_open_win') - border = "rounded", - - -- Num from `0 - 1` for measurements - height = 0.8, - width = 0.8, - x = 0.5, - y = 0.5, - - -- Highlight group for floating window/border (see ':h winhl') - border_hl = "FloatBorder", - float_hl = "Normal", - - -- Transparency (see ':h winblend') - blend = 0, - }, -}) diff --git a/lua/user/colorizer.lua b/lua/user/colorizer.lua deleted file mode 100644 index 318656a..0000000 --- a/lua/user/colorizer.lua +++ /dev/null @@ -1,11 +0,0 @@ -local status_ok, colorizer_cfg = pcall(require, "colorizer") -if not status_ok then - return -end -colorizer_cfg.setup({ - filetypes = { - "*", -- Highlight all files, but customize some others. - css = { rgb_fn = true }, -- Enable parsing rgb(...) functions in css. - html = { names = false }, -- Disable parsing "names" like Blue or Gray - }, -}) diff --git a/lua/user/colorscheme.lua b/lua/user/colorscheme.lua deleted file mode 100644 index 387c748..0000000 --- a/lua/user/colorscheme.lua +++ /dev/null @@ -1,15 +0,0 @@ --- local colorscheme = "tokyonight" --- local colorscheme = "gruvbox" -local colorscheme = "gruvbox-baby" --- local colorscheme = "sonokai" --- local colorscheme = "nordfox" --- local colorscheme = "material" --- local colorscheme = "onedark" --- local colorscheme = "lunar" --- local colorscheme = "nord" --- local colorscheme = "catppuccin" - -local status_ok, _ = pcall(vim.cmd, "colorscheme " .. colorscheme) -if not status_ok then - return -end diff --git a/lua/user/comment.lua b/lua/user/comment.lua deleted file mode 100644 index 5dd682f..0000000 --- a/lua/user/comment.lua +++ /dev/null @@ -1,32 +0,0 @@ -local status_ok, comment = pcall(require, "Comment") -if not status_ok then - return -end - -comment.setup({ - pre_hook = function(ctx) - local U = require("Comment.utils") - - local status_utils_ok, utils = pcall(require, "ts_context_commentstring.utils") - if not status_utils_ok then - return - end - - local location = nil - if ctx.ctype == U.ctype.block then - location = utils.get_cursor_location() - elseif ctx.cmotion == U.cmotion.v or ctx.cmotion == U.cmotion.V then - location = utils.get_visual_start_location() - end - - local status_internals_ok, internals = pcall(require, "ts_context_commentstring.internals") - if not status_internals_ok then - return - end - - return internals.calculate_commentstring({ - key = ctx.ctype == U.ctype.line and "__default" or "__multiline", - location = location, - }) - end, -}) diff --git a/lua/user/dapui.lua b/lua/user/dapui.lua deleted file mode 100644 index 4646c49..0000000 --- a/lua/user/dapui.lua +++ /dev/null @@ -1,14 +0,0 @@ -local dap, dapui = require("dap"), require("dapui") - -dap.listeners.after.event_initialized["dapui_config"] = function() - dapui.setup() - dapui.open() -end -dap.listeners.before.event_terminated["dapui_config"] = function() - dapui.close() -end -dap.listeners.before.event_exited["dapui_config"] = function() - dapui.close() -end -vim.fn.sign_define("DapBreakpoint", { text = "๐ŸŸฅ", texthl = "", linehl = "", numhl = "" }) -vim.fn.sign_define("DapStopped", { text = "โ–ถ๏ธ", texthl = "", linehl = "", numhl = "" }) diff --git a/lua/user/dashboard.lua b/lua/user/dashboard.lua deleted file mode 100644 index 8a88afd..0000000 --- a/lua/user/dashboard.lua +++ /dev/null @@ -1,62 +0,0 @@ -local status_ok, alpha = pcall(require, "alpha") -if not status_ok then - return -end - -local board = { - [[ _ _ _ ]], - [[ (_) | | | | ]], - [[ _ __ ___ _ ___ | | __ ___ ___ __| | ___ ]], - [[| '_ \ / _ \| |/ _ \| |/ / / __/ _ \ / _` |/ _ \]], - [[| |_) | (_) | | (_) | < | (_| (_) | (_| | __/]], - [[| .__/ \___/| |\___/|_|\_\ \___\___/ \__,_|\___|]], - [[| | _/ | ]], - [[|_| |__/ ]], -} - -local data_exists, custom_dasboard = pcall(require, "custom.dashboard") -if data_exists then - if type(custom_dasboard) == "table" then - local data_board = custom_dasboard.dashboard2 - if data_board ~= nil then - board = data_board - end - end -end - -local dashboard = require("alpha.themes.dashboard") -dashboard.section.header.val = board -dashboard.section.buttons.val = { - dashboard.button("f", "๏œ Find file", ":Telescope find_files "), - dashboard.button("e", "๏…› New file", ":ene startinsert "), - dashboard.button("p", "๏ป Find project", ":Telescope projects "), - dashboard.button("r", "๏˜ˆ Recently used files", ":Telescope oldfiles "), - dashboard.button("t", "๏žƒ Find text", ":Telescope live_grep "), - dashboard.button("c", "๎˜• Configuration", ":e $MYVIMRC "), - dashboard.button("z", "๏ฆฑ Lazy", ":Lazy"), - dashboard.button("q", "๏™™ Quit Neovim", ":qa"), -} - -local function footer() - local footer_text = "Pojok Code" - if data_exists then - if type(custom_dasboard) == "table" then - local data_txt = custom_dasboard.footer - if data_txt ~= nil then - footer_text = data_txt - end - end - end - - return footer_text -end - -dashboard.section.footer.val = footer() - -dashboard.section.footer.opts.hl = "Type" -dashboard.section.header.opts.hl = "Include" -dashboard.section.buttons.opts.hl = "Keyword" - -dashboard.opts.opts.noautocmd = true --- vim.cmd([[autocmd User AlphaReady echo 'ready']]) -alpha.setup(dashboard.opts) diff --git a/lua/user/dressing.lua b/lua/user/dressing.lua deleted file mode 100644 index 718be52..0000000 --- a/lua/user/dressing.lua +++ /dev/null @@ -1,18 +0,0 @@ -local status_ok, dressing = pcall(require, "dressing") -if not status_ok then - return -end - -dressing.setup({ - input = { - default_prompt = "โžค ", - win_options = { winhighlight = "Normal:Normal,NormalNC:Normal" }, - prefer_width = 30, - max_width = { 140, 0.9 }, - min_width = { 30, 0.2 }, - }, - select = { - backend = { "telescope", "builtin" }, - builtin = { win_options = { winhighlight = "Normal:Normal,NormalNC:Normal" } }, - }, -}) diff --git a/lua/user/format_onsave.lua b/lua/user/format_onsave.lua deleted file mode 100644 index 80b9624..0000000 --- a/lua/user/format_onsave.lua +++ /dev/null @@ -1,33 +0,0 @@ -local run = 0 -local data_exists, frmt = pcall(require, "custom.format_onsave") -if not data_exists then - run = 1 -end -if frmt.disable == 0 then - run = 1 -end - -if run == 1 then - function format_filter(client) - local filetype = vim.bo.filetype - local n = require("null-ls") - local s = require("null-ls.sources") - local method = n.methods.FORMATTING - local available_formatters = s.get_available(filetype, method) - - if #available_formatters > 0 then - return client.name == "null-ls" - elseif client.supports_method("textDocument/formatting") then - return true - else - return false - end - end - vim.cmd([[ - augroup _lsp - autocmd! - " autocmd BufWritePre * lua vim.lsp.buf.format{timeout_ms =200, filter=format_filter} - autocmd BufWritePre * lua vim.lsp.buf.format{timeout_ms=1000 ,filter=format_filter} - augroup end - ]]) -end diff --git a/lua/user/functions.lua b/lua/user/functions.lua deleted file mode 100644 index d68f5eb..0000000 --- a/lua/user/functions.lua +++ /dev/null @@ -1,33 +0,0 @@ -local M = {} - -function M.smart_quit() - local bufnr = vim.api.nvim_get_current_buf() - local buf_windows = vim.call("win_findbuf", bufnr) - local modified = vim.api.nvim_buf_get_option(bufnr, "modified") - if modified and #buf_windows == 1 then - vim.ui.input({ - prompt = "You have unsaved changes. Quit anyway? (y/n) ", - }, function(input) - if input == "y" then - vim.cmd("q!") - end - end) - else - vim.cmd("q!") - end -end - -function M.isempty(s) - return s == nil or s == "" -end - -function M.get_buf_option(opt) - local status_ok, buf_option = pcall(vim.api.nvim_buf_get_option, 0, opt) - if not status_ok then - return nil - else - return buf_option - end -end - -return M diff --git a/lua/user/gitsigns.lua b/lua/user/gitsigns.lua deleted file mode 100644 index 744ecc7..0000000 --- a/lua/user/gitsigns.lua +++ /dev/null @@ -1,48 +0,0 @@ -local status_ok, gitsigns = pcall(require, "gitsigns") -if not status_ok then - return -end - -gitsigns.setup { - signs = { - add = { hl = "GitSignsAdd", text = "โ–Ž", numhl = "GitSignsAddNr", linehl = "GitSignsAddLn" }, - change = { hl = "GitSignsChange", text = "โ–Ž", numhl = "GitSignsChangeNr", linehl = "GitSignsChangeLn" }, - delete = { hl = "GitSignsDelete", text = "๏ค‰", numhl = "GitSignsDeleteNr", linehl = "GitSignsDeleteLn" }, - topdelete = { hl = "GitSignsDelete", text = "๏ค‰", numhl = "GitSignsDeleteNr", linehl = "GitSignsDeleteLn" }, - changedelete = { hl = "GitSignsChange", text = "โ–Ž", numhl = "GitSignsChangeNr", linehl = "GitSignsChangeLn" }, - }, - signcolumn = true, -- Toggle with `:Gitsigns toggle_signs` - numhl = false, -- Toggle with `:Gitsigns toggle_numhl` - linehl = false, -- Toggle with `:Gitsigns toggle_linehl` - word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff` - watch_gitdir = { - interval = 1000, - follow_files = true, - }, - attach_to_untracked = true, - current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame` - current_line_blame_opts = { - virt_text = true, - virt_text_pos = "eol", -- 'eol' | 'overlay' | 'right_align' - delay = 1000, - ignore_whitespace = false, - }, - current_line_blame_formatter_opts = { - relative_time = false, - }, - sign_priority = 6, - update_debounce = 100, - status_formatter = nil, -- Use default - max_file_length = 40000, - preview_config = { - -- Options passed to nvim_open_win - border = "single", - style = "minimal", - relative = "cursor", - row = 0, - col = 1, - }, - yadm = { - enable = false, - }, -} diff --git a/lua/user/icons.lua b/lua/user/icons.lua deleted file mode 100644 index c72ebf6..0000000 --- a/lua/user/icons.lua +++ /dev/null @@ -1,154 +0,0 @@ -return { - kind = { - Array = "๎ชŠ", - Boolean = "๎ช", - Class = "๎ญ›", - Color = "๎ญœ", - Constant = "๎ญ", - Constructor = "๎ชŒ", - Enum = "๎ช•", - EnumMember = "๎ญž", - Event = "๎ช†", - Field = "๎ญŸ", - File = "๎ฉป", - Folder = "๏Š", - Function = "๎ชŒ", - Interface = "๎ญก", - Key = "๎ช“", - Keyword = "๎ญข", - Method = "๎ชŒ", - Module = "๎ฌฉ", - Namespace = "๎ช‹", - Null = "๏ณ ", - Number = "๎ช", - Object = "๎ช‹", - Operator = "๎ญค", - Package = "๎ฌฉ", - Property = "๎ญฅ", - Reference = "๎ฌถ", - Snippet = "๎ญฆ", - String = "๎ฎ", - Struct = "๎ช‘", - Text = "๎ช“", - TypeParameter = "๎ช’", - Unit = "๎ช–", - Value = "๎ช“", - Variable = "๎ชˆ", - }, - git = { - LineAdded = "๎ซœ", - LineModified = "๎ซž", - LineRemoved = "๎ซŸ", - FileDeleted = "๎ซŸ", - FileIgnored = "โ—Œ", - FileRenamed = "๎ซ ", - FileStaged = "S", - FileUnmerged = "๎ซพ", - FileUnstaged = "๏‘„", - FileUntracked = "U", - Diff = "๎ซก", - Repo = "๎ฉข", - Octoface = "๎ฌง", - Branch = "๎œฅ", - }, - ui = { - ArrowCircleDown = "๏‚ซ", - ArrowCircleLeft = "๏‚จ", - ArrowCircleRight = "๏‚ฉ", - ArrowCircleUp = "๏‚ช", - BoldArrowDown = "๏ฃ", - BoldArrowLeft = "๏ ", - BoldArrowRight = "๏ก", - BoldArrowUp = "๏ข", - BoldClose = "๏€", - BoldDividerLeft = "๎‚ฒ", - BoldDividerRight = "๎‚ฐ", - BoldLineLeft = "โ–Ž", - BookMark = "๎ชฅ", - BoxChecked = "๏†", - Bug = "๎ชฏ", - Stacks = "๎ฎ†", - Scopes = "๎ˆข", - Watches = "๏–ค", - DebugConsole = "๎ฎ›", - Calendar = "๎ชฐ", - Check = "๎ชฒ", - ChevronRight = ">", - ChevronShortDown = "๏‘ผ", - ChevronShortLeft = "๏‘ฝ", - ChevronShortRight = "๏‘ ", - ChevronShortUp = "๏‘ป", - Circle = "๏„‘", - Close = "๏™•", - CloudDownload = "๎ซ‚", - Code = "๎ซ„", - Comment = "๎ฉซ", - Dashboard = "๎ซ", - DividerLeft = "๎‚ณ", - DividerRight = "๎‚ฑ", - DoubleChevronRight = "ยป", - Ellipsis = "๎ฉผ", - EmptyFolder = "๏„”", - EmptyFolderOpen = "๏„•", - File = "๎ฉป", - FileSymlink = "๎ซฎ", - Files = "๎ซฐ", - FindFile = "๏œ", - FindText = "๏žƒ", - Fire = "๎ซฒ", - Folder = "๏Š", - FolderOpen = "๏ผ", - FolderSymlink = "๏’‚", - Forward = "๏ค", - Gear = "๎ซธ", - History = "๎ช‚", - Lightbulb = "๎ฉก", - LineLeft = "โ–", - LineMiddle = "โ”‚", - List = "๎ฎ„", - Lock = "๎ฉต", - NewFile = "๎ฉฟ", - Note = "๎ฌฆ", - Package = "๎ฌฉ", - Pencil = "๏ฃช", - Plus = "๏‘", - Project = "๎ฉข", - Search = "๎ฉญ", - SignIn = "๎ฉฏ", - SignOut = "๎ฉฎ", - Tab = "๏ ‘", - Table = "๎ฎท", - Target = "๏”—", - Telescope = "๎ญจ", - Text = "๎˜’", - Tree = "๏†ป", - Triangle = "๏ค‰", - TriangleShortArrowDown = "๏‘‹", - TriangleShortArrowLeft = "๏ธ", - TriangleShortArrowRight = "๏‘Š", - TriangleShortArrowUp = "๏‘พ", - }, - diagnostics = { - BoldError = "๏—", - Error = "๎ช‡", - BoldWarning = "๏ฑ", - Warning = "๎ฉฌ", - BoldInformation = "๏š", - Information = "๎ฉด", - BoldQuestion = "๏™", - Question = "๎ฌฒ", - BoldHint = "๎ฉก", - Hint = "๏ ต", - Debug = "๎ชฏ", - Trace = "โœŽ", - }, - misc = { - Robot = "๏ฎง", - Squirrel = "๎ญ˜", - Tag = "๎ฉฆ", - Watch = "๎ญผ", - Smiley = "๎ญ”", - Package = "๎ฌฉ", - CircuitBoard = "๎ชพ", - }, -} diff --git a/lua/user/impatient.lua b/lua/user/impatient.lua deleted file mode 100644 index b43ccdd..0000000 --- a/lua/user/impatient.lua +++ /dev/null @@ -1,6 +0,0 @@ -local status_ok, impatient = pcall(require, "impatient") -if not status_ok then - return -end - -impatient.enable_profile() diff --git a/lua/user/indent-o-matic.lua b/lua/user/indent-o-matic.lua deleted file mode 100644 index c625572..0000000 --- a/lua/user/indent-o-matic.lua +++ /dev/null @@ -1,20 +0,0 @@ -require("indent-o-matic").setup({ - -- Global settings (optional, used as fallback) - max_lines = 2048, - standard_widths = { 2, 4, 8 }, - - -- Disable indent-o-matic for LISP files - filetype_lisp = { - max_lines = 0, - }, - - -- Only detect 4 spaces and tabs for java - filetype_java = { - standard_widths = { 4 }, - }, - - -- Don't detect 8 spaces indentations inside files without a filetype - filetype_ = { - standard_widths = { 2, 4 }, - }, -}) diff --git a/lua/user/indentline.lua b/lua/user/indentline.lua deleted file mode 100644 index 1199289..0000000 --- a/lua/user/indentline.lua +++ /dev/null @@ -1,70 +0,0 @@ -local status_ok, indent_blankline = pcall(require, "indent_blankline") -if not status_ok then - return -end - -vim.g.indent_blankline_buftype_exclude = { "terminal", "nofile" } -vim.g.indent_blankline_filetype_exclude = { - "help", - "startify", - "dashboard", - "packer", - "neogitstatus", - "NvimTree", - "Trouble", -} -vim.g.indentLine_enabled = 1 --- vim.g.indent_blankline_char = "โ”‚" -vim.g.indent_blankline_char = "โ–" --- vim.g.indent_blankline_char = "โ–Ž" -vim.g.indent_blankline_show_trailing_blankline_indent = false -vim.g.indent_blankline_show_first_indent_level = true -vim.g.indent_blankline_use_treesitter = true -vim.g.indent_blankline_show_current_context = true -vim.g.indent_blankline_context_patterns = { - "class", - "return", - "function", - "method", - "^if", - "^while", - "jsx_element", - "^for", - "^object", - "^table", - "block", - "arguments", - "if_statement", - "else_clause", - "jsx_element", - "jsx_self_closing_element", - "try_statement", - "catch_clause", - "import_statement", - "operation_type", -} --- HACK: work-around for https://github.com/lukas-reineke/indent-blankline.nvim/issues/59 -vim.wo.colorcolumn = "99999" - --- vim.cmd [[highlight IndentBlanklineIndent1 guifg=#E06C75 gui=nocombine]] --- vim.cmd [[highlight IndentBlanklineIndent2 guifg=#E5C07B gui=nocombine]] --- vim.cmd [[highlight IndentBlanklineIndent3 guifg=#98C379 gui=nocombine]] --- vim.cmd [[highlight IndentBlanklineIndent4 guifg=#56B6C2 gui=nocombine]] --- vim.cmd [[highlight IndentBlanklineIndent5 guifg=#61AFEF gui=nocombine]] --- vim.cmd [[highlight IndentBlanklineIndent6 guifg=#C678DD gui=nocombine]] --- vim.opt.list = true --- vim.opt.listchars:append "space:โ‹…" --- vim.opt.listchars:append "space:๏‘„" --- vim.opt.listchars:append "eol:โ†ด" - -indent_blankline.setup({ - -- show_end_of_line = true, - -- space_char_blankline = " ", - show_current_context = true, - -- show_current_context_start = true, - -- char_highlight_list = { - -- "IndentBlanklineIndent1", - -- "IndentBlanklineIndent2", - -- "IndentBlanklineIndent3", - -- }, -}) diff --git a/lua/user/jaq.lua b/lua/user/jaq.lua deleted file mode 100644 index 307ed8f..0000000 --- a/lua/user/jaq.lua +++ /dev/null @@ -1,86 +0,0 @@ -M = {} -local status_ok, jaq_nvim = pcall(require, "jaq-nvim") -if not status_ok then - return -end - -jaq_nvim.setup({ - -- Commands used with 'Jaq' - cmds = { - -- Default UI used (see `Usage` for options) - default = "term", - - -- Uses external commands such as 'g++' and 'cargo' - external = { - typescript = "deno run %", - javascript = "node %", - -- markdown = "glow %", - python = "python %", - -- rust = "rustc % && ./$fileBase && rm $fileBase", - rust = "cargo run", - cpp = "g++ % -o $fileBase && ./$fileBase", - go = "go run %", - sh = "sh %", - java = "java %", - }, - - -- Uses internal commands such as 'source' and 'luafile' - internal = { - -- lua = "luafile %", - -- vim = "source %", - }, - }, - - behavior = { - -- Default type - default = "terminal", - - -- Start in insert mode - startinsert = false, - - -- Use `wincmd p` on startup - wincmd = false, - - -- Auto-save files - autosave = false, - }, - - -- UI settings - ui = { - -- Floating Window / FTerm settings - float = { - -- Floating window border (see ':h nvim_open_win') - border = "rounded", -- none, single, double, rounded - - -- Num from `0 - 1` for measurements - height = 0.8, - width = 0.8, - x = 0.5, - y = 0.5, - - -- Highlight group for floating window/border (see ':h winhl') - border_hl = "FloatBorder", - float_hl = "Normal", - - -- Floating Window Transparency (see ':h winblend') - blend = 0, - }, - - terminal = { - -- Position of terminal - position = "bot", - - -- Open the terminal without line numbers - line_no = false, - - -- Size of terminal - size = 20, - }, - }, -}) - -local opts = { noremap = true, silent = true } -local keymap = vim.api.nvim_set_keymap - -keymap("n", "", ":silent only | Jaq", opts) -return M diff --git a/lua/user/keymaps.lua b/lua/user/keymaps.lua deleted file mode 100644 index afb105b..0000000 --- a/lua/user/keymaps.lua +++ /dev/null @@ -1,132 +0,0 @@ -local opts = { noremap = true, silent = true } - -local term_opts = { silent = true } - --- Shorten function name -local keymap = vim.api.nvim_set_keymap - ---Remap space as leader key -keymap("", "", "", opts) -vim.g.mapleader = " " -vim.g.maplocalleader = " " - --- Modes --- normal_mode = "n", --- insert_mode = "i", --- visual_mode = "v", --- visual_block_mode = "x", --- term_mode = "t", --- command_mode = "c", - --- Normal -- --- Better window navigation -keymap("n", "", "h", opts) -keymap("n", "", "j", opts) -keymap("n", "", "k", opts) -keymap("n", "", "l", opts) - --- Resize with arrows --- keymap("n", "", ":resize -2", opts) --- keymap("n", "", ":resize +2", opts) --- keymap("n", "", ":vertical resize -2", opts) --- keymap("n", "", ":vertical resize +2", opts) - --- Navigate buffers -keymap("n", "", ":bnext", opts) -keymap("n", "", ":bprevious", opts) - --- Move text up and down -keymap("n", "", ":m .+1==gi", opts) -keymap("n", "", ":m .-2==gi", opts) - --- Insert -- --- Press jk fast to exit insert mode -keymap("i", "jk", "", opts) -keymap("i", "kj", "", opts) - --- Visual -- --- Stay in indent mode -keymap("v", "<", "", ">gv", opts) - --- Move text up and down -keymap("v", "", ":m .+1==", opts) -keymap("v", "", ":m .-2==", opts) -keymap("v", "p", '"_dP', opts) - --- Visual Block -- --- Move text up and down -keymap("x", "J", ":move '>+1gv-gv", opts) -keymap("x", "K", ":move '<-2gv-gv", opts) -keymap("x", "", ":move '>+1gv-gv", opts) -keymap("x", "", ":move '>+1gv-gv", opts) -keymap("x", "", ":move '<-2gv-gv", opts) -keymap("x", "", ":move '<-2gv-gv", opts) - -keymap("n", "", "t.", opts) -keymap("i", "", "t.", opts) -keymap("n", "", "t -1", opts) -keymap("i", "", "t -1", opts) -keymap("n", "", "t.", opts) -keymap("n", "", "t -1", opts) -keymap("n", "", "m+", opts) -keymap("i", "", "m+", opts) -keymap("n", "", "m-2", opts) -keymap("i", "", "m-2", opts) -keymap("n", "", "m+", opts) -keymap("n", "", "m-2", opts) -keymap("i", "", "w", opts) -keymap("n", "", "w", opts) -keymap("i", "", "LiveServer start", opts) -keymap("n", "q", "q", opts) -keymap("x", "", ":'<,'>t'>", opts) - --- Visual Block -- --- Move text up and down -keymap("x", "J", ":move '>+1gv-gv", opts) -keymap("x", "K", ":move '<-2gv-gv", opts) -keymap("x", "", ":move '>+1gv-gv", opts) -keymap("x", "", ":move '<-2gv-gv", opts) - -local map = function(mode, lhs, rhs, desc) - if desc then - desc = desc - end - vim.keymap.set(mode, lhs, rhs, { silent = true, desc = desc, buffer = bufnr, noremap = true }) -end --- if pcall(require, "dap") then --- modified function keys found with `showkey -a` in the terminal to get key code --- run `nvim -V3log +quit` and search through the "Terminal info" in the `log` file for the correct keyname -if pcall(require, "dap") then - map("n", "", function() - require("dap").continue() - end, "") - map("n", "", function() - require("dap").terminate() - end, "") -- Shift+F5 - map("n", "", function() - require("dap").restart_frame() - end, "") -- Control+F5 - map("n", "", function() - require("dap").pause() - end, "") - map("n", "", function() - require("dap").toggle_breakpoint() - end, "") - map("n", "", function() - require("dap").step_over() - end, "") - map("n", "", function() - require("dap").step_into() - end, "") - map("n", "", function() - require("dap").step_out() - end, "") -- Shift+F11 -end - --- Terminal -- --- Better terminal navigation --- keymap("t", "", "h", term_opts) --- keymap("t", "", "j", term_opts) --- keymap("t", "", "k", term_opts) --- keymap("t", "", "l", term_opts) diff --git a/lua/user/lsp/config.lua b/lua/user/lsp/config.lua deleted file mode 100644 index 3239a23..0000000 --- a/lua/user/lsp/config.lua +++ /dev/null @@ -1,38 +0,0 @@ -local status_ok, lsp_installer = pcall(require, "nvim-lsp-installer") -if not status_ok then - return -end - -local lspconfig = require("lspconfig") - --- local servers = { "jsonls", "sumneko_lua","html","cssls","tsserver"} --- local servers = { "jdtls", "yamlls" } -local servers = {} - -local data_exists, custom_lsp = pcall(require, "custom.lsp_installer") -if data_exists then - for _, client in pairs(custom_lsp.lspinstall) do - table.insert(servers, client) - end -end - - -lsp_installer.setup({ - ensure_installed = servers, -}) - -for _, server in pairs(servers) do - local opts = { - on_attach = require("user.lsp.handlers").on_attach, - capabilities = require("user.lsp.handlers").capabilities, - } - local has_custom_opts, server_custom_opts = pcall(require, "user.lsp.settings." .. server) - if has_custom_opts then - opts = vim.tbl_deep_extend("force", opts, server_custom_opts) - end - lspconfig[server].setup(opts) -end - -lspconfig.yamlls.setup({ - fletype = { "yaml", "yaml.docker-compose" }, -}) diff --git a/lua/user/lsp/handlers.lua b/lua/user/lsp/handlers.lua deleted file mode 100644 index 61c6ff0..0000000 --- a/lua/user/lsp/handlers.lua +++ /dev/null @@ -1,106 +0,0 @@ -local M = {} - -local status_cmp_ok, cmp_nvim_lsp = pcall(require, "cmp_nvim_lsp") -if not status_cmp_ok then - return -end - -local icons = require("user.icons") - -M.capabilities = vim.lsp.protocol.make_client_capabilities() -M.capabilities.textDocument.completion.completionItem.snippetSupport = true -M.capabilities = cmp_nvim_lsp.default_capabilities(M.capabilities) - -M.setup = function() - local signs = { - - -- { name = "DiagnosticSignError", text = "๏—" }, - -- { name = "DiagnosticSignWarn", text = "๏ฑ" }, - -- { name = "DiagnosticSignHint", text = "๏ ด" }, - -- { name = "DiagnosticSignInfo", text = "๏š" }, - { name = "DiagnosticSignError", text = icons.diagnostics.Error }, - { name = "DiagnosticSignWarn", text = icons.diagnostics.Warning }, - { name = "DiagnosticSignHint", text = icons.diagnostics.Hint }, - { name = "DiagnosticSignInfo", text = icons.diagnostics.Info }, - } - - for _, sign in ipairs(signs) do - vim.fn.sign_define(sign.name, { texthl = sign.name, text = sign.text, numhl = "" }) - end - - local config = { - virtual_text = false, -- disable virtual text - signs = { - active = signs, -- show signs - }, - update_in_insert = true, - underline = true, - severity_sort = true, - float = { - focusable = true, - style = "minimal", - border = "rounded", - source = "always", - header = "", - prefix = "", - }, - } - - vim.diagnostic.config(config) - - vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { - border = "rounded", - }) - - vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, { - border = "rounded", - }) -end - -local function attach_navic(client, bufnr) - vim.g.navic_silence = true - local status_ok, navic = pcall(require, "nvim-navic") - if not status_ok then - return - end - navic.attach(client, bufnr) -end - -local function lsp_keymaps(bufnr) - local opts = { noremap = true, silent = true } - local keymap = vim.api.nvim_buf_set_keymap - keymap(bufnr, "n", "gD", "lua vim.lsp.buf.declaration()", opts) - keymap(bufnr, "n", "gd", "lua vim.lsp.buf.definition()", opts) - keymap(bufnr, "n", "K", "lua vim.lsp.buf.hover()", opts) - keymap(bufnr, "n", "gI", "lua vim.lsp.buf.implementation()", opts) - keymap(bufnr, "n", "gr", "lua vim.lsp.buf.references()", opts) - keymap(bufnr, "n", "gl", "lua vim.diagnostic.open_float()", opts) - keymap(bufnr, "n", "lf", "lua vim.lsp.buf.format{ async = true }", opts) - keymap(bufnr, "n", "li", "LspInfo", opts) - keymap(bufnr, "n", "lI", "Mason", opts) - keymap(bufnr, "n", "la", "lua vim.lsp.buf.code_action()", opts) - keymap(bufnr, "n", "lj", "lua vim.diagnostic.goto_next({buffer=0})", opts) - keymap(bufnr, "n", "lk", "lua vim.diagnostic.goto_prev({buffer=0})", opts) - keymap(bufnr, "n", "lr", "lua vim.lsp.buf.rename()", opts) - keymap(bufnr, "n", "ls", "lua vim.lsp.buf.signature_help()", opts) - keymap(bufnr, "n", "lq", "lua vim.diagnostic.setloclist()", opts) -end -M.on_attach = function(client, bufnr) - attach_navic(client, bufnr) - if client.name == "tsserver" then - client.server_capabilities.documentFormattingProvider = false - end - - if client.name == "sumneko_lua" then - client.server_capabilities.documentFormattingProvider = false - end - - lsp_keymaps(bufnr) - local status_ok, illuminate = pcall(require, "illuminate") - if not status_ok then - return - end - illuminate.on_attach(client) -end - -return M diff --git a/lua/user/lsp/init.lua b/lua/user/lsp/init.lua deleted file mode 100644 index 2168f0b..0000000 --- a/lua/user/lsp/init.lua +++ /dev/null @@ -1,9 +0,0 @@ -local status_ok, _ = pcall(require, "lspconfig") -if not status_ok then - return -end - -require("user.lsp.mason") -require("user.lsp.config") -- ini hanya untuk windows supaya jdtls jalan, kalau pakai linu x remark saja -require("user.lsp.handlers").setup() -require("user.lsp.null-ls") diff --git a/lua/user/lsp/mason.lua b/lua/user/lsp/mason.lua deleted file mode 100644 index b5ae77d..0000000 --- a/lua/user/lsp/mason.lua +++ /dev/null @@ -1,62 +0,0 @@ -local servers = { - "sumneko_lua", - "cssls", - "html", - "tsserver", - "pyright", - "jsonls", - "emmet_ls", -} - -local data_exists, custom_lsp = pcall(require, "custom.register_lsp") -if data_exists then - for _, client in pairs(custom_lsp.lspreg) do - table.insert(servers, client) - end -end - -local settings = { - ui = { - border = "none", - icons = { - package_installed = "โ—", - package_pending = "โ—", - package_uninstalled = "โ—", - }, - }, - log_level = vim.log.levels.INFO, - max_concurrent_installers = 4, -} - -require("mason").setup(settings) --- * buka remark ini jika akan menggunakan list serverrs diatas dan remark config dibawah --- require("mason-lspconfig").setup({ --- ensure_installed = servers, --- automatic_installation = true, --- }) --- --- * buka remark ini jika ingin menjalankan dengan cara install dan remark config diatas (pilih satu) -require("mason-lspconfig").setup() - -local lspconfig_status_ok, lspconfig = pcall(require, "lspconfig") -if not lspconfig_status_ok then - return -end - -local opts = {} - -for _, server in pairs(servers) do - opts = { - on_attach = require("user.lsp.handlers").on_attach, - capabilities = require("user.lsp.handlers").capabilities, - } - - server = vim.split(server, "@")[1] - - local require_ok, conf_opts = pcall(require, "user.lsp.settings." .. server) - if require_ok then - opts = vim.tbl_deep_extend("force", conf_opts, opts) - end - - lspconfig[server].setup(opts) -end diff --git a/lua/user/lsp/null-ls.lua b/lua/user/lsp/null-ls.lua deleted file mode 100644 index 56637fd..0000000 --- a/lua/user/lsp/null-ls.lua +++ /dev/null @@ -1,55 +0,0 @@ -local null_ls_status_ok, null_ls = pcall(require, "null-ls") -if not null_ls_status_ok then - return -end - --- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/formatting -local formatting = null_ls.builtins.formatting --- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics -local diagnostics = null_ls.builtins.diagnostics - -local augroup = vim.api.nvim_create_augroup("LspFormatting", {}) - -local sources = {} - -local data_exists, data = pcall(require, "custom.null-ls") -if data_exists then - for _, cfg in pairs(data.sources) do - table.insert(sources, cfg) - end -end - -null_ls.setup({ - debug = false, - sources = sources, - --sources = { - --formatting.prettier.with({ extra_args = { "--no-semi", "--single-quote", "--jsx-single-quote" } }), - --formatting.prettier, - -- formatting.prettierd, - -- formatting.black.with({ extra_args = { "--fast" } }), - -- formatting.stylua, - -- formatting.eslint_d, - -- formatting.google_java_format, - -- formatting.phpcbf, - -- formatting.clang_format, - -- diagnostics.flake8 - -- diagnostics.eslint_d, - --}, - - -- on_attach = function(client, bufnr) - -- --if client.resolved_capabilities.document_formatting then - -- --vim.cmd("autocmd BufWritePre lua vim.lsp.buf.format{async=true}") - -- --end - -- if client.supports_method("textDocument/formatting") then - -- vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr }) - -- vim.api.nvim_create_autocmd("BufWritePre", { - -- group = augroup, - -- buffer = bufnr, - -- callback = function() - -- vim.lsp.buf.format({ bufnr = bufnr }) - -- -- vim.lsp.buf.formatting_sync() - -- end, - -- }) - -- end - -- end, -}) diff --git a/lua/user/lsp/settings/jsonls.lua b/lua/user/lsp/settings/jsonls.lua deleted file mode 100644 index b711932..0000000 --- a/lua/user/lsp/settings/jsonls.lua +++ /dev/null @@ -1,197 +0,0 @@ -local default_schemas = nil -local status_ok, jsonls_settings = pcall(require, "nlspsettings.jsonls") -if status_ok then - default_schemas = jsonls_settings.get_default_schemas() -end - -local schemas = { - { - description = "TypeScript compiler configuration file", - fileMatch = { - "tsconfig.json", - "tsconfig.*.json", - }, - url = "https://json.schemastore.org/tsconfig.json", - }, - { - description = "Lerna config", - fileMatch = { "lerna.json" }, - url = "https://json.schemastore.org/lerna.json", - }, - { - description = "Babel configuration", - fileMatch = { - ".babelrc.json", - ".babelrc", - "babel.config.json", - }, - url = "https://json.schemastore.org/babelrc.json", - }, - { - description = "ESLint config", - fileMatch = { - ".eslintrc.json", - ".eslintrc", - }, - url = "https://json.schemastore.org/eslintrc.json", - }, - { - description = "Bucklescript config", - fileMatch = { "bsconfig.json" }, - url = "https://raw.githubusercontent.com/rescript-lang/rescript-compiler/8.2.0/docs/docson/build-schema.json", - }, - { - description = "Prettier config", - fileMatch = { - ".prettierrc", - ".prettierrc.json", - "prettier.config.json", - }, - url = "https://json.schemastore.org/prettierrc", - }, - { - description = "Vercel Now config", - fileMatch = { "now.json" }, - url = "https://json.schemastore.org/now", - }, - { - description = "Stylelint config", - fileMatch = { - ".stylelintrc", - ".stylelintrc.json", - "stylelint.config.json", - }, - url = "https://json.schemastore.org/stylelintrc", - }, - { - description = "A JSON schema for the ASP.NET LaunchSettings.json files", - fileMatch = { "launchsettings.json" }, - url = "https://json.schemastore.org/launchsettings.json", - }, - { - description = "Schema for CMake Presets", - fileMatch = { - "CMakePresets.json", - "CMakeUserPresets.json", - }, - url = "https://raw.githubusercontent.com/Kitware/CMake/master/Help/manual/presets/schema.json", - }, - { - description = "Configuration file as an alternative for configuring your repository in the settings page.", - fileMatch = { - ".codeclimate.json", - }, - url = "https://json.schemastore.org/codeclimate.json", - }, - { - description = "LLVM compilation database", - fileMatch = { - "compile_commands.json", - }, - url = "https://json.schemastore.org/compile-commands.json", - }, - { - description = "Config file for Command Task Runner", - fileMatch = { - "commands.json", - }, - url = "https://json.schemastore.org/commands.json", - }, - { - description = "AWS CloudFormation provides a common language for you to describe and provision all the infrastructure resources in your cloud environment.", - fileMatch = { - "*.cf.json", - "cloudformation.json", - }, - url = "https://raw.githubusercontent.com/awslabs/goformation/v5.2.9/schema/cloudformation.schema.json", - }, - { - description = "The AWS Serverless Application Model (AWS SAM, previously known as Project Flourish) extends AWS CloudFormation to provide a simplified way of defining the Amazon API Gateway APIs, AWS Lambda functions, and Amazon DynamoDB tables needed by your serverless application.", - fileMatch = { - "serverless.template", - "*.sam.json", - "sam.json", - }, - url = "https://raw.githubusercontent.com/awslabs/goformation/v5.2.9/schema/sam.schema.json", - }, - { - description = "Json schema for properties json file for a GitHub Workflow template", - fileMatch = { - ".github/workflow-templates/**.properties.json", - }, - url = "https://json.schemastore.org/github-workflow-template-properties.json", - }, - { - description = "golangci-lint configuration file", - fileMatch = { - ".golangci.toml", - ".golangci.json", - }, - url = "https://json.schemastore.org/golangci-lint.json", - }, - { - description = "JSON schema for the JSON Feed format", - fileMatch = { - "feed.json", - }, - url = "https://json.schemastore.org/feed.json", - versions = { - ["1"] = "https://json.schemastore.org/feed-1.json", - ["1.1"] = "https://json.schemastore.org/feed.json", - }, - }, - { - description = "Packer template JSON configuration", - fileMatch = { - "packer.json", - }, - url = "https://json.schemastore.org/packer.json", - }, - { - description = "NPM configuration file", - fileMatch = { - "package.json", - }, - url = "https://json.schemastore.org/package.json", - }, - { - description = "JSON schema for Visual Studio component configuration files", - fileMatch = { - "*.vsconfig", - }, - url = "https://json.schemastore.org/vsconfig.json", - }, - { - description = "Resume json", - fileMatch = { "resume.json" }, - url = "https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json", - }, -} - -local function extend(tab1, tab2) - for _, value in ipairs(tab2 or {}) do - table.insert(tab1, value) - end - return tab1 -end - -local extended_schemas = extend(schemas, default_schemas) - -local opts = { - settings = { - json = { - schemas = extended_schemas, - }, - }, - setup = { - commands = { - Format = { - function() - vim.lsp.buf.range_formatting({}, { 0, 0 }, { vim.fn.line "$", 0 }) - end, - }, - }, - }, -} - -return opts diff --git a/lua/user/lsp/settings/pyright.lua b/lua/user/lsp/settings/pyright.lua deleted file mode 100644 index 94b4419..0000000 --- a/lua/user/lsp/settings/pyright.lua +++ /dev/null @@ -1,9 +0,0 @@ -return { - settings = { - python = { - analysis = { - typeCheckingMode = "off", - }, - }, - }, -} diff --git a/lua/user/lsp/settings/sumneko_lua.lua b/lua/user/lsp/settings/sumneko_lua.lua deleted file mode 100644 index 2c078f3..0000000 --- a/lua/user/lsp/settings/sumneko_lua.lua +++ /dev/null @@ -1,16 +0,0 @@ -return { - settings = { - - Lua = { - diagnostics = { - globals = { "vim" }, - }, - workspace = { - library = { - [vim.fn.expand("$VIMRUNTIME/lua")] = true, - [vim.fn.stdpath("config") .. "/lua"] = true, - }, - }, - }, - }, -} diff --git a/lua/user/lspsaga_config.lua b/lua/user/lspsaga_config.lua deleted file mode 100644 index db33683..0000000 --- a/lua/user/lspsaga_config.lua +++ /dev/null @@ -1,68 +0,0 @@ -local keymap = vim.keymap.set --- Lsp finder find the symbol definition implement reference --- if there is no implement it will hide --- when you use action in finder like open vsplit then you can --- use to jump back -keymap("n", "gh", "Lspsaga lsp_finder") - --- Code action -keymap({ "n", "v" }, "ca", "Lspsaga code_action") - --- Rename -keymap("n", "gr", "Lspsaga rename") - --- Rename word in whole project -keymap("n", "gr", "Lspsaga rename ++project") - --- Peek Definition --- you can edit the definition file in this float window --- also support open/vsplit/etc operation check definition_action_keys --- support tagstack C-t jump back -keymap("n", "gd", "Lspsaga peek_definition") - --- Go to Definition -keymap("n", "gd", "Lspsaga goto_definition") - --- Show line diagnostics you can pass argument ++unfocus to make --- show_line_diagnostics float window unfocus -keymap("n", "sl", "Lspsaga show_line_diagnostics") - --- Show cursor diagnostic --- also like show_line_diagnostics support pass ++unfocus -keymap("n", "sc", "Lspsaga show_cursor_diagnostics") - --- Show buffer diagnostic -keymap("n", "sb", "Lspsaga show_buf_diagnostics") - --- Diagnostic jump can use `` to jump back -keymap("n", "[e", "Lspsaga diagnostic_jump_prev") -keymap("n", "]e", "Lspsaga diagnostic_jump_next") - --- Diagnostic jump with filter like Only jump to error -keymap("n", "[E", function() - require("lspsaga.diagnostic"):goto_prev({ severity = vim.diagnostic.severity.ERROR }) -end) -keymap("n", "]E", function() - require("lspsaga.diagnostic"):goto_next({ severity = vim.diagnostic.severity.ERROR }) -end) - --- Toggle Outline -keymap("n", "o", "Lspsaga outline") - --- Hover Doc --- if there has no hover will have a notify no information available --- to disable it just Lspsaga hover_doc ++quiet --- press twice it will jump into hover window -keymap("n", "K", "Lspsaga hover_doc") --- if you want keep hover window in right top you can use ++keep arg --- notice if you use hover with ++keep you press this keymap it will --- close the hover window .if you want jump to hover window must use --- wincmd command w -keymap("n", "K", "Lspsaga hover_doc ++keep") - --- Callhierarchy -keymap("n", "ci", "Lspsaga incoming_calls") -keymap("n", "co", "Lspsaga outgoing_calls") - --- Float terminal -keymap({ "n", "t" }, "", "Lspsaga term_toggle") diff --git a/lua/user/lualine.lua b/lua/user/lualine.lua deleted file mode 100644 index 3fe46ed..0000000 --- a/lua/user/lualine.lua +++ /dev/null @@ -1,221 +0,0 @@ -local status_ok, lualine = pcall(require, "lualine") -if not status_ok then - return -end -local icons = require("user.icons") -local hide_in_width = function() - return vim.fn.winwidth(0) > 80 -end - -local conditions = { - buffer_not_empty = function() - return vim.fn.empty(vim.fn.expand("%:t")) ~= 1 - end, - hide_in_width = function() - return vim.fn.winwidth(0) > 80 - end, - check_git_workspace = function() - local filepath = vim.fn.expand("%:p:h") - local gitdir = vim.fn.finddir(".git", filepath .. ";") - return gitdir and #gitdir > 0 and #gitdir < #filepath - end, -} - -local diagnostics = { - "diagnostics", - sources = { "nvim_diagnostic" }, - sections = { "error", "warn" }, - -- symbols = { error = "๏— ", warn = "๏ฑ " }, - symbols = { - error = icons.diagnostics.BoldError .. " ", - warn = icons.diagnostics.BoldWarning .. " ", - }, - colored = true, - update_in_insert = false, - always_visible = false, -} - -local diff = { - "diff", - colored = true, - -- symbols = { added = "๏‘— ", modified = "๏‘™ ", removed = "๏‘˜ " }, -- changes diff symbols - symbols = { - added = icons.git.LineAdded .. " ", - modified = icons.git.LineModified .. " ", - removed = icons.git.LineRemoved .. " ", - }, -- changes diff symbols - cond = hide_in_width, -} - -local mode = { - "mode", - fmt = function(str) - return "--" .. str .. "--" - -- return "๎Ÿ… " .. str - -- return "๎˜ซ " .. str - end, -} - -local filetype = { - "filetype", - icons_enabled = true, - icon = nil, -} - -local branch = { - "branch", - icons_enabled = true, - --icon = "๎œฅ", - icon = icons.git.Branch, -} - -local location = { - "location", - padding = 0, -} - --- cool function for progress -local progress = function() - local current_line = vim.fn.line(".") - local total_lines = vim.fn.line("$") - local chars = { "__", "โ–โ–", "โ–‚โ–‚", "โ–ƒโ–ƒ", "โ–„โ–„", "โ–…โ–…", "โ–†โ–†", "โ–‡โ–‡", "โ–ˆโ–ˆ" } - local line_ratio = current_line / total_lines - local index = math.ceil(line_ratio * #chars) - return chars[index] -end - -local spaces = function() - -- return "->| " .. vim.api.nvim_buf_get_option(0, "shiftwidth") - return icons.ui.Tab .. " " .. vim.api.nvim_buf_get_option(0, "shiftwidth") -end - -local file_name = { - "filename", - cond = conditions.buffer_not_empty, -} - --- start for lsp -local list_registered_providers_names = function(filetype) - local s = require("null-ls.sources") - local available_sources = s.get_available(filetype) - local registered = {} - for _, source in ipairs(available_sources) do - for method in pairs(source.methods) do - registered[method] = registered[method] or {} - table.insert(registered[method], source.name) - end - end - return registered -end - -local null_ls = require("null-ls") --- for formatter -local list_registered = function(filetype) - local method = null_ls.methods.FORMATTING - local registered_providers = list_registered_providers_names(filetype) - return registered_providers[method] or {} -end - ---- for linter -local alternative_methods = { - null_ls.methods.DIAGNOSTICS, - null_ls.methods.DIAGNOSTICS_ON_OPEN, - null_ls.methods.DIAGNOSTICS_ON_SAVE, -} - -local linter_list_registered = function(filetype) - local registered_providers = list_registered_providers_names(filetype) - local providers_for_methods = vim.tbl_flatten(vim.tbl_map(function(m) - return registered_providers[m] or {} - end, alternative_methods)) - - return providers_for_methods -end --- end for lsp - -local lsp_info = { - function() - --local msg = "No Active Lsp" - local msg = "LS Inactive" - -- local buf_ft = vim.api.nvim_buf_get_option(0, "filetype") - local buf_ft = vim.bo.filetype - local clients = vim.lsp.get_active_clients() - -- start register - local buf_clients = vim.lsp.buf_get_clients() - local buf_client_names = {} - if next(buf_clients) == nil then - -- TODO: clean up this if statement - if type(msg) == "boolean" or #msg == 0 then - return "LS Inactive" - end - return msg - end - -- add client - for _, client in pairs(buf_clients) do - if client.name ~= "null-ls" and client.name ~= "copilot" then - table.insert(buf_client_names, client.name) - end - end - -- add formatter - local supported_formatters = list_registered(buf_ft) - vim.list_extend(buf_client_names, supported_formatters) - -- add linter - local supported_linters = linter_list_registered(buf_ft) - vim.list_extend(buf_client_names, supported_linters) - -- decomple - local unique_client_names = vim.fn.uniq(buf_client_names) - local msg = table.concat(unique_client_names, ", ") - return msg - end, - --icon = "๏‚… ", - icon = icons.ui.Gear .. "", -} - -lualine.setup({ - options = { - icons_enabled = true, - theme = "auto", - component_separators = { left = "", right = "" }, - section_separators = { left = "", right = "" }, - -- component_separators = { left = "๎‚ฑ", right = "๎‚ณ" }, - -- section_separators = { left = "๎‚ฐ", right = "๎‚ฒ" }, - -- component_separators = { left = "", right = "" }, - -- section_separators = { left = "๎‚ผ ", right = " ๎‚ถ" }, - -- component_separators = { left = "๎‚น", right = "๎‚ป" }, - -- section_separators = { left = "๎‚ธ", right = "๎‚บ" }, - - disabled_filetypes = { - "TelescopePrompt", - "packer", - "alpha", - "dashboard", - "NvimTree", - "Outline", - "DressingInput", - "toggleterm", - "lazy", - "mason", - }, - always_divide_middle = true, - }, - sections = { - lualine_a = { branch }, - lualine_b = { mode }, - lualine_c = { diagnostics, lsp_info }, - -- lualine_c = { file_name, lsp_info }, - -- lualine_x = { "encoding", "fileformat", "filetype" }, - lualine_x = { diff, spaces, "encoding", filetype }, - lualine_y = { location }, - lualine_z = { progress }, - }, - inactive_sections = { - lualine_a = {}, - lualine_b = {}, - lualine_c = { "filename" }, - lualine_x = { "location" }, - lualine_y = {}, - lualine_z = {}, - }, - tabline = {}, - extensions = {}, -}) diff --git a/lua/user/lualine1.lua b/lua/user/lualine1.lua deleted file mode 100644 index b52b1e8..0000000 --- a/lua/user/lualine1.lua +++ /dev/null @@ -1,218 +0,0 @@ -local status_ok, lualine = pcall(require, "lualine") -if not status_ok then - return -end -local icons = require("user.icons") -local hide_in_width = function() - return vim.fn.winwidth(0) > 80 -end - -local conditions = { - buffer_not_empty = function() - return vim.fn.empty(vim.fn.expand("%:t")) ~= 1 - end, - hide_in_width = function() - return vim.fn.winwidth(0) > 80 - end, - check_git_workspace = function() - local filepath = vim.fn.expand("%:p:h") - local gitdir = vim.fn.finddir(".git", filepath .. ";") - return gitdir and #gitdir > 0 and #gitdir < #filepath - end, -} - -local diagnostics = { - "diagnostics", - sources = { "nvim_diagnostic" }, - sections = { "error", "warn" }, - -- symbols = { error = "๏— ", warn = "๏ฑ " }, - symbols = { - error = icons.diagnostics.BoldError .. " ", - warn = icons.diagnostics.BoldWarning .. " ", - }, - colored = true, - update_in_insert = false, - always_visible = false, -} - -local diff = { - "diff", - colored = true, - -- symbols = { added = "๏‘— ", modified = "๏‘™ ", removed = "๏‘˜ " }, -- changes diff symbols - symbols = { - added = icons.git.LineAdded .. " ", - modified = icons.git.LineModified .. " ", - removed = icons.git.LineRemoved .. " ", - }, -- changes diff symbols - cond = hide_in_width, -} - -local mode = { - "mode", - fmt = function(str) - -- return "๎Ÿ… " .. str - return "๎˜ซ " .. str - end, -} - -local filetype = { - "filetype", - icons_enabled = true, - icon = nil, -} - -local branch = { - "branch", - icons_enabled = true, - --icon = "๎œฅ", - icon = icons.git.Branch, -} - -local location = { - "location", - padding = 0, -} - --- cool function for progress -local progress = function() - local current_line = vim.fn.line(".") - local total_lines = vim.fn.line("$") - local chars = { "__", "โ–โ–", "โ–‚โ–‚", "โ–ƒโ–ƒ", "โ–„โ–„", "โ–…โ–…", "โ–†โ–†", "โ–‡โ–‡", "โ–ˆโ–ˆ" } - local line_ratio = current_line / total_lines - local index = math.ceil(line_ratio * #chars) - return chars[index] -end - -local spaces = function() - -- return "->| " .. vim.api.nvim_buf_get_option(0, "shiftwidth") - return icons.ui.Tab .. " " .. vim.api.nvim_buf_get_option(0, "shiftwidth") -end - -local file_name = { - "filename", - cond = conditions.buffer_not_empty, -} - --- start for lsp -local list_registered_providers_names = function(filetype) - local s = require("null-ls.sources") - local available_sources = s.get_available(filetype) - local registered = {} - for _, source in ipairs(available_sources) do - for method in pairs(source.methods) do - registered[method] = registered[method] or {} - table.insert(registered[method], source.name) - end - end - return registered -end - -local null_ls = require("null-ls") --- for formatter -local list_registered = function(filetype) - local method = null_ls.methods.FORMATTING - local registered_providers = list_registered_providers_names(filetype) - return registered_providers[method] or {} -end - ---- for linter -local alternative_methods = { - null_ls.methods.DIAGNOSTICS, - null_ls.methods.DIAGNOSTICS_ON_OPEN, - null_ls.methods.DIAGNOSTICS_ON_SAVE, -} - -local linter_list_registered = function(filetype) - local registered_providers = list_registered_providers_names(filetype) - local providers_for_methods = vim.tbl_flatten(vim.tbl_map(function(m) - return registered_providers[m] or {} - end, alternative_methods)) - - return providers_for_methods -end --- end for lsp - -local lsp_info = { - function() - --local msg = "No Active Lsp" - local msg = "LS Inactive" - -- local buf_ft = vim.api.nvim_buf_get_option(0, "filetype") - local buf_ft = vim.bo.filetype - local clients = vim.lsp.get_active_clients() - -- start register - local buf_clients = vim.lsp.buf_get_clients() - local buf_client_names = {} - if next(buf_clients) == nil then - -- TODO: clean up this if statement - if type(msg) == "boolean" or #msg == 0 then - return "LS Inactive" - end - return msg - end - -- add client - for _, client in pairs(buf_clients) do - if client.name ~= "null-ls" and client.name ~= "copilot" then - table.insert(buf_client_names, client.name) - end - end - -- add formatter - local supported_formatters = list_registered(buf_ft) - vim.list_extend(buf_client_names, supported_formatters) - -- add linter - local supported_linters = linter_list_registered(buf_ft) - vim.list_extend(buf_client_names, supported_linters) - -- decomple - local unique_client_names = vim.fn.uniq(buf_client_names) - local msg = table.concat(unique_client_names, ", ") - return msg - end, - --icon = "๏‚… ", - icon = icons.ui.Gear .. "", -} - -lualine.setup({ - options = { - icons_enabled = true, - theme = "auto", - --component_separators = { left = "", right = "" }, - --section_separators = { left = "", right = "" }, - component_separators = { left = "๎‚ฑ", right = "๎‚ณ" }, - section_separators = { left = "๎‚ฐ", right = "๎‚ฒ" }, - -- component_separators = { left = "", right = "" }, - -- section_separators = { left = "๎‚ผ ", right = " ๎‚ถ" }, - - disabled_filetypes = { - "TelescopePrompt", - "packer", - "alpha", - "dashboard", - "NvimTree", - "Outline", - "DressingInput", - "toggleterm", - "lazy", - "mason", - }, - always_divide_middle = true, - }, - sections = { - lualine_a = { branch }, - lualine_b = { mode }, - lualine_c = { diagnostics, lsp_info }, - -- lualine_c = { file_name, lsp_info }, - -- lualine_x = { "encoding", "fileformat", "filetype" }, - lualine_x = { diff, spaces, "encoding", filetype }, - lualine_y = { location }, - lualine_z = { progress }, - }, - inactive_sections = { - lualine_a = {}, - lualine_b = {}, - lualine_c = { "filename" }, - lualine_x = { "location" }, - lualine_y = {}, - lualine_z = {}, - }, - tabline = {}, - extensions = {}, -}) diff --git a/lua/user/lualine2.lua b/lua/user/lualine2.lua deleted file mode 100644 index da6fc62..0000000 --- a/lua/user/lualine2.lua +++ /dev/null @@ -1,218 +0,0 @@ -local status_ok, lualine = pcall(require, "lualine") -if not status_ok then - return -end -local icons = require("user.icons") -local hide_in_width = function() - return vim.fn.winwidth(0) > 80 -end - -local conditions = { - buffer_not_empty = function() - return vim.fn.empty(vim.fn.expand("%:t")) ~= 1 - end, - hide_in_width = function() - return vim.fn.winwidth(0) > 80 - end, - check_git_workspace = function() - local filepath = vim.fn.expand("%:p:h") - local gitdir = vim.fn.finddir(".git", filepath .. ";") - return gitdir and #gitdir > 0 and #gitdir < #filepath - end, -} - -local diagnostics = { - "diagnostics", - sources = { "nvim_diagnostic" }, - sections = { "error", "warn" }, - -- symbols = { error = "๏— ", warn = "๏ฑ " }, - symbols = { - error = icons.diagnostics.BoldError .. " ", - warn = icons.diagnostics.BoldWarning .. " ", - }, - colored = true, - update_in_insert = false, - always_visible = false, -} - -local diff = { - "diff", - colored = true, - -- symbols = { added = "๏‘— ", modified = "๏‘™ ", removed = "๏‘˜ " }, -- changes diff symbols - symbols = { - added = icons.git.LineAdded .. " ", - modified = icons.git.LineModified .. " ", - removed = icons.git.LineRemoved .. " ", - }, -- changes diff symbols - cond = hide_in_width, -} - -local mode = { - "mode", - fmt = function(str) - return "๎Ÿ… " .. str - -- return "๎˜ซ " .. str - end, -} - -local filetype = { - "filetype", - icons_enabled = true, - icon = nil, -} - -local branch = { - "branch", - icons_enabled = true, - --icon = "๎œฅ", - icon = icons.git.Branch, -} - -local location = { - "location", - padding = 0, -} - --- cool function for progress -local progress = function() - local current_line = vim.fn.line(".") - local total_lines = vim.fn.line("$") - local chars = { "__", "โ–โ–", "โ–‚โ–‚", "โ–ƒโ–ƒ", "โ–„โ–„", "โ–…โ–…", "โ–†โ–†", "โ–‡โ–‡", "โ–ˆโ–ˆ" } - local line_ratio = current_line / total_lines - local index = math.ceil(line_ratio * #chars) - return chars[index] -end - -local spaces = function() - -- return "->| " .. vim.api.nvim_buf_get_option(0, "shiftwidth") - return icons.ui.Tab .. " " .. vim.api.nvim_buf_get_option(0, "shiftwidth") -end - -local file_name = { - "filename", - cond = conditions.buffer_not_empty, -} - --- start for lsp -local list_registered_providers_names = function(filetype) - local s = require("null-ls.sources") - local available_sources = s.get_available(filetype) - local registered = {} - for _, source in ipairs(available_sources) do - for method in pairs(source.methods) do - registered[method] = registered[method] or {} - table.insert(registered[method], source.name) - end - end - return registered -end - -local null_ls = require("null-ls") --- for formatter -local list_registered = function(filetype) - local method = null_ls.methods.FORMATTING - local registered_providers = list_registered_providers_names(filetype) - return registered_providers[method] or {} -end - ---- for linter -local alternative_methods = { - null_ls.methods.DIAGNOSTICS, - null_ls.methods.DIAGNOSTICS_ON_OPEN, - null_ls.methods.DIAGNOSTICS_ON_SAVE, -} - -local linter_list_registered = function(filetype) - local registered_providers = list_registered_providers_names(filetype) - local providers_for_methods = vim.tbl_flatten(vim.tbl_map(function(m) - return registered_providers[m] or {} - end, alternative_methods)) - - return providers_for_methods -end --- end for lsp - -local lsp_info = { - function() - --local msg = "No Active Lsp" - local msg = "LS Inactive" - -- local buf_ft = vim.api.nvim_buf_get_option(0, "filetype") - local buf_ft = vim.bo.filetype - local clients = vim.lsp.get_active_clients() - -- start register - local buf_clients = vim.lsp.buf_get_clients() - local buf_client_names = {} - if next(buf_clients) == nil then - -- TODO: clean up this if statement - if type(msg) == "boolean" or #msg == 0 then - return "LS Inactive" - end - return msg - end - -- add client - for _, client in pairs(buf_clients) do - if client.name ~= "null-ls" and client.name ~= "copilot" then - table.insert(buf_client_names, client.name) - end - end - -- add formatter - local supported_formatters = list_registered(buf_ft) - vim.list_extend(buf_client_names, supported_formatters) - -- add linter - local supported_linters = linter_list_registered(buf_ft) - vim.list_extend(buf_client_names, supported_linters) - -- decomple - local unique_client_names = vim.fn.uniq(buf_client_names) - local msg = table.concat(unique_client_names, ", ") - return msg - end, - --icon = "๏‚… ", - icon = icons.ui.Gear .. "", -} - -lualine.setup({ - options = { - icons_enabled = true, - theme = "auto", - --component_separators = { left = "", right = "" }, - --section_separators = { left = "", right = "" }, - -- component_separators = { left = "๎‚ฑ", right = "๎‚ณ" }, - -- section_separators = { left = "๎‚ฐ", right = "๎‚ฒ" }, - component_separators = { left = "", right = "" }, - section_separators = { left = "๎‚ด", right = " ๎‚ถ" }, - - disabled_filetypes = { - "TelescopePrompt", - "packer", - "alpha", - "dashboard", - "NvimTree", - "Outline", - "DressingInput", - "toggleterm", - "lazy", - "mason", - }, - always_divide_middle = true, - }, - sections = { - lualine_a = { branch }, - lualine_b = { mode }, - lualine_c = { diagnostics, lsp_info }, - -- lualine_c = { file_name, lsp_info }, - -- lualine_x = { "encoding", "fileformat", "filetype" }, - lualine_x = { diff, spaces, "encoding", filetype }, - lualine_y = { location }, - lualine_z = { progress }, - }, - inactive_sections = { - lualine_a = {}, - lualine_b = {}, - lualine_c = { "filename" }, - lualine_x = { "location" }, - lualine_y = {}, - lualine_z = {}, - }, - tabline = {}, - extensions = {}, -}) diff --git a/lua/user/lualine3.lua b/lua/user/lualine3.lua deleted file mode 100644 index c69ffbd..0000000 --- a/lua/user/lualine3.lua +++ /dev/null @@ -1,221 +0,0 @@ -local status_ok, lualine = pcall(require, "lualine") -if not status_ok then - return -end -local icons = require("user.icons") -local hide_in_width = function() - return vim.fn.winwidth(0) > 80 -end - -local conditions = { - buffer_not_empty = function() - return vim.fn.empty(vim.fn.expand("%:t")) ~= 1 - end, - hide_in_width = function() - return vim.fn.winwidth(0) > 80 - end, - check_git_workspace = function() - local filepath = vim.fn.expand("%:p:h") - local gitdir = vim.fn.finddir(".git", filepath .. ";") - return gitdir and #gitdir > 0 and #gitdir < #filepath - end, -} - -local diagnostics = { - "diagnostics", - sources = { "nvim_diagnostic" }, - sections = { "error", "warn" }, - -- symbols = { error = "๏— ", warn = "๏ฑ " }, - symbols = { - error = icons.diagnostics.BoldError .. " ", - warn = icons.diagnostics.BoldWarning .. " ", - }, - colored = true, - update_in_insert = false, - always_visible = false, -} - -local diff = { - "diff", - colored = true, - -- symbols = { added = "๏‘— ", modified = "๏‘™ ", removed = "๏‘˜ " }, -- changes diff symbols - symbols = { - added = icons.git.LineAdded .. " ", - modified = icons.git.LineModified .. " ", - removed = icons.git.LineRemoved .. " ", - }, -- changes diff symbols - cond = hide_in_width, -} - -local mode = { - "mode", - fmt = function(str) - return "--" .. str .. "--" - -- return "๎Ÿ… " .. str - -- return "๎˜ซ " .. str - end, -} - -local filetype = { - "filetype", - icons_enabled = true, - icon = nil, -} - -local branch = { - "branch", - icons_enabled = true, - --icon = "๎œฅ", - icon = icons.git.Branch, -} - -local location = { - "location", - padding = 0, -} - --- cool function for progress -local progress = function() - local current_line = vim.fn.line(".") - local total_lines = vim.fn.line("$") - local chars = { "__", "โ–โ–", "โ–‚โ–‚", "โ–ƒโ–ƒ", "โ–„โ–„", "โ–…โ–…", "โ–†โ–†", "โ–‡โ–‡", "โ–ˆโ–ˆ" } - local line_ratio = current_line / total_lines - local index = math.ceil(line_ratio * #chars) - return chars[index] -end - -local spaces = function() - -- return "->| " .. vim.api.nvim_buf_get_option(0, "shiftwidth") - return icons.ui.Tab .. " " .. vim.api.nvim_buf_get_option(0, "shiftwidth") -end - -local file_name = { - "filename", - cond = conditions.buffer_not_empty, -} - --- start for lsp -local list_registered_providers_names = function(filetype) - local s = require("null-ls.sources") - local available_sources = s.get_available(filetype) - local registered = {} - for _, source in ipairs(available_sources) do - for method in pairs(source.methods) do - registered[method] = registered[method] or {} - table.insert(registered[method], source.name) - end - end - return registered -end - -local null_ls = require("null-ls") --- for formatter -local list_registered = function(filetype) - local method = null_ls.methods.FORMATTING - local registered_providers = list_registered_providers_names(filetype) - return registered_providers[method] or {} -end - ---- for linter -local alternative_methods = { - null_ls.methods.DIAGNOSTICS, - null_ls.methods.DIAGNOSTICS_ON_OPEN, - null_ls.methods.DIAGNOSTICS_ON_SAVE, -} - -local linter_list_registered = function(filetype) - local registered_providers = list_registered_providers_names(filetype) - local providers_for_methods = vim.tbl_flatten(vim.tbl_map(function(m) - return registered_providers[m] or {} - end, alternative_methods)) - - return providers_for_methods -end --- end for lsp - -local lsp_info = { - function() - --local msg = "No Active Lsp" - local msg = "LS Inactive" - -- local buf_ft = vim.api.nvim_buf_get_option(0, "filetype") - local buf_ft = vim.bo.filetype - local clients = vim.lsp.get_active_clients() - -- start register - local buf_clients = vim.lsp.buf_get_clients() - local buf_client_names = {} - if next(buf_clients) == nil then - -- TODO: clean up this if statement - if type(msg) == "boolean" or #msg == 0 then - return "LS Inactive" - end - return msg - end - -- add client - for _, client in pairs(buf_clients) do - if client.name ~= "null-ls" and client.name ~= "copilot" then - table.insert(buf_client_names, client.name) - end - end - -- add formatter - local supported_formatters = list_registered(buf_ft) - vim.list_extend(buf_client_names, supported_formatters) - -- add linter - local supported_linters = linter_list_registered(buf_ft) - vim.list_extend(buf_client_names, supported_linters) - -- decomple - local unique_client_names = vim.fn.uniq(buf_client_names) - local msg = table.concat(unique_client_names, ", ") - return msg - end, - --icon = "๏‚… ", - icon = icons.ui.Gear .. "", -} - -lualine.setup({ - options = { - icons_enabled = true, - theme = "auto", - -- component_separators = { left = "", right = "" }, - -- section_separators = { left = "", right = "" }, - -- component_separators = { left = "๎‚ฑ", right = "๎‚ณ" }, - -- section_separators = { left = "๎‚ฐ", right = "๎‚ฒ" }, - -- component_separators = { left = "", right = "" }, - -- section_separators = { left = "๎‚ผ ", right = " ๎‚ถ" }, - component_separators = { left = "๎‚น", right = "๎‚ป" }, - section_separators = { left = "๎‚ธ", right = "๎‚บ" }, - - disabled_filetypes = { - "TelescopePrompt", - "packer", - "alpha", - "dashboard", - "NvimTree", - "Outline", - "DressingInput", - "toggleterm", - "lazy", - "mason", - }, - always_divide_middle = true, - }, - sections = { - lualine_a = { branch }, - lualine_b = { mode }, - lualine_c = { diagnostics, lsp_info }, - -- lualine_c = { file_name, lsp_info }, - -- lualine_x = { "encoding", "fileformat", "filetype" }, - lualine_x = { diff, spaces, "encoding", filetype }, - lualine_y = { location }, - lualine_z = { progress }, - }, - inactive_sections = { - lualine_a = {}, - lualine_b = {}, - lualine_c = { "filename" }, - lualine_x = { "location" }, - lualine_y = {}, - lualine_z = {}, - }, - tabline = {}, - extensions = {}, -}) diff --git a/lua/user/lualine_20230115.lua b/lua/user/lualine_20230115.lua deleted file mode 100644 index e024b22..0000000 --- a/lua/user/lualine_20230115.lua +++ /dev/null @@ -1,163 +0,0 @@ -local status_ok, lualine = pcall(require, "lualine") -if not status_ok then - return -end -local icons = require("user.icons") -local hide_in_width = function() - return vim.fn.winwidth(0) > 80 -end - -local conditions = { - buffer_not_empty = function() - return vim.fn.empty(vim.fn.expand("%:t")) ~= 1 - end, - hide_in_width = function() - return vim.fn.winwidth(0) > 80 - end, - check_git_workspace = function() - local filepath = vim.fn.expand("%:p:h") - local gitdir = vim.fn.finddir(".git", filepath .. ";") - return gitdir and #gitdir > 0 and #gitdir < #filepath - end, -} - -local diagnostics = { - "diagnostics", - sources = { "nvim_diagnostic" }, - sections = { "error", "warn" }, - -- symbols = { error = "๏— ", warn = "๏ฑ " }, - symbols = { - error = icons.diagnostics.BoldError .. " ", - warn = icons.diagnostics.BoldWarning .. " ", - }, - colored = true, - update_in_insert = false, - always_visible = false, -} - -local diff = { - "diff", - colored = true, - -- symbols = { added = "๏‘— ", modified = "๏‘™ ", removed = "๏‘˜ " }, -- changes diff symbols - symbols = { - added = icons.git.LineAdded .. " ", - modified = icons.git.LineModified .. " ", - removed = icons.git.LineRemoved .. " ", - }, -- changes diff symbols - cond = hide_in_width, -} - -local mode = { - "mode", - fmt = function(str) - return "-- " .. str .. " --" - end, -} - -local filetype = { - "filetype", - icons_enabled = true, - icon = nil, -} - -local branch = { - "branch", - icons_enabled = true, - --icon = "๎œฅ", - icon = icons.git.Branch, -} - -local location = { - "location", - padding = 0, -} - --- cool function for progress -local progress = function() - local current_line = vim.fn.line(".") - local total_lines = vim.fn.line("$") - local chars = { "__", "โ–โ–", "โ–‚โ–‚", "โ–ƒโ–ƒ", "โ–„โ–„", "โ–…โ–…", "โ–†โ–†", "โ–‡โ–‡", "โ–ˆโ–ˆ" } - local line_ratio = current_line / total_lines - local index = math.ceil(line_ratio * #chars) - return chars[index] -end - -local spaces = function() - -- return "->| " .. vim.api.nvim_buf_get_option(0, "shiftwidth") - return icons.ui.Tab .. " " .. vim.api.nvim_buf_get_option(0, "shiftwidth") -end - -local file_name = { - "filename", - cond = conditions.buffer_not_empty, -} - -local lsp_info = { - function() - --local msg = "No Active Lsp" - local msg = "LS Inactive" - local buf_ft = vim.api.nvim_buf_get_option(0, "filetype") - local clients = vim.lsp.get_active_clients() - if next(clients) == nil then - for i, name in ipairs(clients) do - msg = msg .. " " .. name - end - return msg - end - for _, client in ipairs(clients) do - local filetypes = client.config.filetypes - if filetypes and vim.fn.index(filetypes, buf_ft) ~= -1 then - if msg == "LS Inactive" then - msg = "" - msg = msg .. client.name - else - msg = msg .. ", " .. client.name - end - end - end - return msg - end, - --icon = "๏‚… ", - icon = icons.ui.Gear .. "", -} - -lualine.setup({ - options = { - icons_enabled = true, - theme = "auto", - component_separators = { left = "", right = "" }, - section_separators = { left = "", right = "" }, - disabled_filetypes = { - "TelescopePrompt", - "packer", - "alpha", - "dashboard", - "NvimTree", - "Outline", - "DressingInput", - "toggleterm", - "lazy", - }, - always_divide_middle = true, - }, - sections = { - lualine_a = { branch }, - lualine_b = { mode }, - lualine_c = { diagnostics, lsp_info }, - -- lualine_c = { file_name, lsp_info }, - -- lualine_x = { "encoding", "fileformat", "filetype" }, - lualine_x = { diff, spaces, "encoding", filetype }, - lualine_y = { location }, - lualine_z = { progress }, - }, - inactive_sections = { - lualine_a = {}, - lualine_b = {}, - lualine_c = { "filename" }, - lualine_x = { "location" }, - lualine_y = {}, - lualine_z = {}, - }, - tabline = {}, - extensions = {}, -}) diff --git a/lua/user/mason-null-ls.lua b/lua/user/mason-null-ls.lua deleted file mode 100644 index 86412f0..0000000 --- a/lua/user/mason-null-ls.lua +++ /dev/null @@ -1,6 +0,0 @@ -local status_ok, mason_null_ls = pcall(require, "mason-null-ls") -if not status_ok then - return -end -mason_null_ls.setup({ automatic_setup = true }) -mason_null_ls.setup_handlers({}) diff --git a/lua/user/mason_dap.lua b/lua/user/mason_dap.lua deleted file mode 100644 index 7b026f2..0000000 --- a/lua/user/mason_dap.lua +++ /dev/null @@ -1,3 +0,0 @@ -local mason_nvim_dap = require("mason-nvim-dap") -mason_nvim_dap.setup({ automatic_setup = true }) -mason_nvim_dap.setup_handlers({}) diff --git a/lua/user/neoscroll.lua b/lua/user/neoscroll.lua deleted file mode 100644 index 092bb76..0000000 --- a/lua/user/neoscroll.lua +++ /dev/null @@ -1,5 +0,0 @@ -local status_ok, neoscroll = pcall(require, "neoscroll") -if not status_ok then - return -end -neoscroll.setup() \ No newline at end of file diff --git a/lua/user/nvim-tree.lua b/lua/user/nvim-tree.lua deleted file mode 100644 index ac965ef..0000000 --- a/lua/user/nvim-tree.lua +++ /dev/null @@ -1,88 +0,0 @@ -local status_ok, nvim_tree = pcall(require, "nvim-tree") -if not status_ok then - return -end - -local config_status_ok, nvim_tree_config = pcall(require, "nvim-tree.config") -if not config_status_ok then - return -end - -local tree_cb = nvim_tree_config.nvim_tree_callback -local icons = require("user.icons") - -nvim_tree.setup({ - update_focused_file = { - enable = true, - update_cwd = true, - }, - select_prompts = true, - renderer = { - root_folder_modifier = ":t", - indent_markers = { - enable = true, - inline_arrows = true, - icons = { - corner = "โ””", - edge = "โ”‚", - item = "โ”‚", - bottom = "โ”€", - none = " ", - }, - }, - icons = { - webdev_colors = true, - show = { - git = true, - folder = true, - file = true, - folder_arrow = true, - }, - glyphs = { - default = icons.ui.Text, - symlink = icons.ui.FileSymlink, - folder = { - arrow_open = icons.ui.ChevronShortDown, - arrow_closed = icons.ui.ChevronShortRight, - default = icons.ui.Folder, - empty = icons.ui.EmptyFolder, - empty_open = icons.ui.EmptyFolderOpen, - open = icons.ui.FolderOpen, - symlink = icons.ui.FolderSymlink, - symlink_open = icons.ui.FolderSymlink, - }, - git = { - deleted = icons.git.FileDeleted, - ignored = icons.git.FileIgnored, - renamed = icons.git.FileRenamed, - staged = icons.git.FileStaged, - unmerged = icons.git.FileUnmerged, - unstaged = icons.git.FileUnstaged, - untracked = icons.git.FileUntracked, - }, - }, - }, - }, - diagnostics = { - enable = true, - show_on_dirs = true, - icons = { - hint = icons.diagnostics.BoldHint, - info = icons.diagnostics.BoldInformation, - warning = icons.diagnostics.BoldWarning, - error = icons.diagnostics.BoldError, - }, - }, - view = { - width = 30, - hide_root_folder = false, - side = "left", - mappings = { - list = { - { key = { "l", "", "o" }, cb = tree_cb("edit") }, - { key = "h", cb = tree_cb("close_node") }, - { key = "v", cb = tree_cb("vsplit") }, - }, - }, - }, -}) diff --git a/lua/user/nvimscroll.lua b/lua/user/nvimscroll.lua deleted file mode 100644 index 44223c7..0000000 --- a/lua/user/nvimscroll.lua +++ /dev/null @@ -1,9 +0,0 @@ -local status_ok, scrollview = pcall(require, "scrollview") -if not status_ok then - return -end -scrollview.setup({ - bg = "LightCyan", - ctermbg = 160, -}) -vim.g.scrollview_excluded_filetypes = { "NvimTree", "vista_kind" } diff --git a/lua/user/onedark.lua b/lua/user/onedark.lua deleted file mode 100644 index 2037608..0000000 --- a/lua/user/onedark.lua +++ /dev/null @@ -1,39 +0,0 @@ -require("onedark").setup({ - -- Main options -- - style = "darker", -- Default theme style. Choose between 'dark', 'darker', 'cool', 'deep', 'warm', 'warmer' and 'light' - transparent = true, -- Show/hide background - term_colors = true, -- Change terminal color as per the selected theme style - ending_tildes = false, -- Show the end-of-buffer tildes. By default they are hidden - cmp_itemkind_reverse = false, -- reverse item kind highlights in cmp menu - - -- toggle theme style --- - toggle_style_key = nil, -- keybind to toggle theme style. Leave it nil to disable it, or set it to a string, for example "ts" - toggle_style_list = { "dark", "darker", "cool", "deep", "warm", "warmer", "light" }, -- List of styles to toggle between - - -- Change code style --- - -- Options are italic, bold, underline, none - -- You can configure multiple style with comma seperated, For e.g., keywords = 'italic,bold' - code_style = { - comments = "italic", - keywords = "none", - functions = "none", - strings = "none", - variables = "none", - }, - - -- Lualine options -- - lualine = { - transparent = false, -- lualine center bar transparency - }, - - -- Custom Highlights -- - colors = {}, -- Override default colors - highlights = {}, -- Override highlight groups - - -- Plugins Config -- - diagnostics = { - darker = true, -- darker colors for diagnostic - undercurl = true, -- use undercurl instead of underline for diagnostics - background = true, -- use background color for virtual text - }, -}) diff --git a/lua/user/options.lua b/lua/user/options.lua deleted file mode 100644 index 57d7211..0000000 --- a/lua/user/options.lua +++ /dev/null @@ -1,55 +0,0 @@ -local options = { - backspace = vim.opt.backspace + { "nostop" }, -- Don't stop backspace at insert - clipboard = "unnamedplus", -- Connection to the system clipboard - cmdheight = 0, -- hide command line unless needed - completeopt = { "menuone", "noselect" }, -- Options for insert mode completion - copyindent = true, -- Copy the previous indentation on autoindenting - cursorline = true, -- Highlight the text line of the cursor - expandtab = true, -- Enable the use of space in tab - fileencoding = "utf-8", -- File content encoding for the buffer - fillchars = { eob = " " }, -- Disable `~` on nonexistent lines - history = 100, -- Number of commands to remember in a history table - ignorecase = true, -- Case insensitive searching - laststatus = 3, -- globalstatus - lazyredraw = true, -- lazily redraw screen - mouse = "a", -- Enable mouse support - number = true, -- Show numberline - preserveindent = true, -- Preserve indent structure as much as possible - pumheight = 10, -- Height of the pop up menu - relativenumber = true, -- Show relative numberline - scrolloff = 8, -- Number of lines to keep above and below the cursor - shiftwidth = 2, -- Number of space inserted for indentation - showmode = false, -- Disable showing modes in command line - showtabline = 2, -- always display tabline - sidescrolloff = 8, -- Number of columns to keep at the sides of the cursor - signcolumn = "yes", -- Always show the sign column - smartcase = true, -- Case sensitivie searching - splitbelow = true, -- Splitting a new window below the current one - splitright = true, -- Splitting a new window at the right of the current one - swapfile = false, -- Disable use of swapfile for the buffer - tabstop = 2, -- Number of space in a tab - termguicolors = true, -- Enable 24-bit RGB color in the TUI - timeoutlen = 300, -- Length of time to wait for a mapped sequence - undofile = true, -- Enable persistent undo - updatetime = 300, -- Length of time to wait before triggering the plugin - wrap = true, -- Disable wrapping of lines longer than the width of window - writebackup = false, -- Disable making a backup before overwriting a file - -- minimal number of screen columns either side of cursor if wrap is `false` - -- guifont = "monospace:h17", -- the font used in graphical neovim applications - -- guifont = "Source_Code_Pro:h17", -- the font used in graphical neovim applications - guifont = "Hack_Nerd_Font:h17", -- the font used in graphical neovim applications - whichwrap = "bs<>[]hl", -- which "horizontal" keys are allowed to travel to prev/next line -- which "horizontal" keys are allowed to travel to prev/next line -} - -for k, v in pairs(options) do - vim.opt[k] = v -end - --- vim.opt.shortmess = "ilmnrx" -- flags to shorten vim messages, see :help 'shortmess' --- vim.o.winbar = "%{%v:lua.require'nvim-navic'.get_location()%}" -vim.opt.shortmess:append("c") -- don't give |ins-completion-menu| messages -vim.opt.iskeyword:append("-") -- hyphenated words recognized by searches -vim.opt.formatoptions:remove({ "t", "c", "q", "j" }) -vim.opt.formatoptions = "croql" --- vim.opt.formatoptions:remove({ "c", "r", "o" }) -- don't insert the current comment leader automatically for auto-wrapping comments using 'textwidth', hitting in insert mode, or hitting 'o' or 'O' in normal mode. -vim.opt.runtimepath:remove("/usr/share/vim/vimfiles") -- separate vim plugins from neovim in case vim still in use diff --git a/lua/user/plugins.lua b/lua/user/plugins.lua deleted file mode 100644 index cfa7a14..0000000 --- a/lua/user/plugins.lua +++ /dev/null @@ -1,396 +0,0 @@ -local fn = vim.fn - --- Automatically install packer -local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim" -if fn.empty(fn.glob(install_path)) > 0 then - PACKER_BOOTSTRAP = fn.system({ - "git", - "clone", - "--depth", - "1", - "https://github.com/wbthomason/packer.nvim", - install_path, - }) - print("Installing packer close and reopen Neovim...") - vim.cmd([[packadd packer.nvim]]) -end - --- Autocommand that reloads neovim whenever you save the plugins.lua file -vim.cmd([[ - augroup packer_user_config - autocmd! - autocmd BufWritePost plugins.lua source | PackerSync - augroup end -]]) - --- Use a protected call so we don't error out on first use -local status_ok, packer = pcall(require, "packer") -if not status_ok then - return -end - --- Have packer use a popup window -packer.init({ - display = { - open_fn = function() - return require("packer.util").float({ border = "rounded" }) - end, - }, -}) - --- Install your plugins here -return packer.startup(function(use) - use({ - "wbthomason/packer.nvim", - commit = "6afb67460283f0e990d35d229fd38fdc04063e0a", - -- config = function() - -- require("user.plugins") - -- end, - }) -- Have packer manage itself - use({ - "nvim-lua/plenary.nvim", - commit = "4b7e52044bbb84242158d977a50c4cbcd85070c7", - event = "BufWinEnter", - module = "plenary", - }) -- Useful lua functions used by lots of plugins - use({ - "windwp/nvim-autopairs", - commit = "4fc96c8f3df89b6d23e5092d31c866c53a346347", - after = "nvim-cmp", - config = function() - require("user.autopairs") - end, - }) -- Autopairs, integrates with both cmp and treesitter - use({ - "numToStr/Comment.nvim", - commit = "97a188a98b5a3a6f9b1b850799ac078faa17ab67", - event = "BufReadPost", - config = function() - require("user.comment") - end, - }) - use({ - "JoosepAlviste/nvim-ts-context-commentstring", - commit = "4d3a68c41a53add8804f471fcc49bb398fe8de08", - event = "BufReadPost", - after = "nvim-treesitter", - }) - use({ - "kyazdani42/nvim-web-devicons", - commit = "563f3635c2d8a7be7933b9e547f7c178ba0d4352", - module = "nvim-web-devicons", - config = function() - require("user.webdevicons") - end, - }) - use({ - "kyazdani42/nvim-tree.lua", - commit = "7282f7de8aedf861fe0162a559fc2b214383c51c", - -- ini dirimak karena jadi tab tidak kebuka full - -- on = { "NvimTreeToggle" }, - -- cmd = "NvimTreeToggle", - require = "kyazdani42/nvim-web-devicons", - config = function() - require("user.nvim-tree") - end, - }) - use({ - "akinsho/bufferline.nvim", - commit = "83bf4dc7bff642e145c8b4547aa596803a8b4dc4", - require = "kyazdani42/nvim-web-devicons", - event = "BufWinEnter", - config = function() - require("user.bufferline") - end, - }) - use({ "moll/vim-bbye", commit = "25ef93ac5a87526111f43e5110675032dbcacf56" }) - use({ - "nvim-lualine/lualine.nvim", - commit = "a52f078026b27694d2290e34efa61a6e4a690621", - require = { "kyazdani42/nvim-web-devicons", opt = true }, - event = "BufWinEnter", - config = function() - require("user.lualine") - end, - }) - use({ - "akinsho/toggleterm.nvim", - commit = "2a787c426ef00cb3488c11b14f5dcf892bbd0bda", - module = "toggleterm", - cmd = "Toggleterm", - event = "BufWinEnter", - config = function() - require("user.toggleterm") - end, - }) - use({ "ahmedkhalf/project.nvim", commit = "628de7e433dd503e782831fe150bb750e56e55d6" }) - use({ - "lewis6991/impatient.nvim", - commit = "b842e16ecc1a700f62adb9802f8355b99b52a5a6", - config = function() - require("user.impatient") - end, - }) - use({ - "lukas-reineke/indent-blankline.nvim", - commit = "db7cbcb40cc00fc5d6074d7569fb37197705e7f6", - event = "BufRead", - config = function() - require("user.indentline") - end, - }) - use({ - "goolord/alpha-nvim", - commit = "0bb6fc0646bcd1cdb4639737a1cee8d6e08bcc31", - module = "alpha", - event = "BufWinEnter", - config = function() - require("user.alpha") - end, - }) - use({ - "folke/which-key.nvim", - event = "BufWinEnter", - config = function() - require("user.whichkey") - end, - }) - - -- Colorschemes - use({ - "folke/tokyonight.nvim", - commit = "66bfc2e8f754869c7b651f3f47a2ee56ae557764", - -- ini diremark karena tab diatas jadi tidak ada warnanya - -- event = "BufWinEnter", - config = function() - require("user.tokyonight") - -- require("user.colorscheme") - end, - }) - - -- Cmp - use({ - "hrsh7th/nvim-cmp", - commit = "b0dff0ec4f2748626aae13f011d1a47071fe9abc", - event = "BufWinEnter", - config = function() - require("user.cmp") - end, - }) -- The completion plugin - use({ "hrsh7th/cmp-buffer", commit = "3022dbc9166796b644a841a02de8dd1cc1d311fa", after = "nvim-cmp" }) -- buffer completions - use({ "hrsh7th/cmp-path", commit = "447c87cdd6e6d6a1d2488b1d43108bfa217f56e1", after = "nvim-cmp" }) -- path completions - use({ "saadparwaiz1/cmp_luasnip", commit = "a9de941bcbda508d0a45d28ae366bb3f08db2e36", after = "nvim-cmp" }) -- snippet completions - use({ - "hrsh7th/cmp-nvim-lsp", - commit = "3cf38d9c957e95c397b66f91967758b31be4abe6", - after = "nvim-cmp", - event = "BufWinEnter", - }) - use({ "hrsh7th/cmp-nvim-lua", commit = "d276254e7198ab7d00f117e88e223b4bd8c02d21", after = "nvim-cmp" }) - - -- Snippets - use({ - "L3MON4D3/LuaSnip", - commit = "8f8d493e7836f2697df878ef9c128337cbf2bb84", - module = "luasnip", - wants = "friendly-snippets", - config = function() - require("user.snip") - end, - }) --snippet engine - use({ "rafamadriz/friendly-snippets", commit = "2be79d8a9b03d4175ba6b3d14b082680de1b31b1", opt = true }) -- a bunch of snippets to use - - -- LSP - use({ - "neovim/nvim-lspconfig", - commit = "f11fdff7e8b5b415e5ef1837bdcdd37ea6764dda", - module = "lspconfig", - event = "BufWinEnter", - config = function() - require("user.lsp") - end, - }) -- enable LSP - use({ - "williamboman/mason.nvim", - commit = "c2002d7a6b5a72ba02388548cfaf420b864fbc12", - module = "mason", - cmd = { - "Mason", - "MasonInstall", - "MasonUninstall", - "MasonUninstallAll", - "MasonLog", - }, - config = function() - vim.tbl_map(function(plugin) - pcall(require, plugin) - end, { "lspconfig", "null-ls" }) - end, - }) -- simple to use language server installer - use({ "williamboman/mason-lspconfig.nvim", commit = "0051870dd728f4988110a1b2d47f4a4510213e31" }) - use({ "jose-elias-alvarez/null-ls.nvim", commit = "c0c19f32b614b3921e17886c541c13a72748d450" }) -- for formatters and linters - use({ "RRethy/vim-illuminate", commit = "a2e8476af3f3e993bb0d6477438aad3096512e42" }) - - -- Telescope - use({ - "nvim-telescope/telescope.nvim", - commit = "76ea9a898d3307244dce3573392dcf2cc38f340f", - require = { { "nvim-lua/plenary.nvim" } }, - cmd = "Telescope", - config = function() - require("user.telescope") - end, - }) - - -- Treesitter - use({ - "nvim-treesitter/nvim-treesitter", - commit = "8e763332b7bf7b3a426fd8707b7f5aa85823a5ac", - run = ":TSUpdate", - event = "BufWinEnter", - config = function() - require("user.treesitter") - end, - }) - - -- custom akn - use({ "manzeloth/live-server" }) - use({ "mg979/vim-visual-multi", event = "BufWinEnter" }) - use({ - "windwp/nvim-ts-autotag", - event = "InsertEnter", - after = "nvim-treesitter", - -- config dipindah ke treesitter config - -- config = function() - -- require("user.autotag") - -- end, - }) - use({ - "CRAG666/code_runner.nvim", - requires = "nvim-lua/plenary.nvim", - cmd = { "RunCode", "RunFile", "RunProject", "RunClose" }, - config = function() - require("user.coderunner") - end, - }) - use({ - "NvChad/nvim-colorizer.lua", - event = "BufWinEnter", - config = function() - require("user.colorizer") - end, - }) - use({ "williamboman/nvim-lsp-installer" }) - use({ - "SmiteshP/nvim-navic", - requires = "neovim/nvim-lspconfig", - event = "BufRead", - config = function() - require("user.breadcrumb") - require("user.winbar") - end, - }) - use({ - "rcarriga/nvim-notify", - module = "notify", - event = "BufRead", - config = function() - vim.notify = require("notify") - end, - }) - use({ - "mrjones2014/smart-splits.nvim", - event = "BufWinEnter", - config = function() - require("user.smartspit") - end, - }) - -- null-ls manager - use({ - "jayp0521/mason-null-ls.nvim", - after = "null-ls.nvim", - event = "BufRead", - config = function() - require("user.mason-null-ls") - end, - }) - use({ - "stevearc/dressing.nvim", - event = "BufWinEnter", - config = function() - require("user.dressing") - end, - }) - - use({ - "folke/todo-comments.nvim", - event = "BufRead", - config = function() - require("todo-comments").setup() - end, - }) - use({ - "karb94/neoscroll.nvim", - event = "BufRead", - config = function() - require("user.neoscroll") - end, - }) - use({ - "dstein64/nvim-scrollview", - event = "BufRead", - config = function() - require("user.nvimscroll") - end, - }) - use({ - "gelguy/wilder.nvim", - event = "BufWinEnter", - config = function() - local wilder = require("wilder") - wilder.setup({ modes = { ":", "/", "?" } }) - wilder.set_option( - "renderer", - wilder.popupmenu_renderer({ - highlighter = wilder.basic_highlighter(), - left = { " ", wilder.popupmenu_devicons() }, - right = { " ", wilder.popupmenu_scrollbar() }, - }) - ) - end, - }) - use({ - "gbprod/yanky.nvim", - event = "BufRead", - config = function() - require("user.yanky") - end, - }) - use({ "dstein64/vim-startuptime" }) - use({ "p00f/nvim-ts-rainbow", event = "BufWinEnter", after = "nvim-treesitter" }) - - -- ini plugins alternatif yang tidak digunakan lagi - -- use({ "rebelot/kanagawa.nvim" }) - -- use({ "mfussenegger/nvim-jdtls" }) - -- use({ "ellisonleao/gruvbox.nvim" }) - -- use({ "EdenEast/nightfox.nvim" }) - -- use({ "morhetz/gruvbox" }) - - -- Git - use({ - "lewis6991/gitsigns.nvim", - commit = "2c6f96dda47e55fa07052ce2e2141e8367cbaaf2", - disable = vim.fn.executable("git") == 0, - ft = "gitcommit", - event = "BufWinEnter", - config = function() - require("user.gitsigns") - end, - }) - - -- Automatically set up your configuration after cloning packer.nvim - -- Put this at the end after all plugins - if PACKER_BOOTSTRAP then - require("packer").sync() - end -end) diff --git a/lua/user/project.lua b/lua/user/project.lua deleted file mode 100644 index e44dd0e..0000000 --- a/lua/user/project.lua +++ /dev/null @@ -1,48 +0,0 @@ -local status_ok, project = pcall(require, "project_nvim") -if not status_ok then - return -end -project.setup({ - ---@usage set to false to disable project.nvim. - --- This is on by default since it's currently the expected behavior. - active = true, - - on_config_done = nil, - - ---@usage set to true to disable setting the current-woriking directory - --- Manual mode doesn't automatically change your root directory, so you have - --- the option to manually do so using `:ProjectRoot` command. - manual_mode = false, - - ---@usage Methods of detecting the root directory - --- Allowed values: **"lsp"** uses the native neovim lsp - --- **"pattern"** uses vim-rooter like glob pattern matching. Here - --- order matters: if one is not detected, the other is used as fallback. You - --- can also delete or rearangne the detection methods. - -- detection_methods = { "lsp", "pattern" }, -- NOTE: lsp detection will get annoying with multiple langs in one project - detection_methods = { "pattern" }, - - ---@usage patterns used to detect root dir, when **"pattern"** is in detection_methods - patterns = { ".git", "_darcs", ".hg", ".bzr", ".svn", "Makefile", "package.json" ,"main*" }, - - ---@ Show hidden files in telescope when searching for files in a project - show_hidden = false, - - ---@usage When set to false, you will get a message when project.nvim changes your directory. - -- When set to false, you will get a message when project.nvim changes your directory. - silent_chdir = true, - - ---@usage list of lsp client names to ignore when using **lsp** detection. eg: { "efm", ... } - ignore_lsp = {}, - - ---@type string - ---@usage path to store the project history for use in telescope - datapath = vim.fn.stdpath("data"), -}) - -local tele_status_ok, telescope = pcall(require, "telescope") -if not tele_status_ok then - return -end - -telescope.load_extension('projects') diff --git a/lua/user/smartspit.lua b/lua/user/smartspit.lua deleted file mode 100644 index 94242c9..0000000 --- a/lua/user/smartspit.lua +++ /dev/null @@ -1,18 +0,0 @@ -local status_ok, smart_splits = pcall(require, "smart-splits") -if not status_ok then - return -end -smart_splits.setup({ - ignored_filetypes = { - "nofile", - "quickfix", - "qf", - "prompt", - }, - ignored_buftypes = { "nofile" }, -}) - -vim.keymap.set("n", "", require("smart-splits").resize_left) -vim.keymap.set("n", "", require("smart-splits").resize_down) -vim.keymap.set("n", "", require("smart-splits").resize_right) diff --git a/lua/user/snip/init.lua b/lua/user/snip/init.lua deleted file mode 100644 index 7383736..0000000 --- a/lua/user/snip/init.lua +++ /dev/null @@ -1,49 +0,0 @@ -local status_ok = pcall(require, "luasnip") -if not status_ok then - return -end - -local lpath = vim.fn.stdpath("config") .. "/my-snippets" - - --- kalau mau di pakai snipetnya baru di buaka remarknya karena bikin berat kalau load terus dan ga di pakai - --- require("luasnip.loaders.from_vscode").lazy_load() --- -- specify the full path... --- require("luasnip.loaders.from_vscode").lazy_load({ --- paths = lpath .. "/B5-Snippets", --- }) --- require("luasnip.loaders.from_vscode").lazy_load({ --- paths = lpath .. "/laravel-blade", --- }) --- require("luasnip.loaders.from_vscode").lazy_load({ --- paths = lpath .. "/laravel-blade2", --- }) --- require("luasnip.loaders.from_vscode").lazy_load({ --- paths = lpath .. "/laravel5", --- }) --- require("luasnip.loaders.from_vscode").lazy_load({ --- paths = lpath .. "/javascript", --- }) -require("luasnip.loaders.from_vscode").lazy_load({ - paths = lpath .. "/html", -}) -require("luasnip.loaders.from_vscode").lazy_load({ - paths = lpath .. "/javascript-snippet", -}) --- require("luasnip.loaders.from_vscode").lazy_load({ --- paths = lpath .. "/codeigniter4", --- }) --- require("luasnip.loaders.from_vscode").lazy_load({ --- paths = lpath .. "/font-awesome", --- }) --- or relative to the directory of $MYVIMRC ---require("luasnip.loaders.from_vscode").load({ paths = lpath .. "/B5-Snippets" }) ---require("luasnip.loaders.from_vscode").load({ paths = lpath .. "/laravel-blade" }) ---require("luasnip.loaders.from_vscode").load({ paths = lpath .. "/laravel-blade2" }) ---require("luasnip.loaders.from_vscode").load({ paths = lpath .. "/laravel5" }) ---require("luasnip.loaders.from_vscode").load({ paths = lpath .. "/javascript" }) -require("luasnip.loaders.from_vscode").load({ paths = lpath .. "/html" }) ---require("luasnip.loaders.from_vscode").load({ paths = lpath .. "/codeigniter4" }) ---require("luasnip.loaders.from_vscode").load({ paths = lpath .. "/font-awesome" }) -require("luasnip.loaders.from_vscode").load({ paths = lpath .. "/javascript-snippet" }) diff --git a/lua/user/startify.lua b/lua/user/startify.lua deleted file mode 100644 index 972a593..0000000 --- a/lua/user/startify.lua +++ /dev/null @@ -1,61 +0,0 @@ -local alpha = require("alpha") -local startify = require("alpha.themes.startify") -local dash_model = {} -dash_model = { - [[ _ __ __ ]], - [[ ___ ___ (____ / /__ _______ ___/ ___ ]], - [[ / _ / _ \ / / _ \/ '_/ / __/ _ / _ / -_) ]], - [[ / .__\_____/ /\___/_/\_\ \__/\___\_,_/\__/ ]], - [[ /_/ |___/ ]], -} - -local data_exists, custom_dasboard = pcall(require, "custom.dashboard") -if data_exists then - if type(custom_dasboard) == "table" then - local board = custom_dasboard.dashboard1 - if board ~= nil then - dash_model = board - end - end -end -startify.section.header.val = dash_model -startify.section.top_buttons.val = { - startify.button("f", "๏œ Find file", ":Telescope find_files "), - startify.button("e", "๏…› New file", ":ene startinsert "), - startify.button("p", "๏ป Find project", ":Telescope projects "), - startify.button("r", "๏˜ˆ Recently used files", ":Telescope oldfiles "), - startify.button("t", "๏žƒ Find text", ":Telescope live_grep "), - startify.button("c", "๎˜• Configuration", ":e $MYVIMRC "), - startify.button("z", "๏ฆฑ Lazy", ":Lazy"), - -- startify.button("q", "๏™™ Quit Neovim", ":qa"), -} --- disable MRU -startify.section.mru.val = { { type = "padding", val = 4 } } --- disable MRU cwd -startify.section.mru_cwd.val = { { type = "padding", val = 0 } } --- disable nvim_web_devicons -startify.nvim_web_devicons.enabled = false --- startify.nvim_web_devicons.highlight = false --- startify.nvim_web_devicons.highlight = 'Keyword' --- -startify.section.bottom_buttons.val = { - startify.button("q", "๏™™ Quit NVIM", ":qa"), -} - -local footer_text = "Pojok Code" -if data_exists then - if type(custom_dasboard) == "table" then - local data_txt = custom_dasboard.footer - if data_txt ~= nil then - footer_text = data_txt - end - end -end -startify.section.footer.val = { - { type = "text", val = footer_text }, -} --- ignore filetypes in MRU -startify.mru_opts.ignore = function(path, ext) - return (string.find(path, "COMMIT_EDITMSG")) or (vim.tbl_contains(default_mru_ignore, ext)) -end -alpha.setup(startify.config) diff --git a/lua/user/tabnine.lua b/lua/user/tabnine.lua deleted file mode 100644 index 7964513..0000000 --- a/lua/user/tabnine.lua +++ /dev/null @@ -1,27 +0,0 @@ -vim.schedule(function() - require("cmp_tabnine.config").setup({ - ignored_file_types = { - ["aerial"] = true, - ["checkhealth"] = true, - ["dap-repl"] = true, - ["dapui_breakpoints"] = true, - ["dapui_console"] = true, - ["dapui_hover"] = true, - ["dapui_scopes"] = true, - ["dapui_stacks"] = true, - ["dapui_watches"] = true, - ["DressingInput"] = true, - ["DressingSelect"] = true, - ["fern"] = true, - ["lazy"] = true, - ["lspinfo"] = true, - ["mason"] = true, - ["nerdterm"] = true, - ["noice"] = true, - ["notify"] = true, - ["null-ls-info"] = true, - ["qf"] = true, - ["TelescopePrompt"] = true, - }, - }) -end) diff --git a/lua/user/telescope.lua b/lua/user/telescope.lua deleted file mode 100644 index b0706a2..0000000 --- a/lua/user/telescope.lua +++ /dev/null @@ -1,170 +0,0 @@ -local status_ok, telescope = pcall(require, "telescope") -if not status_ok then - return -end -local actions = require("telescope.actions") - -vim.g.theme_switcher_loaded = true - -local options = { - defaults = { - vimgrep_arguments = { - "rg", - "-L", - "--color=never", - "--no-heading", - "--with-filename", - "--line-number", - "--column", - "--smart-case", - }, - prompt_prefix = " ๏€‚ ", - selection_caret = "๏ค ", - entry_prefix = " ", - initial_mode = "insert", - selection_strategy = "reset", - sorting_strategy = "ascending", - layout_strategy = "horizontal", - layout_config = { - horizontal = { - prompt_position = "top", - preview_width = 0.55, - results_width = 0.8, - }, - vertical = { - mirror = false, - }, - width = 0.87, - height = 0.80, - preview_cutoff = 120, - }, - file_sorter = require("telescope.sorters").get_fuzzy_file, - file_ignore_patterns = { "node_modules" }, - generic_sorter = require("telescope.sorters").get_generic_fuzzy_sorter, - path_display = { "smart" }, - winblend = 0, - border = {}, - borderchars = { "โ”€", "โ”‚", "โ”€", "โ”‚", "โ•ญ", "โ•ฎ", "โ•ฏ", "โ•ฐ" }, - color_devicons = true, - set_env = { ["COLORTERM"] = "truecolor" }, -- default = nil, - file_previewer = require("telescope.previewers").vim_buffer_cat.new, - grep_previewer = require("telescope.previewers").vim_buffer_vimgrep.new, - qflist_previewer = require("telescope.previewers").vim_buffer_qflist.new, - -- Developer configurations: Not meant for general override - buffer_previewer_maker = require("telescope.previewers").buffer_previewer_maker, - mappings = { - n = { ["q"] = require("telescope.actions").close }, - }, - }, - - extensions_list = { "themes", "terms" }, - - pickers = { - find_files = { - hidden = true, - }, - live_grep = { - --@usage don't include the filename in the search results - only_sort_text = true, - }, - grep_string = { - only_sort_text = true, - }, - buffers = { - initial_mode = "normal", - mappings = { - i = { - [""] = actions.delete_buffer, - }, - n = { - ["dd"] = actions.delete_buffer, - }, - }, - }, - planets = { - show_pluto = true, - show_moon = true, - }, - git_files = { - hidden = true, - show_untracked = true, - }, - colorscheme = { - enable_preview = true, - }, - }, - - mappings = { - i = { - [""] = actions.cycle_history_next, - [""] = actions.cycle_history_prev, - - [""] = actions.move_selection_next, - [""] = actions.move_selection_previous, - - [""] = actions.close, - - [""] = actions.move_selection_next, - [""] = actions.move_selection_previous, - - [""] = actions.select_default, - [""] = actions.select_horizontal, - [""] = actions.select_vertical, - [""] = actions.select_tab, - - [""] = actions.preview_scrolling_up, - [""] = actions.preview_scrolling_down, - - [""] = actions.results_scrolling_up, - [""] = actions.results_scrolling_down, - - [""] = actions.toggle_selection + actions.move_selection_worse, - [""] = actions.toggle_selection + actions.move_selection_better, - [""] = actions.send_to_qflist + actions.open_qflist, - [""] = actions.send_selected_to_qflist + actions.open_qflist, - [""] = actions.complete_tag, - [""] = actions.which_key, -- keys from pressing - }, - - n = { - [""] = actions.close, - [""] = actions.select_default, - [""] = actions.select_horizontal, - [""] = actions.select_vertical, - [""] = actions.select_tab, - - [""] = actions.toggle_selection + actions.move_selection_worse, - [""] = actions.toggle_selection + actions.move_selection_better, - [""] = actions.send_to_qflist + actions.open_qflist, - [""] = actions.send_selected_to_qflist + actions.open_qflist, - - ["j"] = actions.move_selection_next, - ["k"] = actions.move_selection_previous, - ["H"] = actions.move_to_top, - ["M"] = actions.move_to_middle, - ["L"] = actions.move_to_bottom, - - [""] = actions.move_selection_next, - [""] = actions.move_selection_previous, - ["gg"] = actions.move_to_top, - ["G"] = actions.move_to_bottom, - - [""] = actions.preview_scrolling_up, - [""] = actions.preview_scrolling_down, - - [""] = actions.results_scrolling_up, - [""] = actions.results_scrolling_down, - - ["?"] = actions.which_key, - }, - }, -} - -telescope.setup(options) - --- load extensions -pcall(function() - for _, ext in ipairs(options.extensions_list) do - telescope.load_extension(ext) - end -end) diff --git a/lua/user/telescope_backup.lua b/lua/user/telescope_backup.lua deleted file mode 100644 index b8dd9d6..0000000 --- a/lua/user/telescope_backup.lua +++ /dev/null @@ -1,97 +0,0 @@ -local status_ok, telescope = pcall(require, "telescope") -if not status_ok then - return -end - -local actions = require("telescope.actions") - -telescope.setup({ - defaults = { - - -- prompt_prefix = "๏‘ซ ", - prompt_prefix = " ๏€‚ ", - selection_caret = "๏ค ", - path_display = { "smart" }, - - mappings = { - i = { - [""] = actions.cycle_history_next, - [""] = actions.cycle_history_prev, - - [""] = actions.move_selection_next, - [""] = actions.move_selection_previous, - - [""] = actions.close, - - [""] = actions.move_selection_next, - [""] = actions.move_selection_previous, - - [""] = actions.select_default, - [""] = actions.select_horizontal, - [""] = actions.select_vertical, - [""] = actions.select_tab, - - [""] = actions.preview_scrolling_up, - [""] = actions.preview_scrolling_down, - - [""] = actions.results_scrolling_up, - [""] = actions.results_scrolling_down, - - [""] = actions.toggle_selection + actions.move_selection_worse, - [""] = actions.toggle_selection + actions.move_selection_better, - [""] = actions.send_to_qflist + actions.open_qflist, - [""] = actions.send_selected_to_qflist + actions.open_qflist, - [""] = actions.complete_tag, - [""] = actions.which_key, -- keys from pressing - }, - - n = { - [""] = actions.close, - [""] = actions.select_default, - [""] = actions.select_horizontal, - [""] = actions.select_vertical, - [""] = actions.select_tab, - - [""] = actions.toggle_selection + actions.move_selection_worse, - [""] = actions.toggle_selection + actions.move_selection_better, - [""] = actions.send_to_qflist + actions.open_qflist, - [""] = actions.send_selected_to_qflist + actions.open_qflist, - - ["j"] = actions.move_selection_next, - ["k"] = actions.move_selection_previous, - ["H"] = actions.move_to_top, - ["M"] = actions.move_to_middle, - ["L"] = actions.move_to_bottom, - - [""] = actions.move_selection_next, - [""] = actions.move_selection_previous, - ["gg"] = actions.move_to_top, - ["G"] = actions.move_to_bottom, - - [""] = actions.preview_scrolling_up, - [""] = actions.preview_scrolling_down, - - [""] = actions.results_scrolling_up, - [""] = actions.results_scrolling_down, - - ["?"] = actions.which_key, - }, - }, - }, - pickers = { - -- Default configuration for builtin pickers goes here: - -- picker_name = { - -- picker_config_key = value, - -- ... - -- } - -- Now the picker_config_key will be applied every time you call this - -- builtin picker - }, - extensions = { - -- Your extension configuration goes here: - -- extension_name = { - -- extension_config_key = value, - -- } - -- please take a look at the readme of the extension you want to configure - }, -}) diff --git a/lua/user/toggleterm.lua b/lua/user/toggleterm.lua deleted file mode 100644 index d54bfa0..0000000 --- a/lua/user/toggleterm.lua +++ /dev/null @@ -1,70 +0,0 @@ -local status_ok, toggleterm = pcall(require, "toggleterm") -if not status_ok then - return -end - -toggleterm.setup({ - size = 20, - open_mapping = [[]], - hide_numbers = true, - shade_filetypes = {}, - shade_terminals = true, - shading_factor = 2, - start_in_insert = true, - insert_mappings = true, - persist_size = true, - direction = "float", - close_on_exit = true, - shell = vim.o.shell, - float_opts = { - border = "curved", - winblend = 0, - highlights = { - border = "Normal", - background = "Normal", - }, - }, -}) - -function _G.set_terminal_keymaps() - local opts = {noremap = true} - vim.api.nvim_buf_set_keymap(0, 't', '', [[]], opts) - vim.api.nvim_buf_set_keymap(0, 't', 'jk', [[]], opts) - vim.api.nvim_buf_set_keymap(0, 't', '', [[h]], opts) - vim.api.nvim_buf_set_keymap(0, 't', '', [[j]], opts) - vim.api.nvim_buf_set_keymap(0, 't', '', [[k]], opts) - vim.api.nvim_buf_set_keymap(0, 't', '', [[l]], opts) -end - -vim.cmd('autocmd! TermOpen term://* lua set_terminal_keymaps()') - -local Terminal = require("toggleterm.terminal").Terminal -local lazygit = Terminal:new({ cmd = "lazygit", hidden = true }) - -function _LAZYGIT_TOGGLE() - lazygit:toggle() -end - -local node = Terminal:new({ cmd = "node", hidden = true }) - -function _NODE_TOGGLE() - node:toggle() -end - -local ncdu = Terminal:new({ cmd = "ncdu", hidden = true }) - -function _NCDU_TOGGLE() - ncdu:toggle() -end - -local htop = Terminal:new({ cmd = "htop", hidden = true }) - -function _HTOP_TOGGLE() - htop:toggle() -end - -local python = Terminal:new({ cmd = "python", hidden = true }) - -function _PYTHON_TOGGLE() - python:toggle() -end diff --git a/lua/user/tokyonight.lua b/lua/user/tokyonight.lua deleted file mode 100644 index 08e8125..0000000 --- a/lua/user/tokyonight.lua +++ /dev/null @@ -1,40 +0,0 @@ -local status_ok, tokyonight = pcall(require, "tokyonight") -if not status_ok then - return -end -tokyonight.setup({ - -- your configuration comes here - -- or leave it empty to use the default settings - style = "night", -- The theme comes in three styles, `storm`, `moon`, a darker variant `night` and `day` - light_style = "day", -- The theme is used when the background is set to light - transparent = false, -- Enable this to disable setting the background color - terminal_colors = true, -- Configure the colors used when opening a `:terminal` in Neovim - styles = { - -- Style to be applied to different syntax groups - -- Value is any valid attr-list value for `:help nvim_set_hl` - -- comments = { italic = true }, - comments = { italic = true }, - keywords = { italic = true }, - functions = {}, - variables = {}, - -- Background styles. Can be "dark", "transparent" or "normal" - sidebars = "dark", -- style for sidebars, see below - floats = "dark", -- style for floating windows - }, - sidebars = { "qf", "help" }, -- Set a darker background on sidebar-like windows. For example: `["qf", "vista_kind", "terminal", "packer"]` - day_brightness = 0.2, -- Adjusts the brightness of the colors of the **Day** style. Number between 0 and 1, from dull to vibrant colors - hide_inactive_statusline = false, -- Enabling this option, will hide inactive statuslines and replace them with a thin border instead. Should work with the standard **StatusLine** and **LuaLine**. - dim_inactive = false, -- dims inactive windows - lualine_bold = false, -- When `true`, section headers in the lualine theme will be bold - - --- You can override specific color groups to use other groups or a hex color - --- function will be called with a ColorScheme table - --@param colors ColorScheme - --on_colors = function(colors) end, - - --- You can override specific highlights to use other groups or a hex color - --- function will be called with a Highlights and ColorScheme table - --@param highlights Highlights - --@param colors ColorScheme - --on_highlights = function(highlights, colors) end, -}) diff --git a/lua/user/tokyonight_transparant.lua b/lua/user/tokyonight_transparant.lua deleted file mode 100644 index a6ad281..0000000 --- a/lua/user/tokyonight_transparant.lua +++ /dev/null @@ -1,40 +0,0 @@ -local status_ok, tokyonight = pcall(require, "tokyonight") -if not status_ok then - return -end -tokyonight.setup({ - -- your configuration comes here - -- or leave it empty to use the default settings - style = "night", -- The theme comes in three styles, `storm`, `moon`, a darker variant `night` and `day` - light_style = "day", -- The theme is used when the background is set to light - transparent = true, -- Enable this to disable setting the background color - terminal_colors = true, -- Configure the colors used when opening a `:terminal` in Neovim - styles = { - -- Style to be applied to different syntax groups - -- Value is any valid attr-list value for `:help nvim_set_hl` - -- comments = { italic = true }, - comments = { italic = true }, - keywords = { italic = true }, - functions = {}, - variables = {}, - -- Background styles. Can be "dark", "transparent" or "normal" - sidebars = "transparent", -- style for sidebars, see below - floats = "transparent", -- style for floating windows - }, - sidebars = { "qf", "help" }, -- Set a darker background on sidebar-like windows. For example: `["qf", "vista_kind", "terminal", "packer"]` - day_brightness = 0.2, -- Adjusts the brightness of the colors of the **Day** style. Number between 0 and 1, from dull to vibrant colors - hide_inactive_statusline = false, -- Enabling this option, will hide inactive statuslines and replace them with a thin border instead. Should work with the standard **StatusLine** and **LuaLine**. - dim_inactive = false, -- dims inactive windows - lualine_bold = false, -- When `true`, section headers in the lualine theme will be bold - - --- You can override specific color groups to use other groups or a hex color - --- function will be called with a ColorScheme table - --@param colors ColorScheme - --on_colors = function(colors) end, - - --- You can override specific highlights to use other groups or a hex color - --- function will be called with a Highlights and ColorScheme table - --@param highlights Highlights - --@param colors ColorScheme - --on_highlights = function(highlights, colors) end, -}) diff --git a/lua/user/treesitter.lua b/lua/user/treesitter.lua deleted file mode 100644 index e82342b..0000000 --- a/lua/user/treesitter.lua +++ /dev/null @@ -1,38 +0,0 @@ -local status_ok, configs = pcall(require, "nvim-treesitter.configs") -if not status_ok then - return -end -configs.setup({ - ignore_install = { "phpdoc" }, -- List of parsers to ignore installing - highlight = { - enable = true, - disable = { "css" }, -- list of language that will be disabled - additional_vim_regex_highlighting = false, - }, - context_commentstring = { - enable = true, - enable_autocmd = false, - config = { - -- Languages that have a single comment style - typescript = "// %s", - css = "/* %s */", - scss = "/* %s */", - html = "", - svelte = "", - vue = "", - json = "", - }, - }, - rainbow = { - enable = true, - disable = { "html" }, - extended_mode = false, - max_file_lines = nil, - }, - autotag = { enable = true }, - incremental_selection = { enable = true }, - indent = { enable = true, disable = { "python", "css" } }, - autopairs = { - enable = true, - }, -}) diff --git a/lua/user/treesitter_20230205.lua b/lua/user/treesitter_20230205.lua deleted file mode 100644 index d31fe33..0000000 --- a/lua/user/treesitter_20230205.lua +++ /dev/null @@ -1,56 +0,0 @@ -local status_ok, configs = pcall(require, "nvim-treesitter.configs") -if not status_ok then - return -end - -configs.setup({ - ensure_installed = { - -- "bash", - -- "html", - -- "c", - "javascript", - "json", - "lua", - -- "python", - -- "typescript", - -- "tsx", - -- "css", - -- "rust", - -- "java", - -- "yaml", - -- "markdown", - -- "markdown_inline", - }, -- one of "all" or a list of languages - ignore_install = { "phpdoc" }, -- List of parsers to ignore installing - highlight = { - enable = true, -- false will disable the whole extension - disable = { "css" }, -- list of language that will be disabled - additional_vim_regex_highlighting = false, - }, - autopairs = { - enable = true, - }, - indent = { enable = true, disable = { "python", "css" } }, - context_commentstring = { - enable = true, - enable_autocmd = false, - config = { - -- Languages that have a single comment style - typescript = "// %s", - css = "/* %s */", - scss = "/* %s */", - html = "", - svelte = "", - vue = "", - json = "", - }, - }, - autotag = { enable = true }, - incremental_selection = { enable = true }, - rainbow = { - enable = true, - disable = { "html" }, - extended_mode = false, - max_file_lines = nil, - }, -}) diff --git a/lua/user/webdevicons.lua b/lua/user/webdevicons.lua deleted file mode 100644 index ab4f05e..0000000 --- a/lua/user/webdevicons.lua +++ /dev/null @@ -1,1764 +0,0 @@ -local status_ok, webicon = pcall(require, "nvim-web-devicons") -if not status_ok then - return -end -webicon.setup { - -- your personnal icons can go here (to override) - -- you can specify color or cterm_color instead of specifying both of them - -- DevIcon will be appended to `name` - override = { - [".babelrc"] = { - icon = "๏€ฒ", - color = "#cbcb41", - cterm_color = "185", - name = "Babelrc", - }, - [".bash_profile"] = { - icon = "๎ฏŠ", - color = "#89e051", - cterm_color = "113", - name = "BashProfile", - }, - [".bashrc"] = { - icon = "๎ฏŠ", - color = "#89e051", - cterm_color = "113", - name = "Bashrc", - }, - [".DS_Store"] = { - icon = "๎˜•", - color = "#41535b", - cterm_color = "239", - name = "DsStore", - }, - [".gitattributes"] = { - icon = "๏žก", - color = "#41535b", - cterm_color = "239", - name = "GitAttributes", - }, - [".gitconfig"] = { - icon = "๎˜•", - color = "#41535b", - cterm_color = "239", - name = "GitConfig", - }, - [".gitignore"] = { - icon = "๏žก", - color = "#e24329", - cterm_color = "166", - name = "GitIgnore", - }, - [".gitlab-ci.yml"] = { - icon = "๏Š–", - color = "#e24329", - cterm_color = "166", - name = "GitlabCI", - }, - [".gitmodules"] = { - icon = "๏žก", - color = "#41535b", - cterm_color = "239", - name = "GitModules", - }, - [".gvimrc"] = { - icon = "๎˜ซ", - color = "#019833", - cterm_color = "29", - name = "Gvimrc", - }, - [".npmignore"] = { - icon = "๎œž", - color = "#E8274B", - cterm_color = "161", - name = "NPMIgnore", - }, - [".npmrc"] = { - icon = "๎œž", - color = "#E8274B", - cterm_color = "161", - name = "NPMrc", - }, - [".settings.json"] = { - icon = "๎œŒ", - color = "#854CC7", - cterm_color = "98", - name = "SettingsJson", - }, - [".vimrc"] = { - icon = "๎˜ซ", - color = "#019833", - cterm_color = "29", - name = "Vimrc", - }, - [".zprofile"] = { - icon = "๏’‰", - color = "#89e051", - cterm_color = "113", - name = "Zshprofile", - }, - [".zshenv"] = { - icon = "๏’‰", - color = "#89e051", - cterm_color = "113", - name = "Zshenv", - }, - [".zshrc"] = { - icon = "๏’‰", - color = "#89e051", - cterm_color = "113", - name = "Zshrc", - }, - ["Brewfile"] = { - icon = "๎ž‘", - color = "#701516", - cterm_color = "1", - name = "Brewfile", - }, - ["CMakeLists.txt"] = { - icon = "๎˜•", - color = "#6d8086", - cterm_color = "66", - name = "CMakeLists", - }, - ["COMMIT_EDITMSG"] = { - icon = "๏žก", - color = "#41535b", - cterm_color = "239", - name = "GitCommit", - }, - ["COPYING"] = { - icon = "๎˜Š", - color = "#cbcb41", - cterm_color = "185", - name = "License", - }, - ["COPYING.LESSER"] = { - icon = "๎˜Š", - color = "#cbcb41", - cterm_color = "185", - name = "License", - }, - ["Dockerfile"] = { - icon = "๏Œˆ", - color = "#0087c9", - cterm_color = "32", - name = "Dockerfile", - }, - ["Gemfile$"] = { - icon = "๎ž‘", - color = "#701516", - cterm_color = "1", - name = "Gemfile", - }, - ["R"] = { - icon = "๏ณ’", - color = "#358a5b", - cterm_color = "65", - name = "R", - }, - ["Rmd"] = { - icon = "๎˜‰", - color = "#519aba", - cterm_color = "67", - name = "Rmd", - }, - ["Vagrantfile$"] = { - icon = "๏Šธ", - color = "#1563FF", - cterm_color = "27", - name = "Vagrantfile", - }, - ["_gvimrc"] = { - icon = "๎˜ซ", - color = "#019833", - cterm_color = "29", - name = "Gvimrc", - }, - ["_vimrc"] = { - icon = "๎˜ซ", - color = "#019833", - cterm_color = "29", - name = "Vimrc", - }, - ["ai"] = { - icon = "๎žด", - color = "#cbcb41", - cterm_color = "185", - name = "Ai", - }, - ["awk"] = { - icon = "๎ž•", - color = "#4d5a5e", - cterm_color = "240", - name = "Awk", - }, - ["bash"] = { - icon = "๎ฏŠ", - color = "#89e051", - cterm_color = "113", - name = "Bash", - }, - ["bat"] = { - icon = "๎˜•", - color = "#C1F12E", - cterm_color = "154", - name = "Bat", - }, - ["bmp"] = { - icon = "๏œž", - color = "#26a69a", - cterm_color = "36", - name = "Bmp", - }, - ["c"] = { - icon = "๎˜ž", - color = "#599eff", - cterm_color = "75", - name = "C", - }, - ["c++"] = { - icon = "๎˜", - color = "#f34b7d", - cterm_color = "204", - name = "CPlusPlus", - }, - ["cbl"] = { - icon = "โš™", - color = "#005ca5", - cterm_color = "25", - name = "Cobol", - }, - ["cc"] = { - icon = "๎˜", - color = "#f34b7d", - cterm_color = "204", - name = "CPlusPlus", - }, - ["cfg"] = { - icon = "๎žฃ", - color = "#ECECEC", - cterm_color = "255", - name = "Configuration", - }, - ["clj"] = { - icon = "๎จ", - color = "#8dc149", - cterm_color = "107", - name = "Clojure", - }, - ["cljc"] = { - icon = "๎จ", - color = "#8dc149", - cterm_color = "107", - name = "ClojureC", - }, - ["cljs"] = { - icon = "๎ช", - color = "#519aba", - cterm_color = "67", - name = "ClojureJS", - }, - ["cljd"] = { - icon = "๎ช", - color = "#519aba", - cterm_color = "67", - name = "ClojureDart", - }, - ["cmake"] = { - icon = "๎˜•", - color = "#6d8086", - cterm_color = "66", - name = "CMake", - }, - ["cob"] = { - icon = "โš™", - color = "#005ca5", - cterm_color = "25", - name = "Cobol", - }, - ["cobol"] = { - icon = "โš™", - color = "#005ca5", - cterm_color = "25", - name = "Cobol", - }, - ["coffee"] = { - icon = "๎˜›", - color = "#cbcb41", - cterm_color = "185", - name = "Coffee", - }, - ["conf"] = { - icon = "๎˜•", - color = "#6d8086", - cterm_color = "66", - name = "Conf", - }, - ["config.ru"] = { - icon = "๎ž‘", - color = "#701516", - cterm_color = "1", - name = "ConfigRu", - }, - ["cp"] = { - icon = "๎˜", - color = "#519aba", - cterm_color = "67", - name = "Cp", - }, - ["cpp"] = { - icon = "๎˜", - color = "#519aba", - cterm_color = "67", - name = "Cpp", - }, - ["cpy"] = { - icon = "โš™", - color = "#005ca5", - cterm_color = "25", - name = "Cobol", - }, - ["cr"] = { - icon = "๎‰", - color = "#000000", - cterm_color = "16", - name = "Crystal", - }, - ["cs"] = { - icon = "๏ š", - color = "#596706", - cterm_color = "58", - name = "Cs", - }, - ["csh"] = { - icon = "๎ž•", - color = "#4d5a5e", - cterm_color = "240", - name = "Csh", - }, - ["cson"] = { - icon = "๎˜‹", - color = "#cbcb41", - cterm_color = "185", - name = "Cson", - }, - ["css"] = { - icon = "๎‰", - color = "#42a5f5", - cterm_color = "75", - name = "Css", - }, - ["csv"] = { - icon = "๏œš", - color = "#89e051", - cterm_color = "113", - name = "Csv", - }, - ["cxx"] = { - icon = "๎˜", - color = "#519aba", - cterm_color = "67", - name = "Cxx", - }, - ["d"] = { - icon = "๎žฏ", - color = "#427819", - cterm_color = "64", - name = "D", - }, - ["dart"] = { - icon = "๎ž˜", - color = "#03589C", - cterm_color = "25", - name = "Dart", - }, - ["db"] = { - icon = "๎œ†", - color = "#dad8d8", - cterm_color = "253", - name = "Db", - }, - ["desktop"] = { - icon = "๏„ˆ", - color = "#563d7c", - cterm_color = "60", - name = "DesktopEntry", - }, - ["diff"] = { - icon = "๎œจ", - color = "#41535b", - cterm_color = "239", - name = "Diff", - }, - ["doc"] = { - icon = "๏œซ", - color = "#185abd", - cterm_color = "25", - name = "Doc", - }, - ["dockerfile"] = { - icon = "๏Œˆ", - color = "#0087c9", - cterm_color = "32", - name = "Dockerfile", - }, - ["drl"] = { - icon = "๎ŠŒ", - color = "#ffafaf", - cterm_color = "217", - name = "Drools", - }, - ["dropbox"] = { - icon = "๎œ‡", - color = "#0061FE", - cterm_color = "27", - name = "Dropbox", - }, - ["dump"] = { - icon = "๎œ†", - color = "#dad8d8", - cterm_color = "253", - name = "Dump", - }, - ["edn"] = { - icon = "๎ช", - color = "#519aba", - cterm_color = "67", - name = "Edn", - }, - ["eex"] = { - icon = "๎˜ญ", - color = "#a074c4", - cterm_color = "140", - name = "Eex", - }, - ["ejs"] = { - icon = "๎˜Ž", - color = "#cbcb41", - cterm_color = "185", - name = "Ejs", - }, - ["elm"] = { - icon = "๎˜ฌ", - color = "#519aba", - cterm_color = "67", - name = "Elm", - }, - ["epp"] = { - icon = "๎˜ฑ", - color = "#FFA61A", - cterm_color = "214", - name = "Epp", - }, - ["erb"] = { - icon = "๎˜Ž", - color = "#701516", - cterm_color = "1", - name = "Erb", - }, - ["erl"] = { - icon = "๎žฑ", - color = "#B83998", - cterm_color = "132", - name = "Erl", - }, - ["ex"] = { - icon = "๎˜ญ", - color = "#a074c4", - cterm_color = "140", - name = "Ex", - }, - ["exs"] = { - icon = "๎˜ญ", - color = "#a074c4", - cterm_color = "140", - name = "Exs", - }, - ["f#"] = { - icon = "๎žง", - color = "#519aba", - cterm_color = "67", - name = "Fsharp", - }, - ["favicon.ico"] = { - icon = "๎˜ฃ", - color = "#cbcb41", - cterm_color = "185", - name = "Favicon", - }, - ["fnl"] = { - icon = "๏††", - color = "#fff3d7", - cterm_color = "230", - name = "Fennel", - }, - ["fish"] = { - icon = "๏œน", - color = "#4d5a5e", - cterm_color = "240", - name = "Fish", - }, - ["fs"] = { - icon = "๎žง", - color = "#519aba", - cterm_color = "67", - name = "Fs", - }, - ["fsi"] = { - icon = "๎žง", - color = "#519aba", - cterm_color = "67", - name = "Fsi", - }, - ["fsscript"] = { - icon = "๎žง", - color = "#519aba", - cterm_color = "67", - name = "Fsscript", - }, - ["fsx"] = { - icon = "๎žง", - color = "#519aba", - cterm_color = "67", - name = "Fsx", - }, - ["gd"] = { - icon = "๎˜•", - color = "#6d8086", - cterm_color = "66", - name = "GDScript", - }, - ["gemspec"] = { - icon = "๎ž‘", - color = "#701516", - cterm_color = "1", - name = "Gemspec", - }, - ["gif"] = { - icon = "๎˜", - color = "#26a69a", - cterm_color = "36", - name = "Gif", - }, - ["git"] = { - icon = "๎œ‚", - color = "#F14C28", - cterm_color = "202", - name = "GitLogo", - }, - ["glb"] = { - icon = "๏†ฒ", - color = "#FFB13B", - cterm_color = "215", - name = "BinaryGLTF", - }, - ["go"] = { - icon = "๎˜ง", - color = "#519aba", - cterm_color = "67", - name = "Go", - }, - ["godot"] = { - icon = "๎žฃ", - color = "#6d8086", - cterm_color = "66", - name = "GodotProject", - }, - ["graphql"] = { - icon = "๏ˆŽ", - color = "#e535ab", - cterm_color = "169", - name = "GraphQL", - }, - ["gruntfile"] = { - icon = "๎˜‘", - color = "#e37933", - cterm_color = "173", - name = "Gruntfile", - }, - ["gulpfile"] = { - icon = "๎˜", - color = "#cc3e44", - cterm_color = "167", - name = "Gulpfile", - }, - ["h"] = { - icon = "๏ƒฝ", - color = "#a074c4", - cterm_color = "140", - name = "H", - }, - ["haml"] = { - icon = "๎˜Ž", - color = "#eaeae1", - cterm_color = "254", - name = "Haml", - }, - ["hbs"] = { - icon = "๎˜", - color = "#f0772b", - cterm_color = "208", - name = "Hbs", - }, - ["heex"] = { - icon = "๎˜ญ", - color = "#a074c4", - cterm_color = "140", - name = "Heex", - }, - ["hh"] = { - icon = "๏ƒฝ", - color = "#a074c4", - cterm_color = "140", - name = "Hh", - }, - ["hpp"] = { - icon = "๏ƒฝ", - color = "#a074c4", - cterm_color = "140", - name = "Hpp", - }, - ["hrl"] = { - icon = "๎žฑ", - color = "#B83998", - cterm_color = "132", - name = "Hrl", - }, - ["hs"] = { - icon = "๎˜Ÿ", - color = "#a074c4", - cterm_color = "140", - name = "Hs", - }, - ["htm"] = { - icon = "๏„ป", - color = "#e34c26", - cterm_color = "166", - name = "Htm", - }, - ["html"] = { - icon = "๏„ป", - color = "#e44d26", - cterm_color = "166", - name = "Html", - }, - ["hxx"] = { - icon = "๏ƒฝ", - color = "#a074c4", - cterm_color = "140", - name = "Hxx", - }, - ["ico"] = { - icon = "๏€†", - color = "#cbcb41", - cterm_color = "185", - name = "Ico", - }, - ["import"] = { - icon = "๏ƒ†", - color = "#ECECEC", - cterm_color = "255", - name = "ImportConfiguration", - }, - ["ini"] = { - icon = "๎˜•", - color = "#6d8086", - cterm_color = "66", - name = "Ini", - }, - ["java"] = { - icon = "๎œธ", - color = "#cc3e44", - cterm_color = "167", - name = "Java", - }, - ["jl"] = { - icon = "๎˜ค", - color = "#a270ba", - cterm_color = "133", - name = "Jl", - }, - ["jpeg"] = { - icon = "๏œž", - color = "#26a69a", - cterm_color = "36", - name = "Jpeg", - }, - ["jpg"] = { - icon = "๏œž", - color = "#26a69a", - cterm_color = "36", - name = "Jpg", - }, - ["js"] = { - icon = "๏ ", - color = "#efd81d", - cterm_color = "220", - name = "Js", - }, - ["json"] = { - icon = "๏ฌฅ", - color = "#cbcb41", - cterm_color = "185", - name = "Json", - }, - ["json5"] = { - icon = "๎˜‹", - color = "#cbcb41", - cterm_color = "185", - name = "Json5", - }, - ["jsx"] = { - icon = "๏ฐ†", - color = "#519aba", - cterm_color = "67", - name = "Jsx", - }, - ["ksh"] = { - icon = "๎ž•", - color = "#4d5a5e", - cterm_color = "240", - name = "Ksh", - }, - ["kt"] = { - icon = "๎˜ด", - color = "#F88A02", - cterm_color = "208", - name = "Kotlin", - }, - ["kts"] = { - icon = "๎˜ด", - color = "#F88A02", - cterm_color = "208", - name = "KotlinScript", - }, - ["leex"] = { - icon = "๎˜ญ", - color = "#a074c4", - cterm_color = "140", - name = "Leex", - }, - ["less"] = { - icon = "๎˜”", - color = "#563d7c", - cterm_color = "60", - name = "Less", - }, - ["lhs"] = { - icon = "๎˜Ÿ", - color = "#a074c4", - cterm_color = "140", - name = "Lhs", - }, - ["LICENSE"] = { - icon = "๏˜ฃ", - color = "#ff5722", - cterm_color = "202", - name = "License", - }, - ["lua"] = { - icon = "๎˜ ", - color = "#51a0cf", - cterm_color = "74", - name = "Lua", - }, - ["luau"] = { - icon = "๎˜ ", - color = "#51a0cf", - cterm_color = "74", - name = "Luau", - }, - ["makefile"] = { - icon = "๎˜•", - color = "#6d8086", - cterm_color = "66", - name = "Makefile", - }, - ["markdown"] = { - icon = "๎˜‰", - color = "#519aba", - cterm_color = "67", - name = "Markdown", - }, - ["material"] = { - icon = "๏Ÿด", - color = "#B83998", - cterm_color = "132", - name = "Material", - }, - ["md"] = { - icon = "๏’Š", - color = "#42a5f5", - cterm_color = "75", - name = "Md", - }, - ["mdx"] = { - icon = "๏’Š", - color = "#519aba", - cterm_color = "67", - name = "Mdx", - }, - ["mint"] = { - icon = "๏ ฉ", - color = "#87c095", - cterm_color = "108", - name = "Mint", - }, - ["mix.lock"] = { - icon = "๎˜ญ", - color = "#a074c4", - cterm_color = "140", - name = "MixLock", - }, - ["mjs"] = { - icon = "๎˜Œ", - color = "#f1e05a", - cterm_color = "221", - name = "Mjs", - }, - ["ml"] = { - icon = "ฮป", - color = "#e37933", - cterm_color = "173", - name = "Ml", - }, - ["mli"] = { - icon = "ฮป", - color = "#e37933", - cterm_color = "173", - name = "Mli", - }, - ["mo"] = { - icon = "โˆž", - color = "#9772FB", - cterm_color = "99", - name = "Motoko", - }, - ["mustache"] = { - icon = "๎˜", - color = "#e37933", - cterm_color = "173", - name = "Mustache", - }, - ["nim"] = { - icon = "๎‰ฎ", - color = "#f3d400", - cterm_color = "220", - name = "Nim", - }, - ["nix"] = { - icon = "๏Œ“", - color = "#7ebae4", - cterm_color = "110", - name = "Nix", - }, - ["node_modules"] = { - icon = "๏ข˜", - color = "#E8274B", - cterm_color = "161", - name = "NodeModules", - }, - ["opus"] = { - icon = "๏œข", - color = "#F88A02", - cterm_color = "208", - name = "OPUS", - }, - ["otf"] = { - icon = "๏€ฑ", - color = "#ECECEC", - cterm_color = "255", - name = "OpenTypeFont", - }, - ["package.json"] = { - icon = "๏ข˜", - color = "#8bc34a", - cterm_color = "113", - name = "PackageJson", - }, - ["package-lock.json"] = { - icon = "๏ข˜", - color = "#7a0d21", - cterm_color = "1", - name = "PackageLockJson", - }, - ["pck"] = { - icon = "๏’‡", - color = "#6d8086", - cterm_color = "66", - name = "PackedResource", - }, - ["pdf"] = { - icon = "๏œค", - color = "#b30b00", - cterm_color = "124", - name = "Pdf", - }, - ["php"] = { - icon = "๏ ž", - color = "#a074c4", - cterm_color = "140", - name = "Php", - }, - ["pl"] = { - icon = "๏จฉ", - color = "#9575cd", - cterm_color = "104", - name = "Pl", - }, - ["pm"] = { - icon = "๏จฉ", - color = "#9575cd", - cterm_color = "104", - name = "Pm", - }, - ["png"] = { - icon = "๏‡…", - color = "#26a69a", - cterm_color = "36", - name = "Png", - }, - ["pp"] = { - icon = "๎˜ฑ", - color = "#FFA61A", - cterm_color = "214", - name = "Pp", - }, - ["ppt"] = { - icon = "๏œฆ", - color = "#cb4a32", - cterm_color = "167", - name = "Ppt", - }, - ["pro"] = { - icon = "๏ฃ‘", - color = "#e4b854", - cterm_color = "179", - name = "Prolog", - }, - ["Procfile"] = { - icon = "๎˜‡", - color = "#a074c4", - cterm_color = "140", - name = "Procfile", - }, - ["ps1"] = { - icon = "๎ฏ‡", - color = "#4d5a5e", - cterm_color = "240", - name = "PromptPs1", - }, - ["psb"] = { - icon = "๎žธ", - color = "#519aba", - cterm_color = "67", - name = "Psb", - }, - ["psd"] = { - icon = "๎žธ", - color = "#519aba", - cterm_color = "67", - name = "Psd", - }, - ["py"] = { - icon = "๏ Ÿ", - color = "#ffbc03", - cterm_color = "214", - name = "Py", - }, - ["pyc"] = { - icon = "๏ Ÿ", - color = "#ffe291", - cterm_color = "222", - name = "Pyc", - }, - ["pyd"] = { - icon = "๏ Ÿ", - color = "#ffe291", - cterm_color = "222", - name = "Pyd", - }, - ["pyo"] = { - icon = "๏ Ÿ", - color = "#ffe291", - cterm_color = "222", - name = "Pyo", - }, - ["query"] = { - icon = "๎ˆœ", - color = "#90a850", - cterm_color = "107", - name = "Query", - }, - ["r"] = { - icon = "๏ณ’", - color = "#358a5b", - cterm_color = "65", - name = "R", - }, - ["rake"] = { - icon = "๎ž‘", - color = "#701516", - cterm_color = "1", - name = "Rake", - }, - ["rakefile"] = { - icon = "๎ž‘", - color = "#701516", - cterm_color = "1", - name = "Rakefile", - }, - ["rb"] = { - icon = "๎ž‘", - color = "#701516", - cterm_color = "1", - name = "Rb", - }, - ["rlib"] = { - icon = "๎žจ", - color = "#dea584", - cterm_color = "180", - name = "Rlib", - }, - ["rmd"] = { - icon = "๎˜‰", - color = "#519aba", - cterm_color = "67", - name = "Rmd", - }, - ["rproj"] = { - icon = "๏ซ…", - color = "#358a5b", - cterm_color = "65", - name = "Rproj", - }, - ["rs"] = { - icon = "๎žจ", - color = "#dea584", - cterm_color = "180", - name = "Rs", - }, - ["rss"] = { - icon = "๎˜™", - color = "#FB9D3B", - cterm_color = "215", - name = "Rss", - }, - ["sass"] = { - icon = "๎‹", - color = "#f55385", - cterm_color = "204", - name = "Sass", - }, - ["sbt"] = { - icon = "๎œท", - color = "#cc3e44", - cterm_color = "167", - name = "sbt", - }, - ["scala"] = { - icon = "๎œท", - color = "#f44336", - cterm_color = "203", - name = "Scala", - }, - ["scm"] = { - icon = "๏ฌฆ", - color = "#000000", - cterm_color = "16", - name = "Scheme", - }, - ["scss"] = { - icon = "๎‹", - color = "#f55385", - cterm_color = "204", - name = "Scss", - }, - ["sh"] = { - icon = "๏šŒ", - color = "#ff7043", - cterm_color = "203", - name = "Sh", - }, - ["sig"] = { - icon = "ฮป", - color = "#e37933", - cterm_color = "173", - name = "Sig", - }, - ["slim"] = { - icon = "๎˜Ž", - color = "#e34c26", - cterm_color = "166", - name = "Slim", - }, - ["sln"] = { - icon = "๎œŒ", - color = "#854CC7", - cterm_color = "98", - name = "Sln", - }, - ["sml"] = { - icon = "ฮป", - color = "#e37933", - cterm_color = "173", - name = "Sml", - }, - ["sql"] = { - icon = "๎œ†", - color = "#dad8d8", - cterm_color = "253", - name = "Sql", - }, - ["sqlite"] = { - icon = "๎œ†", - color = "#dad8d8", - cterm_color = "253", - name = "Sql", - }, - ["sqlite3"] = { - icon = "๎œ†", - color = "#dad8d8", - cterm_color = "253", - name = "Sql", - }, - ["styl"] = { - icon = "๎˜€", - color = "#8dc149", - cterm_color = "107", - name = "Styl", - }, - ["sublime"] = { - icon = "๎žช", - color = "#e37933", - cterm_color = "173", - name = "Suo", - }, - ["suo"] = { - icon = "๎œŒ", - color = "#854CC7", - cterm_color = "98", - name = "Suo", - }, - ["sv"] = { - icon = "๏กš", - color = "#019833", - cterm_color = "29", - name = "SystemVerilog", - }, - ["svelte"] = { - icon = "๏‰ ", - color = "#ff3e00", - cterm_color = "202", - name = "Svelte", - }, - ["svh"] = { - icon = "๏กš", - color = "#019833", - cterm_color = "29", - name = "SystemVerilog", - }, - ["svg"] = { - icon = "๏ฐŸ", - color = "#FFB13B", - cterm_color = "215", - name = "Svg", - }, - ["swift"] = { - icon = "๏ฏฃ", - color = "#e37933", - cterm_color = "173", - name = "Swift", - }, - ["t"] = { - icon = "๎ฉ", - color = "#519aba", - cterm_color = "67", - name = "Tor", - }, - ["tbc"] = { - icon = "๏ฏ‘", - color = "#1e5cb3", - cterm_color = "25", - name = "Tcl", - }, - ["tcl"] = { - icon = "๏ฏ‘", - color = "#1e5cb3", - cterm_color = "25", - name = "Tcl", - }, - ["terminal"] = { - icon = "๏’‰", - color = "#31B53E", - cterm_color = "71", - name = "Terminal", - }, - ["tex"] = { - icon = "๏ญจ", - color = "#3D6117", - cterm_color = "58", - name = "Tex", - }, - ["toml"] = { - icon = "๎˜•", - color = "#6d8086", - cterm_color = "66", - name = "Toml", - }, - ["tres"] = { - icon = "๎œ†", - color = "#cbcb41", - cterm_color = "185", - name = "TextResource", - }, - ["ts"] = { - icon = "๏ฏค", - color = "#519aba", - cterm_color = "67", - name = "Ts", - }, - ["tscn"] = { - icon = "๏ข€", - color = "#a074c4", - cterm_color = "140", - name = "TextScene", - }, - ["tsx"] = { - icon = "๏ฐ†", - color = "#519aba", - cterm_color = "67", - name = "Tsx", - }, - ["twig"] = { - icon = "๎˜œ", - color = "#8dc149", - cterm_color = "107", - name = "Twig", - }, - ["txt"] = { - icon = "๏œ˜", - color = "#89e051", - cterm_color = "113", - name = "Txt", - }, - ["v"] = { - icon = "๏กš", - color = "#019833", - cterm_color = "29", - name = "Verilog", - }, - ["vh"] = { - icon = "๏กš", - color = "#019833", - cterm_color = "29", - name = "Verilog", - }, - ["vhd"] = { - icon = "๏กš", - color = "#019833", - cterm_color = "29", - name = "VHDL", - }, - ["vhdl"] = { - icon = "๏กš", - color = "#019833", - cterm_color = "29", - name = "VHDL", - }, - ["vim"] = { - icon = "๎˜ซ", - color = "#019833", - cterm_color = "29", - name = "Vim", - }, - ["vue"] = { - icon = "๏ต‚", - color = "#8dc149", - cterm_color = "107", - name = "Vue", - }, - ["webmanifest"] = { - icon = "๎˜‹", - color = "#f1e05a", - cterm_color = "221", - name = "Webmanifest", - }, - ["webp"] = { - icon = "๏œž", - color = "#26a69a", - cterm_color = "36", - name = "Webp", - }, - ["webpack"] = { - icon = "๏ฐฉ", - color = "#519aba", - cterm_color = "67", - name = "Webpack", - }, - ["xcplayground"] = { - icon = "๎•", - color = "#e37933", - cterm_color = "173", - name = "XcPlayground", - }, - ["xls"] = { - icon = "๏œš", - color = "#207245", - cterm_color = "23", - name = "Xls", - }, - ["xml"] = { - icon = "๏ชฟ", - color = "#e37933", - cterm_color = "173", - name = "Xml", - }, - ["xul"] = { - icon = "๏œธ", - color = "#e37933", - cterm_color = "173", - name = "Xul", - }, - ["yaml"] = { - icon = "๎˜•", - color = "#6d8086", - cterm_color = "66", - name = "Yaml", - }, - ["yml"] = { - icon = "๏œ˜", - color = "#f44336", - cterm_color = "203", - name = "Yml", - }, - ["zig"] = { - icon = "๏ƒง", - color = "#f69a1b", - cterm_color = "208", - name = "Zig", - }, - ["zsh"] = { - icon = "๎ž•", - color = "#89e051", - cterm_color = "113", - name = "Zsh", - }, - ["sol"] = { - icon = "๏ฒน", - color = "#519aba", - cterm_color = "67", - name = "Solidity", - }, - [".env"] = { - icon = "๏‘ข", - color = "#faf743", - cterm_color = "227", - name = "Env", - }, - ["prisma"] = { - icon = "๏จต", - color = "#ffffff", - cterm_color = "231", - name = "Prisma", - }, - ["lock"] = { - icon = "๏€ฃ", - color = "#ffd54f", - cterm_color = "221", - name = "Lock", - }, - ["log"] = { - icon = "๏ƒถ", - color = "#ffffff", - cterm_color = "231", - name = "Log", - }, - -- More - [".svgrrc"] = { - icon = "๏ฐ†", - color = "#ffb300", - cterm_color = "214", - name = "Svgrrc", - }, - ["rar"] = { - icon = "๏ซƒ", - color = "#afb42b", - cterm_color = "142", - name = "Rar", - }, - ["zip"] = { - icon = "๏‡†", - color = "#afb42b", - cterm_color = "142", - name = "Zip", - }, - ["xz"] = { - icon = "๏‡†", - color = "#afb42b", - cterm_color = "142", - name = "Xz", - }, - ["test.js"] = { - icon = "๏’™", - color = "#ffca28", - cterm_color = "220", - name = "TestJavascript", - }, - ["test.jsx"] = { - icon = "๏’™", - color = "#00bcd4", - cterm_color = "38", - name = "TestJavascriptReact", - }, - ["test.ts"] = { - icon = "๏’™", - color = "#00bcd4", - cterm_color = "38", - name = "TestTypescript", - }, - ["ttf"] = { - icon = "๏€ฑ", - color = "#f44336", - cterm_color = "203", - name = "Ttf", - }, - ["woff"] = { - icon = "๏€ฑ", - color = "#f44336", - cterm_color = "203", - name = "WebOpenFontFormat", - }, - ["woff2"] = { - icon = "๏€ฑ", - color = "#f44336", - cterm_color = "203", - name = "WebOpenFontFormat", - }, - ["mp3"] = { - icon = "๏ข…", - color = "#f44336", - cterm_color = "203", - name = "Mp3", - }, - ["wav"] = { - icon = "๏ข…", - color = "#f44336", - cterm_color = "203", - name = "Wav", - }, - ["mp4"] = { - icon = "๏ข€", - color = "#ff9800", - cterm_color = "208", - name = "Mp4", - }, - ["jar"] = { - icon = "๏™ต", - color = "#f44336", - cterm_color = "203", - name = "Jar", - }, - ["class"] = { - icon = "๏ฏˆ", - color = "#1e88e5", - cterm_color = "32", - name = "JavaClass", - }, - ["xlsx"] = { - icon = "๏œš", - color = "#207245", - cterm_color = "23", - name = "Excel", - }, - ["hex"] = { - icon = "๏‘ฑ", - color = "#26a69a", - cterm_color = "36", - name = "Hex", - }, - ["bin"] = { - icon = "๏‘ฑ", - color = "#26a69a", - cterm_color = "36", - name = "Bin", - }, - ["dat"] = { - icon = "๏‘ฑ", - color = "#26a69a", - cterm_color = "36", - name = "Dat", - }, - ["asm"] = { - icon = "๏ฌง", - color = "#ff6e40", - cterm_color = "203", - name = "Asm", - }, - ["abc"] = { - icon = "๎ช“", - color = "#ff5722", - cterm_color = "202", - name = "Abc", - }, - ["ino"] = { - icon = "๏ฏข", - color = "#00979c", - cterm_color = "31", - name = "Arduino", - }, - ["babel.config.js"] = { - icon = "๏€ฒ", - color = "#fdd835", - cterm_color = "221", - name = "BabelConfig", - }, - ["yarn.lock"] = { - icon = "๏˜š", - color = "#0288d1", - cterm_color = "32", - name = "YarnLock", - }, - ["yarn-error.log"] = { - icon = "๏˜š", - color = "#0288d1", - cterm_color = "32", - name = "YarnError", - }, - ["bf"] = { - icon = "๎ŠŒ", - color = "#ff4081", - cterm_color = "204", - name = "Bf", - }, - ["exe"] = { - icon = "๏‹", - color = "#e64a19", - cterm_color = "166", - name = "Exe", - }, - ["docx"] = { - icon = "๏œซ", - color = "#185abd", - cterm_color = "25", - name = "Docx", - }, - ["rtf"] = { - icon = "๏œ˜", - color = "#89e051", - cterm_color = "113", - name = "Rtf", - }, - ["tif"] = { - icon = "๏œž", - color = "#26a69a", - cterm_color = "36", - name = "Tif", - }, - ["tiff"] = { - icon = "๏œž", - color = "#26a69a", - cterm_color = "36", - name = "Tiff", - }, - ["pptx"] = { - icon = "๏‡„", - color = "#d14524", - cterm_color = "166", - name = "Pptx", - }, - ["p"] = { - icon = "๏ฃ‘", - color = "#e4b854", - cterm_color = "179", - name = "P", - }, - [".prettierrc.json"] = { - icon = "๏ผ", - color = "#ea5e5e", - cterm_color = "167", - name = "Prettier", - }, - [".prettierrc.yml"] = { - icon = "๏ผ", - color = "#ea5e5e", - cterm_color = "167", - name = "Prettier", - }, - [".prettierrc.yaml"] = { - icon = "๏ผ", - color = "#ea5e5e", - cterm_color = "167", - name = "Prettier", - }, - [".prettierrc.js"] = { - icon = "๏ผ", - color = "#ea5e5e", - cterm_color = "167", - name = "Prettier", - }, - [".prettierrc.toml"] = { - icon = "๏ผ", - color = "#ea5e5e", - cterm_color = "167", - name = "Prettier", - }, - ["obj"] = { - icon = "๎ชŒ", - color = "#29b6f6", - cterm_color = "39", - name = "Obj", - }, - ["fbx"] = { - icon = "๎ชŒ", - color = "#29b6f6", - cterm_color = "39", - name = "Fbx", - }, - ["deb"] = { - icon = "๎ฏ…", - color = "#ff0283", - cterm_color = "198", - name = "Deb", - }, - ["rpm"] = { - icon = "๏Œ–", - color = "#f44336", - cterm_color = "203", - name = "Rpm", - }, - ["robots.txt"] = { - icon = "๏ฎง", - color = "#ff5252", - cterm_color = "203", - name = "Robots", - }, - ["robot"] = { - icon = "๏ฎง", - color = "#00bfa5", - cterm_color = "37", - name = "Robot", - }, - ["CONTRIBUTING.md"] = { - icon = "๏™", - color = "#ffca28", - cterm_color = "220", - name = "CONTRIBUTING.md", - }, - ["README.md"] = { - icon = "๏š", - color = "#42a5f5", - cterm_color = "75", - name = "README.md", - }, - ["razor"] = { - icon = "๎ฌŸ", - color = "#42a5f5", - cterm_color = "75", - name = "razor", - }, - ["sc"] = { - icon = "๎œท", - color = "#f44336", - cterm_color = "203", - name = "sc", - }, - ["key"] = { - icon = "๏ …", - color = "#26a69a", - cterm_color = "36", - name = "Key", - }, - ["gmi"] = { - icon = "๏ชž", - color = "#81c784", - cterm_color = "114", - name = "gmi", - }, - ["gmni"] = { - icon = "๏ชž", - color = "#81c784", - cterm_color = "114", - name = "gmni", - }, - ["gemini"] = { - icon = "๏ชž", - color = "#81c784", - cterm_color = "114", - name = "gemini", - }, - ["yang"] = { - icon = "๏ญพ", - color = "#42a5f5", - cterm_color = "75", - name = "Yang", - }, - ["windi.config.ts"] = { - icon = "๏ชœ", - color = "#42a5f5", - cterm_color = "75", - name = "windi.config.ts", - }, - ["windi.config.js"] = { - icon = "๏ชœ", - color = "#42a5f5", - cterm_color = "75", - name = "windi.config.js", - }, - ["xaml"] = { - icon = "๏ญฒ", - color = "#42a5f5", - cterm_color = "75", - name = "xaml", - }, - ["lib"] = { - icon = "๏ ฑ", - color = "#8bc34a", - cterm_color = "113", - name = "Lib", - }, - ["liquid"] = { - icon = "๏ช‹", - color = "#42a5f5", - cterm_color = "75", - name = "Liquid", - }, - ["vite.config.js"] = { - icon = "๏€", - color = "#ffab00", - cterm_color = "214", - name = "vite.config.js", - }, - ["nuxt.config.js"] = { - icon = "๏จˆ", - color = "#00e676", - cterm_color = "42", - name = "nuxt.config.js", - }, - ["todo"] = { - icon = "๏˜ฒ", - color = "#7cb342", - cterm_color = "107", - name = "todo", - }, - ["http"] = { - icon = "๏ชž", - color = "#e53935", - cterm_color = "167", - name = "http", - }, - ["cake"] = { - icon = "๏—ช", - color = "#ff7043", - cterm_color = "203", - name = "cake", - }, - }, - -- globally enable different highlight colors per icon (default to true) - -- if set to false all icons will have the default icon's color - color_icons = true, - -- globally enable default icons (default to false) - -- will get overriden by `get_icons` option - default = true, -} diff --git a/lua/user/whichkey.lua b/lua/user/whichkey.lua deleted file mode 100644 index 9675e85..0000000 --- a/lua/user/whichkey.lua +++ /dev/null @@ -1,401 +0,0 @@ -local status_ok, which_key = pcall(require, "which-key") -if not status_ok then - return -end - -local setup = { - plugins = { - marks = true, -- shows a list of your marks on ' and ` - registers = true, -- shows your registers on " in NORMAL or in INSERT mode - spelling = { - enabled = true, -- enabling this will show WhichKey when pressing z= to select spelling suggestions - suggestions = 20, -- how many suggestions should be shown in the list? - }, - -- the presets plugin, adds help for a bunch of default keybindings in Neovim - -- No actual key bindings are created - presets = { - operators = false, -- adds help for operators like d, y, ... and registers them for motion / text object completion - motions = true, -- adds help for motions - text_objects = true, -- help for text objects triggered after entering an operator - windows = true, -- default bindings on - nav = true, -- misc bindings to work with windows - z = true, -- bindings for folds, spelling and others prefixed with z - g = true, -- bindings for prefixed with g - }, - }, - -- add operators that will trigger motion and text object completion - -- to enable all native operators, set the preset / operators plugin above - -- operators = { gc = "Comments" }, - key_labels = { - -- override the label used to display some keys. It doesn't effect WK in any other way. - -- For example: - -- [""] = "SPC", - -- [""] = "RET", - -- [""] = "TAB", - }, - icons = { - breadcrumb = "ยป", -- symbol used in the command line area that shows your active key combo - separator = "โžœ", -- symbol used between a key and it's label - group = "+", -- symbol prepended to a group - }, - popup_mappings = { - scroll_down = "", -- binding to scroll down inside the popup - scroll_up = "", -- binding to scroll up inside the popup - }, - window = { - border = "rounded", -- none, single, double, shadow - -- border = "none", -- none, single, double, shadow - position = "bottom", -- bottom, top - margin = { 1, 0, 1, 0 }, -- extra window margin [top, right, bottom, left] - padding = { 2, 2, 2, 2 }, -- extra window padding [top, right, bottom, left] - winblend = 0, - }, - layout = { - height = { min = 4, max = 25 }, -- min and max height of the columns - width = { min = 20, max = 50 }, -- min and max width of the columns - spacing = 3, -- spacing between columns - align = "left", -- align columns left, center or right - }, - ignore_missing = true, -- enable this to hide mappings for which you didn't specify a label - hidden = { "", "", "", "", "call", "lua", "^:", "^ " }, -- hide mapping boilerplate - show_help = true, -- show help message on the command line when the popup is visible - triggers = "auto", -- automatically setup triggers - -- triggers = {""} -- or specify a list manually - triggers_blacklist = { - -- list of mode / prefixes that should never be hooked by WhichKey - -- this is mostly relevant for key maps that start with a native binding - -- most people should not need to change this - i = { "j", "k" }, - v = { "j", "k" }, - }, -} - -local opts = { - mode = "n", -- NORMAL mode - prefix = "", - buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings - silent = true, -- use `silent` when creating keymaps - noremap = true, -- use `noremap` when creating keymaps - nowait = true, -- use `nowait` when creating keymaps -} - -local opts2 = { - mode = "v", -- NORMAL mode - prefix = "", - buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings - silent = true, -- use `silent` when creating keymaps - noremap = true, -- use `noremap` when creating keymaps - nowait = true, -- use `nowait` when creating keymaps -} - -local trn = "" -if vim.fn.has("win32") == 1 then - trn = "pwsh" -end --- for debug -local debug_key = {} --- local is_dap = pcall(require, "dap") - -if vim.fn.has("win32") == 0 then - debug_key = { - name = "Debug", - t = { "lua require'dap'.toggle_breakpoint()", "Toggle Breakpoint" }, - b = { "lua require'dap'.step_back()", "Step Back" }, - c = { "lua require'dap'.continue()", "Continue" }, - C = { "lua require'dap'.run_to_cursor()", "Run To Cursor" }, - d = { "lua require'dap'.disconnect()", "Disconnect" }, - g = { "lua require'dap'.session()", "Get Session" }, - i = { "lua require'dap'.step_into()", "Step Into" }, - o = { "lua require'dap'.step_over()", "Step Over" }, - u = { "lua require'dap'.step_out()", "Step Out" }, - p = { "lua require'dap'.pause()", "Pause" }, - r = { "lua require'dap'.repl.toggle()", "Toggle Repl" }, - s = { "lua require'dap'.continue()", "Start" }, - q = { "lua require'dap'.close()", "Quit" }, - U = { "lua require'dapui'.toggle({reset = true})", "Toggle UI" }, - } -end --- end debug -local mappings2 = { - ["/"] = { "lua require('Comment.api').toggle.linewise(vim.fn.visualmode())", "Commet Block" }, -} -local mappings = { - ["a"] = { "Alpha", "Alpha" }, - ["b"] = { - "lua require('telescope.builtin').buffers(require('telescope.themes').get_dropdown{previewer = false})", - "Buffers", - }, - --["e"] = { "NvimTreeToggle", "Explorer" }, - ["e"] = { "NvimTreeToggle", "Explorer" }, - ["w"] = { "w!", "Save" }, - ["q"] = { "q!", "Quit" }, - ["c"] = { "Bdelete!", "Close Buffer" }, - ["h"] = { "nohlsearch", "No Highlight" }, - ["f"] = { - "Telescope find_files ", - "Find files", - }, - ["F"] = { "Telescope live_grep theme=ivy", "Find Text" }, - ["P"] = { "lua require('telescope').extensions.projects.projects()", "Projects" }, - -- ["z"] = { "Lazy", "Lazy" }, - - ["/"] = { - function() - require("Comment.api").toggle.linewise.current() - end, - "Coment line", - }, - ["m"] = { - name = "Markdown", - p = { "MarkdownPreview", "Preview" }, - s = { "MarkdownPreviewStop", "Stop Preview" }, - }, - -- p = { - -- name = "Packer", - -- c = { "PackerCompile", "Compile" }, - -- i = { "PackerInstall", "Install" }, - -- s = { "PackerSync", "Sync" }, - -- S = { "PackerStatus", "Status" }, - -- u = { "PackerUpdate", "Update" }, - -- }, - - g = { - name = "Git", - g = { "lua _LAZYGIT_TOGGLE()", "Lazygit" }, - j = { "lua require 'gitsigns'.next_hunk()", "Next Hunk" }, - k = { "lua require 'gitsigns'.prev_hunk()", "Prev Hunk" }, - l = { "lua require 'gitsigns'.blame_line()", "Blame" }, - p = { "lua require 'gitsigns'.preview_hunk()", "Preview Hunk" }, - r = { "lua require 'gitsigns'.reset_hunk()", "Reset Hunk" }, - R = { "lua require 'gitsigns'.reset_buffer()", "Reset Buffer" }, - s = { "lua require 'gitsigns'.stage_hunk()", "Stage Hunk" }, - u = { - "lua require 'gitsigns'.undo_stage_hunk()", - "Undo Stage Hunk", - }, - o = { "Telescope git_status", "Open changed file" }, - b = { "Telescope git_branches", "Checkout branch" }, - c = { "Telescope git_commits", "Checkout commit" }, - d = { - "Gitsigns diffthis HEAD", - "Diff", - }, - }, - - l = { - name = "LSP", - a = { "lua vim.lsp.buf.code_action()", "Code Action" }, - d = { - "Telescope diagnostics bufnr=0", - "Document Diagnostics", - }, - w = { - "Telescope diagnostics", - "Workspace Diagnostics", - }, - f = { "lua vim.lsp.buf.format{async=true}", "Format" }, - i = { "LspInfo", "Info" }, - I = { "Mason", "Installer Info" }, - j = { - "lua vim.lsp.diagnostic.goto_next()", - "Next Diagnostic", - }, - k = { - "lua vim.lsp.diagnostic.goto_prev()", - "Prev Diagnostic", - }, - l = { "lua vim.lsp.codelens.run()", "CodeLens Action" }, - q = { "lua vim.diagnostic.setloclist()", "Quickfix" }, - r = { "lua vim.lsp.buf.rename()", "Rename" }, - s = { "Telescope lsp_document_symbols", "Document Symbols" }, - S = { - "Telescope lsp_dynamic_workspace_symbols", - "Workspace Symbols", - }, - }, - s = { - name = "Search", - b = { "Telescope git_branches", "Checkout branch" }, - c = { "Telescope colorscheme", "Colorscheme" }, - h = { "Telescope help_tags", "Find Help" }, - M = { "Telescope man_pages", "Man Pages" }, - r = { "Telescope oldfiles", "Open Recent File" }, - R = { "Telescope registers", "Registers" }, - k = { "Telescope keymaps", "Keymaps" }, - C = { "Telescope commands", "Commands" }, - }, - - t = { - name = "Terminal", - n = { "lua _NODE_TOGGLE()", "Node" }, - u = { "lua _NCDU_TOGGLE()", "NCDU" }, - t = { "lua _HTOP_TOGGLE()", "Htop" }, - p = { "lua _PYTHON_TOGGLE()", "Python" }, - f = { "ToggleTerm direction=float" .. trn, "Float" }, - h = { "ToggleTerm size=10 direction=horizontal", "Horizontal" }, - v = { "ToggleTerm size=80 direction=vertical" .. trn, "Vertical" }, - }, - r = { - name = "Run", - s = { - 'autocmd bufwritepost [^_]*.sass,[^_]*.scss silent exec "!sass %:p %:r.css"', - "Auto Compile Sass", - }, - r = { "RunCode", "Run Code" }, - f = { "RunFile", "Run File" }, - j = { "Jaq float", "Run With Jaq" }, - p = { "RunProject", "Run Project" }, - g = { "ToggleTerm size=70 direction=floatgradle run" .. trn, "Run Gradle" }, - m = { - "ToggleTerm size=70 direction=floatmvn exec:java -Dexec.mainClass=com.pojokcode.App", - "Run MVN", - }, - }, - -- D = { - -- name = "Debug", - -- b = { - -- function() - -- if is_dap then - -- require("dap").toggle_breakpoint() - -- else - -- vim.notify("DAP Not Support", "info") - -- end - -- end, - -- "Toggle Breakpoint", - -- }, - -- B = { - -- function() - -- if is_dap then - -- require("dap").clear_breakpoints() - -- else - -- vim.notify("DAP Not Support", "info") - -- end - -- end, - -- "Clear Breakpoints", - -- }, - -- c = { - -- function() - -- if is_dap then - -- require("dap").continue() - -- else - -- vim.notify("DAP Not Support", "info") - -- end - -- end, - -- "Start/Continue", - -- }, - -- i = { - -- function() - -- if is_dap then - -- require("dap").step_into() - -- else - -- vim.notify("DAP Not Support", "info") - -- end - -- end, - -- "Step Into (F11)", - -- }, - -- o = { - -- function() - -- if is_dap then - -- require("dap").step_over() - -- else - -- vim.notify("DAP Not Support", "info") - -- end - -- end, - -- "Step Over (F10)", - -- }, - -- O = { - -- function() - -- if is_dap then - -- require("dap").step_out() - -- else - -- vim.notify("DAP Not Support", "info") - -- end - -- end, - -- "Step Out (S-F11)", - -- }, - -- q = { - -- function() - -- if is_dap then - -- require("dap").close() - -- else - -- vim.notify("DAP Not Support", "info") - -- end - -- end, - -- "Close Session", - -- }, - -- Q = { - -- function() - -- if is_dap then - -- require("dap").terminate() - -- else - -- vim.notify("DAP Not Support", "info") - -- end - -- end, - -- "Terminate Session (S-F5)", - -- }, - -- p = { - -- function() - -- if is_dap then - -- require("dap").pause() - -- else - -- vim.notify("DAP Not Support", "info") - -- end - -- end, - -- "Pause (F6)", - -- }, - -- r = { - -- function() - -- if is_dap then - -- require("dap").restart_frame() - -- else - -- vim.notify("DAP Not Support", "info") - -- end - -- end, - -- "Restart (C-F5)", - -- }, - -- R = { - -- function() - -- if is_dap then - -- require("dap").repl.toggle() - -- else - -- vim.notify("DAP Not Support", "info") - -- end - -- end, - -- "Toggle REPL", - -- }, - -- }, - -- d = { - -- name = "Debug", - -- t = { "lua require'dap'.toggle_breakpoint()", "Toggle Breakpoint" }, - -- b = { "lua require'dap'.step_back()", "Step Back" }, - -- c = { "lua require'dap'.continue()", "Continue" }, - -- C = { "lua require'dap'.run_to_cursor()", "Run To Cursor" }, - -- d = { "lua require'dap'.disconnect()", "Disconnect" }, - -- g = { "lua require'dap'.session()", "Get Session" }, - -- i = { "lua require'dap'.step_into()", "Step Into" }, - -- o = { "lua require'dap'.step_over()", "Step Over" }, - -- u = { "lua require'dap'.step_out()", "Step Out" }, - -- p = { "lua require'dap'.pause()", "Pause" }, - -- r = { "lua require'dap'.repl.toggle()", "Toggle Repl" }, - -- s = { "lua require'dap'.continue()", "Start" }, - -- q = { "lua require'dap'.close()", "Quit" }, - -- U = { "lua require'dapui'.toggle({reset = true})", "Toggle UI" }, - -- }, - d = debug_key, - p = { - name = "Plugins", - i = { "Lazy install", "Install" }, - s = { "Lazy sync", "Sync" }, - S = { "Lazy clear", "Status" }, - c = { "Lazy clean", "Clean" }, - u = { "Lazy update", "Update" }, - p = { "Lazy profile", "Profile" }, - l = { "Lazy log", "Log" }, - d = { "Lazy debug", "Debug" }, - }, - ["o"] = { "SymbolsOutline", "Symbol Outline" }, -} - -which_key.setup(setup) -which_key.register(mappings, opts) -which_key.register(mappings2, opts2) diff --git a/lua/user/winbar.lua b/lua/user/winbar.lua deleted file mode 100644 index cdf9bd9..0000000 --- a/lua/user/winbar.lua +++ /dev/null @@ -1,151 +0,0 @@ -local active = true -local icons = require("user.icons") -local excludes = function() - return vim.tbl_contains({ - "help", - "startify", - "dashboard", - "packer", - "neo-tree", - "neogitstatus", - "NvimTree", - "Trouble", - "alpha", - "lir", - "Outline", - "spectre_panel", - "toggleterm", - "DressingSelect", - "Jaq", - "harpoon", - "dap-repl", - "dap-terminal", - "dapui_console", - "dapui_hover", - "lab", - "notify", - "noice", - "", - } or {}, vim.bo.filetype) -end - -local get_filename = function() - local filename = vim.fn.expand("%:t") - local extension = vim.fn.expand("%:e") - local f = require("user.functions") - - if not f.isempty(filename) then - local file_icon, hl_group = require("nvim-web-devicons").get_icon(filename, extension, { default = true }) - - if f.isempty(file_icon) then - file_icon = icons.kind.File - end - - local buf_ft = vim.bo.filetype - - if buf_ft == "dapui_breakpoints" then - file_icon = icons.ui.Bug - end - - if buf_ft == "dapui_stacks" then - file_icon = icons.ui.Stacks - end - - if buf_ft == "dapui_scopes" then - file_icon = icons.ui.Scopes - end - - if buf_ft == "dapui_watches" then - file_icon = icons.ui.Watches - end - - -- if buf_ft == "dapui_console" then - -- file_icon = lvim.icons.ui.DebugConsole - -- end - - local navic_text = vim.api.nvim_get_hl_by_name("Normal", true) - vim.api.nvim_set_hl(0, "Winbar", { fg = navic_text.foreground }) - - return " " .. "%#" .. hl_group .. "#" .. file_icon .. "%*" .. " " .. "%#Winbar#" .. filename .. "%*" - end -end - -local get_gps = function() - local status_gps_ok, gps = pcall(require, "nvim-navic") - if not status_gps_ok then - return "" - end - - local status_ok, gps_location = pcall(gps.get_location, {}) - if not status_ok then - return "" - end - - if not gps.is_available() or gps_location == "error" then - return "" - end - - if not require("user.functions").isempty(gps_location) then - return "%#NavicSeparator#" .. icons.ui.ChevronRight .. "%* " .. gps_location - else - return "" - end -end - -local get_winbar = function() - if excludes() then - return - end - local f = require("user.functions") - local value = get_filename() - - local gps_added = false - if not f.isempty(value) then - local gps_value = get_gps() - value = value .. " " .. gps_value - if not f.isempty(gps_value) then - gps_added = true - end - end - - if not f.isempty(value) and f.get_buf_option("mod") then - -- TODO: replace with circle - local mod = "%#LspCodeLens#" .. icons.ui.Circle .. "%*" - if gps_added then - value = value .. " " .. mod - else - value = value .. mod - end - end - - local num_tabs = #vim.api.nvim_list_tabpages() - - if num_tabs > 1 and not f.isempty(value) then - local tabpage_number = tostring(vim.api.nvim_tabpage_get_number(0)) - value = value .. "%=" .. tabpage_number .. "/" .. tostring(num_tabs) - end - - local status_ok, _ = pcall(vim.api.nvim_set_option_value, "winbar", value, { scope = "local" }) - if not status_ok then - return - end -end - -vim.api.nvim_create_augroup("_winbar", {}) -if vim.fn.has("nvim-0.8") == 1 then - vim.api.nvim_create_autocmd( - { "CursorHoldI", "CursorHold", "BufWinEnter", "BufFilePost", "InsertEnter", "BufWritePost", "TabClosed" }, - { - group = "_winbar", - callback = function() - if active then - local status_ok, _ = pcall(vim.api.nvim_buf_get_var, 0, "lsp_floating_window") - if not status_ok then - -- TODO: - get_winbar() - end - end - end, - } - ) -end diff --git a/lua/user/yanky.lua b/lua/user/yanky.lua deleted file mode 100644 index 68f6901..0000000 --- a/lua/user/yanky.lua +++ /dev/null @@ -1,17 +0,0 @@ -local status_ok, yanky = pcall(require, "yanky") -if not status_ok then - return -end -yanky.setup({ - ring = { - history_length = 50, - storage = "memory", - }, - preserve_cursor_position = { - enabled = false, - }, -}) - --- cycle through the yank history, only work after paste -vim.keymap.set("n", "[y", "(YankyCycleForward)") -vim.keymap.set("n", "]y", "(YankyCycleBackward)") diff --git a/my-snippets/B5-Snippets/.gitattributes b/my-snippets/B5-Snippets/.gitattributes deleted file mode 100644 index dfe0770..0000000 --- a/my-snippets/B5-Snippets/.gitattributes +++ /dev/null @@ -1,2 +0,0 @@ -# Auto detect text files and perform LF normalization -* text=auto diff --git a/my-snippets/B5-Snippets/.gitignore b/my-snippets/B5-Snippets/.gitignore deleted file mode 100644 index b9f8ccb..0000000 --- a/my-snippets/B5-Snippets/.gitignore +++ /dev/null @@ -1,110 +0,0 @@ -# Ignore -.vscode/ -src/ -publishing/ -.env - -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* - -# Diagnostic reports (https://nodejs.org/api/report.html) -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage -*.lcov - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# TypeScript v1 declaration files -typings/ - -# TypeScript cache -*.tsbuildinfo - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Microbundle cache -.rpt2_cache/ -.rts2_cache_cjs/ -.rts2_cache_es/ -.rts2_cache_umd/ - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variables file -.env -.env.test - -# parcel-bundler cache (https://parceljs.org/) -.cache - -# Next.js build output -.next - -# Nuxt.js build / generate output -.nuxt -dist - -# Gatsby files -.cache/ -# Comment in the public line in if your project uses Gatsby and *not* Next.js -# https://nextjs.org/blog/next-9-1#public-directory-support -# public - -# vuepress build output -.vuepress/dist - -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -# DynamoDB Local files -.dynamodb/ - -# TernJS port file -.tern-port diff --git a/my-snippets/B5-Snippets/.gitpod.yml b/my-snippets/B5-Snippets/.gitpod.yml deleted file mode 100644 index 7f7ab8e..0000000 --- a/my-snippets/B5-Snippets/.gitpod.yml +++ /dev/null @@ -1,11 +0,0 @@ -# tasks: -# - init: echo "Replace me with a build script for the project." -# command: mkdir -p /workspace/data && mongod --dbpath /workspace/data --fork --logpath /workspace/data/mongod.log -ports: - - port: 3000 - onOpen: open-preview -vscode: - extensions: - - auchenberg.vscode-browser-preview@0.6.7:UsqnxvUQdYtm8ZISiN056w== - - evilz.vscode-reveal@4.0.4:q3Ae+UO4Nv6SYzToAsa1zw== - - HansUXdev.bootstrap5-snippets@1.2.3:e23xRdDNFFIPdzsiYVQ07g== diff --git a/my-snippets/B5-Snippets/.prettierrc b/my-snippets/B5-Snippets/.prettierrc deleted file mode 100644 index 19eb92b..0000000 --- a/my-snippets/B5-Snippets/.prettierrc +++ /dev/null @@ -1,4 +0,0 @@ -{ - "tabWidth": 3, - "useTabs": true -} diff --git a/my-snippets/B5-Snippets/.vscodeignore b/my-snippets/B5-Snippets/.vscodeignore deleted file mode 100644 index ed3f9d3..0000000 --- a/my-snippets/B5-Snippets/.vscodeignore +++ /dev/null @@ -1,10 +0,0 @@ -.vscode/** -.vscode-test/** -out/test/** -src/** -.gitignore -vsc-extension-quickstart.md -**/tsconfig.json -**/tslint.json -**/*.map -**/*.ts \ No newline at end of file diff --git a/my-snippets/B5-Snippets/CHANGELOG.md b/my-snippets/B5-Snippets/CHANGELOG.md deleted file mode 100644 index a6847d3..0000000 --- a/my-snippets/B5-Snippets/CHANGELOG.md +++ /dev/null @@ -1,9 +0,0 @@ -# Change Log - -All notable changes to the "b5-snippets" extension will be documented in this file. - -Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file. - -## [Unreleased] - -- Initial release \ No newline at end of file diff --git a/my-snippets/B5-Snippets/LICENSE b/my-snippets/B5-Snippets/LICENSE deleted file mode 100644 index a5a4476..0000000 --- a/my-snippets/B5-Snippets/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015 Brett Hans McMurdy - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - diff --git a/my-snippets/B5-Snippets/NOTES.md b/my-snippets/B5-Snippets/NOTES.md deleted file mode 100644 index e884c14..0000000 --- a/my-snippets/B5-Snippets/NOTES.md +++ /dev/null @@ -1 +0,0 @@ -1. [Validate Json](https://jsonformatter.curiousconcept.com/#) after concat diff --git a/my-snippets/B5-Snippets/README.md b/my-snippets/B5-Snippets/README.md deleted file mode 100644 index c92170b..0000000 --- a/my-snippets/B5-Snippets/README.md +++ /dev/null @@ -1,275 +0,0 @@ -# Bootstrap 5 -[![Version](https://vsmarketplacebadge.apphb.com/version/HansUXdev.bootstrap5-snippets.svg)](https://marketplace.visualstudio.com/items?itemName=HansUXdev.bootstrap5-snippets) -[![Installs](https://vsmarketplacebadge.apphb.com/installs/HansUXdev.bootstrap5-snippets.svg)](https://marketplace.visualstudio.com/items?itemName=HansUXdev.bootstrap5-snippets) -[![Ratings](https://vsmarketplacebadge.apphb.com/rating/HansUXdev.bootstrap5-snippets.svg)](https://marketplace.visualstudio.com/items?itemName=HansUXdev.bootstrap5-snippets) - -[![The MIT License](https://img.shields.io/badge/license-MIT-orange.svg?style=flat-square)](http://opensource.org/licenses/MIT) [![GitHub](https://img.shields.io/github/stars/HansUXdev/B5-Snippets.svg?style=flat-square)](https://github.com/HansUXdev/B5-Snippets) [![GitHub](https://img.shields.io/github/followers/HansUXdev.svg?style=flat-square)](https://github.com/HansUXdev) - - - - - -The first, (currently only) and hands down BEST bootstrap 5 snippet extension. Includes templates, powerful utility snippets, and much more. - -## Features -1. Templates one tab away -2. Powerful utilities -3. Font Awesome icons ! (currently 4.7, eventually 6.0) -4. Much more hidden... - -6. Much more planned, so consider giving it a star on [github](https://github.com/HansUXdev/B5-Snippets) or the [marketplace](https://marketplace.visualstudio.com/items?itemName=HansUXdev.bootstrap5-snippets), become a [sponsor](https://github.com/sponsors/HansUXdev/). - -![](Templates2.gif) - - -# Open Source Marketplace -This may surprizes you but VS-Code and it's marketplace aren't really open source, is licensed under a not-FLOSS license and contains telemetry/tracking, [read more...](https://vscodium.com/) - -This extension is built for [open-vsx](https://open-vsx.org/) and published on the ONLY [open source registry](https://open-vsx.org/about) for VS Code extensions. - - - - - -Learn more about **open source** versions of vscode such as [vscodium](https://vscodium.com/), [GitPod's IDE](https://www.gitpod.io/docs/ide/) and more. - - -## Notes -Bootstrap 5 is currently in alpha and this extension should be considered in the same status. -Unlike a lot of other snippets, this extension aims to balence user simplicity, with power and flexibility by keeping the **total number of snippets to a minimum**. - -In terms of **user simplicity**, other Bootstrap 4 snippets have 5 different snippets for the grid, whereas this will have 3, but each is more powerful. - -## Roadmap -* v1.2.5 - Introduces Flex utilities, media-query and awesome awesome 4.7.0. -* v1.6-8 - Each snippet with eventually have a gif demo (SOON). -* v2 - All base [templates](https://v5.getbootstrap.com/docs/5.0/examples/) and several others will be one tab away, so consider [sponsoring this](https://github.com/sponsors/HansUXdev/) or giving it a star. - ---- - -## Powerful, Simple, **Flex** Snippets -> **Center, position or reorder any element, by any default breakpoint with under 10 snippets.** - - -Trigger | Description ---- | --- -`!templates` | Sets the display type. -`!utilities` | Sets the display type. -`b5-` | Main component snippets. -`fa-` | Font Awesome component snippets. - ---- - -## Templates/Layout -Templates are just one tab away. Most of the [official example templates](https://v5.getbootstrap.com/docs/5.0/examples/) have been implmented. - -Trigger | Description ---- | --- -!b5-$ | Shortcut creating an html document with cdn scripts included -!b5-$Offcanvas | Offcanvas Template, one tab away. -!b5$Template-name | More coming soon... - ---- - -## Powerful Utility Classes -There are two way to use utilities. -1. **Class utilities**, which use `!` as a prefix. For example, if you want to add a utility class to an existing HTML element, inside of `class=" "` you would add `class="!spacing"` then hit tab and fill out the options, the default will be `class="mx-auto"` which sets margin to auto on left and right (x). -2. **Wrapper elements**, ex: `b5-{txt,color,shadow,boder,spacing}` which will create a div, p, h2 then allow you to tab through the options. - -Trigger | Description ---- | --- -`!spacing` or `b5-spacing` | A single, powerful utility snippet. The default is `mx-auto` which adds margins on right and left. The options allow you to switch between (m)argin and (p)adding, x,y,(t)op,(r)ight, (b)ottom, (l)eft, etc. Read about the classes on the [official bootstrap documentation](https://v5.getbootstrap.com/docs/5.0/utilities/spacing/). -`!shadow` or `b5-shadow` | Useful whenever you want to make things look like paper or material design. Read about the classes on the [official bootstrap documentation](https://v5.getbootstrap.com/docs/5.0/utilities/spacing/). https://v5.getbootstrap.com/docs/5.0/utilities/shadows/ -`!font` or `b5-text` | This intentionally uses two different names to differentiate between the class utility and the wrapper element. The options are responsive positions `{|sm,md,lg,xl|}-${|left,center,right|}`, line-height `base,1,sm,lg}`, font-weight `normal,italic,weight-normal,weight-bold,weight-bolder,weight-light,weight-lighter` ,and `text-${6|none,lowercase,uppercase,capitalize|}`, decoration and `reset,break,monospace` ! -`b5-border` | change border attributes all border attributes. Read about the classes on the [official bootstrap documentation](https://v5.getbootstrap.com/docs/5.0/utilities/borders/). - - ---- - -## Powerful, Simple, **Flex** Snippets -> **Center, position or reorder any element, by any default breakpoint with under 10 snippets.** - - -Trigger | Description ---- | --- -`!!MQ` | Sets the display type. -`!flex` | Sets the display type. -`!justify` | Sets the display type. -`!align` | Sets the display type. -`!fill` | Sets the display type. -`!grow-shrink` | Sets the display type. -`!flex-wrap` | Sets the display type. -`!flex-order` | Sets the display type. - ---- - -#### Grid -This is works great but it may be simplified and rewritten. -I'm also toying around with new utility snippet to that combines the [display classes](https://v5.getbootstrap.com/docs/5.0/utilities/display/) and [flex classes](https://v5.getbootstrap.com/docs/5.0/utilities/flex/). If you have any thoughts or suggestions, let me know on github. - -Trigger | Description ---- | --- -b5-**container** | Grid container with options for -fluid, px, gy and more. -b5-**row** | Powerful row, `${1| ,row-cols-2,row-cols-3, auto,justify-content-md-center,md,lg,xl,xxl|}`. Default to row with optional utility classes. -b5-**col** | Pretty much all your need covered and more. Ex: `col${1| ,-1,-2,-3,-4,-5,-6,-sm,-md,-lg,-xl,-xxl|}${2| ,-auto,-1,-2,-3,-4,-5,-6,-7,-8,-9,-10,-11,-12` - -#### Navbar - -Trigger | Description ---- | --- -b5-**navbar-default** | Navbar default -b5-**navbar-scollspy** | V1 is here -b5-**Nav-bottom** | V1 is here - -b5-**nav-item** | item with link and options for common pages such as Home, About, Blog, Contact. -b5-**navlink** | link -b5-**nav-dropdown** | dropdown -b5-**nav-dropdown toggle** | Navbar toggle -b5-**nav-** | more in this category coming soon... - -#### Button - -Trigger | Description ---- | --- -b5-**btn** | Button with link -b5-**btn-o** | Button with outline -b5-**btn-close** | Close buttons... -b5-**btn-** | more in this category coming soon... - - - -#### Cards - -Trigger | Description ---- | --- -b5-**card** | Basic Card -b5-**card-** | more in this category coming soon... - - -#### modal - -Trigger | Description ---- | --- -b5-**modal** | Basic modal -b5-**modal-** | more in this category coming soon... - -#### Collapse - -Trigger | Description ---- | --- -b5-**btn-reveal** | Click a button and reveal some content. -b5-**modal-** | more in this category coming soon... - - -#### JavaScript -I plan on eventually adding bootstrap snippet for the JavaScript but its not on the roadmap yet because I'm also working on this [massive javascript extension](https://marketplace.visualstudio.com/items?itemName=HansUXdev.javascript-first-snippets) which will replace about 5-10 of the most popular extensions add and add things like optional chaining among other methods. - -Trigger | Description ---- | --- -`jb5` | consider submitting a PR or becoming a [sponsor](https://github.com/sponsors/HansUXdev/). - - - - - - - - - -## Release Notes - -Users appreciate release notes as you update your extension. - -### 1.2.3 - Updated documentation, added templates and much more. - -### 1.2.5 - Fixed Bugs -- [x] Flex Utilities ! -- [x] added !round utility -- [x] Added CTA Button - with options for call and email -- [x] breadcrumb - fixed bug and added breadcrumb item -- [x] border- fixed bug and added !round option -- [ ] - - -## Supporting the Developers -If you use this a lot or want to see it improve consider giving it a star, following the dev on social media below, or becoming a [githup sponsor](https://github.com/sponsors/HansUXdev/). - - - - - - - - - - - - - - - - - -### Educational Repos -The author does **a lot more** than just publishing a json file for snippets. - -Here are just a few things he's working on, while taking care of his ๐Ÿ‘ถ as a full-time single father, job hunting & competing in hackathons... - -Trigger | Description & Info ---- | --- -[JavaScript-First](https://github.com/HansUXdev/JavaScript-First) | An Open Source Book that teaches anyone how to code with JavaScript using the node.js runtime environment rather than a browser and by the end, you will build a server and a website using JavaScript.. -[Learn Mongo GitPod](https://github.com/HansUXdev/LearnMongoGitPod)| A repo designed to teach mongoDB to people with zero experiance and zero config, meaning you can learn on virtually any device that has a browser that GitPod can run on! This ๐Ÿคžmay๐Ÿคž become part of Free Code Camp [[1](https://forum.freecodecamp.org/t/how-is-new-content-created-at-fcc/416191/3)], [[2](https://github.com/freeCodeCamp/CurriculumExpansion/issues/103)]. - - -### Future Snippets & Extensions -Name | Description ---- | --- -[JavaScript-First](https://marketplace.visualstudio.com/items?itemName=HansUXdev.javascript-first-snippets) | JavaScript First is a huge collection of snippets built to establish better code habits for working with JS-based servers, browser methods, react, mongo databases and more. It is also meant to be paired with the book, [JavaScript-First](https://github.com/HansUXdev/JavaScript-First). -Foundation 6 Snippets| This will start as a snippets for [sites](https://get.foundation/sites/docs/) and then be updated for. -Code Slides | A snippet extension for creating educational slides with [vscode-reveal](https://marketplace.visualstudio.com/items?itemName=evilz.vscode-reveal) and a custom theme. (not public yet) -Foundation 6 Snippets| This will start as a snippets for [sites](https://get.foundation/sites/docs/) and then be updated for.[email](https://get.foundation/emails). If sponsored, I will extend this to eventually replace the [CLI](https://github.com/foundation/foundation-cli) and [building blocks](https://get.foundation/building-blocks/) by implementing a custom feature that writes install kits in a similar way the [web boilerplate](https://marketplace.visualstudio.com/items?itemName=jamesqquick.web-boilerplate) writes an html, css, and js file. (not started yet) - -### Social Entrepreneurship: Open Source Non-Profit -I'm in the process of founding a non-profit dedicated to promoting open source by doing the following and can only commit to the first two without proper sponsorship: -Name | Description ---- | --- -Creating open source curriculum | Getting open source curriculum into the hands for high school students. -CTE Coding Students | Bringing industry professionals into the class room to inspire them (via zoom). I already did this as a teacher by bringing people from Riot Games / Carvana, Choice Hotels, Auth0, and many others into my classroom. Now I want to streamline this for more schools. -Free Coding Classes on Twitch | I stream open source classes for an introductory javaScript class every week to test the open source curriculum I write. Think of it as a free bootcamp online. I also despritely need a better computer that doesn't require iced gel packs to be able to stream ๐Ÿ˜….... -Lobbying for Open Source Certification | When I taught in a public CTE high school, I couldn't believe that a multiple choice test like th MTA certifications were approved by the state over open source certifications such as Free Code Camp's. I know enough school board members and a few house members to help get the ball rolling but, it's a lot of leg work and I don't want to commit to this without funding... -Laptop | Donating 4G latops/tablets to students struggling with remote academic life. Having taught a few students with bad internet, etc, this is especially important to me but I don't have the resources to address this without funding. diff --git a/my-snippets/B5-Snippets/Templates.gif b/my-snippets/B5-Snippets/Templates.gif deleted file mode 100644 index 56c72f1..0000000 Binary files a/my-snippets/B5-Snippets/Templates.gif and /dev/null differ diff --git a/my-snippets/B5-Snippets/Templates2.gif b/my-snippets/B5-Snippets/Templates2.gif deleted file mode 100644 index 631e47d..0000000 Binary files a/my-snippets/B5-Snippets/Templates2.gif and /dev/null differ diff --git a/my-snippets/B5-Snippets/TxtUtility.gif b/my-snippets/B5-Snippets/TxtUtility.gif deleted file mode 100644 index fb7596f..0000000 Binary files a/my-snippets/B5-Snippets/TxtUtility.gif and /dev/null differ diff --git a/my-snippets/B5-Snippets/bootstrap.png b/my-snippets/B5-Snippets/bootstrap.png deleted file mode 100644 index 70f447a..0000000 Binary files a/my-snippets/B5-Snippets/bootstrap.png and /dev/null differ diff --git a/my-snippets/B5-Snippets/bootstrap5-snippets-1.0.0.vsix b/my-snippets/B5-Snippets/bootstrap5-snippets-1.0.0.vsix deleted file mode 100644 index 51c1446..0000000 Binary files a/my-snippets/B5-Snippets/bootstrap5-snippets-1.0.0.vsix and /dev/null differ diff --git a/my-snippets/B5-Snippets/bootstrap5-snippets-1.0.2.vsix b/my-snippets/B5-Snippets/bootstrap5-snippets-1.0.2.vsix deleted file mode 100644 index d90722b..0000000 Binary files a/my-snippets/B5-Snippets/bootstrap5-snippets-1.0.2.vsix and /dev/null differ diff --git a/my-snippets/B5-Snippets/bootstrap5-snippets-1.1.0.vsix b/my-snippets/B5-Snippets/bootstrap5-snippets-1.1.0.vsix deleted file mode 100644 index 8e772a7..0000000 Binary files a/my-snippets/B5-Snippets/bootstrap5-snippets-1.1.0.vsix and /dev/null differ diff --git a/my-snippets/B5-Snippets/bootstrap5-snippets-1.2.0.vsix b/my-snippets/B5-Snippets/bootstrap5-snippets-1.2.0.vsix deleted file mode 100644 index e7ae199..0000000 Binary files a/my-snippets/B5-Snippets/bootstrap5-snippets-1.2.0.vsix and /dev/null differ diff --git a/my-snippets/B5-Snippets/bootstrap5-snippets-1.2.2.vsix b/my-snippets/B5-Snippets/bootstrap5-snippets-1.2.2.vsix deleted file mode 100644 index 57b2651..0000000 Binary files a/my-snippets/B5-Snippets/bootstrap5-snippets-1.2.2.vsix and /dev/null differ diff --git a/my-snippets/B5-Snippets/bootstrap5-snippets-1.2.3.vsix b/my-snippets/B5-Snippets/bootstrap5-snippets-1.2.3.vsix deleted file mode 100644 index efb1fe8..0000000 Binary files a/my-snippets/B5-Snippets/bootstrap5-snippets-1.2.3.vsix and /dev/null differ diff --git a/my-snippets/B5-Snippets/bootstrap5-snippets-1.2.4.vsix b/my-snippets/B5-Snippets/bootstrap5-snippets-1.2.4.vsix deleted file mode 100644 index 25027e4..0000000 Binary files a/my-snippets/B5-Snippets/bootstrap5-snippets-1.2.4.vsix and /dev/null differ diff --git a/my-snippets/B5-Snippets/bootstrap5-snippets-1.2.5.vsix b/my-snippets/B5-Snippets/bootstrap5-snippets-1.2.5.vsix deleted file mode 100644 index 97845b2..0000000 Binary files a/my-snippets/B5-Snippets/bootstrap5-snippets-1.2.5.vsix and /dev/null differ diff --git a/my-snippets/B5-Snippets/chainable-Snippets.gif b/my-snippets/B5-Snippets/chainable-Snippets.gif deleted file mode 100644 index 1f3beca..0000000 Binary files a/my-snippets/B5-Snippets/chainable-Snippets.gif and /dev/null differ diff --git a/my-snippets/B5-Snippets/fontUtility.gif b/my-snippets/B5-Snippets/fontUtility.gif deleted file mode 100644 index cab356a..0000000 Binary files a/my-snippets/B5-Snippets/fontUtility.gif and /dev/null differ diff --git a/my-snippets/B5-Snippets/g.recordit.co_q1xiOG2GfN.gif.webloc b/my-snippets/B5-Snippets/g.recordit.co_q1xiOG2GfN.gif.webloc deleted file mode 100644 index dcf546f..0000000 --- a/my-snippets/B5-Snippets/g.recordit.co_q1xiOG2GfN.gif.webloc +++ /dev/null @@ -1,8 +0,0 @@ - - - - - URL - http://g.recordit.co/q1xiOG2GfN.gif - - diff --git a/my-snippets/B5-Snippets/index.js b/my-snippets/B5-Snippets/index.js deleted file mode 100644 index 45ea04e..0000000 --- a/my-snippets/B5-Snippets/index.js +++ /dev/null @@ -1,17 +0,0 @@ -const http = require('http') -const fs = require('fs'); -const PORT = 7000; - - -http.createServer(function (request, response) { - if (request.url == '/') { - fs.readFile('./templates/demo.html', function(err, data) { - response.writeHead(200, {'Content-Type': 'text/html'}); - response.write(data); - return response.end(); - }); - } - else{ - return response.end('Invalid request'); - } -}).listen(PORT); \ No newline at end of file diff --git a/my-snippets/B5-Snippets/package-lock.json b/my-snippets/B5-Snippets/package-lock.json deleted file mode 100644 index 617cb3d..0000000 --- a/my-snippets/B5-Snippets/package-lock.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "bootstrap5-snippets", - "version": "1.2.4", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "json-concat": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/json-concat/-/json-concat-0.0.1.tgz", - "integrity": "sha1-T2MDycrJTrowu/+R0Tq+oBGMl+I=", - "dev": true - } - } -} diff --git a/my-snippets/B5-Snippets/package.json b/my-snippets/B5-Snippets/package.json deleted file mode 100644 index 9d419a7..0000000 --- a/my-snippets/B5-Snippets/package.json +++ /dev/null @@ -1,128 +0,0 @@ -{ - "name": "bootstrap5-snippets", - "description": "Code snippets for Bootstrap 5 ", - "version": "1.2.5", - "displayName": "Bootstrap 5 & Font Awesome Snippets", - "publisher": "HansUXdev", - "icon": "bootstrap.png", - "license": "SEE LICENSE IN LICENSE.md", - "repository": { - "type": "git", - "url": "https://github.com/HansUXdev/B5-SNIPPETS" - }, - "engines": { - "vscode": "0.10.x" - }, - "devDependencies": { - "json-concat": "^0.0.1" - }, - "scripts": { - "concat": "node_modules\\.bin\\json-concat snippets/types/*.json snippets/snippets.json", - "package": "npx vsce package", - "snip": "code --install-extension bootstrap5-snippets-1.2.4.vsix", - "test": "npx vsce package && npm run snip", - "prePublish": "npm run concat && npx vsce package && npm run snip" - }, - "categories": [ - "Snippets" - ], - "keywords": [ - "Bootstrap 5", - "Bootstrap", - "Font Awesome", - "Snippets", - "Bootstrap Snippets" - ], - "contributes": { - "snippets": [ - { - "language": "blade", - "path": "./snippets/bootstrap.json" - }, - { - "language": "ejs", - "path": "./snippets/bootstrap.json" - }, - { - "language": "html", - "path": "./snippets/bootstrap.json" - }, - { - "language": "handlebars", - "path": "./snippets/bootstrap.json" - }, - { - "language": "latte", - "path": "./snippets/bootstrap.json" - }, - { - "language": "php", - "path": "./snippets/bootstrap.json" - }, - { - "language": "plaintext", - "path": "./snippets/bootstrap.json" - }, - { - "language": "razor", - "path": "./snippets/bootstrap.json" - }, - { - "language": "tpl", - "path": "./snippets/bootstrap.json" - }, - { - "language": "typescript", - "path": "./snippets/bootstrap.json" - }, - { - "language": "typescriptreact", - "path": "./snippets/bootstrap.json" - }, - { - "language": "javascriptreact", - "path": "./snippets/bootstrap.json" - }, - { - "language": "javascript", - "path": "./snippets/bootstrap.json" - }, - { - "language": "twig", - "path": "./snippets/bootstrap.json" - }, - { - "language": "vue", - "path": "./snippets/bootstrap.json" - }, - { - "language": "vue-html", - "path": "./snippets/bootstrap.json" - }, - { - "language": "django-html", - "path": "./snippets/bootstrap.json" - }, - { - "language": "jinja-html", - "path": "./snippets/bootstrap.json" - }, - { - "language": "erb", - "path": "./snippets/bootstrap.json" - }, - { - "language": "HTML (Eex)", - "path": "./snippets/bootstrap.json" - }, - { - "language": "volt", - "path": "./snippets/bootstrap.json" - }, - { - "language": "nunjucks", - "path": "./snippets/bootstrap.json" - } - ] - } -} diff --git a/my-snippets/B5-Snippets/snippets/bootstrap.json b/my-snippets/B5-Snippets/snippets/bootstrap.json deleted file mode 100644 index c2a0c2c..0000000 --- a/my-snippets/B5-Snippets/snippets/bootstrap.json +++ /dev/null @@ -1,7885 +0,0 @@ -{ - "Utilities": { - "prefix": "!utility", - "body": [ - "${1|!spacing,!shadow,!color,!font,!flex,!direction,!justify,!align,!display|}" - ], - "description": "Utilities: Forgot a utility? \n Read about them: \n\n https://deploy-preview-29017--twbs-bootstrap.netlify.app/docs/5.0/utilities/api/" - }, - "Padding / Margin": { - "prefix": "!spacing", - "body": [ - "${1|m,p|}${3|x,y,t,r,b,l|}-${4|auto,0,1,2,3,4,5|}" - ], - "description": "Quickly add Padding & Margins any class." - }, - "Color": { - "prefix": "!color", - "body": [ - "${2|text,bg|}-${3|primary,secondary,success,danger,warning,info,light,dark|}" - ], - "description": "Quickly add color utility classes to any class." - }, - "Font": { - "prefix": "!font", - "body": [ - "text-${2|sm,md,lg,xl|}-${3|left,center,right|} lh-${4|base,1,sm,lg|} font-${5|italic,normal,weight-normal,weight-bold,weight-bolder,weight-light,weight-lighter|} text-${6| ,lowercase,uppercase,capitalize|} text-${7|decoration-none,decoration-underline,decoration-line-through|} text-${8|reset,break,monospace|}" - ], - "description": "Quickly add font utility classes to any class." - }, - "Shadow": { - "prefix": "!shadow", - "body": [ - "shadow${1| ,-sm,-lg|} bg-${2|white,light,dark,primary,secondary,success,danger,warning,info|} ${3|m,p|}${3|t,r,b,l,x,y|}${4|auto,0,1,2,3,4,5|}" - ], - "description": "Add shadow to any class" - }, - "Utility Paper Shadow": { - "prefix": "b5-shadow", - "body": [ - "
${0}
" - ], - "description": "Utility Paper Shadow" - }, - "Utility Color": { - "prefix": "b5-color", - "body": [ - "${2|text,bg|}${3|primary,secondary,success,danger,warning,info,light,dark|}" - ], - "description": "Text Utility" - }, - "Utility Text": { - "prefix": "b5-txt", - "body": [ - "<${1|div,p,h1|} class=\"text-${2|sm,md,lg,xl|}-${3|left,center,right|} lh-${4|base,1,sm,lg|} font-${5|normal,italic,weight-normal,weight-bold,weight-bolder,weight-light,weight-lighter|} text-${6|none,lowercase,uppercase,capitalize|} text-${7|decoration-none,decoration-underline,decoration-line-through|} text-${8|reset,break,monospace|}\">", - "${9:Left aligned text on all viewport sizes.}", - "" - ], - "description": "Text Utility" - }, - "Utility Borders": { - "prefix": "b5-borders", - "body": [ - "<${1|div,p|} class=\"border${2| ,-0,-top,-right,-bottom,-left,-top-0,-right-0,-bottom-0,-left-0|} border-${3|white,primary,secondary,success,danger,warning,info,light,dark|} ${5| ,!round|}\">", - "${10:Left aligned text on all viewport sizes.}", - "" - ], - "description": "Utility Borders" - }, - "Round - Round out any edge.": { - "prefix": "!round", - "body": [ - "${1|rounded,rounded-top,rounded-right,rounded-bottom,rounded-left,rounded-circle,rounded-pill|} ${2|rounded-sm,rounded-lg|}" - ], - "description": "Round - Round out any edge." - }, - "Utility Spacing": { - "prefix": "b5-spacing", - "body": [ - "<${1|div,p,h1|} class=\"${2|m,p|}${3|t,r,b,l,x,y|}${4|auto,0,1,2,3,4,5|} \">", - "${0}", - "" - ], - "description": "Utility Spacing" - }, - "Display Utilities:": { - "prefix": "!display", - "body": [ - "d-${2|flex,inline-flex,none,block,inline,inline-block,table,table-cell,table-row|} " - ], - "description": "Display Utilities:" - }, - "Utilities MQ:": { - "prefix": "!MQ", - "body": [ - "${1|-sm-,-md,-lg-,-xl-,-xxl-|}" - ], - "description": "Display Utilities:" - }, - "Flex Utility": { - "prefix": "!flex", - "body": [ - "d${1|-,!MQ|}${2|flex,inline-flex|} ${3| ,!direction,!justify,!align,!fill,!grow-shrink,!flex-wrap,!flex-order|}" - ], - "description": "Flex Utility: Create a flexbox container and transform direct children elements into flex items. \n\n Ends with an options to continue with other flex utilities,!direction,!justify,!align." - }, - "Flex Direction": { - "prefix": "!direction", - "body": [ - "flex${1|-,!MQ|}${2|row,row-reverse,column,column-reverse|}" - ], - "description": "Flex Direction: Set the direction of flex items in a flex container with direction utilities" - }, - "justify-content": { - "prefix": "!justify", - "body": [ - "justify-content${1|-,!MQ|}${2|start,end,center,between,around,evenly|}" - ], - "description": "justify-content: \n change the alignment of flex items on the main axis (the x-axis to start, y-axis if flex-direction: column) \n Read the docs: \n\n https://deploy-preview-29017--twbs-bootstrap.netlify.app/docs/5.0/utilities/flex/#justify-content \n\n " - }, - "Flex-Align": { - "prefix": "!align", - "body": [ - "align-${1|items,self,content|}${2|-,!MQ|}${3|start,end,center,baseline,stretch,around|}" - ], - "description": "Flex-Align: \n Read the docs: \n https://deploy-preview-29017--twbs-bootstrap.netlify.app/docs/5.0/utilities/flex/#align-items \n\n 1. align-items: change the alignment of flex items on the cross axis (the y-axis to start, x-axis if flex-direction: column) \n\n 2. align-self: change their alignment on the cross axis (the y-axis to start, x-axis if flex-direction: column) \n\n 3. align-content: align flex items together on the cross axis. \n\n NOTE: CENTER & AROUND only apply to align Content." - }, - "!fill": { - "prefix": "!fill", - "body": [ - "flex-${1|fill,sm-fill,md-fill,lg-fill,xl-fill,xxl-fill|}" - ], - "description": "!fill - use on sibling elements to force them into widths equal to their content" - }, - "!grow-shrink": { - "prefix": "!grow-shrink", - "body": [ - "flex${1|-,!MQ|}-${2|grow,shrink|}-${3|0,1|}" - ], - "description": "!grow-shrink - utilities to toggle a flex itemโ€™s ability to grow to fill available space" - }, - "!flex-wrap": { - "prefix": "!flex-wrap", - "body": [ - "flex-${1|-,!MQ|}${2|wrap,nowrap,wrap-reverse|}" - ], - "description": "!flex-wrap - utilities to toggle a flex itemโ€™s ability to grow to fill available space." - }, - "!flex-order": { - "prefix": "!flex-order", - "body": [ - "order-${1|-,!MQ|}${2|1,2,3,4,5,first,last|}" - ], - "description": "Flex Order - Change the visual order of specific flex items with a handful of order utilities." - } -, - "Modal-BTN": { - "prefix": "b5-modal-btn", - "body": [ - "" - ], - "description": "Modal-Body" - }, - "Modal-body": { - "prefix": "b5-modal-body", - "body": [ - "
", - "
", - "
", - "
", - "
${3:Modal title}
", - " ", - "
", - "
", - " ${0}", - "
", - " ${4| ,
|}", - "
", - "
", - "
", - "" - ], - "description": "Modal-Body" - }, - "Modal-Footer": { - "prefix": "b5-modal-footer", - "body": [ - "
", - "
", - "
", - "
", - "
${3:Modal title}
", - " ", - "
", - "
", - " ${0}", - "
", - " ${4| ,
|}", - "
", - "
", - "
", - "" - ], - "description": "Modal-BTN" - } -, - "Bootstrap 5 Navbar Defaul": { - "prefix": "b5-navbar-default", - "body": [ - " " - ], - "description": "Bootstrap 5 Navbar Defaul" - }, - "Bootstrap 5 nav-item":{ - "prefix":"b5-nav-item", - "body":[ - "
  • ", - " ${5|Home,About,Blog,Contact, |}", - "
  • " - ], - "description":"Bootstrap 5 nav-item" - }, - "Bootstrap 5 navlink":{ - "prefix":"b5-navlink", - "body":[ - "${3|Home,About,Blog,Contact, |}", - "" - ], - "description":"Bootstrap 5 navlink" - }, - "Bootstrap 5 nav-dropdown toggle":{ - "prefix":"b5-navdd-toggle", - "body":[ - "", - "b5-n${0}", - "" - ], - "description":"Bootstrap 5 nav-dropdown toggle" - }, - "Bootstrap 5 nav-dropdown":{ - "prefix":"b5-navdropdown", - "body":[ - "
      ", - "b5-n${0}", - "
    " - ], - "description":"Bootstrap 5 nav-dropdown" - }, - "Nav Bottom":{ - "prefix":"b5-Nav-bottom", - "body":[ - "" - ], - "description":"Nav Bottom" - }, - "Scrollspy":{ - "prefix":"b5-scrollspy", - "body":[ - "", - "
    ", - "

    @fat

    ", - "
    " - ], - "description":"Scrollspy" - } - , - "Bootstrap 5 carousel": { - "prefix": "b5-carousel", - "body": [ - "
    ", - "
      ", - "
    1. ", - "
    2. ", - "
    3. ", - "
    ", - "
    ", - " b5-carousel-item${0}", - "
    ", - " ", - " ", - " Previous", - " ", - " ", - " ", - " Next", - " ", - "
    ", - "" - ], - "description": "Bootstrap 5 carousel" - }, - "Bootstrap 5 carousel item": { - "prefix": "b5-carousel-item", - "body": [ - "
    ", - " \"${3:The", - "
    " - ], - "description": "Bootstrap 5 carousel item" - } -, - "Bootstrap 5 container": { - "prefix": "b5-contain", - "body": [ - "
    ", - "\tb5-row${0}", - "
    " - ], - "description": "Bootstrap 5 container" - }, - "Bootstrap 5 row": { - "prefix": "b5-row", - "body": [ - "
    ", - "\tb5-col${0}", - "
    " - ], - "description": "Bootstrap 5 row" - }, - "Bootstrap 5 col": { - "prefix": "b5-col", - "body": [ - "
    ", - " b5-col${0}", - "
    " - ], - "description": "Bootstrap 5 col" - } -, - "Button": { - "prefix": "b5-btn", - "body": [ - "${4| ,Link|}" - ], - "description": "Create a basic button." - }, - "Call to Action Button": { - "prefix": "b5-btn-cta", - "body": [ - "${5|Link, ,call,mail|}" - ], - "description": "Create a CTA Button and drive your customer experience forward. \n Options: \n 1. Call\n 2. Email\n" - }, - "BTN-Outline": { - "prefix": "b5-btn-o", - "body": [ - "${4| ,Link|}" - ], - "description": "Link BTN" - }, - "Close Button": { - "prefix": "b5-btn-close", - "body": [ - "" - ], - "description": "Close Button" - }, - "Button Group": { - "prefix": "b5-btn-gp", - "body": [ - "
    ", - " b5-btn${0}", - "
    " - ], - "description": "Button Group" - } -, - "Button Reveal": { - "prefix": "b5-btn-reveal", - "body": [ - "", - "
    ", - "
    ", - " ${3|Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident., |}", - "
    ", - "
    " - ], - "description": "Button Reveal" - }, - "Accordion Example": { - "prefix": "accordion-example", - "body": [ - "
    ", - "
    ", - "
    ", - "

    ", - " ", - "

    ", - "
    ", - "", - "
    ", - "
    ", - " Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.", - "
    ", - "
    ", - "
    ", - "
    " - ], - "description": "Accordion Example" - } -, - "Bootstrap 5 Card": { - "prefix": "b5-card", - "body": [ - "
    ", - " \"...\"", - "
    ", - "
    ${3|Card title, |}
    ", - "
    ${5|Card subtitle, |}
    ", - "

    ${6|Some quick example text to build on the card title and make up the bulk of the card's content., |}

    ", - " b5${0}", - "
    ", - "
    " - ], - "description": "Bootstrap 5 Card" - } -, - "Pagination": { - "prefix": "b5-pagination", - "body": [ - "" - ], - "description": "Pagination" - } -, - "breadcrumb": { - "prefix": "b5-breadcrumb", - "body": [ - "<${1:nav} class=\"breadcrumb\" aria-label=\"breadcrumb\">", - "
      ", - "
    1. ${4:Library}
    2. ", - " b5${0}", - "
    ", - "" - ], - "description": "breadcrumb" - }, - "breadcrumb item": { - "prefix": "b5-breadcrumb-item", - "body": ["
  • ${3:Library}
  • "], - "description": "breadcrumb" - } -, - "figure": { - "prefix": "b5-figure", - "body": [ - "
    ", - " \"...\"", - "
    ${2:A caption for the above image.}
    ", - "
    " - ], - "description": "figure" - } -, - "form": { - "prefix": "b5-form", - "body": [ - "
    ", - "
    ", - " ", - " ", - "
    ", - " Looks good!", - "
    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " Looks good!", - "
    ", - "
    ", - "
    ", - " ", - "
    ", - " @", - " ", - "
    ", - " Please choose a username.", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " Please provide a valid city.", - "
    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " Please select a valid state.", - "
    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " Please provide a valid zip.", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " You must agree before submitting.", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - "
    ", - "
    " - ], - "description": "form" - } -, - "tablist": { - "prefix": "b5-tablist", - "body": [ - "", - "
    ", - " Home", - " Profile", - " Messages", - " Settings", - "
    ", - "", - "", - "
    ", - "
    ...
    ", - "
    ...
    ", - "
    ...
    ", - "
    ...
    ", - "
    " - ], - "description": "tablist" - }, - "list-group-badge": { - "prefix": "b5-list-group-badge", - "body": [ - "
      ", - "
    • ", - " Cras justo odio", - " 14", - "
    • ", - "
    • ", - " Dapibus ac facilisis in", - " 2", - "
    • ", - "
    • ", - " Morbi leo risus", - " 1", - "
    • ", - "
    " - ], - "description": "list-group-badge" - } -, - "Progress Bar": { - "prefix": "b5-progress", - "body": [ - "
    ", - "
    ${6:Description}
    ", - "
    " - ], - "description": "Progress Bar" - } -, - "Font awesome css link": { - "prefix": "!fa", - "body": "$0", - "description": "Font awesome css link" - }, - "500px": { - "prefix": "fa-500px", - "body": "$0", - "description": "500px", - "scope": "" - }, - "address-book": { - "prefix": "fa-address-book", - "body": "$0", - "description": "address-book", - "scope": "" - }, - "address-book-o": { - "prefix": "fa-address-book-o", - "body": "$0", - "description": "address-book-o", - "scope": "" - }, - "address-card": { - "prefix": "fa-address-card", - "body": "$0", - "description": "address-card", - "scope": "" - }, - "address-card-o": { - "prefix": "fa-address-card-o", - "body": "$0", - "description": "address-card-o", - "scope": "" - }, - "adjust": { - "prefix": "fa-adjust", - "body": "$0", - "description": "adjust", - "scope": "" - }, - "adn": { - "prefix": "fa-adn", - "body": "$0", - "description": "adn", - "scope": "" - }, - "align-center": { - "prefix": "fa-align-center", - "body": "$0", - "description": "align-center", - "scope": "" - }, - "align-justify": { - "prefix": "fa-align-justify", - "body": "$0", - "description": "align-justify", - "scope": "" - }, - "align-left": { - "prefix": "fa-align-left", - "body": "$0", - "description": "align-left", - "scope": "" - }, - "align-right": { - "prefix": "fa-align-right", - "body": "$0", - "description": "align-right", - "scope": "" - }, - "amazon": { - "prefix": "fa-amazon", - "body": "$0", - "description": "amazon", - "scope": "" - }, - "ambulance": { - "prefix": "fa-ambulance", - "body": "$0", - "description": "ambulance", - "scope": "" - }, - "american-sign-language-interpreting": { - "prefix": "fa-american-sign-language-interpreting", - "body": "$0", - "description": "american-sign-language-interpreting", - "scope": "" - }, - "anchor": { - "prefix": "fa-anchor", - "body": "$0", - "description": "anchor", - "scope": "" - }, - "android": { - "prefix": "fa-android", - "body": "$0", - "description": "android", - "scope": "" - }, - "angellist": { - "prefix": "fa-angellist", - "body": "$0", - "description": "angellist", - "scope": "" - }, - "angle-double-down": { - "prefix": "fa-angle-double-down", - "body": "$0", - "description": "angle-double-down", - "scope": "" - }, - "angle-double-left": { - "prefix": "fa-angle-double-left", - "body": "$0", - "description": "angle-double-left", - "scope": "" - }, - "angle-double-right": { - "prefix": "fa-angle-double-right", - "body": "$0", - "description": "angle-double-right", - "scope": "" - }, - "angle-double-up": { - "prefix": "fa-angle-double-up", - "body": "$0", - "description": "angle-double-up", - "scope": "" - }, - "angle-down": { - "prefix": "fa-angle-down", - "body": "$0", - "description": "angle-down", - "scope": "" - }, - "angle-left": { - "prefix": "fa-angle-left", - "body": "$0", - "description": "angle-left", - "scope": "" - }, - "angle-right": { - "prefix": "fa-angle-right", - "body": "$0", - "description": "angle-right", - "scope": "" - }, - "angle-up": { - "prefix": "fa-angle-up", - "body": "$0", - "description": "angle-up", - "scope": "" - }, - "apple": { - "prefix": "fa-apple", - "body": "$0", - "description": "apple", - "scope": "" - }, - "archive": { - "prefix": "fa-archive", - "body": "$0", - "description": "archive", - "scope": "" - }, - "area-chart": { - "prefix": "fa-area-chart", - "body": "$0", - "description": "area-chart", - "scope": "" - }, - "arrow-circle-down": { - "prefix": "fa-arrow-circle-down", - "body": "$0", - "description": "arrow-circle-down", - "scope": "" - }, - "arrow-circle-left": { - "prefix": "fa-arrow-circle-left", - "body": "$0", - "description": "arrow-circle-left", - "scope": "" - }, - "arrow-circle-o-down": { - "prefix": "fa-arrow-circle-o-down", - "body": "$0", - "description": "arrow-circle-o-down", - "scope": "" - }, - "arrow-circle-o-left": { - "prefix": "fa-arrow-circle-o-left", - "body": "$0", - "description": "arrow-circle-o-left", - "scope": "" - }, - "arrow-circle-o-right": { - "prefix": "fa-arrow-circle-o-right", - "body": "$0", - "description": "arrow-circle-o-right", - "scope": "" - }, - "arrow-circle-o-up": { - "prefix": "fa-arrow-circle-o-up", - "body": "$0", - "description": "arrow-circle-o-up", - "scope": "" - }, - "arrow-circle-right": { - "prefix": "fa-arrow-circle-right", - "body": "$0", - "description": "arrow-circle-right", - "scope": "" - }, - "arrow-circle-up": { - "prefix": "fa-arrow-circle-up", - "body": "$0", - "description": "arrow-circle-up", - "scope": "" - }, - "arrow-down": { - "prefix": "fa-arrow-down", - "body": "$0", - "description": "arrow-down", - "scope": "" - }, - "arrow-left": { - "prefix": "fa-arrow-left", - "body": "$0", - "description": "arrow-left", - "scope": "" - }, - "arrow-right": { - "prefix": "fa-arrow-right", - "body": "$0", - "description": "arrow-right", - "scope": "" - }, - "arrows": { - "prefix": "fa-arrows", - "body": "$0", - "description": "arrows", - "scope": "" - }, - "arrows-alt": { - "prefix": "fa-arrows-alt", - "body": "$0", - "description": "arrows-alt", - "scope": "" - }, - "arrows-h": { - "prefix": "fa-arrows-h", - "body": "$0", - "description": "arrows-h", - "scope": "" - }, - "arrows-v": { - "prefix": "fa-arrows-v", - "body": "$0", - "description": "arrows-v", - "scope": "" - }, - "arrow-up": { - "prefix": "fa-arrow-up", - "body": "$0", - "description": "arrow-up", - "scope": "" - }, - "asl-interpreting": { - "prefix": "fa-asl-interpreting", - "body": "$0", - "description": "asl-interpreting", - "scope": "" - }, - "assistive-listening-systems": { - "prefix": "fa-assistive-listening-systems", - "body": "$0", - "description": "assistive-listening-systems", - "scope": "" - }, - "asterisk": { - "prefix": "fa-asterisk", - "body": "$0", - "description": "asterisk", - "scope": "" - }, - "at": { - "prefix": "fa-at", - "body": "$0", - "description": "at", - "scope": "" - }, - "audio-description": { - "prefix": "fa-audio-description", - "body": "$0", - "description": "audio-description", - "scope": "" - }, - "automobile": { - "prefix": "fa-automobile", - "body": "$0", - "description": "automobile", - "scope": "" - }, - "backward": { - "prefix": "fa-backward", - "body": "$0", - "description": "backward", - "scope": "" - }, - "balance-scale": { - "prefix": "fa-balance-scale", - "body": "$0", - "description": "balance-scale", - "scope": "" - }, - "ban": { - "prefix": "fa-ban", - "body": "$0", - "description": "ban", - "scope": "" - }, - "bandcamp": { - "prefix": "fa-bandcamp", - "body": "$0", - "description": "bandcamp", - "scope": "" - }, - "bank": { - "prefix": "fa-bank", - "body": "$0", - "description": "bank", - "scope": "" - }, - "bar-chart": { - "prefix": "fa-bar-chart", - "body": "$0", - "description": "bar-chart", - "scope": "" - }, - "bar-chart-o": { - "prefix": "fa-bar-chart-o", - "body": "$0", - "description": "bar-chart-o", - "scope": "" - }, - "barcode": { - "prefix": "fa-barcode", - "body": "$0", - "description": "barcode", - "scope": "" - }, - "bars": { - "prefix": "fa-bars", - "body": "$0", - "description": "bars", - "scope": "" - }, - "bath": { - "prefix": "fa-bath", - "body": "$0", - "description": "bath", - "scope": "" - }, - "bathtub": { - "prefix": "fa-bathtub", - "body": "$0", - "description": "bathtub", - "scope": "" - }, - "battery": { - "prefix": "fa-battery", - "body": "$0", - "description": "battery", - "scope": "" - }, - "battery-0": { - "prefix": "fa-battery-0", - "body": "$0", - "description": "battery-0", - "scope": "" - }, - "battery-1": { - "prefix": "fa-battery-1", - "body": "$0", - "description": "battery-1", - "scope": "" - }, - "battery-2": { - "prefix": "fa-battery-2", - "body": "$0", - "description": "battery-2", - "scope": "" - }, - "battery-3": { - "prefix": "fa-battery-3", - "body": "$0", - "description": "battery-3", - "scope": "" - }, - "battery-4": { - "prefix": "fa-battery-4", - "body": "$0", - "description": "battery-4", - "scope": "" - }, - "battery-empty": { - "prefix": "fa-battery-empty", - "body": "$0", - "description": "battery-empty", - "scope": "" - }, - "battery-full": { - "prefix": "fa-battery-full", - "body": "$0", - "description": "battery-full", - "scope": "" - }, - "battery-half": { - "prefix": "fa-battery-half", - "body": "$0", - "description": "battery-half", - "scope": "" - }, - "battery-quarter": { - "prefix": "fa-battery-quarter", - "body": "$0", - "description": "battery-quarter", - "scope": "" - }, - "battery-three-quarters": { - "prefix": "fa-battery-three-quarters", - "body": "$0", - "description": "battery-three-quarters", - "scope": "" - }, - "bed": { - "prefix": "fa-bed", - "body": "$0", - "description": "bed", - "scope": "" - }, - "beer": { - "prefix": "fa-beer", - "body": "$0", - "description": "beer", - "scope": "" - }, - "behance": { - "prefix": "fa-behance", - "body": "$0", - "description": "behance", - "scope": "" - }, - "behance-square": { - "prefix": "fa-behance-square", - "body": "$0", - "description": "behance-square", - "scope": "" - }, - "bell": { - "prefix": "fa-bell", - "body": "$0", - "description": "bell", - "scope": "" - }, - "bell-o": { - "prefix": "fa-bell-o", - "body": "$0", - "description": "bell-o", - "scope": "" - }, - "bell-slash": { - "prefix": "fa-bell-slash", - "body": "$0", - "description": "bell-slash", - "scope": "" - }, - "bell-slash-o": { - "prefix": "fa-bell-slash-o", - "body": "$0", - "description": "bell-slash-o", - "scope": "" - }, - "bicycle": { - "prefix": "fa-bicycle", - "body": "$0", - "description": "bicycle", - "scope": "" - }, - "binoculars": { - "prefix": "fa-binoculars", - "body": "$0", - "description": "binoculars", - "scope": "" - }, - "birthday-cake": { - "prefix": "fa-birthday-cake", - "body": "$0", - "description": "birthday-cake", - "scope": "" - }, - "bitbucket": { - "prefix": "fa-bitbucket", - "body": "$0", - "description": "bitbucket", - "scope": "" - }, - "bitbucket-square": { - "prefix": "fa-bitbucket-square", - "body": "$0", - "description": "bitbucket-square", - "scope": "" - }, - "bitcoin": { - "prefix": "fa-bitcoin", - "body": "$0", - "description": "bitcoin", - "scope": "" - }, - "black-tie": { - "prefix": "fa-black-tie", - "body": "$0", - "description": "black-tie", - "scope": "" - }, - "blind": { - "prefix": "fa-blind", - "body": "$0", - "description": "blind", - "scope": "" - }, - "bluetooth": { - "prefix": "fa-bluetooth", - "body": "$0", - "description": "bluetooth", - "scope": "" - }, - "bluetooth-b": { - "prefix": "fa-bluetooth-b", - "body": "$0", - "description": "bluetooth-b", - "scope": "" - }, - "bold": { - "prefix": "fa-bold", - "body": "$0", - "description": "bold", - "scope": "" - }, - "bolt": { - "prefix": "fa-bolt", - "body": "$0", - "description": "bolt", - "scope": "" - }, - "bomb": { - "prefix": "fa-bomb", - "body": "$0", - "description": "bomb", - "scope": "" - }, - "book": { - "prefix": "fa-book", - "body": "$0", - "description": "book", - "scope": "" - }, - "bookmark": { - "prefix": "fa-bookmark", - "body": "$0", - "description": "bookmark", - "scope": "" - }, - "bookmark-o": { - "prefix": "fa-bookmark-o", - "body": "$0", - "description": "bookmark-o", - "scope": "" - }, - "braille": { - "prefix": "fa-braille", - "body": "$0", - "description": "braille", - "scope": "" - }, - "briefcase": { - "prefix": "fa-briefcase", - "body": "$0", - "description": "briefcase", - "scope": "" - }, - "btc": { - "prefix": "fa-btc", - "body": "$0", - "description": "btc", - "scope": "" - }, - "bug": { - "prefix": "fa-bug", - "body": "$0", - "description": "bug", - "scope": "" - }, - "building": { - "prefix": "fa-building", - "body": "$0", - "description": "building", - "scope": "" - }, - "building-o": { - "prefix": "fa-building-o", - "body": "$0", - "description": "building-o", - "scope": "" - }, - "bullhorn": { - "prefix": "fa-bullhorn", - "body": "$0", - "description": "bullhorn", - "scope": "" - }, - "bullseye": { - "prefix": "fa-bullseye", - "body": "$0", - "description": "bullseye", - "scope": "" - }, - "bus": { - "prefix": "fa-bus", - "body": "$0", - "description": "bus", - "scope": "" - }, - "buysellads": { - "prefix": "fa-buysellads", - "body": "$0", - "description": "buysellads", - "scope": "" - }, - "cab": { - "prefix": "fa-cab", - "body": "$0", - "description": "cab", - "scope": "" - }, - "calculator": { - "prefix": "fa-calculator", - "body": "$0", - "description": "calculator", - "scope": "" - }, - "calendar": { - "prefix": "fa-calendar", - "body": "$0", - "description": "calendar", - "scope": "" - }, - "calendar-check-o": { - "prefix": "fa-calendar-check-o", - "body": "$0", - "description": "calendar-check-o", - "scope": "" - }, - "calendar-minus-o": { - "prefix": "fa-calendar-minus-o", - "body": "$0", - "description": "calendar-minus-o", - "scope": "" - }, - "calendar-o": { - "prefix": "fa-calendar-o", - "body": "$0", - "description": "calendar-o", - "scope": "" - }, - "calendar-plus-o": { - "prefix": "fa-calendar-plus-o", - "body": "$0", - "description": "calendar-plus-o", - "scope": "" - }, - "calendar-times-o": { - "prefix": "fa-calendar-times-o", - "body": "$0", - "description": "calendar-times-o", - "scope": "" - }, - "camera": { - "prefix": "fa-camera", - "body": "$0", - "description": "camera", - "scope": "" - }, - "camera-retro": { - "prefix": "fa-camera-retro", - "body": "$0", - "description": "camera-retro", - "scope": "" - }, - "car": { - "prefix": "fa-car", - "body": "$0", - "description": "car", - "scope": "" - }, - "caret-down": { - "prefix": "fa-caret-down", - "body": "$0", - "description": "caret-down", - "scope": "" - }, - "caret-left": { - "prefix": "fa-caret-left", - "body": "$0", - "description": "caret-left", - "scope": "" - }, - "caret-right": { - "prefix": "fa-caret-right", - "body": "$0", - "description": "caret-right", - "scope": "" - }, - "caret-square-o-down": { - "prefix": "fa-caret-square-o-down", - "body": "$0", - "description": "caret-square-o-down", - "scope": "" - }, - "caret-square-o-left": { - "prefix": "fa-caret-square-o-left", - "body": "$0", - "description": "caret-square-o-left", - "scope": "" - }, - "caret-square-o-right": { - "prefix": "fa-caret-square-o-right", - "body": "$0", - "description": "caret-square-o-right", - "scope": "" - }, - "caret-square-o-up": { - "prefix": "fa-caret-square-o-up", - "body": "$0", - "description": "caret-square-o-up", - "scope": "" - }, - "caret-up": { - "prefix": "fa-caret-up", - "body": "$0", - "description": "caret-up", - "scope": "" - }, - "cart-arrow-down": { - "prefix": "fa-cart-arrow-down", - "body": "$0", - "description": "cart-arrow-down", - "scope": "" - }, - "cart-plus": { - "prefix": "fa-cart-plus", - "body": "$0", - "description": "cart-plus", - "scope": "" - }, - "cc": { - "prefix": "fa-cc", - "body": "$0", - "description": "cc", - "scope": "" - }, - "cc-amex": { - "prefix": "fa-cc-amex", - "body": "$0", - "description": "cc-amex", - "scope": "" - }, - "cc-diners-club": { - "prefix": "fa-cc-diners-club", - "body": "$0", - "description": "cc-diners-club", - "scope": "" - }, - "cc-discover": { - "prefix": "fa-cc-discover", - "body": "$0", - "description": "cc-discover", - "scope": "" - }, - "cc-jcb": { - "prefix": "fa-cc-jcb", - "body": "$0", - "description": "cc-jcb", - "scope": "" - }, - "cc-mastercard": { - "prefix": "fa-cc-mastercard", - "body": "$0", - "description": "cc-mastercard", - "scope": "" - }, - "cc-paypal": { - "prefix": "fa-cc-paypal", - "body": "$0", - "description": "cc-paypal", - "scope": "" - }, - "cc-stripe": { - "prefix": "fa-cc-stripe", - "body": "$0", - "description": "cc-stripe", - "scope": "" - }, - "cc-visa": { - "prefix": "fa-cc-visa", - "body": "$0", - "description": "cc-visa", - "scope": "" - }, - "certificate": { - "prefix": "fa-certificate", - "body": "$0", - "description": "certificate", - "scope": "" - }, - "chain": { - "prefix": "fa-chain", - "body": "$0", - "description": "chain", - "scope": "" - }, - "chain-broken": { - "prefix": "fa-chain-broken", - "body": "$0", - "description": "chain-broken", - "scope": "" - }, - "check": { - "prefix": "fa-check", - "body": "$0", - "description": "check", - "scope": "" - }, - "check-circle": { - "prefix": "fa-check-circle", - "body": "$0", - "description": "check-circle", - "scope": "" - }, - "check-circle-o": { - "prefix": "fa-check-circle-o", - "body": "$0", - "description": "check-circle-o", - "scope": "" - }, - "check-square": { - "prefix": "fa-check-square", - "body": "$0", - "description": "check-square", - "scope": "" - }, - "check-square-o": { - "prefix": "fa-check-square-o", - "body": "$0", - "description": "check-square-o", - "scope": "" - }, - "chevron-circle-down": { - "prefix": "fa-chevron-circle-down", - "body": "$0", - "description": "chevron-circle-down", - "scope": "" - }, - "chevron-circle-left": { - "prefix": "fa-chevron-circle-left", - "body": "$0", - "description": "chevron-circle-left", - "scope": "" - }, - "chevron-circle-right": { - "prefix": "fa-chevron-circle-right", - "body": "$0", - "description": "chevron-circle-right", - "scope": "" - }, - "chevron-circle-up": { - "prefix": "fa-chevron-circle-up", - "body": "$0", - "description": "chevron-circle-up", - "scope": "" - }, - "chevron-down": { - "prefix": "fa-chevron-down", - "body": "$0", - "description": "chevron-down", - "scope": "" - }, - "chevron-left": { - "prefix": "fa-chevron-left", - "body": "$0", - "description": "chevron-left", - "scope": "" - }, - "chevron-right": { - "prefix": "fa-chevron-right", - "body": "$0", - "description": "chevron-right", - "scope": "" - }, - "chevron-up": { - "prefix": "fa-chevron-up", - "body": "$0", - "description": "chevron-up", - "scope": "" - }, - "child": { - "prefix": "fa-child", - "body": "$0", - "description": "child", - "scope": "" - }, - "chrome": { - "prefix": "fa-chrome", - "body": "$0", - "description": "chrome", - "scope": "" - }, - "circle": { - "prefix": "fa-circle", - "body": "$0", - "description": "circle", - "scope": "" - }, - "circle-o": { - "prefix": "fa-circle-o", - "body": "$0", - "description": "circle-o", - "scope": "" - }, - "circle-o-notch": { - "prefix": "fa-circle-o-notch", - "body": "$0", - "description": "circle-o-notch", - "scope": "" - }, - "circle-thin": { - "prefix": "fa-circle-thin", - "body": "$0", - "description": "circle-thin", - "scope": "" - }, - "clipboard": { - "prefix": "fa-clipboard", - "body": "$0", - "description": "clipboard", - "scope": "" - }, - "clock-o": { - "prefix": "fa-clock-o", - "body": "$0", - "description": "clock-o", - "scope": "" - }, - "clone": { - "prefix": "fa-clone", - "body": "$0", - "description": "clone", - "scope": "" - }, - "close": { - "prefix": "fa-close", - "body": "$0", - "description": "close", - "scope": "" - }, - "cloud": { - "prefix": "fa-cloud", - "body": "$0", - "description": "cloud", - "scope": "" - }, - "cloud-download": { - "prefix": "fa-cloud-download", - "body": "$0", - "description": "cloud-download", - "scope": "" - }, - "cloud-upload": { - "prefix": "fa-cloud-upload", - "body": "$0", - "description": "cloud-upload", - "scope": "" - }, - "cny": { - "prefix": "fa-cny", - "body": "$0", - "description": "cny", - "scope": "" - }, - "code": { - "prefix": "fa-code", - "body": "$0", - "description": "code", - "scope": "" - }, - "code-fork": { - "prefix": "fa-code-fork", - "body": "$0", - "description": "code-fork", - "scope": "" - }, - "codepen": { - "prefix": "fa-codepen", - "body": "$0", - "description": "codepen", - "scope": "" - }, - "codiepie": { - "prefix": "fa-codiepie", - "body": "$0", - "description": "codiepie", - "scope": "" - }, - "coffee": { - "prefix": "fa-coffee", - "body": "$0", - "description": "coffee", - "scope": "" - }, - "cog": { - "prefix": "fa-cog", - "body": "$0", - "description": "cog", - "scope": "" - }, - "cogs": { - "prefix": "fa-cogs", - "body": "$0", - "description": "cogs", - "scope": "" - }, - "columns": { - "prefix": "fa-columns", - "body": "$0", - "description": "columns", - "scope": "" - }, - "comment": { - "prefix": "fa-comment", - "body": "$0", - "description": "comment", - "scope": "" - }, - "commenting": { - "prefix": "fa-commenting", - "body": "$0", - "description": "commenting", - "scope": "" - }, - "commenting-o": { - "prefix": "fa-commenting-o", - "body": "$0", - "description": "commenting-o", - "scope": "" - }, - "comment-o": { - "prefix": "fa-comment-o", - "body": "$0", - "description": "comment-o", - "scope": "" - }, - "comments": { - "prefix": "fa-comments", - "body": "$0", - "description": "comments", - "scope": "" - }, - "comments-o": { - "prefix": "fa-comments-o", - "body": "$0", - "description": "comments-o", - "scope": "" - }, - "compass": { - "prefix": "fa-compass", - "body": "$0", - "description": "compass", - "scope": "" - }, - "compress": { - "prefix": "fa-compress", - "body": "$0", - "description": "compress", - "scope": "" - }, - "connectdevelop": { - "prefix": "fa-connectdevelop", - "body": "$0", - "description": "connectdevelop", - "scope": "" - }, - "contao": { - "prefix": "fa-contao", - "body": "$0", - "description": "contao", - "scope": "" - }, - "copy": { - "prefix": "fa-copy", - "body": "$0", - "description": "copy", - "scope": "" - }, - "copyright": { - "prefix": "fa-copyright", - "body": "$0", - "description": "copyright", - "scope": "" - }, - "creative-commons": { - "prefix": "fa-creative-commons", - "body": "$0", - "description": "creative-commons", - "scope": "" - }, - "credit-card": { - "prefix": "fa-credit-card", - "body": "$0", - "description": "credit-card", - "scope": "" - }, - "credit-card-alt": { - "prefix": "fa-credit-card-alt", - "body": "$0", - "description": "credit-card-alt", - "scope": "" - }, - "crop": { - "prefix": "fa-crop", - "body": "$0", - "description": "crop", - "scope": "" - }, - "crosshairs": { - "prefix": "fa-crosshairs", - "body": "$0", - "description": "crosshairs", - "scope": "" - }, - "css3": { - "prefix": "fa-css3", - "body": "$0", - "description": "css3", - "scope": "" - }, - "cube": { - "prefix": "fa-cube", - "body": "$0", - "description": "cube", - "scope": "" - }, - "cubes": { - "prefix": "fa-cubes", - "body": "$0", - "description": "cubes", - "scope": "" - }, - "cut": { - "prefix": "fa-cut", - "body": "$0", - "description": "cut", - "scope": "" - }, - "cutlery": { - "prefix": "fa-cutlery", - "body": "$0", - "description": "cutlery", - "scope": "" - }, - "dashboard": { - "prefix": "fa-dashboard", - "body": "$0", - "description": "dashboard", - "scope": "" - }, - "dashcube": { - "prefix": "fa-dashcube", - "body": "$0", - "description": "dashcube", - "scope": "" - }, - "database": { - "prefix": "fa-database", - "body": "$0", - "description": "database", - "scope": "" - }, - "deaf": { - "prefix": "fa-deaf", - "body": "$0", - "description": "deaf", - "scope": "" - }, - "deafness": { - "prefix": "fa-deafness", - "body": "$0", - "description": "deafness", - "scope": "" - }, - "dedent": { - "prefix": "fa-dedent", - "body": "$0", - "description": "dedent", - "scope": "" - }, - "delicious": { - "prefix": "fa-delicious", - "body": "$0", - "description": "delicious", - "scope": "" - }, - "desktop": { - "prefix": "fa-desktop", - "body": "$0", - "description": "desktop", - "scope": "" - }, - "deviantart": { - "prefix": "fa-deviantart", - "body": "$0", - "description": "deviantart", - "scope": "" - }, - "diamond": { - "prefix": "fa-diamond", - "body": "$0", - "description": "diamond", - "scope": "" - }, - "digg": { - "prefix": "fa-digg", - "body": "$0", - "description": "digg", - "scope": "" - }, - "dollar": { - "prefix": "fa-dollar", - "body": "$0", - "description": "dollar", - "scope": "" - }, - "dot-circle-o": { - "prefix": "fa-dot-circle-o", - "body": "$0", - "description": "dot-circle-o", - "scope": "" - }, - "download": { - "prefix": "fa-download", - "body": "$0", - "description": "download", - "scope": "" - }, - "dribbble": { - "prefix": "fa-dribbble", - "body": "$0", - "description": "dribbble", - "scope": "" - }, - "drivers-license": { - "prefix": "fa-drivers-license", - "body": "$0", - "description": "drivers-license", - "scope": "" - }, - "drivers-license-o": { - "prefix": "fa-drivers-license-o", - "body": "$0", - "description": "drivers-license-o", - "scope": "" - }, - "dropbox": { - "prefix": "fa-dropbox", - "body": "$0", - "description": "dropbox", - "scope": "" - }, - "drupal": { - "prefix": "fa-drupal", - "body": "$0", - "description": "drupal", - "scope": "" - }, - "edge": { - "prefix": "fa-edge", - "body": "$0", - "description": "edge", - "scope": "" - }, - "edit": { - "prefix": "fa-edit", - "body": "$0", - "description": "edit", - "scope": "" - }, - "eercast": { - "prefix": "fa-eercast", - "body": "$0", - "description": "eercast", - "scope": "" - }, - "eject": { - "prefix": "fa-eject", - "body": "$0", - "description": "eject", - "scope": "" - }, - "ellipsis-h": { - "prefix": "fa-ellipsis-h", - "body": "$0", - "description": "ellipsis-h", - "scope": "" - }, - "ellipsis-v": { - "prefix": "fa-ellipsis-v", - "body": "$0", - "description": "ellipsis-v", - "scope": "" - }, - "empire": { - "prefix": "fa-empire", - "body": "$0", - "description": "empire", - "scope": "" - }, - "envelope": { - "prefix": "fa-envelope", - "body": "$0", - "description": "envelope", - "scope": "" - }, - "envelope-o": { - "prefix": "fa-envelope-o", - "body": "$0", - "description": "envelope-o", - "scope": "" - }, - "envelope-open": { - "prefix": "fa-envelope-open", - "body": "$0", - "description": "envelope-open", - "scope": "" - }, - "envelope-open-o": { - "prefix": "fa-envelope-open-o", - "body": "$0", - "description": "envelope-open-o", - "scope": "" - }, - "envelope-square": { - "prefix": "fa-envelope-square", - "body": "$0", - "description": "envelope-square", - "scope": "" - }, - "envira": { - "prefix": "fa-envira", - "body": "$0", - "description": "envira", - "scope": "" - }, - "eraser": { - "prefix": "fa-eraser", - "body": "$0", - "description": "eraser", - "scope": "" - }, - "etsy": { - "prefix": "fa-etsy", - "body": "$0", - "description": "etsy", - "scope": "" - }, - "eur": { - "prefix": "fa-eur", - "body": "$0", - "description": "eur", - "scope": "" - }, - "euro": { - "prefix": "fa-euro", - "body": "$0", - "description": "euro", - "scope": "" - }, - "exchange": { - "prefix": "fa-exchange", - "body": "$0", - "description": "exchange", - "scope": "" - }, - "exclamation": { - "prefix": "fa-exclamation", - "body": "$0", - "description": "exclamation", - "scope": "" - }, - "exclamation-circle": { - "prefix": "fa-exclamation-circle", - "body": "$0", - "description": "exclamation-circle", - "scope": "" - }, - "exclamation-triangle": { - "prefix": "fa-exclamation-triangle", - "body": "$0", - "description": "exclamation-triangle", - "scope": "" - }, - "expand": { - "prefix": "fa-expand", - "body": "$0", - "description": "expand", - "scope": "" - }, - "expeditedssl": { - "prefix": "fa-expeditedssl", - "body": "$0", - "description": "expeditedssl", - "scope": "" - }, - "external-link": { - "prefix": "fa-external-link", - "body": "$0", - "description": "external-link", - "scope": "" - }, - "external-link-square": { - "prefix": "fa-external-link-square", - "body": "$0", - "description": "external-link-square", - "scope": "" - }, - "eye": { - "prefix": "fa-eye", - "body": "$0", - "description": "eye", - "scope": "" - }, - "eyedropper": { - "prefix": "fa-eyedropper", - "body": "$0", - "description": "eyedropper", - "scope": "" - }, - "eye-slash": { - "prefix": "fa-eye-slash", - "body": "$0", - "description": "eye-slash", - "scope": "" - }, - "fa": { - "prefix": "fa-fa", - "body": "$0", - "description": "fa", - "scope": "" - }, - "facebook": { - "prefix": "fa-facebook", - "body": "$0", - "description": "facebook", - "scope": "" - }, - "facebook-f": { - "prefix": "fa-facebook-f", - "body": "$0", - "description": "facebook-f", - "scope": "" - }, - "facebook-official": { - "prefix": "fa-facebook-official", - "body": "$0", - "description": "facebook-official", - "scope": "" - }, - "facebook-square": { - "prefix": "fa-facebook-square", - "body": "$0", - "description": "facebook-square", - "scope": "" - }, - "fast-backward": { - "prefix": "fa-fast-backward", - "body": "$0", - "description": "fast-backward", - "scope": "" - }, - "fast-forward": { - "prefix": "fa-fast-forward", - "body": "$0", - "description": "fast-forward", - "scope": "" - }, - "fax": { - "prefix": "fa-fax", - "body": "$0", - "description": "fax", - "scope": "" - }, - "feed": { - "prefix": "fa-feed", - "body": "$0", - "description": "feed", - "scope": "" - }, - "female": { - "prefix": "fa-female", - "body": "$0", - "description": "female", - "scope": "" - }, - "fighter-jet": { - "prefix": "fa-fighter-jet", - "body": "$0", - "description": "fighter-jet", - "scope": "" - }, - "file": { - "prefix": "fa-file", - "body": "$0", - "description": "file", - "scope": "" - }, - "file-archive-o": { - "prefix": "fa-file-archive-o", - "body": "$0", - "description": "file-archive-o", - "scope": "" - }, - "file-audio-o": { - "prefix": "fa-file-audio-o", - "body": "$0", - "description": "file-audio-o", - "scope": "" - }, - "file-code-o": { - "prefix": "fa-file-code-o", - "body": "$0", - "description": "file-code-o", - "scope": "" - }, - "file-excel-o": { - "prefix": "fa-file-excel-o", - "body": "$0", - "description": "file-excel-o", - "scope": "" - }, - "file-image-o": { - "prefix": "fa-file-image-o", - "body": "$0", - "description": "file-image-o", - "scope": "" - }, - "file-movie-o": { - "prefix": "fa-file-movie-o", - "body": "$0", - "description": "file-movie-o", - "scope": "" - }, - "file-o": { - "prefix": "fa-file-o", - "body": "$0", - "description": "file-o", - "scope": "" - }, - "file-pdf-o": { - "prefix": "fa-file-pdf-o", - "body": "$0", - "description": "file-pdf-o", - "scope": "" - }, - "file-photo-o": { - "prefix": "fa-file-photo-o", - "body": "$0", - "description": "file-photo-o", - "scope": "" - }, - "file-picture-o": { - "prefix": "fa-file-picture-o", - "body": "$0", - "description": "file-picture-o", - "scope": "" - }, - "file-powerpoint-o": { - "prefix": "fa-file-powerpoint-o", - "body": "$0", - "description": "file-powerpoint-o", - "scope": "" - }, - "files-o": { - "prefix": "fa-files-o", - "body": "$0", - "description": "files-o", - "scope": "" - }, - "file-sound-o": { - "prefix": "fa-file-sound-o", - "body": "$0", - "description": "file-sound-o", - "scope": "" - }, - "file-text": { - "prefix": "fa-file-text", - "body": "$0", - "description": "file-text", - "scope": "" - }, - "file-text-o": { - "prefix": "fa-file-text-o", - "body": "$0", - "description": "file-text-o", - "scope": "" - }, - "file-video-o": { - "prefix": "fa-file-video-o", - "body": "$0", - "description": "file-video-o", - "scope": "" - }, - "file-word-o": { - "prefix": "fa-file-word-o", - "body": "$0", - "description": "file-word-o", - "scope": "" - }, - "file-zip-o": { - "prefix": "fa-file-zip-o", - "body": "$0", - "description": "file-zip-o", - "scope": "" - }, - "film": { - "prefix": "fa-film", - "body": "$0", - "description": "film", - "scope": "" - }, - "filter": { - "prefix": "fa-filter", - "body": "$0", - "description": "filter", - "scope": "" - }, - "fire": { - "prefix": "fa-fire", - "body": "$0", - "description": "fire", - "scope": "" - }, - "fire-extinguisher": { - "prefix": "fa-fire-extinguisher", - "body": "$0", - "description": "fire-extinguisher", - "scope": "" - }, - "firefox": { - "prefix": "fa-firefox", - "body": "$0", - "description": "firefox", - "scope": "" - }, - "first-order": { - "prefix": "fa-first-order", - "body": "$0", - "description": "first-order", - "scope": "" - }, - "flag": { - "prefix": "fa-flag", - "body": "$0", - "description": "flag", - "scope": "" - }, - "flag-checkered": { - "prefix": "fa-flag-checkered", - "body": "$0", - "description": "flag-checkered", - "scope": "" - }, - "flag-o": { - "prefix": "fa-flag-o", - "body": "$0", - "description": "flag-o", - "scope": "" - }, - "flash": { - "prefix": "fa-flash", - "body": "$0", - "description": "flash", - "scope": "" - }, - "flask": { - "prefix": "fa-flask", - "body": "$0", - "description": "flask", - "scope": "" - }, - "flickr": { - "prefix": "fa-flickr", - "body": "$0", - "description": "flickr", - "scope": "" - }, - "floppy-o": { - "prefix": "fa-floppy-o", - "body": "$0", - "description": "floppy-o", - "scope": "" - }, - "folder": { - "prefix": "fa-folder", - "body": "$0", - "description": "folder", - "scope": "" - }, - "folder-o": { - "prefix": "fa-folder-o", - "body": "$0", - "description": "folder-o", - "scope": "" - }, - "folder-open": { - "prefix": "fa-folder-open", - "body": "$0", - "description": "folder-open", - "scope": "" - }, - "folder-open-o": { - "prefix": "fa-folder-open-o", - "body": "$0", - "description": "folder-open-o", - "scope": "" - }, - "font": { - "prefix": "fa-font", - "body": "$0", - "description": "font", - "scope": "" - }, - "font-awesome": { - "prefix": "fa-font-awesome", - "body": "$0", - "description": "font-awesome", - "scope": "" - }, - "fonticons": { - "prefix": "fa-fonticons", - "body": "$0", - "description": "fonticons", - "scope": "" - }, - "fort-awesome": { - "prefix": "fa-fort-awesome", - "body": "$0", - "description": "fort-awesome", - "scope": "" - }, - "forumbee": { - "prefix": "fa-forumbee", - "body": "$0", - "description": "forumbee", - "scope": "" - }, - "forward": { - "prefix": "fa-forward", - "body": "$0", - "description": "forward", - "scope": "" - }, - "foursquare": { - "prefix": "fa-foursquare", - "body": "$0", - "description": "foursquare", - "scope": "" - }, - "free-code-camp": { - "prefix": "fa-free-code-camp", - "body": "$0", - "description": "free-code-camp", - "scope": "" - }, - "frown-o": { - "prefix": "fa-frown-o", - "body": "$0", - "description": "frown-o", - "scope": "" - }, - "futbol-o": { - "prefix": "fa-futbol-o", - "body": "$0", - "description": "futbol-o", - "scope": "" - }, - "gamepad": { - "prefix": "fa-gamepad", - "body": "$0", - "description": "gamepad", - "scope": "" - }, - "gavel": { - "prefix": "fa-gavel", - "body": "$0", - "description": "gavel", - "scope": "" - }, - "gbp": { - "prefix": "fa-gbp", - "body": "$0", - "description": "gbp", - "scope": "" - }, - "ge": { - "prefix": "fa-ge", - "body": "$0", - "description": "ge", - "scope": "" - }, - "gear": { - "prefix": "fa-gear", - "body": "$0", - "description": "gear", - "scope": "" - }, - "gears": { - "prefix": "fa-gears", - "body": "$0", - "description": "gears", - "scope": "" - }, - "genderless": { - "prefix": "fa-genderless", - "body": "$0", - "description": "genderless", - "scope": "" - }, - "get-pocket": { - "prefix": "fa-get-pocket", - "body": "$0", - "description": "get-pocket", - "scope": "" - }, - "gg": { - "prefix": "fa-gg", - "body": "$0", - "description": "gg", - "scope": "" - }, - "gg-circle": { - "prefix": "fa-gg-circle", - "body": "$0", - "description": "gg-circle", - "scope": "" - }, - "gift": { - "prefix": "fa-gift", - "body": "$0", - "description": "gift", - "scope": "" - }, - "git": { - "prefix": "fa-git", - "body": "$0", - "description": "git", - "scope": "" - }, - "github": { - "prefix": "fa-github", - "body": "$0", - "description": "github", - "scope": "" - }, - "github-alt": { - "prefix": "fa-github-alt", - "body": "$0", - "description": "github-alt", - "scope": "" - }, - "github-square": { - "prefix": "fa-github-square", - "body": "$0", - "description": "github-square", - "scope": "" - }, - "gitlab": { - "prefix": "fa-gitlab", - "body": "$0", - "description": "gitlab", - "scope": "" - }, - "git-square": { - "prefix": "fa-git-square", - "body": "$0", - "description": "git-square", - "scope": "" - }, - "gittip": { - "prefix": "fa-gittip", - "body": "$0", - "description": "gittip", - "scope": "" - }, - "glass": { - "prefix": "fa-glass", - "body": "$0", - "description": "glass", - "scope": "" - }, - "glide": { - "prefix": "fa-glide", - "body": "$0", - "description": "glide", - "scope": "" - }, - "glide-g": { - "prefix": "fa-glide-g", - "body": "$0", - "description": "glide-g", - "scope": "" - }, - "globe": { - "prefix": "fa-globe", - "body": "$0", - "description": "globe", - "scope": "" - }, - "google": { - "prefix": "fa-google", - "body": "$0", - "description": "google", - "scope": "" - }, - "google-plus": { - "prefix": "fa-google-plus", - "body": "$0", - "description": "google-plus", - "scope": "" - }, - "google-plus-circle": { - "prefix": "fa-google-plus-circle", - "body": "$0", - "description": "google-plus-circle", - "scope": "" - }, - "google-plus-official": { - "prefix": "fa-google-plus-official", - "body": "$0", - "description": "google-plus-official", - "scope": "" - }, - "google-plus-square": { - "prefix": "fa-google-plus-square", - "body": "$0", - "description": "google-plus-square", - "scope": "" - }, - "google-wallet": { - "prefix": "fa-google-wallet", - "body": "$0", - "description": "google-wallet", - "scope": "" - }, - "graduation-cap": { - "prefix": "fa-graduation-cap", - "body": "$0", - "description": "graduation-cap", - "scope": "" - }, - "gratipay": { - "prefix": "fa-gratipay", - "body": "$0", - "description": "gratipay", - "scope": "" - }, - "grav": { - "prefix": "fa-grav", - "body": "$0", - "description": "grav", - "scope": "" - }, - "group": { - "prefix": "fa-group", - "body": "$0", - "description": "group", - "scope": "" - }, - "hacker-news": { - "prefix": "fa-hacker-news", - "body": "$0", - "description": "hacker-news", - "scope": "" - }, - "hand-grab-o": { - "prefix": "fa-hand-grab-o", - "body": "$0", - "description": "hand-grab-o", - "scope": "" - }, - "hand-lizard-o": { - "prefix": "fa-hand-lizard-o", - "body": "$0", - "description": "hand-lizard-o", - "scope": "" - }, - "hand-o-down": { - "prefix": "fa-hand-o-down", - "body": "$0", - "description": "hand-o-down", - "scope": "" - }, - "hand-o-left": { - "prefix": "fa-hand-o-left", - "body": "$0", - "description": "hand-o-left", - "scope": "" - }, - "hand-o-right": { - "prefix": "fa-hand-o-right", - "body": "$0", - "description": "hand-o-right", - "scope": "" - }, - "hand-o-up": { - "prefix": "fa-hand-o-up", - "body": "$0", - "description": "hand-o-up", - "scope": "" - }, - "hand-paper-o": { - "prefix": "fa-hand-paper-o", - "body": "$0", - "description": "hand-paper-o", - "scope": "" - }, - "hand-peace-o": { - "prefix": "fa-hand-peace-o", - "body": "$0", - "description": "hand-peace-o", - "scope": "" - }, - "hand-pointer-o": { - "prefix": "fa-hand-pointer-o", - "body": "$0", - "description": "hand-pointer-o", - "scope": "" - }, - "hand-rock-o": { - "prefix": "fa-hand-rock-o", - "body": "$0", - "description": "hand-rock-o", - "scope": "" - }, - "hand-scissors-o": { - "prefix": "fa-hand-scissors-o", - "body": "$0", - "description": "hand-scissors-o", - "scope": "" - }, - "handshake-o": { - "prefix": "fa-handshake-o", - "body": "$0", - "description": "handshake-o", - "scope": "" - }, - "hand-spock-o": { - "prefix": "fa-hand-spock-o", - "body": "$0", - "description": "hand-spock-o", - "scope": "" - }, - "hand-stop-o": { - "prefix": "fa-hand-stop-o", - "body": "$0", - "description": "hand-stop-o", - "scope": "" - }, - "hard-of-hearing": { - "prefix": "fa-hard-of-hearing", - "body": "$0", - "description": "hard-of-hearing", - "scope": "" - }, - "hashtag": { - "prefix": "fa-hashtag", - "body": "$0", - "description": "hashtag", - "scope": "" - }, - "hdd-o": { - "prefix": "fa-hdd-o", - "body": "$0", - "description": "hdd-o", - "scope": "" - }, - "header": { - "prefix": "fa-header", - "body": "$0", - "description": "header", - "scope": "" - }, - "headphones": { - "prefix": "fa-headphones", - "body": "$0", - "description": "headphones", - "scope": "" - }, - "heart": { - "prefix": "fa-heart", - "body": "$0", - "description": "heart", - "scope": "" - }, - "heartbeat": { - "prefix": "fa-heartbeat", - "body": "$0", - "description": "heartbeat", - "scope": "" - }, - "heart-o": { - "prefix": "fa-heart-o", - "body": "$0", - "description": "heart-o", - "scope": "" - }, - "history": { - "prefix": "fa-history", - "body": "$0", - "description": "history", - "scope": "" - }, - "home": { - "prefix": "fa-home", - "body": "$0", - "description": "home", - "scope": "" - }, - "hospital-o": { - "prefix": "fa-hospital-o", - "body": "$0", - "description": "hospital-o", - "scope": "" - }, - "hotel": { - "prefix": "fa-hotel", - "body": "$0", - "description": "hotel", - "scope": "" - }, - "hourglass": { - "prefix": "fa-hourglass", - "body": "$0", - "description": "hourglass", - "scope": "" - }, - "hourglass-1": { - "prefix": "fa-hourglass-1", - "body": "$0", - "description": "hourglass-1", - "scope": "" - }, - "hourglass-2": { - "prefix": "fa-hourglass-2", - "body": "$0", - "description": "hourglass-2", - "scope": "" - }, - "hourglass-3": { - "prefix": "fa-hourglass-3", - "body": "$0", - "description": "hourglass-3", - "scope": "" - }, - "hourglass-end": { - "prefix": "fa-hourglass-end", - "body": "$0", - "description": "hourglass-end", - "scope": "" - }, - "hourglass-half": { - "prefix": "fa-hourglass-half", - "body": "$0", - "description": "hourglass-half", - "scope": "" - }, - "hourglass-o": { - "prefix": "fa-hourglass-o", - "body": "$0", - "description": "hourglass-o", - "scope": "" - }, - "hourglass-start": { - "prefix": "fa-hourglass-start", - "body": "$0", - "description": "hourglass-start", - "scope": "" - }, - "houzz": { - "prefix": "fa-houzz", - "body": "$0", - "description": "houzz", - "scope": "" - }, - "h-square": { - "prefix": "fa-h-square", - "body": "$0", - "description": "h-square", - "scope": "" - }, - "html5": { - "prefix": "fa-html5", - "body": "$0", - "description": "html5", - "scope": "" - }, - "i-cursor": { - "prefix": "fa-i-cursor", - "body": "$0", - "description": "i-cursor", - "scope": "" - }, - "id-badge": { - "prefix": "fa-id-badge", - "body": "$0", - "description": "id-badge", - "scope": "" - }, - "id-card": { - "prefix": "fa-id-card", - "body": "$0", - "description": "id-card", - "scope": "" - }, - "id-card-o": { - "prefix": "fa-id-card-o", - "body": "$0", - "description": "id-card-o", - "scope": "" - }, - "ils": { - "prefix": "fa-ils", - "body": "$0", - "description": "ils", - "scope": "" - }, - "image": { - "prefix": "fa-image", - "body": "$0", - "description": "image", - "scope": "" - }, - "imdb": { - "prefix": "fa-imdb", - "body": "$0", - "description": "imdb", - "scope": "" - }, - "inbox": { - "prefix": "fa-inbox", - "body": "$0", - "description": "inbox", - "scope": "" - }, - "indent": { - "prefix": "fa-indent", - "body": "$0", - "description": "indent", - "scope": "" - }, - "industry": { - "prefix": "fa-industry", - "body": "$0", - "description": "industry", - "scope": "" - }, - "info": { - "prefix": "fa-info", - "body": "$0", - "description": "info", - "scope": "" - }, - "info-circle": { - "prefix": "fa-info-circle", - "body": "$0", - "description": "info-circle", - "scope": "" - }, - "inr": { - "prefix": "fa-inr", - "body": "$0", - "description": "inr", - "scope": "" - }, - "instagram": { - "prefix": "fa-instagram", - "body": "$0", - "description": "instagram", - "scope": "" - }, - "institution": { - "prefix": "fa-institution", - "body": "$0", - "description": "institution", - "scope": "" - }, - "internet-explorer": { - "prefix": "fa-internet-explorer", - "body": "$0", - "description": "internet-explorer", - "scope": "" - }, - "intersex": { - "prefix": "fa-intersex", - "body": "$0", - "description": "intersex", - "scope": "" - }, - "ioxhost": { - "prefix": "fa-ioxhost", - "body": "$0", - "description": "ioxhost", - "scope": "" - }, - "italic": { - "prefix": "fa-italic", - "body": "$0", - "description": "italic", - "scope": "" - }, - "joomla": { - "prefix": "fa-joomla", - "body": "$0", - "description": "joomla", - "scope": "" - }, - "jpy": { - "prefix": "fa-jpy", - "body": "$0", - "description": "jpy", - "scope": "" - }, - "jsfiddle": { - "prefix": "fa-jsfiddle", - "body": "$0", - "description": "jsfiddle", - "scope": "" - }, - "key": { - "prefix": "fa-key", - "body": "$0", - "description": "key", - "scope": "" - }, - "keyboard-o": { - "prefix": "fa-keyboard-o", - "body": "$0", - "description": "keyboard-o", - "scope": "" - }, - "krw": { - "prefix": "fa-krw", - "body": "$0", - "description": "krw", - "scope": "" - }, - "language": { - "prefix": "fa-language", - "body": "$0", - "description": "language", - "scope": "" - }, - "laptop": { - "prefix": "fa-laptop", - "body": "$0", - "description": "laptop", - "scope": "" - }, - "lastfm": { - "prefix": "fa-lastfm", - "body": "$0", - "description": "lastfm", - "scope": "" - }, - "lastfm-square": { - "prefix": "fa-lastfm-square", - "body": "$0", - "description": "lastfm-square", - "scope": "" - }, - "leaf": { - "prefix": "fa-leaf", - "body": "$0", - "description": "leaf", - "scope": "" - }, - "leanpub": { - "prefix": "fa-leanpub", - "body": "$0", - "description": "leanpub", - "scope": "" - }, - "legal": { - "prefix": "fa-legal", - "body": "$0", - "description": "legal", - "scope": "" - }, - "lemon-o": { - "prefix": "fa-lemon-o", - "body": "$0", - "description": "lemon-o", - "scope": "" - }, - "level-down": { - "prefix": "fa-level-down", - "body": "$0", - "description": "level-down", - "scope": "" - }, - "level-up": { - "prefix": "fa-level-up", - "body": "$0", - "description": "level-up", - "scope": "" - }, - "life-bouy": { - "prefix": "fa-life-bouy", - "body": "$0", - "description": "life-bouy", - "scope": "" - }, - "life-buoy": { - "prefix": "fa-life-buoy", - "body": "$0", - "description": "life-buoy", - "scope": "" - }, - "life-ring": { - "prefix": "fa-life-ring", - "body": "$0", - "description": "life-ring", - "scope": "" - }, - "life-saver": { - "prefix": "fa-life-saver", - "body": "$0", - "description": "life-saver", - "scope": "" - }, - "lightbulb-o": { - "prefix": "fa-lightbulb-o", - "body": "$0", - "description": "lightbulb-o", - "scope": "" - }, - "line-chart": { - "prefix": "fa-line-chart", - "body": "$0", - "description": "line-chart", - "scope": "" - }, - "link": { - "prefix": "fa-link", - "body": "$0", - "description": "link", - "scope": "" - }, - "linkedin": { - "prefix": "fa-linkedin", - "body": "$0", - "description": "linkedin", - "scope": "" - }, - "linkedin-square": { - "prefix": "fa-linkedin-square", - "body": "$0", - "description": "linkedin-square", - "scope": "" - }, - "linode": { - "prefix": "fa-linode", - "body": "$0", - "description": "linode", - "scope": "" - }, - "linux": { - "prefix": "fa-linux", - "body": "$0", - "description": "linux", - "scope": "" - }, - "list": { - "prefix": "fa-list", - "body": "$0", - "description": "list", - "scope": "" - }, - "list-alt": { - "prefix": "fa-list-alt", - "body": "$0", - "description": "list-alt", - "scope": "" - }, - "list-ol": { - "prefix": "fa-list-ol", - "body": "$0", - "description": "list-ol", - "scope": "" - }, - "list-ul": { - "prefix": "fa-list-ul", - "body": "$0", - "description": "list-ul", - "scope": "" - }, - "location-arrow": { - "prefix": "fa-location-arrow", - "body": "$0", - "description": "location-arrow", - "scope": "" - }, - "lock": { - "prefix": "fa-lock", - "body": "$0", - "description": "lock", - "scope": "" - }, - "long-arrow-down": { - "prefix": "fa-long-arrow-down", - "body": "$0", - "description": "long-arrow-down", - "scope": "" - }, - "long-arrow-left": { - "prefix": "fa-long-arrow-left", - "body": "$0", - "description": "long-arrow-left", - "scope": "" - }, - "long-arrow-right": { - "prefix": "fa-long-arrow-right", - "body": "$0", - "description": "long-arrow-right", - "scope": "" - }, - "long-arrow-up": { - "prefix": "fa-long-arrow-up", - "body": "$0", - "description": "long-arrow-up", - "scope": "" - }, - "low-vision": { - "prefix": "fa-low-vision", - "body": "$0", - "description": "low-vision", - "scope": "" - }, - "magic": { - "prefix": "fa-magic", - "body": "$0", - "description": "magic", - "scope": "" - }, - "magnet": { - "prefix": "fa-magnet", - "body": "$0", - "description": "magnet", - "scope": "" - }, - "mail-forward": { - "prefix": "fa-mail-forward", - "body": "$0", - "description": "mail-forward", - "scope": "" - }, - "mail-reply": { - "prefix": "fa-mail-reply", - "body": "$0", - "description": "mail-reply", - "scope": "" - }, - "mail-reply-all": { - "prefix": "fa-mail-reply-all", - "body": "$0", - "description": "mail-reply-all", - "scope": "" - }, - "male": { - "prefix": "fa-male", - "body": "$0", - "description": "male", - "scope": "" - }, - "map": { - "prefix": "fa-map", - "body": "$0", - "description": "map", - "scope": "" - }, - "map-marker": { - "prefix": "fa-map-marker", - "body": "$0", - "description": "map-marker", - "scope": "" - }, - "map-o": { - "prefix": "fa-map-o", - "body": "$0", - "description": "map-o", - "scope": "" - }, - "map-pin": { - "prefix": "fa-map-pin", - "body": "$0", - "description": "map-pin", - "scope": "" - }, - "map-signs": { - "prefix": "fa-map-signs", - "body": "$0", - "description": "map-signs", - "scope": "" - }, - "mars": { - "prefix": "fa-mars", - "body": "$0", - "description": "mars", - "scope": "" - }, - "mars-double": { - "prefix": "fa-mars-double", - "body": "$0", - "description": "mars-double", - "scope": "" - }, - "mars-stroke": { - "prefix": "fa-mars-stroke", - "body": "$0", - "description": "mars-stroke", - "scope": "" - }, - "mars-stroke-h": { - "prefix": "fa-mars-stroke-h", - "body": "$0", - "description": "mars-stroke-h", - "scope": "" - }, - "mars-stroke-v": { - "prefix": "fa-mars-stroke-v", - "body": "$0", - "description": "mars-stroke-v", - "scope": "" - }, - "maxcdn": { - "prefix": "fa-maxcdn", - "body": "$0", - "description": "maxcdn", - "scope": "" - }, - "meanpath": { - "prefix": "fa-meanpath", - "body": "$0", - "description": "meanpath", - "scope": "" - }, - "medium": { - "prefix": "fa-medium", - "body": "$0", - "description": "medium", - "scope": "" - }, - "medkit": { - "prefix": "fa-medkit", - "body": "$0", - "description": "medkit", - "scope": "" - }, - "meetup": { - "prefix": "fa-meetup", - "body": "$0", - "description": "meetup", - "scope": "" - }, - "meh-o": { - "prefix": "fa-meh-o", - "body": "$0", - "description": "meh-o", - "scope": "" - }, - "mercury": { - "prefix": "fa-mercury", - "body": "$0", - "description": "mercury", - "scope": "" - }, - "microchip": { - "prefix": "fa-microchip", - "body": "$0", - "description": "microchip", - "scope": "" - }, - "microphone": { - "prefix": "fa-microphone", - "body": "$0", - "description": "microphone", - "scope": "" - }, - "microphone-slash": { - "prefix": "fa-microphone-slash", - "body": "$0", - "description": "microphone-slash", - "scope": "" - }, - "minus": { - "prefix": "fa-minus", - "body": "$0", - "description": "minus", - "scope": "" - }, - "minus-circle": { - "prefix": "fa-minus-circle", - "body": "$0", - "description": "minus-circle", - "scope": "" - }, - "minus-square": { - "prefix": "fa-minus-square", - "body": "$0", - "description": "minus-square", - "scope": "" - }, - "minus-square-o": { - "prefix": "fa-minus-square-o", - "body": "$0", - "description": "minus-square-o", - "scope": "" - }, - "mixcloud": { - "prefix": "fa-mixcloud", - "body": "$0", - "description": "mixcloud", - "scope": "" - }, - "mobile": { - "prefix": "fa-mobile", - "body": "$0", - "description": "mobile", - "scope": "" - }, - "mobile-phone": { - "prefix": "fa-mobile-phone", - "body": "$0", - "description": "mobile-phone", - "scope": "" - }, - "modx": { - "prefix": "fa-modx", - "body": "$0", - "description": "modx", - "scope": "" - }, - "money": { - "prefix": "fa-money", - "body": "$0", - "description": "money", - "scope": "" - }, - "moon-o": { - "prefix": "fa-moon-o", - "body": "$0", - "description": "moon-o", - "scope": "" - }, - "mortar-board": { - "prefix": "fa-mortar-board", - "body": "$0", - "description": "mortar-board", - "scope": "" - }, - "motorcycle": { - "prefix": "fa-motorcycle", - "body": "$0", - "description": "motorcycle", - "scope": "" - }, - "mouse-pointer": { - "prefix": "fa-mouse-pointer", - "body": "$0", - "description": "mouse-pointer", - "scope": "" - }, - "music": { - "prefix": "fa-music", - "body": "$0", - "description": "music", - "scope": "" - }, - "navicon": { - "prefix": "fa-navicon", - "body": "$0", - "description": "navicon", - "scope": "" - }, - "neuter": { - "prefix": "fa-neuter", - "body": "$0", - "description": "neuter", - "scope": "" - }, - "newspaper-o": { - "prefix": "fa-newspaper-o", - "body": "$0", - "description": "newspaper-o", - "scope": "" - }, - "object-group": { - "prefix": "fa-object-group", - "body": "$0", - "description": "object-group", - "scope": "" - }, - "object-ungroup": { - "prefix": "fa-object-ungroup", - "body": "$0", - "description": "object-ungroup", - "scope": "" - }, - "odnoklassniki": { - "prefix": "fa-odnoklassniki", - "body": "$0", - "description": "odnoklassniki", - "scope": "" - }, - "odnoklassniki-square": { - "prefix": "fa-odnoklassniki-square", - "body": "$0", - "description": "odnoklassniki-square", - "scope": "" - }, - "opencart": { - "prefix": "fa-opencart", - "body": "$0", - "description": "opencart", - "scope": "" - }, - "openid": { - "prefix": "fa-openid", - "body": "$0", - "description": "openid", - "scope": "" - }, - "opera": { - "prefix": "fa-opera", - "body": "$0", - "description": "opera", - "scope": "" - }, - "optin-monster": { - "prefix": "fa-optin-monster", - "body": "$0", - "description": "optin-monster", - "scope": "" - }, - "outdent": { - "prefix": "fa-outdent", - "body": "$0", - "description": "outdent", - "scope": "" - }, - "pagelines": { - "prefix": "fa-pagelines", - "body": "$0", - "description": "pagelines", - "scope": "" - }, - "paint-brush": { - "prefix": "fa-paint-brush", - "body": "$0", - "description": "paint-brush", - "scope": "" - }, - "paperclip": { - "prefix": "fa-paperclip", - "body": "$0", - "description": "paperclip", - "scope": "" - }, - "paper-plane": { - "prefix": "fa-paper-plane", - "body": "$0", - "description": "paper-plane", - "scope": "" - }, - "paper-plane-o": { - "prefix": "fa-paper-plane-o", - "body": "$0", - "description": "paper-plane-o", - "scope": "" - }, - "paragraph": { - "prefix": "fa-paragraph", - "body": "$0", - "description": "paragraph", - "scope": "" - }, - "paste": { - "prefix": "fa-paste", - "body": "$0", - "description": "paste", - "scope": "" - }, - "pause": { - "prefix": "fa-pause", - "body": "$0", - "description": "pause", - "scope": "" - }, - "pause-circle": { - "prefix": "fa-pause-circle", - "body": "$0", - "description": "pause-circle", - "scope": "" - }, - "pause-circle-o": { - "prefix": "fa-pause-circle-o", - "body": "$0", - "description": "pause-circle-o", - "scope": "" - }, - "paw": { - "prefix": "fa-paw", - "body": "$0", - "description": "paw", - "scope": "" - }, - "paypal": { - "prefix": "fa-paypal", - "body": "$0", - "description": "paypal", - "scope": "" - }, - "pencil": { - "prefix": "fa-pencil", - "body": "$0", - "description": "pencil", - "scope": "" - }, - "pencil-square": { - "prefix": "fa-pencil-square", - "body": "$0", - "description": "pencil-square", - "scope": "" - }, - "pencil-square-o": { - "prefix": "fa-pencil-square-o", - "body": "$0", - "description": "pencil-square-o", - "scope": "" - }, - "percent": { - "prefix": "fa-percent", - "body": "$0", - "description": "percent", - "scope": "" - }, - "phone": { - "prefix": "fa-phone", - "body": "$0", - "description": "phone", - "scope": "" - }, - "phone-square": { - "prefix": "fa-phone-square", - "body": "$0", - "description": "phone-square", - "scope": "" - }, - "photo": { - "prefix": "fa-photo", - "body": "$0", - "description": "photo", - "scope": "" - }, - "picture-o": { - "prefix": "fa-picture-o", - "body": "$0", - "description": "picture-o", - "scope": "" - }, - "pie-chart": { - "prefix": "fa-pie-chart", - "body": "$0", - "description": "pie-chart", - "scope": "" - }, - "pied-piper": { - "prefix": "fa-pied-piper", - "body": "$0", - "description": "pied-piper", - "scope": "" - }, - "pied-piper-alt": { - "prefix": "fa-pied-piper-alt", - "body": "$0", - "description": "pied-piper-alt", - "scope": "" - }, - "pied-piper-pp": { - "prefix": "fa-pied-piper-pp", - "body": "$0", - "description": "pied-piper-pp", - "scope": "" - }, - "pinterest": { - "prefix": "fa-pinterest", - "body": "$0", - "description": "pinterest", - "scope": "" - }, - "pinterest-p": { - "prefix": "fa-pinterest-p", - "body": "$0", - "description": "pinterest-p", - "scope": "" - }, - "pinterest-square": { - "prefix": "fa-pinterest-square", - "body": "$0", - "description": "pinterest-square", - "scope": "" - }, - "plane": { - "prefix": "fa-plane", - "body": "$0", - "description": "plane", - "scope": "" - }, - "play": { - "prefix": "fa-play", - "body": "$0", - "description": "play", - "scope": "" - }, - "play-circle": { - "prefix": "fa-play-circle", - "body": "$0", - "description": "play-circle", - "scope": "" - }, - "play-circle-o": { - "prefix": "fa-play-circle-o", - "body": "$0", - "description": "play-circle-o", - "scope": "" - }, - "plug": { - "prefix": "fa-plug", - "body": "$0", - "description": "plug", - "scope": "" - }, - "plus": { - "prefix": "fa-plus", - "body": "$0", - "description": "plus", - "scope": "" - }, - "plus-circle": { - "prefix": "fa-plus-circle", - "body": "$0", - "description": "plus-circle", - "scope": "" - }, - "plus-square": { - "prefix": "fa-plus-square", - "body": "$0", - "description": "plus-square", - "scope": "" - }, - "plus-square-o": { - "prefix": "fa-plus-square-o", - "body": "$0", - "description": "plus-square-o", - "scope": "" - }, - "podcast": { - "prefix": "fa-podcast", - "body": "$0", - "description": "podcast", - "scope": "" - }, - "power-off": { - "prefix": "fa-power-off", - "body": "$0", - "description": "power-off", - "scope": "" - }, - "print": { - "prefix": "fa-print", - "body": "$0", - "description": "print", - "scope": "" - }, - "product-hunt": { - "prefix": "fa-product-hunt", - "body": "$0", - "description": "product-hunt", - "scope": "" - }, - "puzzle-piece": { - "prefix": "fa-puzzle-piece", - "body": "$0", - "description": "puzzle-piece", - "scope": "" - }, - "qq": { - "prefix": "fa-qq", - "body": "$0", - "description": "qq", - "scope": "" - }, - "qrcode": { - "prefix": "fa-qrcode", - "body": "$0", - "description": "qrcode", - "scope": "" - }, - "question": { - "prefix": "fa-question", - "body": "$0", - "description": "question", - "scope": "" - }, - "question-circle": { - "prefix": "fa-question-circle", - "body": "$0", - "description": "question-circle", - "scope": "" - }, - "question-circle-o": { - "prefix": "fa-question-circle-o", - "body": "$0", - "description": "question-circle-o", - "scope": "" - }, - "quora": { - "prefix": "fa-quora", - "body": "$0", - "description": "quora", - "scope": "" - }, - "quote-left": { - "prefix": "fa-quote-left", - "body": "$0", - "description": "quote-left", - "scope": "" - }, - "quote-right": { - "prefix": "fa-quote-right", - "body": "$0", - "description": "quote-right", - "scope": "" - }, - "ra": { - "prefix": "fa-ra", - "body": "$0", - "description": "ra", - "scope": "" - }, - "random": { - "prefix": "fa-random", - "body": "$0", - "description": "random", - "scope": "" - }, - "ravelry": { - "prefix": "fa-ravelry", - "body": "$0", - "description": "ravelry", - "scope": "" - }, - "rebel": { - "prefix": "fa-rebel", - "body": "$0", - "description": "rebel", - "scope": "" - }, - "recycle": { - "prefix": "fa-recycle", - "body": "$0", - "description": "recycle", - "scope": "" - }, - "reddit": { - "prefix": "fa-reddit", - "body": "$0", - "description": "reddit", - "scope": "" - }, - "reddit-alien": { - "prefix": "fa-reddit-alien", - "body": "$0", - "description": "reddit-alien", - "scope": "" - }, - "reddit-square": { - "prefix": "fa-reddit-square", - "body": "$0", - "description": "reddit-square", - "scope": "" - }, - "refresh": { - "prefix": "fa-refresh", - "body": "$0", - "description": "refresh", - "scope": "" - }, - "registered": { - "prefix": "fa-registered", - "body": "$0", - "description": "registered", - "scope": "" - }, - "remove": { - "prefix": "fa-remove", - "body": "$0", - "description": "remove", - "scope": "" - }, - "renren": { - "prefix": "fa-renren", - "body": "$0", - "description": "renren", - "scope": "" - }, - "reorder": { - "prefix": "fa-reorder", - "body": "$0", - "description": "reorder", - "scope": "" - }, - "repeat": { - "prefix": "fa-repeat", - "body": "$0", - "description": "repeat", - "scope": "" - }, - "reply": { - "prefix": "fa-reply", - "body": "$0", - "description": "reply", - "scope": "" - }, - "reply-all": { - "prefix": "fa-reply-all", - "body": "$0", - "description": "reply-all", - "scope": "" - }, - "resistance": { - "prefix": "fa-resistance", - "body": "$0", - "description": "resistance", - "scope": "" - }, - "retweet": { - "prefix": "fa-retweet", - "body": "$0", - "description": "retweet", - "scope": "" - }, - "rmb": { - "prefix": "fa-rmb", - "body": "$0", - "description": "rmb", - "scope": "" - }, - "road": { - "prefix": "fa-road", - "body": "$0", - "description": "road", - "scope": "" - }, - "rocket": { - "prefix": "fa-rocket", - "body": "$0", - "description": "rocket", - "scope": "" - }, - "rotate-left": { - "prefix": "fa-rotate-left", - "body": "$0", - "description": "rotate-left", - "scope": "" - }, - "rotate-right": { - "prefix": "fa-rotate-right", - "body": "$0", - "description": "rotate-right", - "scope": "" - }, - "rouble": { - "prefix": "fa-rouble", - "body": "$0", - "description": "rouble", - "scope": "" - }, - "rss": { - "prefix": "fa-rss", - "body": "$0", - "description": "rss", - "scope": "" - }, - "rss-square": { - "prefix": "fa-rss-square", - "body": "$0", - "description": "rss-square", - "scope": "" - }, - "rub": { - "prefix": "fa-rub", - "body": "$0", - "description": "rub", - "scope": "" - }, - "ruble": { - "prefix": "fa-ruble", - "body": "$0", - "description": "ruble", - "scope": "" - }, - "rupee": { - "prefix": "fa-rupee", - "body": "$0", - "description": "rupee", - "scope": "" - }, - "s15": { - "prefix": "fa-s15", - "body": "$0", - "description": "s15", - "scope": "" - }, - "safari": { - "prefix": "fa-safari", - "body": "$0", - "description": "safari", - "scope": "" - }, - "save": { - "prefix": "fa-save", - "body": "$0", - "description": "save", - "scope": "" - }, - "scissors": { - "prefix": "fa-scissors", - "body": "$0", - "description": "scissors", - "scope": "" - }, - "scribd": { - "prefix": "fa-scribd", - "body": "$0", - "description": "scribd", - "scope": "" - }, - "search": { - "prefix": "fa-search", - "body": "$0", - "description": "search", - "scope": "" - }, - "search-minus": { - "prefix": "fa-search-minus", - "body": "$0", - "description": "search-minus", - "scope": "" - }, - "search-plus": { - "prefix": "fa-search-plus", - "body": "$0", - "description": "search-plus", - "scope": "" - }, - "sellsy": { - "prefix": "fa-sellsy", - "body": "$0", - "description": "sellsy", - "scope": "" - }, - "send": { - "prefix": "fa-send", - "body": "$0", - "description": "send", - "scope": "" - }, - "send-o": { - "prefix": "fa-send-o", - "body": "$0", - "description": "send-o", - "scope": "" - }, - "server": { - "prefix": "fa-server", - "body": "$0", - "description": "server", - "scope": "" - }, - "share": { - "prefix": "fa-share", - "body": "$0", - "description": "share", - "scope": "" - }, - "share-alt": { - "prefix": "fa-share-alt", - "body": "$0", - "description": "share-alt", - "scope": "" - }, - "share-alt-square": { - "prefix": "fa-share-alt-square", - "body": "$0", - "description": "share-alt-square", - "scope": "" - }, - "share-square": { - "prefix": "fa-share-square", - "body": "$0", - "description": "share-square", - "scope": "" - }, - "share-square-o": { - "prefix": "fa-share-square-o", - "body": "$0", - "description": "share-square-o", - "scope": "" - }, - "shekel": { - "prefix": "fa-shekel", - "body": "$0", - "description": "shekel", - "scope": "" - }, - "sheqel": { - "prefix": "fa-sheqel", - "body": "$0", - "description": "sheqel", - "scope": "" - }, - "shield": { - "prefix": "fa-shield", - "body": "$0", - "description": "shield", - "scope": "" - }, - "ship": { - "prefix": "fa-ship", - "body": "$0", - "description": "ship", - "scope": "" - }, - "shirtsinbulk": { - "prefix": "fa-shirtsinbulk", - "body": "$0", - "description": "shirtsinbulk", - "scope": "" - }, - "shopping-bag": { - "prefix": "fa-shopping-bag", - "body": "$0", - "description": "shopping-bag", - "scope": "" - }, - "shopping-basket": { - "prefix": "fa-shopping-basket", - "body": "$0", - "description": "shopping-basket", - "scope": "" - }, - "shopping-cart": { - "prefix": "fa-shopping-cart", - "body": "$0", - "description": "shopping-cart", - "scope": "" - }, - "shower": { - "prefix": "fa-shower", - "body": "$0", - "description": "shower", - "scope": "" - }, - "signal": { - "prefix": "fa-signal", - "body": "$0", - "description": "signal", - "scope": "" - }, - "sign-in": { - "prefix": "fa-sign-in", - "body": "$0", - "description": "sign-in", - "scope": "" - }, - "signing": { - "prefix": "fa-signing", - "body": "$0", - "description": "signing", - "scope": "" - }, - "sign-language": { - "prefix": "fa-sign-language", - "body": "$0", - "description": "sign-language", - "scope": "" - }, - "sign-out": { - "prefix": "fa-sign-out", - "body": "$0", - "description": "sign-out", - "scope": "" - }, - "simplybuilt": { - "prefix": "fa-simplybuilt", - "body": "$0", - "description": "simplybuilt", - "scope": "" - }, - "sitemap": { - "prefix": "fa-sitemap", - "body": "$0", - "description": "sitemap", - "scope": "" - }, - "skyatlas": { - "prefix": "fa-skyatlas", - "body": "$0", - "description": "skyatlas", - "scope": "" - }, - "skype": { - "prefix": "fa-skype", - "body": "$0", - "description": "skype", - "scope": "" - }, - "slack": { - "prefix": "fa-slack", - "body": "$0", - "description": "slack", - "scope": "" - }, - "sliders": { - "prefix": "fa-sliders", - "body": "$0", - "description": "sliders", - "scope": "" - }, - "slideshare": { - "prefix": "fa-slideshare", - "body": "$0", - "description": "slideshare", - "scope": "" - }, - "smile-o": { - "prefix": "fa-smile-o", - "body": "$0", - "description": "smile-o", - "scope": "" - }, - "snapchat": { - "prefix": "fa-snapchat", - "body": "$0", - "description": "snapchat", - "scope": "" - }, - "snapchat-ghost": { - "prefix": "fa-snapchat-ghost", - "body": "$0", - "description": "snapchat-ghost", - "scope": "" - }, - "snapchat-square": { - "prefix": "fa-snapchat-square", - "body": "$0", - "description": "snapchat-square", - "scope": "" - }, - "snowflake-o": { - "prefix": "fa-snowflake-o", - "body": "$0", - "description": "snowflake-o", - "scope": "" - }, - "soccer-ball-o": { - "prefix": "fa-soccer-ball-o", - "body": "$0", - "description": "soccer-ball-o", - "scope": "" - }, - "sort": { - "prefix": "fa-sort", - "body": "$0", - "description": "sort", - "scope": "" - }, - "sort-alpha-asc": { - "prefix": "fa-sort-alpha-asc", - "body": "$0", - "description": "sort-alpha-asc", - "scope": "" - }, - "sort-alpha-desc": { - "prefix": "fa-sort-alpha-desc", - "body": "$0", - "description": "sort-alpha-desc", - "scope": "" - }, - "sort-amount-asc": { - "prefix": "fa-sort-amount-asc", - "body": "$0", - "description": "sort-amount-asc", - "scope": "" - }, - "sort-amount-desc": { - "prefix": "fa-sort-amount-desc", - "body": "$0", - "description": "sort-amount-desc", - "scope": "" - }, - "sort-asc": { - "prefix": "fa-sort-asc", - "body": "$0", - "description": "sort-asc", - "scope": "" - }, - "sort-desc": { - "prefix": "fa-sort-desc", - "body": "$0", - "description": "sort-desc", - "scope": "" - }, - "sort-down": { - "prefix": "fa-sort-down", - "body": "$0", - "description": "sort-down", - "scope": "" - }, - "sort-numeric-asc": { - "prefix": "fa-sort-numeric-asc", - "body": "$0", - "description": "sort-numeric-asc", - "scope": "" - }, - "sort-numeric-desc": { - "prefix": "fa-sort-numeric-desc", - "body": "$0", - "description": "sort-numeric-desc", - "scope": "" - }, - "sort-up": { - "prefix": "fa-sort-up", - "body": "$0", - "description": "sort-up", - "scope": "" - }, - "soundcloud": { - "prefix": "fa-soundcloud", - "body": "$0", - "description": "soundcloud", - "scope": "" - }, - "space-shuttle": { - "prefix": "fa-space-shuttle", - "body": "$0", - "description": "space-shuttle", - "scope": "" - }, - "spinner": { - "prefix": "fa-spinner", - "body": "$0", - "description": "spinner", - "scope": "" - }, - "spoon": { - "prefix": "fa-spoon", - "body": "$0", - "description": "spoon", - "scope": "" - }, - "spotify": { - "prefix": "fa-spotify", - "body": "$0", - "description": "spotify", - "scope": "" - }, - "square": { - "prefix": "fa-square", - "body": "$0", - "description": "square", - "scope": "" - }, - "square-o": { - "prefix": "fa-square-o", - "body": "$0", - "description": "square-o", - "scope": "" - }, - "stack-exchange": { - "prefix": "fa-stack-exchange", - "body": "$0", - "description": "stack-exchange", - "scope": "" - }, - "stack-overflow": { - "prefix": "fa-stack-overflow", - "body": "$0", - "description": "stack-overflow", - "scope": "" - }, - "star": { - "prefix": "fa-star", - "body": "$0", - "description": "star", - "scope": "" - }, - "star-half": { - "prefix": "fa-star-half", - "body": "$0", - "description": "star-half", - "scope": "" - }, - "star-half-empty": { - "prefix": "fa-star-half-empty", - "body": "$0", - "description": "star-half-empty", - "scope": "" - }, - "star-half-full": { - "prefix": "fa-star-half-full", - "body": "$0", - "description": "star-half-full", - "scope": "" - }, - "star-half-o": { - "prefix": "fa-star-half-o", - "body": "$0", - "description": "star-half-o", - "scope": "" - }, - "star-o": { - "prefix": "fa-star-o", - "body": "$0", - "description": "star-o", - "scope": "" - }, - "steam": { - "prefix": "fa-steam", - "body": "$0", - "description": "steam", - "scope": "" - }, - "steam-square": { - "prefix": "fa-steam-square", - "body": "$0", - "description": "steam-square", - "scope": "" - }, - "step-backward": { - "prefix": "fa-step-backward", - "body": "$0", - "description": "step-backward", - "scope": "" - }, - "step-forward": { - "prefix": "fa-step-forward", - "body": "$0", - "description": "step-forward", - "scope": "" - }, - "stethoscope": { - "prefix": "fa-stethoscope", - "body": "$0", - "description": "stethoscope", - "scope": "" - }, - "sticky-note": { - "prefix": "fa-sticky-note", - "body": "$0", - "description": "sticky-note", - "scope": "" - }, - "sticky-note-o": { - "prefix": "fa-sticky-note-o", - "body": "$0", - "description": "sticky-note-o", - "scope": "" - }, - "stop": { - "prefix": "fa-stop", - "body": "$0", - "description": "stop", - "scope": "" - }, - "stop-circle": { - "prefix": "fa-stop-circle", - "body": "$0", - "description": "stop-circle", - "scope": "" - }, - "stop-circle-o": { - "prefix": "fa-stop-circle-o", - "body": "$0", - "description": "stop-circle-o", - "scope": "" - }, - "street-view": { - "prefix": "fa-street-view", - "body": "$0", - "description": "street-view", - "scope": "" - }, - "strikethrough": { - "prefix": "fa-strikethrough", - "body": "$0", - "description": "strikethrough", - "scope": "" - }, - "stumbleupon": { - "prefix": "fa-stumbleupon", - "body": "$0", - "description": "stumbleupon", - "scope": "" - }, - "stumbleupon-circle": { - "prefix": "fa-stumbleupon-circle", - "body": "$0", - "description": "stumbleupon-circle", - "scope": "" - }, - "subscript": { - "prefix": "fa-subscript", - "body": "$0", - "description": "subscript", - "scope": "" - }, - "subway": { - "prefix": "fa-subway", - "body": "$0", - "description": "subway", - "scope": "" - }, - "suitcase": { - "prefix": "fa-suitcase", - "body": "$0", - "description": "suitcase", - "scope": "" - }, - "sun-o": { - "prefix": "fa-sun-o", - "body": "$0", - "description": "sun-o", - "scope": "" - }, - "superpowers": { - "prefix": "fa-superpowers", - "body": "$0", - "description": "superpowers", - "scope": "" - }, - "superscript": { - "prefix": "fa-superscript", - "body": "$0", - "description": "superscript", - "scope": "" - }, - "support": { - "prefix": "fa-support", - "body": "$0", - "description": "support", - "scope": "" - }, - "table": { - "prefix": "fa-table", - "body": "$0", - "description": "table", - "scope": "" - }, - "tablet": { - "prefix": "fa-tablet", - "body": "$0", - "description": "tablet", - "scope": "" - }, - "tachometer": { - "prefix": "fa-tachometer", - "body": "$0", - "description": "tachometer", - "scope": "" - }, - "tag": { - "prefix": "fa-tag", - "body": "$0", - "description": "tag", - "scope": "" - }, - "tags": { - "prefix": "fa-tags", - "body": "$0", - "description": "tags", - "scope": "" - }, - "tasks": { - "prefix": "fa-tasks", - "body": "$0", - "description": "tasks", - "scope": "" - }, - "taxi": { - "prefix": "fa-taxi", - "body": "$0", - "description": "taxi", - "scope": "" - }, - "telegram": { - "prefix": "fa-telegram", - "body": "$0", - "description": "telegram", - "scope": "" - }, - "television": { - "prefix": "fa-television", - "body": "$0", - "description": "television", - "scope": "" - }, - "tencent-weibo": { - "prefix": "fa-tencent-weibo", - "body": "$0", - "description": "tencent-weibo", - "scope": "" - }, - "terminal": { - "prefix": "fa-terminal", - "body": "$0", - "description": "terminal", - "scope": "" - }, - "text-height": { - "prefix": "fa-text-height", - "body": "$0", - "description": "text-height", - "scope": "" - }, - "text-width": { - "prefix": "fa-text-width", - "body": "$0", - "description": "text-width", - "scope": "" - }, - "th": { - "prefix": "fa-th", - "body": "$0", - "description": "th", - "scope": "" - }, - "themeisle": { - "prefix": "fa-themeisle", - "body": "$0", - "description": "themeisle", - "scope": "" - }, - "thermometer": { - "prefix": "fa-thermometer", - "body": "$0", - "description": "thermometer", - "scope": "" - }, - "thermometer-0": { - "prefix": "fa-thermometer-0", - "body": "$0", - "description": "thermometer-0", - "scope": "" - }, - "thermometer-1": { - "prefix": "fa-thermometer-1", - "body": "$0", - "description": "thermometer-1", - "scope": "" - }, - "thermometer-2": { - "prefix": "fa-thermometer-2", - "body": "$0", - "description": "thermometer-2", - "scope": "" - }, - "thermometer-3": { - "prefix": "fa-thermometer-3", - "body": "$0", - "description": "thermometer-3", - "scope": "" - }, - "thermometer-4": { - "prefix": "fa-thermometer-4", - "body": "$0", - "description": "thermometer-4", - "scope": "" - }, - "thermometer-empty": { - "prefix": "fa-thermometer-empty", - "body": "$0", - "description": "thermometer-empty", - "scope": "" - }, - "thermometer-full": { - "prefix": "fa-thermometer-full", - "body": "$0", - "description": "thermometer-full", - "scope": "" - }, - "thermometer-half": { - "prefix": "fa-thermometer-half", - "body": "$0", - "description": "thermometer-half", - "scope": "" - }, - "thermometer-quarter": { - "prefix": "fa-thermometer-quarter", - "body": "$0", - "description": "thermometer-quarter", - "scope": "" - }, - "thermometer-three-quarters": { - "prefix": "fa-thermometer-three-quarters", - "body": "$0", - "description": "thermometer-three-quarters", - "scope": "" - }, - "th-large": { - "prefix": "fa-th-large", - "body": "$0", - "description": "th-large", - "scope": "" - }, - "th-list": { - "prefix": "fa-th-list", - "body": "$0", - "description": "th-list", - "scope": "" - }, - "thumbs-down": { - "prefix": "fa-thumbs-down", - "body": "$0", - "description": "thumbs-down", - "scope": "" - }, - "thumbs-o-down": { - "prefix": "fa-thumbs-o-down", - "body": "$0", - "description": "thumbs-o-down", - "scope": "" - }, - "thumbs-o-up": { - "prefix": "fa-thumbs-o-up", - "body": "$0", - "description": "thumbs-o-up", - "scope": "" - }, - "thumbs-up": { - "prefix": "fa-thumbs-up", - "body": "$0", - "description": "thumbs-up", - "scope": "" - }, - "thumb-tack": { - "prefix": "fa-thumb-tack", - "body": "$0", - "description": "thumb-tack", - "scope": "" - }, - "ticket": { - "prefix": "fa-ticket", - "body": "$0", - "description": "ticket", - "scope": "" - }, - "times": { - "prefix": "fa-times", - "body": "$0", - "description": "times", - "scope": "" - }, - "times-circle": { - "prefix": "fa-times-circle", - "body": "$0", - "description": "times-circle", - "scope": "" - }, - "times-circle-o": { - "prefix": "fa-times-circle-o", - "body": "$0", - "description": "times-circle-o", - "scope": "" - }, - "times-rectangle": { - "prefix": "fa-times-rectangle", - "body": "$0", - "description": "times-rectangle", - "scope": "" - }, - "times-rectangle-o": { - "prefix": "fa-times-rectangle-o", - "body": "$0", - "description": "times-rectangle-o", - "scope": "" - }, - "tint": { - "prefix": "fa-tint", - "body": "$0", - "description": "tint", - "scope": "" - }, - "toggle-down": { - "prefix": "fa-toggle-down", - "body": "$0", - "description": "toggle-down", - "scope": "" - }, - "toggle-left": { - "prefix": "fa-toggle-left", - "body": "$0", - "description": "toggle-left", - "scope": "" - }, - "toggle-off": { - "prefix": "fa-toggle-off", - "body": "$0", - "description": "toggle-off", - "scope": "" - }, - "toggle-on": { - "prefix": "fa-toggle-on", - "body": "$0", - "description": "toggle-on", - "scope": "" - }, - "toggle-right": { - "prefix": "fa-toggle-right", - "body": "$0", - "description": "toggle-right", - "scope": "" - }, - "toggle-up": { - "prefix": "fa-toggle-up", - "body": "$0", - "description": "toggle-up", - "scope": "" - }, - "trademark": { - "prefix": "fa-trademark", - "body": "$0", - "description": "trademark", - "scope": "" - }, - "train": { - "prefix": "fa-train", - "body": "$0", - "description": "train", - "scope": "" - }, - "transgender": { - "prefix": "fa-transgender", - "body": "$0", - "description": "transgender", - "scope": "" - }, - "transgender-alt": { - "prefix": "fa-transgender-alt", - "body": "$0", - "description": "transgender-alt", - "scope": "" - }, - "trash": { - "prefix": "fa-trash", - "body": "$0", - "description": "trash", - "scope": "" - }, - "trash-o": { - "prefix": "fa-trash-o", - "body": "$0", - "description": "trash-o", - "scope": "" - }, - "tree": { - "prefix": "fa-tree", - "body": "$0", - "description": "tree", - "scope": "" - }, - "trello": { - "prefix": "fa-trello", - "body": "$0", - "description": "trello", - "scope": "" - }, - "tripadvisor": { - "prefix": "fa-tripadvisor", - "body": "$0", - "description": "tripadvisor", - "scope": "" - }, - "trophy": { - "prefix": "fa-trophy", - "body": "$0", - "description": "trophy", - "scope": "" - }, - "truck": { - "prefix": "fa-truck", - "body": "$0", - "description": "truck", - "scope": "" - }, - "try": { - "prefix": "fa-try", - "body": "$0", - "description": "try", - "scope": "" - }, - "tty": { - "prefix": "fa-tty", - "body": "$0", - "description": "tty", - "scope": "" - }, - "tumblr": { - "prefix": "fa-tumblr", - "body": "$0", - "description": "tumblr", - "scope": "" - }, - "tumblr-square": { - "prefix": "fa-tumblr-square", - "body": "$0", - "description": "tumblr-square", - "scope": "" - }, - "turkish-lira": { - "prefix": "fa-turkish-lira", - "body": "$0", - "description": "turkish-lira", - "scope": "" - }, - "tv": { - "prefix": "fa-tv", - "body": "$0", - "description": "tv", - "scope": "" - }, - "twitch": { - "prefix": "fa-twitch", - "body": "$0", - "description": "twitch", - "scope": "" - }, - "twitter": { - "prefix": "fa-twitter", - "body": "$0", - "description": "twitter", - "scope": "" - }, - "twitter-square": { - "prefix": "fa-twitter-square", - "body": "$0", - "description": "twitter-square", - "scope": "" - }, - "umbrella": { - "prefix": "fa-umbrella", - "body": "$0", - "description": "umbrella", - "scope": "" - }, - "underline": { - "prefix": "fa-underline", - "body": "$0", - "description": "underline", - "scope": "" - }, - "undo": { - "prefix": "fa-undo", - "body": "$0", - "description": "undo", - "scope": "" - }, - "universal-access": { - "prefix": "fa-universal-access", - "body": "$0", - "description": "universal-access", - "scope": "" - }, - "university": { - "prefix": "fa-university", - "body": "$0", - "description": "university", - "scope": "" - }, - "unlink": { - "prefix": "fa-unlink", - "body": "$0", - "description": "unlink", - "scope": "" - }, - "unlock": { - "prefix": "fa-unlock", - "body": "$0", - "description": "unlock", - "scope": "" - }, - "unlock-alt": { - "prefix": "fa-unlock-alt", - "body": "$0", - "description": "unlock-alt", - "scope": "" - }, - "unsorted": { - "prefix": "fa-unsorted", - "body": "$0", - "description": "unsorted", - "scope": "" - }, - "upload": { - "prefix": "fa-upload", - "body": "$0", - "description": "upload", - "scope": "" - }, - "usb": { - "prefix": "fa-usb", - "body": "$0", - "description": "usb", - "scope": "" - }, - "usd": { - "prefix": "fa-usd", - "body": "$0", - "description": "usd", - "scope": "" - }, - "user": { - "prefix": "fa-user", - "body": "$0", - "description": "user", - "scope": "" - }, - "user-circle": { - "prefix": "fa-user-circle", - "body": "$0", - "description": "user-circle", - "scope": "" - }, - "user-circle-o": { - "prefix": "fa-user-circle-o", - "body": "$0", - "description": "user-circle-o", - "scope": "" - }, - "user-md": { - "prefix": "fa-user-md", - "body": "$0", - "description": "user-md", - "scope": "" - }, - "user-o": { - "prefix": "fa-user-o", - "body": "$0", - "description": "user-o", - "scope": "" - }, - "user-plus": { - "prefix": "fa-user-plus", - "body": "$0", - "description": "user-plus", - "scope": "" - }, - "users": { - "prefix": "fa-users", - "body": "$0", - "description": "users", - "scope": "" - }, - "user-secret": { - "prefix": "fa-user-secret", - "body": "$0", - "description": "user-secret", - "scope": "" - }, - "user-times": { - "prefix": "fa-user-times", - "body": "$0", - "description": "user-times", - "scope": "" - }, - "vcard": { - "prefix": "fa-vcard", - "body": "$0", - "description": "vcard", - "scope": "" - }, - "vcard-o": { - "prefix": "fa-vcard-o", - "body": "$0", - "description": "vcard-o", - "scope": "" - }, - "venus": { - "prefix": "fa-venus", - "body": "$0", - "description": "venus", - "scope": "" - }, - "venus-double": { - "prefix": "fa-venus-double", - "body": "$0", - "description": "venus-double", - "scope": "" - }, - "venus-mars": { - "prefix": "fa-venus-mars", - "body": "$0", - "description": "venus-mars", - "scope": "" - }, - "viacoin": { - "prefix": "fa-viacoin", - "body": "$0", - "description": "viacoin", - "scope": "" - }, - "viadeo": { - "prefix": "fa-viadeo", - "body": "$0", - "description": "viadeo", - "scope": "" - }, - "viadeo-square": { - "prefix": "fa-viadeo-square", - "body": "$0", - "description": "viadeo-square", - "scope": "" - }, - "video-camera": { - "prefix": "fa-video-camera", - "body": "$0", - "description": "video-camera", - "scope": "" - }, - "vimeo": { - "prefix": "fa-vimeo", - "body": "$0", - "description": "vimeo", - "scope": "" - }, - "vimeo-square": { - "prefix": "fa-vimeo-square", - "body": "$0", - "description": "vimeo-square", - "scope": "" - }, - "vine": { - "prefix": "fa-vine", - "body": "$0", - "description": "vine", - "scope": "" - }, - "vk": { - "prefix": "fa-vk", - "body": "$0", - "description": "vk", - "scope": "" - }, - "volume-control-phone": { - "prefix": "fa-volume-control-phone", - "body": "$0", - "description": "volume-control-phone", - "scope": "" - }, - "volume-down": { - "prefix": "fa-volume-down", - "body": "$0", - "description": "volume-down", - "scope": "" - }, - "volume-off": { - "prefix": "fa-volume-off", - "body": "$0", - "description": "volume-off", - "scope": "" - }, - "volume-up": { - "prefix": "fa-volume-up", - "body": "$0", - "description": "volume-up", - "scope": "" - }, - "warning": { - "prefix": "fa-warning", - "body": "$0", - "description": "warning", - "scope": "" - }, - "wechat": { - "prefix": "fa-wechat", - "body": "$0", - "description": "wechat", - "scope": "" - }, - "weibo": { - "prefix": "fa-weibo", - "body": "$0", - "description": "weibo", - "scope": "" - }, - "weixin": { - "prefix": "fa-weixin", - "body": "$0", - "description": "weixin", - "scope": "" - }, - "whatsapp": { - "prefix": "fa-whatsapp", - "body": "$0", - "description": "whatsapp", - "scope": "" - }, - "wheelchair": { - "prefix": "fa-wheelchair", - "body": "$0", - "description": "wheelchair", - "scope": "" - }, - "wheelchair-alt": { - "prefix": "fa-wheelchair-alt", - "body": "$0", - "description": "wheelchair-alt", - "scope": "" - }, - "wifi": { - "prefix": "fa-wifi", - "body": "$0", - "description": "wifi", - "scope": "" - }, - "wikipedia-w": { - "prefix": "fa-wikipedia-w", - "body": "$0", - "description": "wikipedia-w", - "scope": "" - }, - "window-close": { - "prefix": "fa-window-close", - "body": "$0", - "description": "window-close", - "scope": "" - }, - "window-close-o": { - "prefix": "fa-window-close-o", - "body": "$0", - "description": "window-close-o", - "scope": "" - }, - "window-maximize": { - "prefix": "fa-window-maximize", - "body": "$0", - "description": "window-maximize", - "scope": "" - }, - "window-minimize": { - "prefix": "fa-window-minimize", - "body": "$0", - "description": "window-minimize", - "scope": "" - }, - "window-restore": { - "prefix": "fa-window-restore", - "body": "$0", - "description": "window-restore", - "scope": "" - }, - "windows": { - "prefix": "fa-windows", - "body": "$0", - "description": "windows", - "scope": "" - }, - "won": { - "prefix": "fa-won", - "body": "$0", - "description": "won", - "scope": "" - }, - "wordpress": { - "prefix": "fa-wordpress", - "body": "$0", - "description": "wordpress", - "scope": "" - }, - "wpbeginner": { - "prefix": "fa-wpbeginner", - "body": "$0", - "description": "wpbeginner", - "scope": "" - }, - "wpexplorer": { - "prefix": "fa-wpexplorer", - "body": "$0", - "description": "wpexplorer", - "scope": "" - }, - "wpforms": { - "prefix": "fa-wpforms", - "body": "$0", - "description": "wpforms", - "scope": "" - }, - "wrench": { - "prefix": "fa-wrench", - "body": "$0", - "description": "wrench", - "scope": "" - }, - "xing": { - "prefix": "fa-xing", - "body": "$0", - "description": "xing", - "scope": "" - }, - "xing-square": { - "prefix": "fa-xing-square", - "body": "$0", - "description": "xing-square", - "scope": "" - }, - "yahoo": { - "prefix": "fa-yahoo", - "body": "$0", - "description": "yahoo", - "scope": "" - }, - "yc": { - "prefix": "fa-yc", - "body": "$0", - "description": "yc", - "scope": "" - }, - "y-combinator": { - "prefix": "fa-y-combinator", - "body": "$0", - "description": "y-combinator", - "scope": "" - }, - "y-combinator-square": { - "prefix": "fa-y-combinator-square", - "body": "$0", - "description": "y-combinator-square", - "scope": "" - }, - "yc-square": { - "prefix": "fa-yc-square", - "body": "$0", - "description": "yc-square", - "scope": "" - }, - "yelp": { - "prefix": "fa-yelp", - "body": "$0", - "description": "yelp", - "scope": "" - }, - "yen": { - "prefix": "fa-yen", - "body": "$0", - "description": "yen", - "scope": "" - }, - "yoast": { - "prefix": "fa-yoast", - "body": "$0", - "description": "yoast", - "scope": "" - }, - "youtube": { - "prefix": "fa-youtube", - "body": "$0", - "description": "youtube", - "scope": "" - }, - "youtube-play": { - "prefix": "fa-youtube-play", - "body": "$0", - "description": "youtube-play", - "scope": "" - }, - "youtube-square": { - "prefix": "fa-youtube-square", - "body": "$0", - "description": "youtube-square", - "scope": "" - } -, - "Bootstrap 5 scripts": { - "prefix": "!b5-scripts", - "body": [ - "", - "", - "${1|, |}" - ], - "description": "Adds the cnd for the css scripts and has an option to use popper." - }, - "Offcanvas Scripts": { - "prefix": "!offcanvas-scripts", - "body": [ - "", - "" - ], - "description": "Offcanvas Scripts" - }, - "Bootstrap 5 HTML Template": { - "prefix": "!b5-$", - "body": [ - "", - "", - "", - " ", - " ", - " ${1:Bootstrap Site}", - " ", - " ", - " ", - "", - "", - "

    Hello-Bootstrap

    ", - "", - "" - ], - "description": "An HTML Boilerplate with Bootstrap 5" - }, - "Offcanvas Template": { - "prefix": "!offcanvasTemplate", - "body": [ - "", - "", - " ", - " ", - " ", - " ", - " Bootstrap 5 Offcanvas Template ยท Bootstrap", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - "", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - "
    ", - "
    ", - " \"\"", - "
    ", - "
    #JavaScriptFirst
    ", - " Learn Modern JavaScript, from an Open Source Book that teaches anyone how to code with JavaScript using the node.js runtime environment rather than a browser and by the end, you will build a server and a website using JavaScript.", - "
    ", - "
    ", - "", - "
    ", - " ", - " ", - "" - ], - "description": "Offcanvas Template" - }, - "Template Nav Bottom": { - "prefix": "!mobileNav", - "body": [ - "", - "", - "", - " ", - " ", - " ", - " ", - " Bootstrap 5 Navbar Bottom Template ยท Bootstrap", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - "", - " ", - " ", - " ", - " ", - "
    ", - "
    ", - " \"\"", - "
    ", - "
    #JavaScriptFirst
    ", - " ", - " ${1:Learn Modern JavaScript, from an Open Source Book that teaches anyone how to code with JavaScript using the node.js runtime environment rather than a browser and by the end, you will build a server and a website using JavaScript.}", - " ", - "
    ", - "
    ", - "
    ", - "", - "", - "", - " ", - " ", - "", - "" - ], - "description": "Template Nav Bottom" - }, - "Masonary Template": { - "prefix": "!masonaryTemplate", - "body": [ - "", - "", - "", - "", - " ", - " ", - " ", - " ", - " ", - " Masonry example ยท Bootstrap", - "", - " ", - "", - "", - "", - " ", - "", - " ", - " ", - " ", - "", - " ", - " ", - "", - "", - " ", - "", - "", - " ", - "", - "", - "", - "", - "", - "", - "
    ", - "

    Bootstrap and Masonry

    ", - "

    Integrate Masonry with the Bootstrap grid system and", - " cards component.

    ", - "", - "

    Masonry is not included in Bootstrap. Add it by including the JavaScript plugin manually, or using a CDN like", - " so:

    ", - "", - "
    ",
    -            "<script src="https://cdnjs.cloudflare.com/ajax/libs/masonry/4.2.2/masonry.pkgd.min.js" integrity="sha384-GNFwBvfVxBkLMJpYMOABq3c+d3KnQxudP/mGPkzpZSTYykLBNsZEnG2D9G/X/+7D" crossorigin="anonymous" async></script>",
    -            "  
    ", - "", - "

    By adding data-masonry='{\"percentPosition\": true }' to the .row wrapper, we can", - " combine the powers of Bootstrap's responsive grid and Masonry's positioning.

    ", - "", - "
    ", - "", - "
    ", - "
    ", - "
    ", - " ", - " Placeholder", - " Image cap", - " ", - "", - "
    ", - "
    Card title that wraps to a new line
    ", - "

    This is a longer card with supporting text below as a natural lead-in to", - " additional content. This content is a little bit longer.

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

    ", - "
    ", - " ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " Placeholder", - " Image cap", - " ", - "", - "
    ", - "
    Card title
    ", - "

    This card has supporting text below as a natural lead-in to additional", - " content.

    ", - "

    Last updated 3 mins ago

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat.

    ", - "
    ", - " ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    Card title
    ", - "

    This card has a regular title and short paragraph of text below it.

    ", - "

    Last updated 3 mins ago

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " Placeholder", - " Card image", - " ", - "", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

    ", - "
    ", - " ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    Card title
    ", - "

    This is another card with title and supporting text below. This card has", - " some additional content to make it slightly taller overall.

    ", - "

    Last updated 3 mins ago

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "", - "
    ", - "", - "", - "", - " ", - "", - "", - "" - ], - "description": "Masonary Template" - }, - "Product Template": { - "prefix": "!productTemplate", - "body": [ - "", - "", - "", - "", - " ", - " ", - " ", - " ", - " ", - " Product example ยท Bootstrap", - "", - " ", - "", - " ", - " ", - " ", - "", - "", - "", - " ", - "", - "", - " ", - " ", - " ", - "", - "", - "", - "", - " ", - "", - "
    ", - "
    ", - "

    Punny headline

    ", - "

    And an even wittier subheading to boot. Jumpstart your marketing efforts", - " with this example based on Appleโ€™s marketing pages.

    ", - " Coming soon", - "
    ", - "
    ", - "
    ", - "
    ", - "", - "
    ", - "
    ", - "
    ", - "

    Another headline

    ", - "

    And an even wittier subheading.

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "

    Another headline

    ", - "

    And an even wittier subheading.

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "", - "
    ", - "
    ", - "
    ", - "

    Another headline

    ", - "

    And an even wittier subheading.

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "

    Another headline

    ", - "

    And an even wittier subheading.

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "", - "
    ", - "
    ", - "
    ", - "

    Another headline

    ", - "

    And an even wittier subheading.

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "

    Another headline

    ", - "

    And an even wittier subheading.

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "", - "
    ", - "
    ", - "
    ", - "

    Another headline

    ", - "

    And an even wittier subheading.

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "

    Another headline

    ", - "

    And an even wittier subheading.

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "", - " ", - "", - "", - "", - "" - ], - "description": "Product Template" - }, - "Dashboard Template": { - "prefix": "!dashboardTemplate", - "body": [ - "", - "", - "", - "", - " ", - " ", - " ", - " ", - " ", - " Dashboard Template ยท Bootstrap", - "", - " ", - "", - "", - "", - " ", - " ", - " ", - "", - " ", - "", - "", - "", - "", - " ", - "", - "
    ", - "
    ", - " ", - "", - "
    ", - " ", - "

    Dashboard

    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " ", - "
    ", - "
    ", - "", - " ", - "", - "

    Section title

    ", - "
    ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - "
    #HeaderHeaderHeaderHeader
    1,001Loremipsumdolorsit
    1,002ametconsecteturadipiscingelit
    1,003IntegernecodioPraesent
    1,003liberoSedcursusante
    1,004dapibusdiamSednisi
    1,005Nullaquissemat
    1,006nibhelementumimperdietDuis
    1,007sagittisipsumPraesentmauris
    1,008Fuscenectellussed
    1,009auguesemperportaMauris
    1,010massaVestibulumlaciniaarcu
    1,011egetnullaClassaptent
    1,012tacitisociosquadlitora
    1,013torquentperconubianostra
    1,014perinceptoshimenaeosCurabitur
    1,015sodalesligulainlibero
    ", - "
    ", - " ", - "
    ", - " ", - "", - "", - " ", - "", - " ", - " ", - " ", - "", - "", - "" - ], - "description": "Dashboard Template" - }, - "Carousel Template": { - "prefix": "!CarouselTemplate", - "body": [ - "", - "", - "", - "", - " ", - " ", - " ", - " ", - " ", - " Carousel Template ยท Bootstrap", - "", - " ", - "", - "", - "", - " ", - " ", - " ", - " ", - "", - " ", - "", - "", - " ", - " ", - "", - "", - "", - "", - "
    ", - " ", - "
    ", - "", - "
    ", - "", - "
    ", - "
      ", - "
    1. ", - "
    2. ", - "
    3. ", - "
    ", - "
    ", - "
    ", - " ", - " ", - "", - "
    ", - "
    ", - "

    Example headline.

    ", - "

    Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget", - " metus. Nullam id dolor id nibh ultricies vehicula ut id elit.

    ", - "

    Sign up today

    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " ", - "", - "
    ", - "
    ", - "

    Another example headline.

    ", - "

    Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget", - " metus. Nullam id dolor id nibh ultricies vehicula ut id elit.

    ", - "

    Learn more

    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " ", - "", - "
    ", - "
    ", - "

    One more for good measure.

    ", - "

    Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget", - " metus. Nullam id dolor id nibh ultricies vehicula ut id elit.

    ", - "

    Browse gallery

    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " ", - " Previous", - " ", - " ", - " ", - " Next", - " ", - "
    ", - "", - "", - " ", - " ", - "", - "
    ", - "", - " ", - "
    ", - "
    ", - " ", - " Placeholder", - " 140x140", - " ", - "", - "

    Heading

    ", - "

    Donec sed odio dui. Etiam porta sem malesuada magna mollis euismod. Nullam id dolor id nibh ultricies", - " vehicula ut id elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Praesent commodo cursus", - " magna.

    ", - "

    View details »

    ", - "
    ", - "
    ", - " ", - " Placeholder", - " 140x140", - " ", - "", - "

    Heading

    ", - "

    Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras", - " mattis consectetur purus sit amet fermentum. Fusce dapibus, tellus ac cursus commodo, tortor mauris", - " condimentum nibh.

    ", - "

    View details »

    ", - "
    ", - "
    ", - " ", - " Placeholder", - " 140x140", - " ", - "", - "

    Heading

    ", - "

    Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta", - " felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum", - " massa justo sit amet risus.

    ", - "

    View details »

    ", - "
    ", - "
    ", - "", - "", - " ", - "", - "
    ", - "", - "
    ", - "
    ", - "

    First featurette heading. Itโ€™ll blow your mind.", - "

    ", - "

    Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod", - " semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus", - " commodo.

    ", - "
    ", - "
    ", - " ", - " Placeholder", - " 500x500", - " ", - "", - "
    ", - "
    ", - "", - "
    ", - "", - "
    ", - "
    ", - "

    Oh yeah, itโ€™s that good. See for yourself.

    ", - "

    Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod", - " semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus", - " commodo.

    ", - "
    ", - "
    ", - " ", - " Placeholder", - " 500x500", - " ", - "", - "
    ", - "
    ", - "", - "
    ", - "", - "
    ", - "
    ", - "

    And lastly, this one. Checkmate.

    ", - "

    Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod", - " semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus", - " commodo.

    ", - "
    ", - "
    ", - " ", - " Placeholder", - " 500x500", - " ", - "", - "
    ", - "
    ", - "", - "
    ", - "", - " ", - "", - "
    ", - "", - "", - " ", - " ", - "
    ", - "", - "", - "", - "", - "", - "" - ], - "description": "Carousel Template" - }, - "Album Template": { - "prefix": "!AlbumTemplate", - "body": [ - "", - "", - "", - "", - " ", - " ", - " ", - " ", - " ", - " Album example ยท Bootstrap", - "", - " ", - "", - "", - "", - " ", - "", - "", - "", - "", - " ", - "", - "", - "", - "", - "", - "", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "

    About

    ", - "

    Add some information about the album below, the author, or any other background", - " context. Make it a few sentences long so folks can pick up some informative tidbits. Then, link them off", - " to some social networking sites or contact information.

    ", - "
    ", - "
    ", - "

    Contact

    ", - " ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " ", - " ", - " ", - " Album", - " ", - " ", - "
    ", - "
    ", - "
    ", - "", - "
    ", - "", - "
    ", - "
    ", - "
    ", - "

    Album example

    ", - "

    Something short and leading about the collection belowโ€”its contents, the creator,", - " etc. Make it short and sweet, but not too short so folks donโ€™t simply skip over it entirely.

    ", - "

    ", - " Main call to action", - " Secondary action", - "

    ", - "
    ", - "
    ", - "
    ", - "", - "
    ", - "
    ", - "", - "
    ", - "
    ", - "
    ", - " ", - " Placeholder", - " Thumbnail", - " ", - "", - "
    ", - "

    This is a wider card with supporting text below as a natural lead-in to additional", - " content. This content is a little bit longer.

    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " 9 mins", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " Placeholder", - " Thumbnail", - " ", - "", - "
    ", - "

    This is a wider card with supporting text below as a natural lead-in to additional", - " content. This content is a little bit longer.

    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " 9 mins", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " Placeholder", - " Thumbnail", - " ", - "", - "
    ", - "

    This is a wider card with supporting text below as a natural lead-in to additional", - " content. This content is a little bit longer.

    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " 9 mins", - "
    ", - "
    ", - "
    ", - "
    ", - "", - "
    ", - "
    ", - " ", - " Placeholder", - " Thumbnail", - " ", - "", - "
    ", - "

    This is a wider card with supporting text below as a natural lead-in to additional", - " content. This content is a little bit longer.

    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " 9 mins", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " Placeholder", - " Thumbnail", - " ", - "", - "
    ", - "

    This is a wider card with supporting text below as a natural lead-in to additional", - " content. This content is a little bit longer.

    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " 9 mins", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " Placeholder", - " Thumbnail", - " ", - "", - "
    ", - "

    This is a wider card with supporting text below as a natural lead-in to additional", - " content. This content is a little bit longer.

    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " 9 mins", - "
    ", - "
    ", - "
    ", - "
    ", - "", - "
    ", - "
    ", - " ", - " Placeholder", - " Thumbnail", - " ", - "", - "
    ", - "

    This is a wider card with supporting text below as a natural lead-in to additional", - " content. This content is a little bit longer.

    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " 9 mins", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " Placeholder", - " Thumbnail", - " ", - "", - "
    ", - "

    This is a wider card with supporting text below as a natural lead-in to additional", - " content. This content is a little bit longer.

    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " 9 mins", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " Placeholder", - " Thumbnail", - " ", - "", - "
    ", - "

    This is a wider card with supporting text below as a natural lead-in to additional", - " content. This content is a little bit longer.

    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " 9 mins", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "", - "
    ", - "", - "
    ", - "
    ", - "

    ", - " Back to top", - "

    ", - "

    Album example is © Bootstrap, but please download and customize it for yourself!

    ", - "

    New to Bootstrap? Visit the homepage or read our getting started guide.

    ", - "
    ", - "
    ", - "", - "", - "", - "" - ], - "description": "Album Template" - }, - "Blog Template": { - "prefix": "!BlogTemplate", - "body": [ - "", - "", - "", - "", - " ", - " ", - " ", - " ", - " ", - " Blog Template ยท Bootstrap", - "", - " ", - "", - "", - "", - " ", - " ", - " ", - " ", - "", - " ", - "", - "", - " ", - " ", - " ", - " ", - "", - "", - "", - "", - "
    ", - "
    ", - "
    ", - "
    ", - " Subscribe", - "
    ", - "
    ", - " ", - "
    ", - " ", - "
    ", - "
    ", - "", - "
    ", - " ", - "
    ", - "", - "
    ", - "
    ", - "

    Title of a longer featured blog post

    ", - "

    Multiple lines of text that form the lede, informing new readers quickly and", - " efficiently about whatโ€™s most interesting in this postโ€™s contents.

    ", - "

    Continue reading...

    ", - "
    ", - "
    ", - "", - "
    ", - "
    ", - " ", - "
    ", - " World", - "

    Featured post

    ", - "
    Nov 12
    ", - "

    This is a wider card with supporting text below as a natural", - " lead-in to additional content.

    ", - " Continue reading", - "
    ", - "
    ", - " ", - " Placeholder", - " Thumbnail", - " ", - "", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - "
    ", - " Design", - "

    Post title

    ", - "
    Nov 11
    ", - "

    This is a wider card with supporting text below as a natural lead-in to", - " additional content.

    ", - " Continue reading", - "
    ", - "
    ", - " ", - " Placeholder", - " Thumbnail", - " ", - "", - "
    ", - "
    ", - "
    ", - " ", - " ", - "", - "
    ", - "
    ", - "
    ", - "

    ", - " From the Firehose", - "

    ", - "", - "
    ", - "

    Sample blog post

    ", - " ", - "", - "

    This blog post shows a few different types of content thatโ€™s supported and styled with Bootstrap.", - " Basic typography, images, and code are all supported.

    ", - "
    ", - "

    Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus", - " mus. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Sed posuere", - " consectetur est at lobortis. Cras mattis consectetur purus sit amet fermentum.

    ", - "
    ", - "

    Curabitur blandit tempus porttitor. Nullam quis risus eget urna mollis", - " ornare vel eu leo. Nullam id dolor id nibh ultricies vehicula ut id elit.

    ", - "
    ", - "

    Etiam porta sem malesuada magna mollis euismod. Cras mattis consectetur purus sit amet", - " fermentum. Aenean lacinia bibendum nulla sed consectetur.

    ", - "

    Heading

    ", - "

    Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non", - " commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Morbi leo risus,", - " porta ac consectetur ac, vestibulum at eros.

    ", - "

    Sub-heading

    ", - "

    Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.

    ", - "
    Example code block
    ", - "

    Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod.", - " Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa.

    ", - "

    Sub-heading

    ", - "

    Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean", - " lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce", - " dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit", - " amet risus.

    ", - "
      ", - "
    • Praesent commodo cursus magna, vel scelerisque nisl consectetur et.
    • ", - "
    • Donec id elit non mi porta gravida at eget metus.
    • ", - "
    • Nulla vitae elit libero, a pharetra augue.
    • ", - "
    ", - "

    Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue.", - "

    ", - "
      ", - "
    1. Vestibulum id ligula porta felis euismod semper.
    2. ", - "
    3. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
    4. ", - "
    5. Maecenas sed diam eget risus varius blandit sit amet non magna.
    6. ", - "
    ", - "

    Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis.

    ", - "
    ", - "", - "
    ", - "

    Another blog post

    ", - " ", - "", - "

    Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus", - " mus. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Sed posuere", - " consectetur est at lobortis. Cras mattis consectetur purus sit amet fermentum.

    ", - "
    ", - "

    Curabitur blandit tempus porttitor. Nullam quis risus eget urna mollis", - " ornare vel eu leo. Nullam id dolor id nibh ultricies vehicula ut id elit.

    ", - "
    ", - "

    Etiam porta sem malesuada magna mollis euismod. Cras mattis consectetur purus sit amet", - " fermentum. Aenean lacinia bibendum nulla sed consectetur.

    ", - "

    Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non", - " commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Morbi leo risus,", - " porta ac consectetur ac, vestibulum at eros.

    ", - "
    ", - "", - "
    ", - "

    New feature

    ", - " ", - "", - "

    Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean", - " lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce", - " dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit", - " amet risus.

    ", - "
      ", - "
    • Praesent commodo cursus magna, vel scelerisque nisl consectetur et.
    • ", - "
    • Donec id elit non mi porta gravida at eget metus.
    • ", - "
    • Nulla vitae elit libero, a pharetra augue.
    • ", - "
    ", - "

    Etiam porta sem malesuada magna mollis euismod. Cras mattis consectetur purus sit amet", - " fermentum. Aenean lacinia bibendum nulla sed consectetur.

    ", - "

    Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue.", - "

    ", - "
    ", - "", - " ", - "", - "
    ", - "", - " ", - "", - "
    ", - "", - "
    ", - "", - " ", - "", - "", - "", - "", - "", - "" - ], - "description": "Blog Template" - }, - "HTML HTTP Server": { - "prefix": "!html ", - "body": [ - "const http = require('http')", - "const fs = require('fs');", - "const PORT = ${1:7000};", - "http.createServer(function (request, response) {", - " if (request.url == '/') {", - " fs.readFile('${2:index.html}', function(err, data) {", - " response.writeHead(200, {'Content-Type': 'text/html'});", - " response.write(data);", - " return response.end();", - " });", - " }", - " else{", - " return response.end('Invalid request');", - " }", - "}).listen(PORT);", - "", - "" - ], - "description": "HTML HTTP Server" - }, - "HTTP Server for rendering dynamic pages": { - "prefix": "!http", - "body": [ - "// This is the lightweight way to server render a dynamic HTML without any frameworks or libraries...", - "// Because it's time you out grow HTML/CSS and get over ES6 as a buzzword...", - "// All we need is the built in HTTP method, template strings and few functions and you can create powerful layouts...", - "// Start thinking in terms of vanilla JS but also in ways that transfer to react...", - "// Learn more in my book", - "// https://github.com/HansUXdev/JavaScript-First", - "", - "const http = require('http')", - "const fs = require('fs');", - "", - "// For Pages on your site", - "const homepages = [", - " { ", - " name: 'Home', ", - " url: \"/\",", - " icon: \"\"", - " },", - " { ", - " name: 'About', ", - " url: \"/about\",", - " icon: \"fa-user\"", - " },", - " { ", - " name: 'Portfolio', ", - " url: \"/Portfolio\",", - " icon: \"fa-th\"", - " },", - " { ", - " name: 'Contact',", - " url: \"/Contact\",", - " icon: \"fa-envelope\"", - " }", - "];", - " ", - "", - "// layout template", - "const HTML = (header,body) => {", - " return `", - " ", - " ", - " ", - " ", - " \\${header}", - " ", - " ", - " ", - " ", - " ", - " \\${body}", - " ", - " `;", - "}", - "", - "// used to create links to each page", - "// Example of how to use it", - "// let links = NavLinks(homepages)", - "const NavLinks = (data) => {", - " return data.map(links => `", - "
  • ", - " \\${links.name}", - "
  • ", - " `).join('');", - "};", - "", - "// Navbar Function to build a dynamic navbar on the server", - "/*", - "* Example", - "* create links for each page", - "* let links = NavLinks(homepages)", - "* pass that into the 'content' arguement and returns your final menu", - "* Nav(links) ", - "*/", - "", - "const Nav = (content, logo=\"https://hansmcmurdy.com/JavaScript-First/logo.svg\") => {", - " return `", - "
    ", - "
    ", - "
    #JavaScriptFirst is an online Book
    ", - " ", - " Learn more about the book here: #JavaScriptFirst", - " ", - "
    ", - "
    ", - " `;", - "};", - "", - "/**", - " * @export", - " * @param {string} [route=\"/\"]", - " * @param {number} [port=8000]", - " * @param {*} HTML - is a callback that returns an html string", - " */", - "const Server = (home = \"/\", port=8000, template, pages=false ) =>{", - " http.createServer(", - " (request, response)=>{", - " req = this.request;", - " if(request.url == home){", - " response.writeHead(200,{", - " 'Content-Type': 'text/html',", - " 'Content-Length': template.length,", - " 'Expires': new Date().toUTCString()", - " })", - " response.end(template)", - " }", - " else{", - " // writeHTML()", - " response.end(\"nope\")", - " }", - " }", - " ).listen(port);", - " //", - " };", - " ", - "/*Example */", - "let links = NavLinks(homepages)", - "const home = HTML(", - " `#JavaScriptFrist Bootstrap Site`,", - " `\\${ Nav(links)}`", - ");", - "Server('/',7000,home)" - ], - "description": "HTTP Server for rendering dynamic pages" - } -} \ No newline at end of file diff --git a/my-snippets/B5-Snippets/snippets/config.json b/my-snippets/B5-Snippets/snippets/config.json deleted file mode 100644 index 6b3e912..0000000 --- a/my-snippets/B5-Snippets/snippets/config.json +++ /dev/null @@ -1 +0,0 @@ -{"Padding / Margin":{"prefix":"!pm","body":["${1|m,p|}${3|t,r,b,l,x,y|}${4|auto,0,1,2,3,4,5|}"],"description":"Quickly add padding & margins any class."},"Color":{"prefix":"!color","body":["${2|text,bg|}-${3|primary,secondary,success,danger,warning,info,light,dark|}"],"description":"Quickly add color utility classes to any class."},"Font":{"prefix":"!font","body":["text-${2|sm,md,lg,xl|}-${3|left,center,right|} lh-${4|base,1,sm,lg|} font-${5|italic,normal,weight-normal,weight-bold,weight-bolder,weight-light,weight-lighter|} text-${6|lowercase,uppercase,capitalize|} text-${7|decoration-none,decoration-underline,decoration-line-through|} text-${8|reset,break,monospace|}"],"description":"Quickly add font utility classes to any class."},"Shadow":{"prefix":"!shadow","body":["shadow${1| ,-sm,-lg|} bg-${2|white,light,dark,primary,secondary,success,danger,warning,info|} ${3|m,p|}${3|t,r,b,l,x,y|}${4|auto,0,1,2,3,4,5|}"],"description":"Add shadow to any class"},"Utility Paper Shadow":{"prefix":"b5-shadow","body":["
    ${0}
    "],"description":"Utility Paper Shadow"},"Utility Color":{"prefix":"b5-color","body":["${2|text,bg|}${3|primary,secondary,success,danger,warning,info,light,dark|}"],"description":"Text Utility"},"Utility Text":{"prefix":"b5-txt","body":["<${1|div,p,h1|} class=\"text-${2|sm,md,lg,xl|}-${3|left,center,right|} lh-${4|base,1,sm,lg|} font-${5|italic,normal,weight-normal,weight-bold,weight-bolder,weight-light,weight-lighter|} text-${6|lowercase,uppercase,capitalize|} text-${7|decoration-none,decoration-underline,decoration-line-through|} text-${8|reset,break,monospace|}\">","${9:Left aligned text on all viewport sizes.}",""],"description":"Text Utility"},"Utility Borders":{"prefix":"b5-borders","body":["<${1|div,p,h1|} class=\"border${1| ,-0,-top,-right,-bottom,-left,-top-0,-right-0,-bottom-0,-left-0|} border-${2|white,primary,secondary,success,danger,warning,info,light,dark|} ${3| ,rounded,rounded-top,rounded-right,rounded-bottom,rounded-left,rounded-circle,rounded-pill|} ${4| ,rounded-sm,rounded-lg|}\">","${10:Left aligned text on all viewport sizes.}",""],"description":"Utility Borders"},"Utility Spacing":{"prefix":"b5-Spacing","body":["<${1|div,p,h1|} class=\"${2|m,p|}${3|t,r,b,l,x,y|}${3|auto,0,1,2,3,4,5|} \">","${0}",""],"description":"Utility Spacing"},"breadcrumb":{"prefix":"b5-breadcrumb","body":["<${1:nav} class=\"breadcrumb\" aria-label=\"breadcrumb\">"," <${2:ol}>","
  • ${6:Library}
  • "," ",""],"description":"breadcrumb"},"Link BTN":{"prefix":"b5-btn","body":["${4| ,Link|}"],"description":"Link BTN"},"BTN-Outline":{"prefix":"b5-btn-o","body":["${4| ,Link|}"],"description":"Link BTN"},"Close Button":{"prefix":"b5-btn-close","body":[""],"description":"Close Button"},"Button Group":{"prefix":"b5-btn-gp","body":["
    "," b5-btn${0}","
    "],"description":"Button Group"},"Bootstrap 5 Card":{"prefix":"b5-card","body":["
    "," \"...\"","
    ","
    ${3|Card title, |}
    ","
    ${5|Card subtitle, |}
    ","

    ${6|Some quick example text to build on the card title and make up the bulk of the card's content., |}

    "," b5${0}","
    ","
    "],"description":"Bootstrap 5 Card"},"Bootstrap 5 carousel":{"prefix":"b5-carousel","body":["
    ","
      ","
    1. ","
    2. ","
    3. ","
    ","
    "," b5-carousel-item${0}","
    "," "," "," Previous"," "," "," "," Next"," ","
    ",""],"description":"Bootstrap 5 carousel"},"Bootstrap 5 carousel item":{"prefix":"b5-carousel-item","body":["
    "," \"${3:The","
    "],"description":"Bootstrap 5 carousel item"},"Button Reveal":{"prefix":"b5-btn-reveal","body":["","
    ","
    "," ${3|Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident., |}","
    ","
    "],"description":"Button Reveal"},"Accordion Example":{"prefix":"accordion-example","body":["
    ","
    ","
    ","

    "," ","

    ","
    ","","
    ","
    "," Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.","
    ","
    ","
    ","
    "],"description":"Accordion Example"},"figure":{"prefix":"b5-figure","body":["
    "," \"...\"","
    ${2:A caption for the above image.}
    ","
    "],"description":"figure"},"form":{"prefix":"b5-form","body":["
    ","
    "," "," ","
    "," Looks good!","
    ","
    ","
    "," "," ","
    "," Looks good!","
    ","
    ","
    "," ","
    "," @"," ","
    "," Please choose a username.","
    ","
    ","
    ","
    "," "," ","
    "," Please provide a valid city.","
    ","
    ","
    "," "," ","
    "," Please select a valid state.","
    ","
    ","
    "," "," ","
    "," Please provide a valid zip.","
    ","
    ","
    ","
    "," "," ","
    "," You must agree before submitting.","
    ","
    ","
    ","
    "," ","
    ","
    "],"description":"form"},"Bootstrap 5 container":{"prefix":"b5-contain","body":["
    ","b5-row${0}","
    "],"description":"Bootstrap 5 container"},"Bootstrap 5 row":{"prefix":"b5-row","body":["
    ","b5${0}","
    "],"description":"Bootstrap 5 row"},"Bootstrap 5 col":{"prefix":"b5-col","body":["
    "," b5${0}","
    "],"description":"Bootstrap 5 col"},"tablist":{"prefix":"b5-tablist","body":["","
    "," Home"," Profile"," Messages"," Settings","
    ","","","
    ","
    ...
    ","
    ...
    ","
    ...
    ","
    ...
    ","
    "],"description":"tablist"},"list-group-badge":{"prefix":"b5-list-group-badge","body":["
      ","
    • "," Cras justo odio"," 14","
    • ","
    • "," Dapibus ac facilisis in"," 2","
    • ","
    • "," Morbi leo risus"," 1","
    • ","
    "],"description":"list-group-badge"},"Modal-BTN":{"prefix":"b5-modal-btn","body":[""],"description":"Modal-Body"},"Modal-body":{"prefix":"b5-modal-body","body":["
    ","
    ","
    ","
    ","
    ${3:Modal title}
    "," ","
    ","
    "," ${0}","
    "," ${4| ,
    |}","
    ","
    ","
    ",""],"description":"Modal-Body"},"Modal-Footer":{"prefix":"b5-modal-footer","body":["
    ","
    ","
    ","
    ","
    ${3:Modal title}
    "," ","
    ","
    "," ${0}","
    "," ${4| ,
    |}","
    ","
    ","
    ",""],"description":"Modal-BTN"},"Pagination":{"prefix":"b5-pagination","body":[""],"description":"Pagination"},"Progress Bar":{"prefix":"b5-progress","body":["
    ","
    ${6:Description}
    ","
    "],"description":"Progress Bar"},"Bootstrap 5 scripts":{"prefix":"!b5-scripts","body":["","","${1|, |}"],"description":"Adds the cnd for the css scripts and has an option to use popper."},"Offcanvas Scripts":{"prefix":"!offcanvas-scripts","body":["",""],"description":"Offcanvas Scripts"},"Bootstrap 5 HTML Template":{"prefix":"!b5-$","body":["","",""," "," "," ${1:Bootstrap Site}"," "," "," ","","","

    Hello-Bootstrap

    ","",""],"description":"An HTML Boilerplate with Bootstrap 5"},"Offcanvas Template":{"prefix":"!offcanvas","body":["",""," "," "," "," "," Bootstrap 5 Offcanvas Template ยท Bootstrap"," "," "," "," "," "," "," ",""," "," "," "," "," "," "," ","
    ","
    "," \"\"","
    ","
    #JavaScriptFirst
    "," Learn Modern JavaScript, from an Open Source Book that teaches anyone how to code with JavaScript using the node.js runtime environment rather than a browser and by the end, you will build a server and a website using JavaScript.","
    ","
    ","","
    "," "," ",""],"description":"Offcanvas Template"},"Template Nav Bottom":{"prefix":"!mobileNav","body":["","",""," "," "," "," "," Bootstrap 5 Navbar Bottom Template ยท Bootstrap"," "," "," "," "," "," "," "," ",""," "," "," "," ","
    ","
    "," \"\"","
    ","
    #JavaScriptFirst
    "," "," ${1:Learn Modern JavaScript, from an Open Source Book that teaches anyone how to code with JavaScript using the node.js runtime environment rather than a browser and by the end, you will build a server and a website using JavaScript.}"," ","
    ","
    ","
    ","","",""," "," ","",""],"description":"Template Nav Bottom"},"Masonary Template":{"prefix":"!masonaryTemplate","body":["","","",""," "," "," "," "," "," Masonry example ยท Bootstrap",""," ","","",""," ",""," "," "," ",""," "," ","",""," ","",""," ","","","","","","","
    ","

    Bootstrap and Masonry

    ","

    Integrate Masonry with the Bootstrap grid system and"," cards component.

    ","","

    Masonry is not included in Bootstrap. Add it by including the JavaScript plugin manually, or using a CDN like"," so:

    ","","
    ","<script src="https://cdnjs.cloudflare.com/ajax/libs/masonry/4.2.2/masonry.pkgd.min.js" integrity="sha384-GNFwBvfVxBkLMJpYMOABq3c+d3KnQxudP/mGPkzpZSTYykLBNsZEnG2D9G/X/+7D" crossorigin="anonymous" async></script>","  
    ","","

    By adding data-masonry='{\"percentPosition\": true }' to the .row wrapper, we can"," combine the powers of Bootstrap's responsive grid and Masonry's positioning.

    ","","
    ","","
    ","
    ","
    "," "," Placeholder"," Image cap"," ","","
    ","
    Card title that wraps to a new line
    ","

    This is a longer card with supporting text below as a natural lead-in to"," additional content. This content is a little bit longer.

    ","
    ","
    ","
    ","
    ","
    ","
    ","
    ","

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

    ","
    "," ","
    ","
    ","
    ","
    ","
    "," "," Placeholder"," Image cap"," ","","
    ","
    Card title
    ","

    This card has supporting text below as a natural lead-in to additional"," content.

    ","

    Last updated 3 mins ago

    ","
    ","
    ","
    ","
    ","
    ","
    ","
    ","

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat.

    ","
    "," ","
    ","
    ","
    ","
    ","
    ","
    ","
    Card title
    ","

    This card has a regular title and short paragraph of text below it.

    ","

    Last updated 3 mins ago

    ","
    ","
    ","
    ","
    ","
    "," "," Placeholder"," Card image"," ","","
    ","
    ","
    ","
    ","
    ","
    ","

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

    ","
    "," ","
    ","
    ","
    ","
    ","
    ","
    ","
    Card title
    ","

    This is another card with title and supporting text below. This card has"," some additional content to make it slightly taller overall.

    ","

    Last updated 3 mins ago

    ","
    ","
    ","
    ","
    ","","
    ","","",""," ","","",""],"description":"Masonary Template"},"Product Template":{"prefix":"!productTemplate","body":["","","",""," "," "," "," "," "," Product example ยท Bootstrap",""," ",""," "," "," ","","",""," ","",""," "," "," ","","","",""," ","","
    ","
    ","

    Punny headline

    ","

    And an even wittier subheading to boot. Jumpstart your marketing efforts"," with this example based on Appleโ€™s marketing pages.

    "," Coming soon","
    ","
    ","
    ","
    ","","
    ","
    ","
    ","

    Another headline

    ","

    And an even wittier subheading.

    ","
    ","
    ","
    ","
    ","
    ","
    ","

    Another headline

    ","

    And an even wittier subheading.

    ","
    ","
    ","
    ","
    ","
    ","","
    ","
    ","
    ","

    Another headline

    ","

    And an even wittier subheading.

    ","
    ","
    ","
    ","
    ","
    ","
    ","

    Another headline

    ","

    And an even wittier subheading.

    ","
    ","
    ","
    ","
    ","
    ","","
    ","
    ","
    ","

    Another headline

    ","

    And an even wittier subheading.

    ","
    ","
    ","
    ","
    ","
    ","
    ","

    Another headline

    ","

    And an even wittier subheading.

    ","
    ","
    ","
    ","
    ","
    ","","
    ","
    ","
    ","

    Another headline

    ","

    And an even wittier subheading.

    ","
    ","
    ","
    ","
    ","
    ","
    ","

    Another headline

    ","

    And an even wittier subheading.

    ","
    ","
    ","
    ","
    ","
    ",""," ","","","",""],"description":"Product Template"},"Dashboard Template":{"prefix":"!dashboardTemplate","body":["","","",""," "," "," "," "," "," Dashboard Template ยท Bootstrap",""," ","","",""," "," "," ",""," ","","","",""," ","","
    ","
    "," ","","
    "," ","

    Dashboard

    ","
    ","
    "," "," ","
    "," ","
    ","
    ",""," ","","

    Section title

    ","
    "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," ","
    #HeaderHeaderHeaderHeader
    1,001Loremipsumdolorsit
    1,002ametconsecteturadipiscingelit
    1,003IntegernecodioPraesent
    1,003liberoSedcursusante
    1,004dapibusdiamSednisi
    1,005Nullaquissemat
    1,006nibhelementumimperdietDuis
    1,007sagittisipsumPraesentmauris
    1,008Fuscenectellussed
    1,009auguesemperportaMauris
    1,010massaVestibulumlaciniaarcu
    1,011egetnullaClassaptent
    1,012tacitisociosquadlitora
    1,013torquentperconubianostra
    1,014perinceptoshimenaeosCurabitur
    1,015sodalesligulainlibero
    ","
    "," ","
    "," ","",""," ",""," "," "," ","","",""],"description":"Dashboard Template"},"Carousel Template":{"prefix":"!CarouselTemplate","body":["","","",""," "," "," "," "," "," Carousel Template ยท Bootstrap",""," ","","",""," "," "," "," ",""," ","",""," "," ","","","","","
    "," ","
    ","","
    ","","
    ","
      ","
    1. ","
    2. ","
    3. ","
    ","
    ","
    "," "," ","","
    ","
    ","

    Example headline.

    ","

    Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget"," metus. Nullam id dolor id nibh ultricies vehicula ut id elit.

    ","

    Sign up today

    ","
    ","
    ","
    ","
    "," "," ","","
    ","
    ","

    Another example headline.

    ","

    Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget"," metus. Nullam id dolor id nibh ultricies vehicula ut id elit.

    ","

    Learn more

    ","
    ","
    ","
    ","
    "," "," ","","
    ","
    ","

    One more for good measure.

    ","

    Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget"," metus. Nullam id dolor id nibh ultricies vehicula ut id elit.

    ","

    Browse gallery

    ","
    ","
    ","
    ","
    "," "," "," Previous"," "," "," "," Next"," ","
    ","",""," "," ","","
    ",""," ","
    ","
    "," "," Placeholder"," 140x140"," ","","

    Heading

    ","

    Donec sed odio dui. Etiam porta sem malesuada magna mollis euismod. Nullam id dolor id nibh ultricies"," vehicula ut id elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Praesent commodo cursus"," magna.

    ","

    View details »

    ","
    ","
    "," "," Placeholder"," 140x140"," ","","

    Heading

    ","

    Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras"," mattis consectetur purus sit amet fermentum. Fusce dapibus, tellus ac cursus commodo, tortor mauris"," condimentum nibh.

    ","

    View details »

    ","
    ","
    "," "," Placeholder"," 140x140"," ","","

    Heading

    ","

    Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta"," felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum"," massa justo sit amet risus.

    ","

    View details »

    ","
    ","
    ","",""," ","","
    ","","
    ","
    ","

    First featurette heading. Itโ€™ll blow your mind.","

    ","

    Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod"," semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus"," commodo.

    ","
    ","
    "," "," Placeholder"," 500x500"," ","","
    ","
    ","","
    ","","
    ","
    ","

    Oh yeah, itโ€™s that good. See for yourself.

    ","

    Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod"," semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus"," commodo.

    ","
    ","
    "," "," Placeholder"," 500x500"," ","","
    ","
    ","","
    ","","
    ","
    ","

    And lastly, this one. Checkmate.

    ","

    Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod"," semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus"," commodo.

    ","
    ","
    "," "," Placeholder"," 500x500"," ","","
    ","
    ","","
    ",""," ","","
    ","",""," "," ","
    ","","","","","",""],"description":"Carousel Template"},"Album Template":{"prefix":"!AlbumTemplate","body":["","","",""," "," "," "," "," "," Album example ยท Bootstrap",""," ","","",""," ","","","",""," ","","","","","","","
    ","
    ","
    ","
    ","
    ","

    About

    ","

    Add some information about the album below, the author, or any other background"," context. Make it a few sentences long so folks can pick up some informative tidbits. Then, link them off"," to some social networking sites or contact information.

    ","
    ","
    ","

    Contact

    "," ","
    ","
    ","
    ","
    ","
    ","
    "," "," "," "," "," Album"," "," ","
    ","
    ","
    ","","
    ","","
    ","
    ","
    ","

    Album example

    ","

    Something short and leading about the collection belowโ€”its contents, the creator,"," etc. Make it short and sweet, but not too short so folks donโ€™t simply skip over it entirely.

    ","

    "," Main call to action"," Secondary action","

    ","
    ","
    ","
    ","","
    ","
    ","","
    ","
    ","
    "," "," Placeholder"," Thumbnail"," ","","
    ","

    This is a wider card with supporting text below as a natural lead-in to additional"," content. This content is a little bit longer.

    ","
    ","
    "," "," ","
    "," 9 mins","
    ","
    ","
    ","
    ","
    ","
    "," "," Placeholder"," Thumbnail"," ","","
    ","

    This is a wider card with supporting text below as a natural lead-in to additional"," content. This content is a little bit longer.

    ","
    ","
    "," "," ","
    "," 9 mins","
    ","
    ","
    ","
    ","
    ","
    "," "," Placeholder"," Thumbnail"," ","","
    ","

    This is a wider card with supporting text below as a natural lead-in to additional"," content. This content is a little bit longer.

    ","
    ","
    "," "," ","
    "," 9 mins","
    ","
    ","
    ","
    ","","
    ","
    "," "," Placeholder"," Thumbnail"," ","","
    ","

    This is a wider card with supporting text below as a natural lead-in to additional"," content. This content is a little bit longer.

    ","
    ","
    "," "," ","
    "," 9 mins","
    ","
    ","
    ","
    ","
    ","
    "," "," Placeholder"," Thumbnail"," ","","
    ","

    This is a wider card with supporting text below as a natural lead-in to additional"," content. This content is a little bit longer.

    ","
    ","
    "," "," ","
    "," 9 mins","
    ","
    ","
    ","
    ","
    ","
    "," "," Placeholder"," Thumbnail"," ","","
    ","

    This is a wider card with supporting text below as a natural lead-in to additional"," content. This content is a little bit longer.

    ","
    ","
    "," "," ","
    "," 9 mins","
    ","
    ","
    ","
    ","","
    ","
    "," "," Placeholder"," Thumbnail"," ","","
    ","

    This is a wider card with supporting text below as a natural lead-in to additional"," content. This content is a little bit longer.

    ","
    ","
    "," "," ","
    "," 9 mins","
    ","
    ","
    ","
    ","
    ","
    "," "," Placeholder"," Thumbnail"," ","","
    ","

    This is a wider card with supporting text below as a natural lead-in to additional"," content. This content is a little bit longer.

    ","
    ","
    "," "," ","
    "," 9 mins","
    ","
    ","
    ","
    ","
    ","
    "," "," Placeholder"," Thumbnail"," ","","
    ","

    This is a wider card with supporting text below as a natural lead-in to additional"," content. This content is a little bit longer.

    ","
    ","
    "," "," ","
    "," 9 mins","
    ","
    ","
    ","
    ","
    ","
    ","
    ","","
    ","","
    ","
    ","

    "," Back to top","

    ","

    Album example is © Bootstrap, but please download and customize it for yourself!

    ","

    New to Bootstrap? Visit the homepage or read our getting started guide.

    ","
    ","
    ","","","",""],"description":"Album Template"},"Blog Template":{"prefix":"!BlogTemplate","body":["","","",""," "," "," "," "," "," Blog Template ยท Bootstrap",""," ","","",""," "," "," "," ",""," ","",""," "," "," "," ","","","","","
    ","
    ","
    ","
    "," Subscribe","
    ","
    "," ","
    "," ","
    ","
    ","","
    "," ","
    ","","
    ","
    ","

    Title of a longer featured blog post

    ","

    Multiple lines of text that form the lede, informing new readers quickly and"," efficiently about whatโ€™s most interesting in this postโ€™s contents.

    ","

    Continue reading...

    ","
    ","
    ","","
    ","
    "," ","
    "," World","

    Featured post

    ","
    Nov 12
    ","

    This is a wider card with supporting text below as a natural"," lead-in to additional content.

    "," Continue reading","
    ","
    "," "," Placeholder"," Thumbnail"," ","","
    ","
    ","
    ","
    "," ","
    "," Design","

    Post title

    ","
    Nov 11
    ","

    This is a wider card with supporting text below as a natural lead-in to"," additional content.

    "," Continue reading","
    ","
    "," "," Placeholder"," Thumbnail"," ","","
    ","
    ","
    "," "," ","","
    ","
    ","
    ","

    "," From the Firehose","

    ","","
    ","

    Sample blog post

    "," ","","

    This blog post shows a few different types of content thatโ€™s supported and styled with Bootstrap."," Basic typography, images, and code are all supported.

    ","
    ","

    Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus"," mus. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Sed posuere"," consectetur est at lobortis. Cras mattis consectetur purus sit amet fermentum.

    ","
    ","

    Curabitur blandit tempus porttitor. Nullam quis risus eget urna mollis"," ornare vel eu leo. Nullam id dolor id nibh ultricies vehicula ut id elit.

    ","
    ","

    Etiam porta sem malesuada magna mollis euismod. Cras mattis consectetur purus sit amet"," fermentum. Aenean lacinia bibendum nulla sed consectetur.

    ","

    Heading

    ","

    Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non"," commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Morbi leo risus,"," porta ac consectetur ac, vestibulum at eros.

    ","

    Sub-heading

    ","

    Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.

    ","
    Example code block
    ","

    Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod."," Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa.

    ","

    Sub-heading

    ","

    Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean"," lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce"," dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit"," amet risus.

    ","
      ","
    • Praesent commodo cursus magna, vel scelerisque nisl consectetur et.
    • ","
    • Donec id elit non mi porta gravida at eget metus.
    • ","
    • Nulla vitae elit libero, a pharetra augue.
    • ","
    ","

    Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue.","

    ","
      ","
    1. Vestibulum id ligula porta felis euismod semper.
    2. ","
    3. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
    4. ","
    5. Maecenas sed diam eget risus varius blandit sit amet non magna.
    6. ","
    ","

    Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis.

    ","
    ","","
    ","

    Another blog post

    "," ","","

    Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus"," mus. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Sed posuere"," consectetur est at lobortis. Cras mattis consectetur purus sit amet fermentum.

    ","
    ","

    Curabitur blandit tempus porttitor. Nullam quis risus eget urna mollis"," ornare vel eu leo. Nullam id dolor id nibh ultricies vehicula ut id elit.

    ","
    ","

    Etiam porta sem malesuada magna mollis euismod. Cras mattis consectetur purus sit amet"," fermentum. Aenean lacinia bibendum nulla sed consectetur.

    ","

    Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non"," commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Morbi leo risus,"," porta ac consectetur ac, vestibulum at eros.

    ","
    ","","
    ","

    New feature

    "," ","","

    Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean"," lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce"," dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit"," amet risus.

    ","
      ","
    • Praesent commodo cursus magna, vel scelerisque nisl consectetur et.
    • ","
    • Donec id elit non mi porta gravida at eget metus.
    • ","
    • Nulla vitae elit libero, a pharetra augue.
    • ","
    ","

    Etiam porta sem malesuada magna mollis euismod. Cras mattis consectetur purus sit amet"," fermentum. Aenean lacinia bibendum nulla sed consectetur.

    ","

    Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue.","

    ","
    ",""," ","","
    ",""," ","","
    ","","
    ",""," ","","","","","",""],"description":"Blog Template"}} \ No newline at end of file diff --git a/my-snippets/B5-Snippets/snippets/oldsnippets.json b/my-snippets/B5-Snippets/snippets/oldsnippets.json deleted file mode 100644 index 451744c..0000000 --- a/my-snippets/B5-Snippets/snippets/oldsnippets.json +++ /dev/null @@ -1,580 +0,0 @@ -{ - "Bootstrap 5 container": { - "prefix": "b5-contain", - "body": [ - "
    ", - "b5-row${0}", - "
    " - ], - "description": "Bootstrap 5 container" - }, - "Bootstrap 5 row": { - "prefix": "b5-row", - "body": [ - "
    ", - "b5${0}", - "
    " - ], - "description": "Bootstrap 5 row" - }, - "Bootstrap 5 col": { - "prefix": "b5-col", - "body": [ - "
    ", - " b5${0}", - "
    " - ], - "description": "Bootstrap 5 col" - }, - "Bootstrap 5 Navbar": { - "prefix": "b5-navbar-default", - "body": [ - "" - ], - "description": "Bootstrap 5 Navbar" - }, - "Bootstrap 5 nav-item": { - "prefix": "b5-nav-item", - "body": [ - "
  • ", - " ${5|Home,About,Blog,Contact, |}", - "
  • " - ], - "description": "Bootstrap 5 nav-item" - }, - "Bootstrap 5 navlink": { - "prefix": "b5-navlink", - "body": [ - "${3|Home,About,Blog,Contact, |}", - "" - ], - "description": "Bootstrap 5 navlink" - }, - "Bootstrap 5 nav-dropdown toggle": { - "prefix": "b5-navdd-toggle", - "body": [ - "", - "b5-n${0}", - "" - ], - "description": "Bootstrap 5 nav-dropdown toggle" - }, - "Bootstrap 5 nav-dropdown": { - "prefix": "b5-navdropdown", - "body": [ - "
      ", - "b5-n${0}", - "
    " - ], - "description": "Bootstrap 5 nav-dropdown" - }, - "Bootstrap 5 Card": { - "prefix": "b5-card", - "body": [ - "
    ", - " \"...\"", - "
    ", - "
    ${3|Card title, |}
    ", - "
    ${5|Card subtitle, |}
    ", - "

    ${6|Some quick example text to build on the card title and make up the bulk of the card's content., |}

    ", - " b5${0}", - "
    ", - "
    " - ], - "description": "Bootstrap 5 Card" - }, - "Bootstrap 5 Block Quote": { - "prefix": "b5-quote", - "body": [ - "
    ", - "

    ${2|Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante., | }

    ", - "
    Someone famous in Source Title
    ", - "
    " - ], - "description": "Bootstrap 5 Block Quote" - }, - "Link BTN": { - "prefix": "b5-btn", - "body": [ - "${4| ,Link|}" - ], - "description": "Link BTN" - }, - "BTN-Outline": { - "prefix": "b5-btn-o", - "body": [ - "${4| ,Link|}" - ], - "description": "Link BTN" - }, - "Button Group": { - "prefix": "b5-btn-gp", - "body": [ - "
    ", - " b5-btn${0}", - "
    " - ], - "description": "Button Group" - }, - "Bootstrap 5 BTN Reveal": { - "prefix": "b5-btn-reveal", - "body": [ - "", - "
    ", - "
    ", - " ${3|Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident., |}", - "
    ", - "
    " - ], - "description": "Bootstrap 5 BTN Reveal" - }, - "Pagination": { - "prefix": "b5-pagination", - "body": [ - "" - ], - "description": "Pagination" - }, - "Utility Text": { - "prefix": "b5-txt", - "body": [ - "<${1|div,p,h1|} class=\"text-${2|sm,md,lg,xl|}-${3|left,center,right|} lh-${4|base,1,sm,lg|} font-${5|italic,normal,weight-normal,weight-bold,weight-bolder,weight-light,weight-lighter|} text-${6|lowercase,uppercase,capitalize|} text-${7|decoration-none,decoration-underline,decoration-line-through|} text-${8|reset,break,monospace|}\">", - "${9:Left aligned text on all viewport sizes.}", - "" - ], - "description": "Text Utility" - }, - "Utility Borders": { - "prefix": "b5-borders", - "body": [ - "<${1|div,p,h1|} class=\"border${1| ,-0,-top,-right,-bottom,-left,-top-0,-right-0,-bottom-0,-left-0|} border-${2|white,primary,secondary,success,danger,warning,info,light,dark|} ${3| ,rounded,rounded-top,rounded-right,rounded-bottom,rounded-left,rounded-circle,rounded-pill|} ${4| ,rounded-sm,rounded-lg|}\">", - "${10:Left aligned text on all viewport sizes.}", - "" - ], - "description": "Utility Borders" - }, - "Utility Spacing": { - "prefix": "b5-Spacing", - "body": [ - "<${1|div,p,h1|} class=\"${2|m,p|}${3|t,r,b,l,x,y|}${3|auto,0,1,2,3,4,5|} \">", - "${0}", - "" - ], - "description": "Utility Spacing" - }, - "Modal-BTN": { - "prefix": "b5-modal-btn", - "body": [ - "" - ], - "description": "Modal-Body" - }, - "Modal-body": { - "prefix": "b5-modal-body", - "body": [ - "
    ", - "
    ", - "
    ", - "
    ", - "
    ${3:Modal title}
    ", - " ", - "
    ", - "
    ", - " ${0}", - "
    ", - " ${4| ,
    |}", - "
    ", - "
    ", - "
    ", - "" - ], - "description": "Modal-Body" - }, - "Modal-Footer": { - "prefix": "b5-modal-footer", - "body": [ - "
    ", - "
    ", - "
    ", - "
    ", - "
    ${3:Modal title}
    ", - " ", - "
    ", - "
    ", - " ${0}", - "
    ", - " ${4| ,
    |}", - "
    ", - "
    ", - "
    ", - "" - ], - "description": "Modal-BTN" - }, - "badge": { - "prefix": "b5-badge", - "body": [ - "${4:Primary}" - ], - "description": "badge" - }, - "tooltips": { - "prefix": "b5-tooltip", - "body": [ - "" - ], - "description": "tooltips" - }, - "alert": { - "prefix": "b5-alert", - "body": [ - "
    ", - " ${2:A simple primary alertโ€”check it out!}", - "
    " - ], - "description": "alert" - }, - "alert big": { - "prefix": "b5-alert-big", - "body": [ - "
    ", - "

    $2:Well done!}

    ", - " ${3:Holy guacamole!} ", - " ", - "
    " - ], - "description": "alert big" - }, - "breadcumb": { - "prefix": "b5-breadcumb", - "body": [ - "<${1:nav} class=\"breadcrumb\" aria-label=\"breadcrumb\">", - " <${2:ol}>", - "
  • ${6:Library}
  • ", - " ", - "" - ], - "description": "breadcumb" - }, - "Progress Bar": { - "prefix": "b5-progress", - "body": [ - "
    ", - "
    ${6:Description}
    ", - "
    " - ], - "description": "Progress Bar" - }, - "Bootstrap 5 carousel": { - "prefix": "b5-carousel", - "body": [ - "
    ", - "
      ", - "
    1. ", - "
    2. ", - "
    3. ", - "
    ", - "
    ", - " b5-carousel-item${0}", - "
    ", - " ", - " ", - " Previous", - " ", - " ", - " ", - " Next", - " ", - "
    ", - "" - ], - "description": "Bootstrap 5 carousel" - }, - "Bootstrap 5 carousel item": { - "prefix": "b5-carousel-item", - "body": [ - "
    ", - " \"${3:The", - "
    " - ], - "description": "Bootstrap 5 carousel item" - }, - "Bootstrap 5 scripts": { - "prefix": "b5-$", - "body": [ - "", - "", - "${1|, |}" - ], - "description": "Adds the cnd for the css scripts and has an option to use popper." - }, - "Offcanvas Scripts": { - "prefix": "b5-$-offcanvas-scripts", - "body": [ - "", - "" - ], - "description": "Offcanvas Scripts" - }, - "Bootstrap 5 HTML Template": { - "prefix": "!b5-$", - "body": [ - "", - "", - "", - " ", - " ", - " ${1:Bootstrap Site}", - " ", - " ", - " ", - "", - "", - "

    Hello-Bootstrap

    ", - "", - "" - ], - "description": "An HTML Boilerplate with Bootstrap 5" - }, - "Offcanvas Template": { - "prefix": "b5-$-offcanvas", - "body": [ - "", - "", - " ", - " ", - " ", - " ", - " Bootstrap 5 Offcanvas Template ยท Bootstrap", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - "", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - "
    ", - "
    ", - " \"\"", - "
    ", - "
    #JavaScriptFirst
    ", - " Learn Modern JavaScript, from an Open Source Book that teaches anyone how to code with JavaScript using the node.js runtime environment rather than a browser and by the end, you will build a server and a website using JavaScript.", - "
    ", - "
    ", - "", - "
    ", - " ", - " ", - "" - ], - "description": "Offcanvas Template" - } -} diff --git a/my-snippets/B5-Snippets/snippets/snippets.json b/my-snippets/B5-Snippets/snippets/snippets.json deleted file mode 100644 index 4181b2e..0000000 --- a/my-snippets/B5-Snippets/snippets/snippets.json +++ /dev/null @@ -1,7885 +0,0 @@ -{ - "breadcrumb": { - "prefix": "b5-breadcrumb", - "body": [ - "<${1:nav} class=\"breadcrumb\" aria-label=\"breadcrumb\">", - "
      ", - "
    1. ${4:Library}
    2. ", - " b5${0}", - "
    ", - "" - ], - "description": "breadcrumb" - }, - "breadcrumb item": { - "prefix": "b5-breadcrumb-item", - "body": ["
  • ${3:Library}
  • "], - "description": "breadcrumb" - } -, - "Button": { - "prefix": "b5-btn", - "body": [ - "${4| ,Link|}" - ], - "description": "Create a basic button." - }, - "Call to Action Button": { - "prefix": "b5-btn-cta", - "body": [ - "${5|Link, ,call,mail|}" - ], - "description": "Create a CTA Button and drive your customer experience forward. \n Options: \n 1. Call\n 2. Email\n" - }, - "BTN-Outline": { - "prefix": "b5-btn-o", - "body": [ - "${4| ,Link|}" - ], - "description": "Link BTN" - }, - "Close Button": { - "prefix": "b5-btn-close", - "body": [ - "" - ], - "description": "Close Button" - }, - "Button Group": { - "prefix": "b5-btn-gp", - "body": [ - "
    ", - " b5-btn${0}", - "
    " - ], - "description": "Button Group" - } -, - "Bootstrap 5 Card": { - "prefix": "b5-card", - "body": [ - "
    ", - " \"...\"", - "
    ", - "
    ${3|Card title, |}
    ", - "
    ${5|Card subtitle, |}
    ", - "

    ${6|Some quick example text to build on the card title and make up the bulk of the card's content., |}

    ", - " b5${0}", - "
    ", - "
    " - ], - "description": "Bootstrap 5 Card" - } -, - "Bootstrap 5 carousel": { - "prefix": "b5-carousel", - "body": [ - "
    ", - "
      ", - "
    1. ", - "
    2. ", - "
    3. ", - "
    ", - "
    ", - " b5-carousel-item${0}", - "
    ", - " ", - " ", - " Previous", - " ", - " ", - " ", - " Next", - " ", - "
    ", - "" - ], - "description": "Bootstrap 5 carousel" - }, - "Bootstrap 5 carousel item": { - "prefix": "b5-carousel-item", - "body": [ - "
    ", - " \"${3:The", - "
    " - ], - "description": "Bootstrap 5 carousel item" - } -, - "Button Reveal": { - "prefix": "b5-btn-reveal", - "body": [ - "", - "
    ", - "
    ", - " ${3|Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident., |}", - "
    ", - "
    " - ], - "description": "Button Reveal" - }, - "Accordion Example": { - "prefix": "accordion-example", - "body": [ - "
    ", - "
    ", - "
    ", - "

    ", - " ", - "

    ", - "
    ", - "", - "
    ", - "
    ", - " Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.", - "
    ", - "
    ", - "
    ", - "
    " - ], - "description": "Accordion Example" - } -, - "figure": { - "prefix": "b5-figure", - "body": [ - "
    ", - " \"...\"", - "
    ${2:A caption for the above image.}
    ", - "
    " - ], - "description": "figure" - } -, - "Font awesome css link": { - "prefix": "!fa", - "body": "$0", - "description": "Font awesome css link" - }, - "500px": { - "prefix": "fa-500px", - "body": "$0", - "description": "500px", - "scope": "" - }, - "address-book": { - "prefix": "fa-address-book", - "body": "$0", - "description": "address-book", - "scope": "" - }, - "address-book-o": { - "prefix": "fa-address-book-o", - "body": "$0", - "description": "address-book-o", - "scope": "" - }, - "address-card": { - "prefix": "fa-address-card", - "body": "$0", - "description": "address-card", - "scope": "" - }, - "address-card-o": { - "prefix": "fa-address-card-o", - "body": "$0", - "description": "address-card-o", - "scope": "" - }, - "adjust": { - "prefix": "fa-adjust", - "body": "$0", - "description": "adjust", - "scope": "" - }, - "adn": { - "prefix": "fa-adn", - "body": "$0", - "description": "adn", - "scope": "" - }, - "align-center": { - "prefix": "fa-align-center", - "body": "$0", - "description": "align-center", - "scope": "" - }, - "align-justify": { - "prefix": "fa-align-justify", - "body": "$0", - "description": "align-justify", - "scope": "" - }, - "align-left": { - "prefix": "fa-align-left", - "body": "$0", - "description": "align-left", - "scope": "" - }, - "align-right": { - "prefix": "fa-align-right", - "body": "$0", - "description": "align-right", - "scope": "" - }, - "amazon": { - "prefix": "fa-amazon", - "body": "$0", - "description": "amazon", - "scope": "" - }, - "ambulance": { - "prefix": "fa-ambulance", - "body": "$0", - "description": "ambulance", - "scope": "" - }, - "american-sign-language-interpreting": { - "prefix": "fa-american-sign-language-interpreting", - "body": "$0", - "description": "american-sign-language-interpreting", - "scope": "" - }, - "anchor": { - "prefix": "fa-anchor", - "body": "$0", - "description": "anchor", - "scope": "" - }, - "android": { - "prefix": "fa-android", - "body": "$0", - "description": "android", - "scope": "" - }, - "angellist": { - "prefix": "fa-angellist", - "body": "$0", - "description": "angellist", - "scope": "" - }, - "angle-double-down": { - "prefix": "fa-angle-double-down", - "body": "$0", - "description": "angle-double-down", - "scope": "" - }, - "angle-double-left": { - "prefix": "fa-angle-double-left", - "body": "$0", - "description": "angle-double-left", - "scope": "" - }, - "angle-double-right": { - "prefix": "fa-angle-double-right", - "body": "$0", - "description": "angle-double-right", - "scope": "" - }, - "angle-double-up": { - "prefix": "fa-angle-double-up", - "body": "$0", - "description": "angle-double-up", - "scope": "" - }, - "angle-down": { - "prefix": "fa-angle-down", - "body": "$0", - "description": "angle-down", - "scope": "" - }, - "angle-left": { - "prefix": "fa-angle-left", - "body": "$0", - "description": "angle-left", - "scope": "" - }, - "angle-right": { - "prefix": "fa-angle-right", - "body": "$0", - "description": "angle-right", - "scope": "" - }, - "angle-up": { - "prefix": "fa-angle-up", - "body": "$0", - "description": "angle-up", - "scope": "" - }, - "apple": { - "prefix": "fa-apple", - "body": "$0", - "description": "apple", - "scope": "" - }, - "archive": { - "prefix": "fa-archive", - "body": "$0", - "description": "archive", - "scope": "" - }, - "area-chart": { - "prefix": "fa-area-chart", - "body": "$0", - "description": "area-chart", - "scope": "" - }, - "arrow-circle-down": { - "prefix": "fa-arrow-circle-down", - "body": "$0", - "description": "arrow-circle-down", - "scope": "" - }, - "arrow-circle-left": { - "prefix": "fa-arrow-circle-left", - "body": "$0", - "description": "arrow-circle-left", - "scope": "" - }, - "arrow-circle-o-down": { - "prefix": "fa-arrow-circle-o-down", - "body": "$0", - "description": "arrow-circle-o-down", - "scope": "" - }, - "arrow-circle-o-left": { - "prefix": "fa-arrow-circle-o-left", - "body": "$0", - "description": "arrow-circle-o-left", - "scope": "" - }, - "arrow-circle-o-right": { - "prefix": "fa-arrow-circle-o-right", - "body": "$0", - "description": "arrow-circle-o-right", - "scope": "" - }, - "arrow-circle-o-up": { - "prefix": "fa-arrow-circle-o-up", - "body": "$0", - "description": "arrow-circle-o-up", - "scope": "" - }, - "arrow-circle-right": { - "prefix": "fa-arrow-circle-right", - "body": "$0", - "description": "arrow-circle-right", - "scope": "" - }, - "arrow-circle-up": { - "prefix": "fa-arrow-circle-up", - "body": "$0", - "description": "arrow-circle-up", - "scope": "" - }, - "arrow-down": { - "prefix": "fa-arrow-down", - "body": "$0", - "description": "arrow-down", - "scope": "" - }, - "arrow-left": { - "prefix": "fa-arrow-left", - "body": "$0", - "description": "arrow-left", - "scope": "" - }, - "arrow-right": { - "prefix": "fa-arrow-right", - "body": "$0", - "description": "arrow-right", - "scope": "" - }, - "arrows": { - "prefix": "fa-arrows", - "body": "$0", - "description": "arrows", - "scope": "" - }, - "arrows-alt": { - "prefix": "fa-arrows-alt", - "body": "$0", - "description": "arrows-alt", - "scope": "" - }, - "arrows-h": { - "prefix": "fa-arrows-h", - "body": "$0", - "description": "arrows-h", - "scope": "" - }, - "arrows-v": { - "prefix": "fa-arrows-v", - "body": "$0", - "description": "arrows-v", - "scope": "" - }, - "arrow-up": { - "prefix": "fa-arrow-up", - "body": "$0", - "description": "arrow-up", - "scope": "" - }, - "asl-interpreting": { - "prefix": "fa-asl-interpreting", - "body": "$0", - "description": "asl-interpreting", - "scope": "" - }, - "assistive-listening-systems": { - "prefix": "fa-assistive-listening-systems", - "body": "$0", - "description": "assistive-listening-systems", - "scope": "" - }, - "asterisk": { - "prefix": "fa-asterisk", - "body": "$0", - "description": "asterisk", - "scope": "" - }, - "at": { - "prefix": "fa-at", - "body": "$0", - "description": "at", - "scope": "" - }, - "audio-description": { - "prefix": "fa-audio-description", - "body": "$0", - "description": "audio-description", - "scope": "" - }, - "automobile": { - "prefix": "fa-automobile", - "body": "$0", - "description": "automobile", - "scope": "" - }, - "backward": { - "prefix": "fa-backward", - "body": "$0", - "description": "backward", - "scope": "" - }, - "balance-scale": { - "prefix": "fa-balance-scale", - "body": "$0", - "description": "balance-scale", - "scope": "" - }, - "ban": { - "prefix": "fa-ban", - "body": "$0", - "description": "ban", - "scope": "" - }, - "bandcamp": { - "prefix": "fa-bandcamp", - "body": "$0", - "description": "bandcamp", - "scope": "" - }, - "bank": { - "prefix": "fa-bank", - "body": "$0", - "description": "bank", - "scope": "" - }, - "bar-chart": { - "prefix": "fa-bar-chart", - "body": "$0", - "description": "bar-chart", - "scope": "" - }, - "bar-chart-o": { - "prefix": "fa-bar-chart-o", - "body": "$0", - "description": "bar-chart-o", - "scope": "" - }, - "barcode": { - "prefix": "fa-barcode", - "body": "$0", - "description": "barcode", - "scope": "" - }, - "bars": { - "prefix": "fa-bars", - "body": "$0", - "description": "bars", - "scope": "" - }, - "bath": { - "prefix": "fa-bath", - "body": "$0", - "description": "bath", - "scope": "" - }, - "bathtub": { - "prefix": "fa-bathtub", - "body": "$0", - "description": "bathtub", - "scope": "" - }, - "battery": { - "prefix": "fa-battery", - "body": "$0", - "description": "battery", - "scope": "" - }, - "battery-0": { - "prefix": "fa-battery-0", - "body": "$0", - "description": "battery-0", - "scope": "" - }, - "battery-1": { - "prefix": "fa-battery-1", - "body": "$0", - "description": "battery-1", - "scope": "" - }, - "battery-2": { - "prefix": "fa-battery-2", - "body": "$0", - "description": "battery-2", - "scope": "" - }, - "battery-3": { - "prefix": "fa-battery-3", - "body": "$0", - "description": "battery-3", - "scope": "" - }, - "battery-4": { - "prefix": "fa-battery-4", - "body": "$0", - "description": "battery-4", - "scope": "" - }, - "battery-empty": { - "prefix": "fa-battery-empty", - "body": "$0", - "description": "battery-empty", - "scope": "" - }, - "battery-full": { - "prefix": "fa-battery-full", - "body": "$0", - "description": "battery-full", - "scope": "" - }, - "battery-half": { - "prefix": "fa-battery-half", - "body": "$0", - "description": "battery-half", - "scope": "" - }, - "battery-quarter": { - "prefix": "fa-battery-quarter", - "body": "$0", - "description": "battery-quarter", - "scope": "" - }, - "battery-three-quarters": { - "prefix": "fa-battery-three-quarters", - "body": "$0", - "description": "battery-three-quarters", - "scope": "" - }, - "bed": { - "prefix": "fa-bed", - "body": "$0", - "description": "bed", - "scope": "" - }, - "beer": { - "prefix": "fa-beer", - "body": "$0", - "description": "beer", - "scope": "" - }, - "behance": { - "prefix": "fa-behance", - "body": "$0", - "description": "behance", - "scope": "" - }, - "behance-square": { - "prefix": "fa-behance-square", - "body": "$0", - "description": "behance-square", - "scope": "" - }, - "bell": { - "prefix": "fa-bell", - "body": "$0", - "description": "bell", - "scope": "" - }, - "bell-o": { - "prefix": "fa-bell-o", - "body": "$0", - "description": "bell-o", - "scope": "" - }, - "bell-slash": { - "prefix": "fa-bell-slash", - "body": "$0", - "description": "bell-slash", - "scope": "" - }, - "bell-slash-o": { - "prefix": "fa-bell-slash-o", - "body": "$0", - "description": "bell-slash-o", - "scope": "" - }, - "bicycle": { - "prefix": "fa-bicycle", - "body": "$0", - "description": "bicycle", - "scope": "" - }, - "binoculars": { - "prefix": "fa-binoculars", - "body": "$0", - "description": "binoculars", - "scope": "" - }, - "birthday-cake": { - "prefix": "fa-birthday-cake", - "body": "$0", - "description": "birthday-cake", - "scope": "" - }, - "bitbucket": { - "prefix": "fa-bitbucket", - "body": "$0", - "description": "bitbucket", - "scope": "" - }, - "bitbucket-square": { - "prefix": "fa-bitbucket-square", - "body": "$0", - "description": "bitbucket-square", - "scope": "" - }, - "bitcoin": { - "prefix": "fa-bitcoin", - "body": "$0", - "description": "bitcoin", - "scope": "" - }, - "black-tie": { - "prefix": "fa-black-tie", - "body": "$0", - "description": "black-tie", - "scope": "" - }, - "blind": { - "prefix": "fa-blind", - "body": "$0", - "description": "blind", - "scope": "" - }, - "bluetooth": { - "prefix": "fa-bluetooth", - "body": "$0", - "description": "bluetooth", - "scope": "" - }, - "bluetooth-b": { - "prefix": "fa-bluetooth-b", - "body": "$0", - "description": "bluetooth-b", - "scope": "" - }, - "bold": { - "prefix": "fa-bold", - "body": "$0", - "description": "bold", - "scope": "" - }, - "bolt": { - "prefix": "fa-bolt", - "body": "$0", - "description": "bolt", - "scope": "" - }, - "bomb": { - "prefix": "fa-bomb", - "body": "$0", - "description": "bomb", - "scope": "" - }, - "book": { - "prefix": "fa-book", - "body": "$0", - "description": "book", - "scope": "" - }, - "bookmark": { - "prefix": "fa-bookmark", - "body": "$0", - "description": "bookmark", - "scope": "" - }, - "bookmark-o": { - "prefix": "fa-bookmark-o", - "body": "$0", - "description": "bookmark-o", - "scope": "" - }, - "braille": { - "prefix": "fa-braille", - "body": "$0", - "description": "braille", - "scope": "" - }, - "briefcase": { - "prefix": "fa-briefcase", - "body": "$0", - "description": "briefcase", - "scope": "" - }, - "btc": { - "prefix": "fa-btc", - "body": "$0", - "description": "btc", - "scope": "" - }, - "bug": { - "prefix": "fa-bug", - "body": "$0", - "description": "bug", - "scope": "" - }, - "building": { - "prefix": "fa-building", - "body": "$0", - "description": "building", - "scope": "" - }, - "building-o": { - "prefix": "fa-building-o", - "body": "$0", - "description": "building-o", - "scope": "" - }, - "bullhorn": { - "prefix": "fa-bullhorn", - "body": "$0", - "description": "bullhorn", - "scope": "" - }, - "bullseye": { - "prefix": "fa-bullseye", - "body": "$0", - "description": "bullseye", - "scope": "" - }, - "bus": { - "prefix": "fa-bus", - "body": "$0", - "description": "bus", - "scope": "" - }, - "buysellads": { - "prefix": "fa-buysellads", - "body": "$0", - "description": "buysellads", - "scope": "" - }, - "cab": { - "prefix": "fa-cab", - "body": "$0", - "description": "cab", - "scope": "" - }, - "calculator": { - "prefix": "fa-calculator", - "body": "$0", - "description": "calculator", - "scope": "" - }, - "calendar": { - "prefix": "fa-calendar", - "body": "$0", - "description": "calendar", - "scope": "" - }, - "calendar-check-o": { - "prefix": "fa-calendar-check-o", - "body": "$0", - "description": "calendar-check-o", - "scope": "" - }, - "calendar-minus-o": { - "prefix": "fa-calendar-minus-o", - "body": "$0", - "description": "calendar-minus-o", - "scope": "" - }, - "calendar-o": { - "prefix": "fa-calendar-o", - "body": "$0", - "description": "calendar-o", - "scope": "" - }, - "calendar-plus-o": { - "prefix": "fa-calendar-plus-o", - "body": "$0", - "description": "calendar-plus-o", - "scope": "" - }, - "calendar-times-o": { - "prefix": "fa-calendar-times-o", - "body": "$0", - "description": "calendar-times-o", - "scope": "" - }, - "camera": { - "prefix": "fa-camera", - "body": "$0", - "description": "camera", - "scope": "" - }, - "camera-retro": { - "prefix": "fa-camera-retro", - "body": "$0", - "description": "camera-retro", - "scope": "" - }, - "car": { - "prefix": "fa-car", - "body": "$0", - "description": "car", - "scope": "" - }, - "caret-down": { - "prefix": "fa-caret-down", - "body": "$0", - "description": "caret-down", - "scope": "" - }, - "caret-left": { - "prefix": "fa-caret-left", - "body": "$0", - "description": "caret-left", - "scope": "" - }, - "caret-right": { - "prefix": "fa-caret-right", - "body": "$0", - "description": "caret-right", - "scope": "" - }, - "caret-square-o-down": { - "prefix": "fa-caret-square-o-down", - "body": "$0", - "description": "caret-square-o-down", - "scope": "" - }, - "caret-square-o-left": { - "prefix": "fa-caret-square-o-left", - "body": "$0", - "description": "caret-square-o-left", - "scope": "" - }, - "caret-square-o-right": { - "prefix": "fa-caret-square-o-right", - "body": "$0", - "description": "caret-square-o-right", - "scope": "" - }, - "caret-square-o-up": { - "prefix": "fa-caret-square-o-up", - "body": "$0", - "description": "caret-square-o-up", - "scope": "" - }, - "caret-up": { - "prefix": "fa-caret-up", - "body": "$0", - "description": "caret-up", - "scope": "" - }, - "cart-arrow-down": { - "prefix": "fa-cart-arrow-down", - "body": "$0", - "description": "cart-arrow-down", - "scope": "" - }, - "cart-plus": { - "prefix": "fa-cart-plus", - "body": "$0", - "description": "cart-plus", - "scope": "" - }, - "cc": { - "prefix": "fa-cc", - "body": "$0", - "description": "cc", - "scope": "" - }, - "cc-amex": { - "prefix": "fa-cc-amex", - "body": "$0", - "description": "cc-amex", - "scope": "" - }, - "cc-diners-club": { - "prefix": "fa-cc-diners-club", - "body": "$0", - "description": "cc-diners-club", - "scope": "" - }, - "cc-discover": { - "prefix": "fa-cc-discover", - "body": "$0", - "description": "cc-discover", - "scope": "" - }, - "cc-jcb": { - "prefix": "fa-cc-jcb", - "body": "$0", - "description": "cc-jcb", - "scope": "" - }, - "cc-mastercard": { - "prefix": "fa-cc-mastercard", - "body": "$0", - "description": "cc-mastercard", - "scope": "" - }, - "cc-paypal": { - "prefix": "fa-cc-paypal", - "body": "$0", - "description": "cc-paypal", - "scope": "" - }, - "cc-stripe": { - "prefix": "fa-cc-stripe", - "body": "$0", - "description": "cc-stripe", - "scope": "" - }, - "cc-visa": { - "prefix": "fa-cc-visa", - "body": "$0", - "description": "cc-visa", - "scope": "" - }, - "certificate": { - "prefix": "fa-certificate", - "body": "$0", - "description": "certificate", - "scope": "" - }, - "chain": { - "prefix": "fa-chain", - "body": "$0", - "description": "chain", - "scope": "" - }, - "chain-broken": { - "prefix": "fa-chain-broken", - "body": "$0", - "description": "chain-broken", - "scope": "" - }, - "check": { - "prefix": "fa-check", - "body": "$0", - "description": "check", - "scope": "" - }, - "check-circle": { - "prefix": "fa-check-circle", - "body": "$0", - "description": "check-circle", - "scope": "" - }, - "check-circle-o": { - "prefix": "fa-check-circle-o", - "body": "$0", - "description": "check-circle-o", - "scope": "" - }, - "check-square": { - "prefix": "fa-check-square", - "body": "$0", - "description": "check-square", - "scope": "" - }, - "check-square-o": { - "prefix": "fa-check-square-o", - "body": "$0", - "description": "check-square-o", - "scope": "" - }, - "chevron-circle-down": { - "prefix": "fa-chevron-circle-down", - "body": "$0", - "description": "chevron-circle-down", - "scope": "" - }, - "chevron-circle-left": { - "prefix": "fa-chevron-circle-left", - "body": "$0", - "description": "chevron-circle-left", - "scope": "" - }, - "chevron-circle-right": { - "prefix": "fa-chevron-circle-right", - "body": "$0", - "description": "chevron-circle-right", - "scope": "" - }, - "chevron-circle-up": { - "prefix": "fa-chevron-circle-up", - "body": "$0", - "description": "chevron-circle-up", - "scope": "" - }, - "chevron-down": { - "prefix": "fa-chevron-down", - "body": "$0", - "description": "chevron-down", - "scope": "" - }, - "chevron-left": { - "prefix": "fa-chevron-left", - "body": "$0", - "description": "chevron-left", - "scope": "" - }, - "chevron-right": { - "prefix": "fa-chevron-right", - "body": "$0", - "description": "chevron-right", - "scope": "" - }, - "chevron-up": { - "prefix": "fa-chevron-up", - "body": "$0", - "description": "chevron-up", - "scope": "" - }, - "child": { - "prefix": "fa-child", - "body": "$0", - "description": "child", - "scope": "" - }, - "chrome": { - "prefix": "fa-chrome", - "body": "$0", - "description": "chrome", - "scope": "" - }, - "circle": { - "prefix": "fa-circle", - "body": "$0", - "description": "circle", - "scope": "" - }, - "circle-o": { - "prefix": "fa-circle-o", - "body": "$0", - "description": "circle-o", - "scope": "" - }, - "circle-o-notch": { - "prefix": "fa-circle-o-notch", - "body": "$0", - "description": "circle-o-notch", - "scope": "" - }, - "circle-thin": { - "prefix": "fa-circle-thin", - "body": "$0", - "description": "circle-thin", - "scope": "" - }, - "clipboard": { - "prefix": "fa-clipboard", - "body": "$0", - "description": "clipboard", - "scope": "" - }, - "clock-o": { - "prefix": "fa-clock-o", - "body": "$0", - "description": "clock-o", - "scope": "" - }, - "clone": { - "prefix": "fa-clone", - "body": "$0", - "description": "clone", - "scope": "" - }, - "close": { - "prefix": "fa-close", - "body": "$0", - "description": "close", - "scope": "" - }, - "cloud": { - "prefix": "fa-cloud", - "body": "$0", - "description": "cloud", - "scope": "" - }, - "cloud-download": { - "prefix": "fa-cloud-download", - "body": "$0", - "description": "cloud-download", - "scope": "" - }, - "cloud-upload": { - "prefix": "fa-cloud-upload", - "body": "$0", - "description": "cloud-upload", - "scope": "" - }, - "cny": { - "prefix": "fa-cny", - "body": "$0", - "description": "cny", - "scope": "" - }, - "code": { - "prefix": "fa-code", - "body": "$0", - "description": "code", - "scope": "" - }, - "code-fork": { - "prefix": "fa-code-fork", - "body": "$0", - "description": "code-fork", - "scope": "" - }, - "codepen": { - "prefix": "fa-codepen", - "body": "$0", - "description": "codepen", - "scope": "" - }, - "codiepie": { - "prefix": "fa-codiepie", - "body": "$0", - "description": "codiepie", - "scope": "" - }, - "coffee": { - "prefix": "fa-coffee", - "body": "$0", - "description": "coffee", - "scope": "" - }, - "cog": { - "prefix": "fa-cog", - "body": "$0", - "description": "cog", - "scope": "" - }, - "cogs": { - "prefix": "fa-cogs", - "body": "$0", - "description": "cogs", - "scope": "" - }, - "columns": { - "prefix": "fa-columns", - "body": "$0", - "description": "columns", - "scope": "" - }, - "comment": { - "prefix": "fa-comment", - "body": "$0", - "description": "comment", - "scope": "" - }, - "commenting": { - "prefix": "fa-commenting", - "body": "$0", - "description": "commenting", - "scope": "" - }, - "commenting-o": { - "prefix": "fa-commenting-o", - "body": "$0", - "description": "commenting-o", - "scope": "" - }, - "comment-o": { - "prefix": "fa-comment-o", - "body": "$0", - "description": "comment-o", - "scope": "" - }, - "comments": { - "prefix": "fa-comments", - "body": "$0", - "description": "comments", - "scope": "" - }, - "comments-o": { - "prefix": "fa-comments-o", - "body": "$0", - "description": "comments-o", - "scope": "" - }, - "compass": { - "prefix": "fa-compass", - "body": "$0", - "description": "compass", - "scope": "" - }, - "compress": { - "prefix": "fa-compress", - "body": "$0", - "description": "compress", - "scope": "" - }, - "connectdevelop": { - "prefix": "fa-connectdevelop", - "body": "$0", - "description": "connectdevelop", - "scope": "" - }, - "contao": { - "prefix": "fa-contao", - "body": "$0", - "description": "contao", - "scope": "" - }, - "copy": { - "prefix": "fa-copy", - "body": "$0", - "description": "copy", - "scope": "" - }, - "copyright": { - "prefix": "fa-copyright", - "body": "$0", - "description": "copyright", - "scope": "" - }, - "creative-commons": { - "prefix": "fa-creative-commons", - "body": "$0", - "description": "creative-commons", - "scope": "" - }, - "credit-card": { - "prefix": "fa-credit-card", - "body": "$0", - "description": "credit-card", - "scope": "" - }, - "credit-card-alt": { - "prefix": "fa-credit-card-alt", - "body": "$0", - "description": "credit-card-alt", - "scope": "" - }, - "crop": { - "prefix": "fa-crop", - "body": "$0", - "description": "crop", - "scope": "" - }, - "crosshairs": { - "prefix": "fa-crosshairs", - "body": "$0", - "description": "crosshairs", - "scope": "" - }, - "css3": { - "prefix": "fa-css3", - "body": "$0", - "description": "css3", - "scope": "" - }, - "cube": { - "prefix": "fa-cube", - "body": "$0", - "description": "cube", - "scope": "" - }, - "cubes": { - "prefix": "fa-cubes", - "body": "$0", - "description": "cubes", - "scope": "" - }, - "cut": { - "prefix": "fa-cut", - "body": "$0", - "description": "cut", - "scope": "" - }, - "cutlery": { - "prefix": "fa-cutlery", - "body": "$0", - "description": "cutlery", - "scope": "" - }, - "dashboard": { - "prefix": "fa-dashboard", - "body": "$0", - "description": "dashboard", - "scope": "" - }, - "dashcube": { - "prefix": "fa-dashcube", - "body": "$0", - "description": "dashcube", - "scope": "" - }, - "database": { - "prefix": "fa-database", - "body": "$0", - "description": "database", - "scope": "" - }, - "deaf": { - "prefix": "fa-deaf", - "body": "$0", - "description": "deaf", - "scope": "" - }, - "deafness": { - "prefix": "fa-deafness", - "body": "$0", - "description": "deafness", - "scope": "" - }, - "dedent": { - "prefix": "fa-dedent", - "body": "$0", - "description": "dedent", - "scope": "" - }, - "delicious": { - "prefix": "fa-delicious", - "body": "$0", - "description": "delicious", - "scope": "" - }, - "desktop": { - "prefix": "fa-desktop", - "body": "$0", - "description": "desktop", - "scope": "" - }, - "deviantart": { - "prefix": "fa-deviantart", - "body": "$0", - "description": "deviantart", - "scope": "" - }, - "diamond": { - "prefix": "fa-diamond", - "body": "$0", - "description": "diamond", - "scope": "" - }, - "digg": { - "prefix": "fa-digg", - "body": "$0", - "description": "digg", - "scope": "" - }, - "dollar": { - "prefix": "fa-dollar", - "body": "$0", - "description": "dollar", - "scope": "" - }, - "dot-circle-o": { - "prefix": "fa-dot-circle-o", - "body": "$0", - "description": "dot-circle-o", - "scope": "" - }, - "download": { - "prefix": "fa-download", - "body": "$0", - "description": "download", - "scope": "" - }, - "dribbble": { - "prefix": "fa-dribbble", - "body": "$0", - "description": "dribbble", - "scope": "" - }, - "drivers-license": { - "prefix": "fa-drivers-license", - "body": "$0", - "description": "drivers-license", - "scope": "" - }, - "drivers-license-o": { - "prefix": "fa-drivers-license-o", - "body": "$0", - "description": "drivers-license-o", - "scope": "" - }, - "dropbox": { - "prefix": "fa-dropbox", - "body": "$0", - "description": "dropbox", - "scope": "" - }, - "drupal": { - "prefix": "fa-drupal", - "body": "$0", - "description": "drupal", - "scope": "" - }, - "edge": { - "prefix": "fa-edge", - "body": "$0", - "description": "edge", - "scope": "" - }, - "edit": { - "prefix": "fa-edit", - "body": "$0", - "description": "edit", - "scope": "" - }, - "eercast": { - "prefix": "fa-eercast", - "body": "$0", - "description": "eercast", - "scope": "" - }, - "eject": { - "prefix": "fa-eject", - "body": "$0", - "description": "eject", - "scope": "" - }, - "ellipsis-h": { - "prefix": "fa-ellipsis-h", - "body": "$0", - "description": "ellipsis-h", - "scope": "" - }, - "ellipsis-v": { - "prefix": "fa-ellipsis-v", - "body": "$0", - "description": "ellipsis-v", - "scope": "" - }, - "empire": { - "prefix": "fa-empire", - "body": "$0", - "description": "empire", - "scope": "" - }, - "envelope": { - "prefix": "fa-envelope", - "body": "$0", - "description": "envelope", - "scope": "" - }, - "envelope-o": { - "prefix": "fa-envelope-o", - "body": "$0", - "description": "envelope-o", - "scope": "" - }, - "envelope-open": { - "prefix": "fa-envelope-open", - "body": "$0", - "description": "envelope-open", - "scope": "" - }, - "envelope-open-o": { - "prefix": "fa-envelope-open-o", - "body": "$0", - "description": "envelope-open-o", - "scope": "" - }, - "envelope-square": { - "prefix": "fa-envelope-square", - "body": "$0", - "description": "envelope-square", - "scope": "" - }, - "envira": { - "prefix": "fa-envira", - "body": "$0", - "description": "envira", - "scope": "" - }, - "eraser": { - "prefix": "fa-eraser", - "body": "$0", - "description": "eraser", - "scope": "" - }, - "etsy": { - "prefix": "fa-etsy", - "body": "$0", - "description": "etsy", - "scope": "" - }, - "eur": { - "prefix": "fa-eur", - "body": "$0", - "description": "eur", - "scope": "" - }, - "euro": { - "prefix": "fa-euro", - "body": "$0", - "description": "euro", - "scope": "" - }, - "exchange": { - "prefix": "fa-exchange", - "body": "$0", - "description": "exchange", - "scope": "" - }, - "exclamation": { - "prefix": "fa-exclamation", - "body": "$0", - "description": "exclamation", - "scope": "" - }, - "exclamation-circle": { - "prefix": "fa-exclamation-circle", - "body": "$0", - "description": "exclamation-circle", - "scope": "" - }, - "exclamation-triangle": { - "prefix": "fa-exclamation-triangle", - "body": "$0", - "description": "exclamation-triangle", - "scope": "" - }, - "expand": { - "prefix": "fa-expand", - "body": "$0", - "description": "expand", - "scope": "" - }, - "expeditedssl": { - "prefix": "fa-expeditedssl", - "body": "$0", - "description": "expeditedssl", - "scope": "" - }, - "external-link": { - "prefix": "fa-external-link", - "body": "$0", - "description": "external-link", - "scope": "" - }, - "external-link-square": { - "prefix": "fa-external-link-square", - "body": "$0", - "description": "external-link-square", - "scope": "" - }, - "eye": { - "prefix": "fa-eye", - "body": "$0", - "description": "eye", - "scope": "" - }, - "eyedropper": { - "prefix": "fa-eyedropper", - "body": "$0", - "description": "eyedropper", - "scope": "" - }, - "eye-slash": { - "prefix": "fa-eye-slash", - "body": "$0", - "description": "eye-slash", - "scope": "" - }, - "fa": { - "prefix": "fa-fa", - "body": "$0", - "description": "fa", - "scope": "" - }, - "facebook": { - "prefix": "fa-facebook", - "body": "$0", - "description": "facebook", - "scope": "" - }, - "facebook-f": { - "prefix": "fa-facebook-f", - "body": "$0", - "description": "facebook-f", - "scope": "" - }, - "facebook-official": { - "prefix": "fa-facebook-official", - "body": "$0", - "description": "facebook-official", - "scope": "" - }, - "facebook-square": { - "prefix": "fa-facebook-square", - "body": "$0", - "description": "facebook-square", - "scope": "" - }, - "fast-backward": { - "prefix": "fa-fast-backward", - "body": "$0", - "description": "fast-backward", - "scope": "" - }, - "fast-forward": { - "prefix": "fa-fast-forward", - "body": "$0", - "description": "fast-forward", - "scope": "" - }, - "fax": { - "prefix": "fa-fax", - "body": "$0", - "description": "fax", - "scope": "" - }, - "feed": { - "prefix": "fa-feed", - "body": "$0", - "description": "feed", - "scope": "" - }, - "female": { - "prefix": "fa-female", - "body": "$0", - "description": "female", - "scope": "" - }, - "fighter-jet": { - "prefix": "fa-fighter-jet", - "body": "$0", - "description": "fighter-jet", - "scope": "" - }, - "file": { - "prefix": "fa-file", - "body": "$0", - "description": "file", - "scope": "" - }, - "file-archive-o": { - "prefix": "fa-file-archive-o", - "body": "$0", - "description": "file-archive-o", - "scope": "" - }, - "file-audio-o": { - "prefix": "fa-file-audio-o", - "body": "$0", - "description": "file-audio-o", - "scope": "" - }, - "file-code-o": { - "prefix": "fa-file-code-o", - "body": "$0", - "description": "file-code-o", - "scope": "" - }, - "file-excel-o": { - "prefix": "fa-file-excel-o", - "body": "$0", - "description": "file-excel-o", - "scope": "" - }, - "file-image-o": { - "prefix": "fa-file-image-o", - "body": "$0", - "description": "file-image-o", - "scope": "" - }, - "file-movie-o": { - "prefix": "fa-file-movie-o", - "body": "$0", - "description": "file-movie-o", - "scope": "" - }, - "file-o": { - "prefix": "fa-file-o", - "body": "$0", - "description": "file-o", - "scope": "" - }, - "file-pdf-o": { - "prefix": "fa-file-pdf-o", - "body": "$0", - "description": "file-pdf-o", - "scope": "" - }, - "file-photo-o": { - "prefix": "fa-file-photo-o", - "body": "$0", - "description": "file-photo-o", - "scope": "" - }, - "file-picture-o": { - "prefix": "fa-file-picture-o", - "body": "$0", - "description": "file-picture-o", - "scope": "" - }, - "file-powerpoint-o": { - "prefix": "fa-file-powerpoint-o", - "body": "$0", - "description": "file-powerpoint-o", - "scope": "" - }, - "files-o": { - "prefix": "fa-files-o", - "body": "$0", - "description": "files-o", - "scope": "" - }, - "file-sound-o": { - "prefix": "fa-file-sound-o", - "body": "$0", - "description": "file-sound-o", - "scope": "" - }, - "file-text": { - "prefix": "fa-file-text", - "body": "$0", - "description": "file-text", - "scope": "" - }, - "file-text-o": { - "prefix": "fa-file-text-o", - "body": "$0", - "description": "file-text-o", - "scope": "" - }, - "file-video-o": { - "prefix": "fa-file-video-o", - "body": "$0", - "description": "file-video-o", - "scope": "" - }, - "file-word-o": { - "prefix": "fa-file-word-o", - "body": "$0", - "description": "file-word-o", - "scope": "" - }, - "file-zip-o": { - "prefix": "fa-file-zip-o", - "body": "$0", - "description": "file-zip-o", - "scope": "" - }, - "film": { - "prefix": "fa-film", - "body": "$0", - "description": "film", - "scope": "" - }, - "filter": { - "prefix": "fa-filter", - "body": "$0", - "description": "filter", - "scope": "" - }, - "fire": { - "prefix": "fa-fire", - "body": "$0", - "description": "fire", - "scope": "" - }, - "fire-extinguisher": { - "prefix": "fa-fire-extinguisher", - "body": "$0", - "description": "fire-extinguisher", - "scope": "" - }, - "firefox": { - "prefix": "fa-firefox", - "body": "$0", - "description": "firefox", - "scope": "" - }, - "first-order": { - "prefix": "fa-first-order", - "body": "$0", - "description": "first-order", - "scope": "" - }, - "flag": { - "prefix": "fa-flag", - "body": "$0", - "description": "flag", - "scope": "" - }, - "flag-checkered": { - "prefix": "fa-flag-checkered", - "body": "$0", - "description": "flag-checkered", - "scope": "" - }, - "flag-o": { - "prefix": "fa-flag-o", - "body": "$0", - "description": "flag-o", - "scope": "" - }, - "flash": { - "prefix": "fa-flash", - "body": "$0", - "description": "flash", - "scope": "" - }, - "flask": { - "prefix": "fa-flask", - "body": "$0", - "description": "flask", - "scope": "" - }, - "flickr": { - "prefix": "fa-flickr", - "body": "$0", - "description": "flickr", - "scope": "" - }, - "floppy-o": { - "prefix": "fa-floppy-o", - "body": "$0", - "description": "floppy-o", - "scope": "" - }, - "folder": { - "prefix": "fa-folder", - "body": "$0", - "description": "folder", - "scope": "" - }, - "folder-o": { - "prefix": "fa-folder-o", - "body": "$0", - "description": "folder-o", - "scope": "" - }, - "folder-open": { - "prefix": "fa-folder-open", - "body": "$0", - "description": "folder-open", - "scope": "" - }, - "folder-open-o": { - "prefix": "fa-folder-open-o", - "body": "$0", - "description": "folder-open-o", - "scope": "" - }, - "font": { - "prefix": "fa-font", - "body": "$0", - "description": "font", - "scope": "" - }, - "font-awesome": { - "prefix": "fa-font-awesome", - "body": "$0", - "description": "font-awesome", - "scope": "" - }, - "fonticons": { - "prefix": "fa-fonticons", - "body": "$0", - "description": "fonticons", - "scope": "" - }, - "fort-awesome": { - "prefix": "fa-fort-awesome", - "body": "$0", - "description": "fort-awesome", - "scope": "" - }, - "forumbee": { - "prefix": "fa-forumbee", - "body": "$0", - "description": "forumbee", - "scope": "" - }, - "forward": { - "prefix": "fa-forward", - "body": "$0", - "description": "forward", - "scope": "" - }, - "foursquare": { - "prefix": "fa-foursquare", - "body": "$0", - "description": "foursquare", - "scope": "" - }, - "free-code-camp": { - "prefix": "fa-free-code-camp", - "body": "$0", - "description": "free-code-camp", - "scope": "" - }, - "frown-o": { - "prefix": "fa-frown-o", - "body": "$0", - "description": "frown-o", - "scope": "" - }, - "futbol-o": { - "prefix": "fa-futbol-o", - "body": "$0", - "description": "futbol-o", - "scope": "" - }, - "gamepad": { - "prefix": "fa-gamepad", - "body": "$0", - "description": "gamepad", - "scope": "" - }, - "gavel": { - "prefix": "fa-gavel", - "body": "$0", - "description": "gavel", - "scope": "" - }, - "gbp": { - "prefix": "fa-gbp", - "body": "$0", - "description": "gbp", - "scope": "" - }, - "ge": { - "prefix": "fa-ge", - "body": "$0", - "description": "ge", - "scope": "" - }, - "gear": { - "prefix": "fa-gear", - "body": "$0", - "description": "gear", - "scope": "" - }, - "gears": { - "prefix": "fa-gears", - "body": "$0", - "description": "gears", - "scope": "" - }, - "genderless": { - "prefix": "fa-genderless", - "body": "$0", - "description": "genderless", - "scope": "" - }, - "get-pocket": { - "prefix": "fa-get-pocket", - "body": "$0", - "description": "get-pocket", - "scope": "" - }, - "gg": { - "prefix": "fa-gg", - "body": "$0", - "description": "gg", - "scope": "" - }, - "gg-circle": { - "prefix": "fa-gg-circle", - "body": "$0", - "description": "gg-circle", - "scope": "" - }, - "gift": { - "prefix": "fa-gift", - "body": "$0", - "description": "gift", - "scope": "" - }, - "git": { - "prefix": "fa-git", - "body": "$0", - "description": "git", - "scope": "" - }, - "github": { - "prefix": "fa-github", - "body": "$0", - "description": "github", - "scope": "" - }, - "github-alt": { - "prefix": "fa-github-alt", - "body": "$0", - "description": "github-alt", - "scope": "" - }, - "github-square": { - "prefix": "fa-github-square", - "body": "$0", - "description": "github-square", - "scope": "" - }, - "gitlab": { - "prefix": "fa-gitlab", - "body": "$0", - "description": "gitlab", - "scope": "" - }, - "git-square": { - "prefix": "fa-git-square", - "body": "$0", - "description": "git-square", - "scope": "" - }, - "gittip": { - "prefix": "fa-gittip", - "body": "$0", - "description": "gittip", - "scope": "" - }, - "glass": { - "prefix": "fa-glass", - "body": "$0", - "description": "glass", - "scope": "" - }, - "glide": { - "prefix": "fa-glide", - "body": "$0", - "description": "glide", - "scope": "" - }, - "glide-g": { - "prefix": "fa-glide-g", - "body": "$0", - "description": "glide-g", - "scope": "" - }, - "globe": { - "prefix": "fa-globe", - "body": "$0", - "description": "globe", - "scope": "" - }, - "google": { - "prefix": "fa-google", - "body": "$0", - "description": "google", - "scope": "" - }, - "google-plus": { - "prefix": "fa-google-plus", - "body": "$0", - "description": "google-plus", - "scope": "" - }, - "google-plus-circle": { - "prefix": "fa-google-plus-circle", - "body": "$0", - "description": "google-plus-circle", - "scope": "" - }, - "google-plus-official": { - "prefix": "fa-google-plus-official", - "body": "$0", - "description": "google-plus-official", - "scope": "" - }, - "google-plus-square": { - "prefix": "fa-google-plus-square", - "body": "$0", - "description": "google-plus-square", - "scope": "" - }, - "google-wallet": { - "prefix": "fa-google-wallet", - "body": "$0", - "description": "google-wallet", - "scope": "" - }, - "graduation-cap": { - "prefix": "fa-graduation-cap", - "body": "$0", - "description": "graduation-cap", - "scope": "" - }, - "gratipay": { - "prefix": "fa-gratipay", - "body": "$0", - "description": "gratipay", - "scope": "" - }, - "grav": { - "prefix": "fa-grav", - "body": "$0", - "description": "grav", - "scope": "" - }, - "group": { - "prefix": "fa-group", - "body": "$0", - "description": "group", - "scope": "" - }, - "hacker-news": { - "prefix": "fa-hacker-news", - "body": "$0", - "description": "hacker-news", - "scope": "" - }, - "hand-grab-o": { - "prefix": "fa-hand-grab-o", - "body": "$0", - "description": "hand-grab-o", - "scope": "" - }, - "hand-lizard-o": { - "prefix": "fa-hand-lizard-o", - "body": "$0", - "description": "hand-lizard-o", - "scope": "" - }, - "hand-o-down": { - "prefix": "fa-hand-o-down", - "body": "$0", - "description": "hand-o-down", - "scope": "" - }, - "hand-o-left": { - "prefix": "fa-hand-o-left", - "body": "$0", - "description": "hand-o-left", - "scope": "" - }, - "hand-o-right": { - "prefix": "fa-hand-o-right", - "body": "$0", - "description": "hand-o-right", - "scope": "" - }, - "hand-o-up": { - "prefix": "fa-hand-o-up", - "body": "$0", - "description": "hand-o-up", - "scope": "" - }, - "hand-paper-o": { - "prefix": "fa-hand-paper-o", - "body": "$0", - "description": "hand-paper-o", - "scope": "" - }, - "hand-peace-o": { - "prefix": "fa-hand-peace-o", - "body": "$0", - "description": "hand-peace-o", - "scope": "" - }, - "hand-pointer-o": { - "prefix": "fa-hand-pointer-o", - "body": "$0", - "description": "hand-pointer-o", - "scope": "" - }, - "hand-rock-o": { - "prefix": "fa-hand-rock-o", - "body": "$0", - "description": "hand-rock-o", - "scope": "" - }, - "hand-scissors-o": { - "prefix": "fa-hand-scissors-o", - "body": "$0", - "description": "hand-scissors-o", - "scope": "" - }, - "handshake-o": { - "prefix": "fa-handshake-o", - "body": "$0", - "description": "handshake-o", - "scope": "" - }, - "hand-spock-o": { - "prefix": "fa-hand-spock-o", - "body": "$0", - "description": "hand-spock-o", - "scope": "" - }, - "hand-stop-o": { - "prefix": "fa-hand-stop-o", - "body": "$0", - "description": "hand-stop-o", - "scope": "" - }, - "hard-of-hearing": { - "prefix": "fa-hard-of-hearing", - "body": "$0", - "description": "hard-of-hearing", - "scope": "" - }, - "hashtag": { - "prefix": "fa-hashtag", - "body": "$0", - "description": "hashtag", - "scope": "" - }, - "hdd-o": { - "prefix": "fa-hdd-o", - "body": "$0", - "description": "hdd-o", - "scope": "" - }, - "header": { - "prefix": "fa-header", - "body": "$0", - "description": "header", - "scope": "" - }, - "headphones": { - "prefix": "fa-headphones", - "body": "$0", - "description": "headphones", - "scope": "" - }, - "heart": { - "prefix": "fa-heart", - "body": "$0", - "description": "heart", - "scope": "" - }, - "heartbeat": { - "prefix": "fa-heartbeat", - "body": "$0", - "description": "heartbeat", - "scope": "" - }, - "heart-o": { - "prefix": "fa-heart-o", - "body": "$0", - "description": "heart-o", - "scope": "" - }, - "history": { - "prefix": "fa-history", - "body": "$0", - "description": "history", - "scope": "" - }, - "home": { - "prefix": "fa-home", - "body": "$0", - "description": "home", - "scope": "" - }, - "hospital-o": { - "prefix": "fa-hospital-o", - "body": "$0", - "description": "hospital-o", - "scope": "" - }, - "hotel": { - "prefix": "fa-hotel", - "body": "$0", - "description": "hotel", - "scope": "" - }, - "hourglass": { - "prefix": "fa-hourglass", - "body": "$0", - "description": "hourglass", - "scope": "" - }, - "hourglass-1": { - "prefix": "fa-hourglass-1", - "body": "$0", - "description": "hourglass-1", - "scope": "" - }, - "hourglass-2": { - "prefix": "fa-hourglass-2", - "body": "$0", - "description": "hourglass-2", - "scope": "" - }, - "hourglass-3": { - "prefix": "fa-hourglass-3", - "body": "$0", - "description": "hourglass-3", - "scope": "" - }, - "hourglass-end": { - "prefix": "fa-hourglass-end", - "body": "$0", - "description": "hourglass-end", - "scope": "" - }, - "hourglass-half": { - "prefix": "fa-hourglass-half", - "body": "$0", - "description": "hourglass-half", - "scope": "" - }, - "hourglass-o": { - "prefix": "fa-hourglass-o", - "body": "$0", - "description": "hourglass-o", - "scope": "" - }, - "hourglass-start": { - "prefix": "fa-hourglass-start", - "body": "$0", - "description": "hourglass-start", - "scope": "" - }, - "houzz": { - "prefix": "fa-houzz", - "body": "$0", - "description": "houzz", - "scope": "" - }, - "h-square": { - "prefix": "fa-h-square", - "body": "$0", - "description": "h-square", - "scope": "" - }, - "html5": { - "prefix": "fa-html5", - "body": "$0", - "description": "html5", - "scope": "" - }, - "i-cursor": { - "prefix": "fa-i-cursor", - "body": "$0", - "description": "i-cursor", - "scope": "" - }, - "id-badge": { - "prefix": "fa-id-badge", - "body": "$0", - "description": "id-badge", - "scope": "" - }, - "id-card": { - "prefix": "fa-id-card", - "body": "$0", - "description": "id-card", - "scope": "" - }, - "id-card-o": { - "prefix": "fa-id-card-o", - "body": "$0", - "description": "id-card-o", - "scope": "" - }, - "ils": { - "prefix": "fa-ils", - "body": "$0", - "description": "ils", - "scope": "" - }, - "image": { - "prefix": "fa-image", - "body": "$0", - "description": "image", - "scope": "" - }, - "imdb": { - "prefix": "fa-imdb", - "body": "$0", - "description": "imdb", - "scope": "" - }, - "inbox": { - "prefix": "fa-inbox", - "body": "$0", - "description": "inbox", - "scope": "" - }, - "indent": { - "prefix": "fa-indent", - "body": "$0", - "description": "indent", - "scope": "" - }, - "industry": { - "prefix": "fa-industry", - "body": "$0", - "description": "industry", - "scope": "" - }, - "info": { - "prefix": "fa-info", - "body": "$0", - "description": "info", - "scope": "" - }, - "info-circle": { - "prefix": "fa-info-circle", - "body": "$0", - "description": "info-circle", - "scope": "" - }, - "inr": { - "prefix": "fa-inr", - "body": "$0", - "description": "inr", - "scope": "" - }, - "instagram": { - "prefix": "fa-instagram", - "body": "$0", - "description": "instagram", - "scope": "" - }, - "institution": { - "prefix": "fa-institution", - "body": "$0", - "description": "institution", - "scope": "" - }, - "internet-explorer": { - "prefix": "fa-internet-explorer", - "body": "$0", - "description": "internet-explorer", - "scope": "" - }, - "intersex": { - "prefix": "fa-intersex", - "body": "$0", - "description": "intersex", - "scope": "" - }, - "ioxhost": { - "prefix": "fa-ioxhost", - "body": "$0", - "description": "ioxhost", - "scope": "" - }, - "italic": { - "prefix": "fa-italic", - "body": "$0", - "description": "italic", - "scope": "" - }, - "joomla": { - "prefix": "fa-joomla", - "body": "$0", - "description": "joomla", - "scope": "" - }, - "jpy": { - "prefix": "fa-jpy", - "body": "$0", - "description": "jpy", - "scope": "" - }, - "jsfiddle": { - "prefix": "fa-jsfiddle", - "body": "$0", - "description": "jsfiddle", - "scope": "" - }, - "key": { - "prefix": "fa-key", - "body": "$0", - "description": "key", - "scope": "" - }, - "keyboard-o": { - "prefix": "fa-keyboard-o", - "body": "$0", - "description": "keyboard-o", - "scope": "" - }, - "krw": { - "prefix": "fa-krw", - "body": "$0", - "description": "krw", - "scope": "" - }, - "language": { - "prefix": "fa-language", - "body": "$0", - "description": "language", - "scope": "" - }, - "laptop": { - "prefix": "fa-laptop", - "body": "$0", - "description": "laptop", - "scope": "" - }, - "lastfm": { - "prefix": "fa-lastfm", - "body": "$0", - "description": "lastfm", - "scope": "" - }, - "lastfm-square": { - "prefix": "fa-lastfm-square", - "body": "$0", - "description": "lastfm-square", - "scope": "" - }, - "leaf": { - "prefix": "fa-leaf", - "body": "$0", - "description": "leaf", - "scope": "" - }, - "leanpub": { - "prefix": "fa-leanpub", - "body": "$0", - "description": "leanpub", - "scope": "" - }, - "legal": { - "prefix": "fa-legal", - "body": "$0", - "description": "legal", - "scope": "" - }, - "lemon-o": { - "prefix": "fa-lemon-o", - "body": "$0", - "description": "lemon-o", - "scope": "" - }, - "level-down": { - "prefix": "fa-level-down", - "body": "$0", - "description": "level-down", - "scope": "" - }, - "level-up": { - "prefix": "fa-level-up", - "body": "$0", - "description": "level-up", - "scope": "" - }, - "life-bouy": { - "prefix": "fa-life-bouy", - "body": "$0", - "description": "life-bouy", - "scope": "" - }, - "life-buoy": { - "prefix": "fa-life-buoy", - "body": "$0", - "description": "life-buoy", - "scope": "" - }, - "life-ring": { - "prefix": "fa-life-ring", - "body": "$0", - "description": "life-ring", - "scope": "" - }, - "life-saver": { - "prefix": "fa-life-saver", - "body": "$0", - "description": "life-saver", - "scope": "" - }, - "lightbulb-o": { - "prefix": "fa-lightbulb-o", - "body": "$0", - "description": "lightbulb-o", - "scope": "" - }, - "line-chart": { - "prefix": "fa-line-chart", - "body": "$0", - "description": "line-chart", - "scope": "" - }, - "link": { - "prefix": "fa-link", - "body": "$0", - "description": "link", - "scope": "" - }, - "linkedin": { - "prefix": "fa-linkedin", - "body": "$0", - "description": "linkedin", - "scope": "" - }, - "linkedin-square": { - "prefix": "fa-linkedin-square", - "body": "$0", - "description": "linkedin-square", - "scope": "" - }, - "linode": { - "prefix": "fa-linode", - "body": "$0", - "description": "linode", - "scope": "" - }, - "linux": { - "prefix": "fa-linux", - "body": "$0", - "description": "linux", - "scope": "" - }, - "list": { - "prefix": "fa-list", - "body": "$0", - "description": "list", - "scope": "" - }, - "list-alt": { - "prefix": "fa-list-alt", - "body": "$0", - "description": "list-alt", - "scope": "" - }, - "list-ol": { - "prefix": "fa-list-ol", - "body": "$0", - "description": "list-ol", - "scope": "" - }, - "list-ul": { - "prefix": "fa-list-ul", - "body": "$0", - "description": "list-ul", - "scope": "" - }, - "location-arrow": { - "prefix": "fa-location-arrow", - "body": "$0", - "description": "location-arrow", - "scope": "" - }, - "lock": { - "prefix": "fa-lock", - "body": "$0", - "description": "lock", - "scope": "" - }, - "long-arrow-down": { - "prefix": "fa-long-arrow-down", - "body": "$0", - "description": "long-arrow-down", - "scope": "" - }, - "long-arrow-left": { - "prefix": "fa-long-arrow-left", - "body": "$0", - "description": "long-arrow-left", - "scope": "" - }, - "long-arrow-right": { - "prefix": "fa-long-arrow-right", - "body": "$0", - "description": "long-arrow-right", - "scope": "" - }, - "long-arrow-up": { - "prefix": "fa-long-arrow-up", - "body": "$0", - "description": "long-arrow-up", - "scope": "" - }, - "low-vision": { - "prefix": "fa-low-vision", - "body": "$0", - "description": "low-vision", - "scope": "" - }, - "magic": { - "prefix": "fa-magic", - "body": "$0", - "description": "magic", - "scope": "" - }, - "magnet": { - "prefix": "fa-magnet", - "body": "$0", - "description": "magnet", - "scope": "" - }, - "mail-forward": { - "prefix": "fa-mail-forward", - "body": "$0", - "description": "mail-forward", - "scope": "" - }, - "mail-reply": { - "prefix": "fa-mail-reply", - "body": "$0", - "description": "mail-reply", - "scope": "" - }, - "mail-reply-all": { - "prefix": "fa-mail-reply-all", - "body": "$0", - "description": "mail-reply-all", - "scope": "" - }, - "male": { - "prefix": "fa-male", - "body": "$0", - "description": "male", - "scope": "" - }, - "map": { - "prefix": "fa-map", - "body": "$0", - "description": "map", - "scope": "" - }, - "map-marker": { - "prefix": "fa-map-marker", - "body": "$0", - "description": "map-marker", - "scope": "" - }, - "map-o": { - "prefix": "fa-map-o", - "body": "$0", - "description": "map-o", - "scope": "" - }, - "map-pin": { - "prefix": "fa-map-pin", - "body": "$0", - "description": "map-pin", - "scope": "" - }, - "map-signs": { - "prefix": "fa-map-signs", - "body": "$0", - "description": "map-signs", - "scope": "" - }, - "mars": { - "prefix": "fa-mars", - "body": "$0", - "description": "mars", - "scope": "" - }, - "mars-double": { - "prefix": "fa-mars-double", - "body": "$0", - "description": "mars-double", - "scope": "" - }, - "mars-stroke": { - "prefix": "fa-mars-stroke", - "body": "$0", - "description": "mars-stroke", - "scope": "" - }, - "mars-stroke-h": { - "prefix": "fa-mars-stroke-h", - "body": "$0", - "description": "mars-stroke-h", - "scope": "" - }, - "mars-stroke-v": { - "prefix": "fa-mars-stroke-v", - "body": "$0", - "description": "mars-stroke-v", - "scope": "" - }, - "maxcdn": { - "prefix": "fa-maxcdn", - "body": "$0", - "description": "maxcdn", - "scope": "" - }, - "meanpath": { - "prefix": "fa-meanpath", - "body": "$0", - "description": "meanpath", - "scope": "" - }, - "medium": { - "prefix": "fa-medium", - "body": "$0", - "description": "medium", - "scope": "" - }, - "medkit": { - "prefix": "fa-medkit", - "body": "$0", - "description": "medkit", - "scope": "" - }, - "meetup": { - "prefix": "fa-meetup", - "body": "$0", - "description": "meetup", - "scope": "" - }, - "meh-o": { - "prefix": "fa-meh-o", - "body": "$0", - "description": "meh-o", - "scope": "" - }, - "mercury": { - "prefix": "fa-mercury", - "body": "$0", - "description": "mercury", - "scope": "" - }, - "microchip": { - "prefix": "fa-microchip", - "body": "$0", - "description": "microchip", - "scope": "" - }, - "microphone": { - "prefix": "fa-microphone", - "body": "$0", - "description": "microphone", - "scope": "" - }, - "microphone-slash": { - "prefix": "fa-microphone-slash", - "body": "$0", - "description": "microphone-slash", - "scope": "" - }, - "minus": { - "prefix": "fa-minus", - "body": "$0", - "description": "minus", - "scope": "" - }, - "minus-circle": { - "prefix": "fa-minus-circle", - "body": "$0", - "description": "minus-circle", - "scope": "" - }, - "minus-square": { - "prefix": "fa-minus-square", - "body": "$0", - "description": "minus-square", - "scope": "" - }, - "minus-square-o": { - "prefix": "fa-minus-square-o", - "body": "$0", - "description": "minus-square-o", - "scope": "" - }, - "mixcloud": { - "prefix": "fa-mixcloud", - "body": "$0", - "description": "mixcloud", - "scope": "" - }, - "mobile": { - "prefix": "fa-mobile", - "body": "$0", - "description": "mobile", - "scope": "" - }, - "mobile-phone": { - "prefix": "fa-mobile-phone", - "body": "$0", - "description": "mobile-phone", - "scope": "" - }, - "modx": { - "prefix": "fa-modx", - "body": "$0", - "description": "modx", - "scope": "" - }, - "money": { - "prefix": "fa-money", - "body": "$0", - "description": "money", - "scope": "" - }, - "moon-o": { - "prefix": "fa-moon-o", - "body": "$0", - "description": "moon-o", - "scope": "" - }, - "mortar-board": { - "prefix": "fa-mortar-board", - "body": "$0", - "description": "mortar-board", - "scope": "" - }, - "motorcycle": { - "prefix": "fa-motorcycle", - "body": "$0", - "description": "motorcycle", - "scope": "" - }, - "mouse-pointer": { - "prefix": "fa-mouse-pointer", - "body": "$0", - "description": "mouse-pointer", - "scope": "" - }, - "music": { - "prefix": "fa-music", - "body": "$0", - "description": "music", - "scope": "" - }, - "navicon": { - "prefix": "fa-navicon", - "body": "$0", - "description": "navicon", - "scope": "" - }, - "neuter": { - "prefix": "fa-neuter", - "body": "$0", - "description": "neuter", - "scope": "" - }, - "newspaper-o": { - "prefix": "fa-newspaper-o", - "body": "$0", - "description": "newspaper-o", - "scope": "" - }, - "object-group": { - "prefix": "fa-object-group", - "body": "$0", - "description": "object-group", - "scope": "" - }, - "object-ungroup": { - "prefix": "fa-object-ungroup", - "body": "$0", - "description": "object-ungroup", - "scope": "" - }, - "odnoklassniki": { - "prefix": "fa-odnoklassniki", - "body": "$0", - "description": "odnoklassniki", - "scope": "" - }, - "odnoklassniki-square": { - "prefix": "fa-odnoklassniki-square", - "body": "$0", - "description": "odnoklassniki-square", - "scope": "" - }, - "opencart": { - "prefix": "fa-opencart", - "body": "$0", - "description": "opencart", - "scope": "" - }, - "openid": { - "prefix": "fa-openid", - "body": "$0", - "description": "openid", - "scope": "" - }, - "opera": { - "prefix": "fa-opera", - "body": "$0", - "description": "opera", - "scope": "" - }, - "optin-monster": { - "prefix": "fa-optin-monster", - "body": "$0", - "description": "optin-monster", - "scope": "" - }, - "outdent": { - "prefix": "fa-outdent", - "body": "$0", - "description": "outdent", - "scope": "" - }, - "pagelines": { - "prefix": "fa-pagelines", - "body": "$0", - "description": "pagelines", - "scope": "" - }, - "paint-brush": { - "prefix": "fa-paint-brush", - "body": "$0", - "description": "paint-brush", - "scope": "" - }, - "paperclip": { - "prefix": "fa-paperclip", - "body": "$0", - "description": "paperclip", - "scope": "" - }, - "paper-plane": { - "prefix": "fa-paper-plane", - "body": "$0", - "description": "paper-plane", - "scope": "" - }, - "paper-plane-o": { - "prefix": "fa-paper-plane-o", - "body": "$0", - "description": "paper-plane-o", - "scope": "" - }, - "paragraph": { - "prefix": "fa-paragraph", - "body": "$0", - "description": "paragraph", - "scope": "" - }, - "paste": { - "prefix": "fa-paste", - "body": "$0", - "description": "paste", - "scope": "" - }, - "pause": { - "prefix": "fa-pause", - "body": "$0", - "description": "pause", - "scope": "" - }, - "pause-circle": { - "prefix": "fa-pause-circle", - "body": "$0", - "description": "pause-circle", - "scope": "" - }, - "pause-circle-o": { - "prefix": "fa-pause-circle-o", - "body": "$0", - "description": "pause-circle-o", - "scope": "" - }, - "paw": { - "prefix": "fa-paw", - "body": "$0", - "description": "paw", - "scope": "" - }, - "paypal": { - "prefix": "fa-paypal", - "body": "$0", - "description": "paypal", - "scope": "" - }, - "pencil": { - "prefix": "fa-pencil", - "body": "$0", - "description": "pencil", - "scope": "" - }, - "pencil-square": { - "prefix": "fa-pencil-square", - "body": "$0", - "description": "pencil-square", - "scope": "" - }, - "pencil-square-o": { - "prefix": "fa-pencil-square-o", - "body": "$0", - "description": "pencil-square-o", - "scope": "" - }, - "percent": { - "prefix": "fa-percent", - "body": "$0", - "description": "percent", - "scope": "" - }, - "phone": { - "prefix": "fa-phone", - "body": "$0", - "description": "phone", - "scope": "" - }, - "phone-square": { - "prefix": "fa-phone-square", - "body": "$0", - "description": "phone-square", - "scope": "" - }, - "photo": { - "prefix": "fa-photo", - "body": "$0", - "description": "photo", - "scope": "" - }, - "picture-o": { - "prefix": "fa-picture-o", - "body": "$0", - "description": "picture-o", - "scope": "" - }, - "pie-chart": { - "prefix": "fa-pie-chart", - "body": "$0", - "description": "pie-chart", - "scope": "" - }, - "pied-piper": { - "prefix": "fa-pied-piper", - "body": "$0", - "description": "pied-piper", - "scope": "" - }, - "pied-piper-alt": { - "prefix": "fa-pied-piper-alt", - "body": "$0", - "description": "pied-piper-alt", - "scope": "" - }, - "pied-piper-pp": { - "prefix": "fa-pied-piper-pp", - "body": "$0", - "description": "pied-piper-pp", - "scope": "" - }, - "pinterest": { - "prefix": "fa-pinterest", - "body": "$0", - "description": "pinterest", - "scope": "" - }, - "pinterest-p": { - "prefix": "fa-pinterest-p", - "body": "$0", - "description": "pinterest-p", - "scope": "" - }, - "pinterest-square": { - "prefix": "fa-pinterest-square", - "body": "$0", - "description": "pinterest-square", - "scope": "" - }, - "plane": { - "prefix": "fa-plane", - "body": "$0", - "description": "plane", - "scope": "" - }, - "play": { - "prefix": "fa-play", - "body": "$0", - "description": "play", - "scope": "" - }, - "play-circle": { - "prefix": "fa-play-circle", - "body": "$0", - "description": "play-circle", - "scope": "" - }, - "play-circle-o": { - "prefix": "fa-play-circle-o", - "body": "$0", - "description": "play-circle-o", - "scope": "" - }, - "plug": { - "prefix": "fa-plug", - "body": "$0", - "description": "plug", - "scope": "" - }, - "plus": { - "prefix": "fa-plus", - "body": "$0", - "description": "plus", - "scope": "" - }, - "plus-circle": { - "prefix": "fa-plus-circle", - "body": "$0", - "description": "plus-circle", - "scope": "" - }, - "plus-square": { - "prefix": "fa-plus-square", - "body": "$0", - "description": "plus-square", - "scope": "" - }, - "plus-square-o": { - "prefix": "fa-plus-square-o", - "body": "$0", - "description": "plus-square-o", - "scope": "" - }, - "podcast": { - "prefix": "fa-podcast", - "body": "$0", - "description": "podcast", - "scope": "" - }, - "power-off": { - "prefix": "fa-power-off", - "body": "$0", - "description": "power-off", - "scope": "" - }, - "print": { - "prefix": "fa-print", - "body": "$0", - "description": "print", - "scope": "" - }, - "product-hunt": { - "prefix": "fa-product-hunt", - "body": "$0", - "description": "product-hunt", - "scope": "" - }, - "puzzle-piece": { - "prefix": "fa-puzzle-piece", - "body": "$0", - "description": "puzzle-piece", - "scope": "" - }, - "qq": { - "prefix": "fa-qq", - "body": "$0", - "description": "qq", - "scope": "" - }, - "qrcode": { - "prefix": "fa-qrcode", - "body": "$0", - "description": "qrcode", - "scope": "" - }, - "question": { - "prefix": "fa-question", - "body": "$0", - "description": "question", - "scope": "" - }, - "question-circle": { - "prefix": "fa-question-circle", - "body": "$0", - "description": "question-circle", - "scope": "" - }, - "question-circle-o": { - "prefix": "fa-question-circle-o", - "body": "$0", - "description": "question-circle-o", - "scope": "" - }, - "quora": { - "prefix": "fa-quora", - "body": "$0", - "description": "quora", - "scope": "" - }, - "quote-left": { - "prefix": "fa-quote-left", - "body": "$0", - "description": "quote-left", - "scope": "" - }, - "quote-right": { - "prefix": "fa-quote-right", - "body": "$0", - "description": "quote-right", - "scope": "" - }, - "ra": { - "prefix": "fa-ra", - "body": "$0", - "description": "ra", - "scope": "" - }, - "random": { - "prefix": "fa-random", - "body": "$0", - "description": "random", - "scope": "" - }, - "ravelry": { - "prefix": "fa-ravelry", - "body": "$0", - "description": "ravelry", - "scope": "" - }, - "rebel": { - "prefix": "fa-rebel", - "body": "$0", - "description": "rebel", - "scope": "" - }, - "recycle": { - "prefix": "fa-recycle", - "body": "$0", - "description": "recycle", - "scope": "" - }, - "reddit": { - "prefix": "fa-reddit", - "body": "$0", - "description": "reddit", - "scope": "" - }, - "reddit-alien": { - "prefix": "fa-reddit-alien", - "body": "$0", - "description": "reddit-alien", - "scope": "" - }, - "reddit-square": { - "prefix": "fa-reddit-square", - "body": "$0", - "description": "reddit-square", - "scope": "" - }, - "refresh": { - "prefix": "fa-refresh", - "body": "$0", - "description": "refresh", - "scope": "" - }, - "registered": { - "prefix": "fa-registered", - "body": "$0", - "description": "registered", - "scope": "" - }, - "remove": { - "prefix": "fa-remove", - "body": "$0", - "description": "remove", - "scope": "" - }, - "renren": { - "prefix": "fa-renren", - "body": "$0", - "description": "renren", - "scope": "" - }, - "reorder": { - "prefix": "fa-reorder", - "body": "$0", - "description": "reorder", - "scope": "" - }, - "repeat": { - "prefix": "fa-repeat", - "body": "$0", - "description": "repeat", - "scope": "" - }, - "reply": { - "prefix": "fa-reply", - "body": "$0", - "description": "reply", - "scope": "" - }, - "reply-all": { - "prefix": "fa-reply-all", - "body": "$0", - "description": "reply-all", - "scope": "" - }, - "resistance": { - "prefix": "fa-resistance", - "body": "$0", - "description": "resistance", - "scope": "" - }, - "retweet": { - "prefix": "fa-retweet", - "body": "$0", - "description": "retweet", - "scope": "" - }, - "rmb": { - "prefix": "fa-rmb", - "body": "$0", - "description": "rmb", - "scope": "" - }, - "road": { - "prefix": "fa-road", - "body": "$0", - "description": "road", - "scope": "" - }, - "rocket": { - "prefix": "fa-rocket", - "body": "$0", - "description": "rocket", - "scope": "" - }, - "rotate-left": { - "prefix": "fa-rotate-left", - "body": "$0", - "description": "rotate-left", - "scope": "" - }, - "rotate-right": { - "prefix": "fa-rotate-right", - "body": "$0", - "description": "rotate-right", - "scope": "" - }, - "rouble": { - "prefix": "fa-rouble", - "body": "$0", - "description": "rouble", - "scope": "" - }, - "rss": { - "prefix": "fa-rss", - "body": "$0", - "description": "rss", - "scope": "" - }, - "rss-square": { - "prefix": "fa-rss-square", - "body": "$0", - "description": "rss-square", - "scope": "" - }, - "rub": { - "prefix": "fa-rub", - "body": "$0", - "description": "rub", - "scope": "" - }, - "ruble": { - "prefix": "fa-ruble", - "body": "$0", - "description": "ruble", - "scope": "" - }, - "rupee": { - "prefix": "fa-rupee", - "body": "$0", - "description": "rupee", - "scope": "" - }, - "s15": { - "prefix": "fa-s15", - "body": "$0", - "description": "s15", - "scope": "" - }, - "safari": { - "prefix": "fa-safari", - "body": "$0", - "description": "safari", - "scope": "" - }, - "save": { - "prefix": "fa-save", - "body": "$0", - "description": "save", - "scope": "" - }, - "scissors": { - "prefix": "fa-scissors", - "body": "$0", - "description": "scissors", - "scope": "" - }, - "scribd": { - "prefix": "fa-scribd", - "body": "$0", - "description": "scribd", - "scope": "" - }, - "search": { - "prefix": "fa-search", - "body": "$0", - "description": "search", - "scope": "" - }, - "search-minus": { - "prefix": "fa-search-minus", - "body": "$0", - "description": "search-minus", - "scope": "" - }, - "search-plus": { - "prefix": "fa-search-plus", - "body": "$0", - "description": "search-plus", - "scope": "" - }, - "sellsy": { - "prefix": "fa-sellsy", - "body": "$0", - "description": "sellsy", - "scope": "" - }, - "send": { - "prefix": "fa-send", - "body": "$0", - "description": "send", - "scope": "" - }, - "send-o": { - "prefix": "fa-send-o", - "body": "$0", - "description": "send-o", - "scope": "" - }, - "server": { - "prefix": "fa-server", - "body": "$0", - "description": "server", - "scope": "" - }, - "share": { - "prefix": "fa-share", - "body": "$0", - "description": "share", - "scope": "" - }, - "share-alt": { - "prefix": "fa-share-alt", - "body": "$0", - "description": "share-alt", - "scope": "" - }, - "share-alt-square": { - "prefix": "fa-share-alt-square", - "body": "$0", - "description": "share-alt-square", - "scope": "" - }, - "share-square": { - "prefix": "fa-share-square", - "body": "$0", - "description": "share-square", - "scope": "" - }, - "share-square-o": { - "prefix": "fa-share-square-o", - "body": "$0", - "description": "share-square-o", - "scope": "" - }, - "shekel": { - "prefix": "fa-shekel", - "body": "$0", - "description": "shekel", - "scope": "" - }, - "sheqel": { - "prefix": "fa-sheqel", - "body": "$0", - "description": "sheqel", - "scope": "" - }, - "shield": { - "prefix": "fa-shield", - "body": "$0", - "description": "shield", - "scope": "" - }, - "ship": { - "prefix": "fa-ship", - "body": "$0", - "description": "ship", - "scope": "" - }, - "shirtsinbulk": { - "prefix": "fa-shirtsinbulk", - "body": "$0", - "description": "shirtsinbulk", - "scope": "" - }, - "shopping-bag": { - "prefix": "fa-shopping-bag", - "body": "$0", - "description": "shopping-bag", - "scope": "" - }, - "shopping-basket": { - "prefix": "fa-shopping-basket", - "body": "$0", - "description": "shopping-basket", - "scope": "" - }, - "shopping-cart": { - "prefix": "fa-shopping-cart", - "body": "$0", - "description": "shopping-cart", - "scope": "" - }, - "shower": { - "prefix": "fa-shower", - "body": "$0", - "description": "shower", - "scope": "" - }, - "signal": { - "prefix": "fa-signal", - "body": "$0", - "description": "signal", - "scope": "" - }, - "sign-in": { - "prefix": "fa-sign-in", - "body": "$0", - "description": "sign-in", - "scope": "" - }, - "signing": { - "prefix": "fa-signing", - "body": "$0", - "description": "signing", - "scope": "" - }, - "sign-language": { - "prefix": "fa-sign-language", - "body": "$0", - "description": "sign-language", - "scope": "" - }, - "sign-out": { - "prefix": "fa-sign-out", - "body": "$0", - "description": "sign-out", - "scope": "" - }, - "simplybuilt": { - "prefix": "fa-simplybuilt", - "body": "$0", - "description": "simplybuilt", - "scope": "" - }, - "sitemap": { - "prefix": "fa-sitemap", - "body": "$0", - "description": "sitemap", - "scope": "" - }, - "skyatlas": { - "prefix": "fa-skyatlas", - "body": "$0", - "description": "skyatlas", - "scope": "" - }, - "skype": { - "prefix": "fa-skype", - "body": "$0", - "description": "skype", - "scope": "" - }, - "slack": { - "prefix": "fa-slack", - "body": "$0", - "description": "slack", - "scope": "" - }, - "sliders": { - "prefix": "fa-sliders", - "body": "$0", - "description": "sliders", - "scope": "" - }, - "slideshare": { - "prefix": "fa-slideshare", - "body": "$0", - "description": "slideshare", - "scope": "" - }, - "smile-o": { - "prefix": "fa-smile-o", - "body": "$0", - "description": "smile-o", - "scope": "" - }, - "snapchat": { - "prefix": "fa-snapchat", - "body": "$0", - "description": "snapchat", - "scope": "" - }, - "snapchat-ghost": { - "prefix": "fa-snapchat-ghost", - "body": "$0", - "description": "snapchat-ghost", - "scope": "" - }, - "snapchat-square": { - "prefix": "fa-snapchat-square", - "body": "$0", - "description": "snapchat-square", - "scope": "" - }, - "snowflake-o": { - "prefix": "fa-snowflake-o", - "body": "$0", - "description": "snowflake-o", - "scope": "" - }, - "soccer-ball-o": { - "prefix": "fa-soccer-ball-o", - "body": "$0", - "description": "soccer-ball-o", - "scope": "" - }, - "sort": { - "prefix": "fa-sort", - "body": "$0", - "description": "sort", - "scope": "" - }, - "sort-alpha-asc": { - "prefix": "fa-sort-alpha-asc", - "body": "$0", - "description": "sort-alpha-asc", - "scope": "" - }, - "sort-alpha-desc": { - "prefix": "fa-sort-alpha-desc", - "body": "$0", - "description": "sort-alpha-desc", - "scope": "" - }, - "sort-amount-asc": { - "prefix": "fa-sort-amount-asc", - "body": "$0", - "description": "sort-amount-asc", - "scope": "" - }, - "sort-amount-desc": { - "prefix": "fa-sort-amount-desc", - "body": "$0", - "description": "sort-amount-desc", - "scope": "" - }, - "sort-asc": { - "prefix": "fa-sort-asc", - "body": "$0", - "description": "sort-asc", - "scope": "" - }, - "sort-desc": { - "prefix": "fa-sort-desc", - "body": "$0", - "description": "sort-desc", - "scope": "" - }, - "sort-down": { - "prefix": "fa-sort-down", - "body": "$0", - "description": "sort-down", - "scope": "" - }, - "sort-numeric-asc": { - "prefix": "fa-sort-numeric-asc", - "body": "$0", - "description": "sort-numeric-asc", - "scope": "" - }, - "sort-numeric-desc": { - "prefix": "fa-sort-numeric-desc", - "body": "$0", - "description": "sort-numeric-desc", - "scope": "" - }, - "sort-up": { - "prefix": "fa-sort-up", - "body": "$0", - "description": "sort-up", - "scope": "" - }, - "soundcloud": { - "prefix": "fa-soundcloud", - "body": "$0", - "description": "soundcloud", - "scope": "" - }, - "space-shuttle": { - "prefix": "fa-space-shuttle", - "body": "$0", - "description": "space-shuttle", - "scope": "" - }, - "spinner": { - "prefix": "fa-spinner", - "body": "$0", - "description": "spinner", - "scope": "" - }, - "spoon": { - "prefix": "fa-spoon", - "body": "$0", - "description": "spoon", - "scope": "" - }, - "spotify": { - "prefix": "fa-spotify", - "body": "$0", - "description": "spotify", - "scope": "" - }, - "square": { - "prefix": "fa-square", - "body": "$0", - "description": "square", - "scope": "" - }, - "square-o": { - "prefix": "fa-square-o", - "body": "$0", - "description": "square-o", - "scope": "" - }, - "stack-exchange": { - "prefix": "fa-stack-exchange", - "body": "$0", - "description": "stack-exchange", - "scope": "" - }, - "stack-overflow": { - "prefix": "fa-stack-overflow", - "body": "$0", - "description": "stack-overflow", - "scope": "" - }, - "star": { - "prefix": "fa-star", - "body": "$0", - "description": "star", - "scope": "" - }, - "star-half": { - "prefix": "fa-star-half", - "body": "$0", - "description": "star-half", - "scope": "" - }, - "star-half-empty": { - "prefix": "fa-star-half-empty", - "body": "$0", - "description": "star-half-empty", - "scope": "" - }, - "star-half-full": { - "prefix": "fa-star-half-full", - "body": "$0", - "description": "star-half-full", - "scope": "" - }, - "star-half-o": { - "prefix": "fa-star-half-o", - "body": "$0", - "description": "star-half-o", - "scope": "" - }, - "star-o": { - "prefix": "fa-star-o", - "body": "$0", - "description": "star-o", - "scope": "" - }, - "steam": { - "prefix": "fa-steam", - "body": "$0", - "description": "steam", - "scope": "" - }, - "steam-square": { - "prefix": "fa-steam-square", - "body": "$0", - "description": "steam-square", - "scope": "" - }, - "step-backward": { - "prefix": "fa-step-backward", - "body": "$0", - "description": "step-backward", - "scope": "" - }, - "step-forward": { - "prefix": "fa-step-forward", - "body": "$0", - "description": "step-forward", - "scope": "" - }, - "stethoscope": { - "prefix": "fa-stethoscope", - "body": "$0", - "description": "stethoscope", - "scope": "" - }, - "sticky-note": { - "prefix": "fa-sticky-note", - "body": "$0", - "description": "sticky-note", - "scope": "" - }, - "sticky-note-o": { - "prefix": "fa-sticky-note-o", - "body": "$0", - "description": "sticky-note-o", - "scope": "" - }, - "stop": { - "prefix": "fa-stop", - "body": "$0", - "description": "stop", - "scope": "" - }, - "stop-circle": { - "prefix": "fa-stop-circle", - "body": "$0", - "description": "stop-circle", - "scope": "" - }, - "stop-circle-o": { - "prefix": "fa-stop-circle-o", - "body": "$0", - "description": "stop-circle-o", - "scope": "" - }, - "street-view": { - "prefix": "fa-street-view", - "body": "$0", - "description": "street-view", - "scope": "" - }, - "strikethrough": { - "prefix": "fa-strikethrough", - "body": "$0", - "description": "strikethrough", - "scope": "" - }, - "stumbleupon": { - "prefix": "fa-stumbleupon", - "body": "$0", - "description": "stumbleupon", - "scope": "" - }, - "stumbleupon-circle": { - "prefix": "fa-stumbleupon-circle", - "body": "$0", - "description": "stumbleupon-circle", - "scope": "" - }, - "subscript": { - "prefix": "fa-subscript", - "body": "$0", - "description": "subscript", - "scope": "" - }, - "subway": { - "prefix": "fa-subway", - "body": "$0", - "description": "subway", - "scope": "" - }, - "suitcase": { - "prefix": "fa-suitcase", - "body": "$0", - "description": "suitcase", - "scope": "" - }, - "sun-o": { - "prefix": "fa-sun-o", - "body": "$0", - "description": "sun-o", - "scope": "" - }, - "superpowers": { - "prefix": "fa-superpowers", - "body": "$0", - "description": "superpowers", - "scope": "" - }, - "superscript": { - "prefix": "fa-superscript", - "body": "$0", - "description": "superscript", - "scope": "" - }, - "support": { - "prefix": "fa-support", - "body": "$0", - "description": "support", - "scope": "" - }, - "table": { - "prefix": "fa-table", - "body": "$0", - "description": "table", - "scope": "" - }, - "tablet": { - "prefix": "fa-tablet", - "body": "$0", - "description": "tablet", - "scope": "" - }, - "tachometer": { - "prefix": "fa-tachometer", - "body": "$0", - "description": "tachometer", - "scope": "" - }, - "tag": { - "prefix": "fa-tag", - "body": "$0", - "description": "tag", - "scope": "" - }, - "tags": { - "prefix": "fa-tags", - "body": "$0", - "description": "tags", - "scope": "" - }, - "tasks": { - "prefix": "fa-tasks", - "body": "$0", - "description": "tasks", - "scope": "" - }, - "taxi": { - "prefix": "fa-taxi", - "body": "$0", - "description": "taxi", - "scope": "" - }, - "telegram": { - "prefix": "fa-telegram", - "body": "$0", - "description": "telegram", - "scope": "" - }, - "television": { - "prefix": "fa-television", - "body": "$0", - "description": "television", - "scope": "" - }, - "tencent-weibo": { - "prefix": "fa-tencent-weibo", - "body": "$0", - "description": "tencent-weibo", - "scope": "" - }, - "terminal": { - "prefix": "fa-terminal", - "body": "$0", - "description": "terminal", - "scope": "" - }, - "text-height": { - "prefix": "fa-text-height", - "body": "$0", - "description": "text-height", - "scope": "" - }, - "text-width": { - "prefix": "fa-text-width", - "body": "$0", - "description": "text-width", - "scope": "" - }, - "th": { - "prefix": "fa-th", - "body": "$0", - "description": "th", - "scope": "" - }, - "themeisle": { - "prefix": "fa-themeisle", - "body": "$0", - "description": "themeisle", - "scope": "" - }, - "thermometer": { - "prefix": "fa-thermometer", - "body": "$0", - "description": "thermometer", - "scope": "" - }, - "thermometer-0": { - "prefix": "fa-thermometer-0", - "body": "$0", - "description": "thermometer-0", - "scope": "" - }, - "thermometer-1": { - "prefix": "fa-thermometer-1", - "body": "$0", - "description": "thermometer-1", - "scope": "" - }, - "thermometer-2": { - "prefix": "fa-thermometer-2", - "body": "$0", - "description": "thermometer-2", - "scope": "" - }, - "thermometer-3": { - "prefix": "fa-thermometer-3", - "body": "$0", - "description": "thermometer-3", - "scope": "" - }, - "thermometer-4": { - "prefix": "fa-thermometer-4", - "body": "$0", - "description": "thermometer-4", - "scope": "" - }, - "thermometer-empty": { - "prefix": "fa-thermometer-empty", - "body": "$0", - "description": "thermometer-empty", - "scope": "" - }, - "thermometer-full": { - "prefix": "fa-thermometer-full", - "body": "$0", - "description": "thermometer-full", - "scope": "" - }, - "thermometer-half": { - "prefix": "fa-thermometer-half", - "body": "$0", - "description": "thermometer-half", - "scope": "" - }, - "thermometer-quarter": { - "prefix": "fa-thermometer-quarter", - "body": "$0", - "description": "thermometer-quarter", - "scope": "" - }, - "thermometer-three-quarters": { - "prefix": "fa-thermometer-three-quarters", - "body": "$0", - "description": "thermometer-three-quarters", - "scope": "" - }, - "th-large": { - "prefix": "fa-th-large", - "body": "$0", - "description": "th-large", - "scope": "" - }, - "th-list": { - "prefix": "fa-th-list", - "body": "$0", - "description": "th-list", - "scope": "" - }, - "thumbs-down": { - "prefix": "fa-thumbs-down", - "body": "$0", - "description": "thumbs-down", - "scope": "" - }, - "thumbs-o-down": { - "prefix": "fa-thumbs-o-down", - "body": "$0", - "description": "thumbs-o-down", - "scope": "" - }, - "thumbs-o-up": { - "prefix": "fa-thumbs-o-up", - "body": "$0", - "description": "thumbs-o-up", - "scope": "" - }, - "thumbs-up": { - "prefix": "fa-thumbs-up", - "body": "$0", - "description": "thumbs-up", - "scope": "" - }, - "thumb-tack": { - "prefix": "fa-thumb-tack", - "body": "$0", - "description": "thumb-tack", - "scope": "" - }, - "ticket": { - "prefix": "fa-ticket", - "body": "$0", - "description": "ticket", - "scope": "" - }, - "times": { - "prefix": "fa-times", - "body": "$0", - "description": "times", - "scope": "" - }, - "times-circle": { - "prefix": "fa-times-circle", - "body": "$0", - "description": "times-circle", - "scope": "" - }, - "times-circle-o": { - "prefix": "fa-times-circle-o", - "body": "$0", - "description": "times-circle-o", - "scope": "" - }, - "times-rectangle": { - "prefix": "fa-times-rectangle", - "body": "$0", - "description": "times-rectangle", - "scope": "" - }, - "times-rectangle-o": { - "prefix": "fa-times-rectangle-o", - "body": "$0", - "description": "times-rectangle-o", - "scope": "" - }, - "tint": { - "prefix": "fa-tint", - "body": "$0", - "description": "tint", - "scope": "" - }, - "toggle-down": { - "prefix": "fa-toggle-down", - "body": "$0", - "description": "toggle-down", - "scope": "" - }, - "toggle-left": { - "prefix": "fa-toggle-left", - "body": "$0", - "description": "toggle-left", - "scope": "" - }, - "toggle-off": { - "prefix": "fa-toggle-off", - "body": "$0", - "description": "toggle-off", - "scope": "" - }, - "toggle-on": { - "prefix": "fa-toggle-on", - "body": "$0", - "description": "toggle-on", - "scope": "" - }, - "toggle-right": { - "prefix": "fa-toggle-right", - "body": "$0", - "description": "toggle-right", - "scope": "" - }, - "toggle-up": { - "prefix": "fa-toggle-up", - "body": "$0", - "description": "toggle-up", - "scope": "" - }, - "trademark": { - "prefix": "fa-trademark", - "body": "$0", - "description": "trademark", - "scope": "" - }, - "train": { - "prefix": "fa-train", - "body": "$0", - "description": "train", - "scope": "" - }, - "transgender": { - "prefix": "fa-transgender", - "body": "$0", - "description": "transgender", - "scope": "" - }, - "transgender-alt": { - "prefix": "fa-transgender-alt", - "body": "$0", - "description": "transgender-alt", - "scope": "" - }, - "trash": { - "prefix": "fa-trash", - "body": "$0", - "description": "trash", - "scope": "" - }, - "trash-o": { - "prefix": "fa-trash-o", - "body": "$0", - "description": "trash-o", - "scope": "" - }, - "tree": { - "prefix": "fa-tree", - "body": "$0", - "description": "tree", - "scope": "" - }, - "trello": { - "prefix": "fa-trello", - "body": "$0", - "description": "trello", - "scope": "" - }, - "tripadvisor": { - "prefix": "fa-tripadvisor", - "body": "$0", - "description": "tripadvisor", - "scope": "" - }, - "trophy": { - "prefix": "fa-trophy", - "body": "$0", - "description": "trophy", - "scope": "" - }, - "truck": { - "prefix": "fa-truck", - "body": "$0", - "description": "truck", - "scope": "" - }, - "try": { - "prefix": "fa-try", - "body": "$0", - "description": "try", - "scope": "" - }, - "tty": { - "prefix": "fa-tty", - "body": "$0", - "description": "tty", - "scope": "" - }, - "tumblr": { - "prefix": "fa-tumblr", - "body": "$0", - "description": "tumblr", - "scope": "" - }, - "tumblr-square": { - "prefix": "fa-tumblr-square", - "body": "$0", - "description": "tumblr-square", - "scope": "" - }, - "turkish-lira": { - "prefix": "fa-turkish-lira", - "body": "$0", - "description": "turkish-lira", - "scope": "" - }, - "tv": { - "prefix": "fa-tv", - "body": "$0", - "description": "tv", - "scope": "" - }, - "twitch": { - "prefix": "fa-twitch", - "body": "$0", - "description": "twitch", - "scope": "" - }, - "twitter": { - "prefix": "fa-twitter", - "body": "$0", - "description": "twitter", - "scope": "" - }, - "twitter-square": { - "prefix": "fa-twitter-square", - "body": "$0", - "description": "twitter-square", - "scope": "" - }, - "umbrella": { - "prefix": "fa-umbrella", - "body": "$0", - "description": "umbrella", - "scope": "" - }, - "underline": { - "prefix": "fa-underline", - "body": "$0", - "description": "underline", - "scope": "" - }, - "undo": { - "prefix": "fa-undo", - "body": "$0", - "description": "undo", - "scope": "" - }, - "universal-access": { - "prefix": "fa-universal-access", - "body": "$0", - "description": "universal-access", - "scope": "" - }, - "university": { - "prefix": "fa-university", - "body": "$0", - "description": "university", - "scope": "" - }, - "unlink": { - "prefix": "fa-unlink", - "body": "$0", - "description": "unlink", - "scope": "" - }, - "unlock": { - "prefix": "fa-unlock", - "body": "$0", - "description": "unlock", - "scope": "" - }, - "unlock-alt": { - "prefix": "fa-unlock-alt", - "body": "$0", - "description": "unlock-alt", - "scope": "" - }, - "unsorted": { - "prefix": "fa-unsorted", - "body": "$0", - "description": "unsorted", - "scope": "" - }, - "upload": { - "prefix": "fa-upload", - "body": "$0", - "description": "upload", - "scope": "" - }, - "usb": { - "prefix": "fa-usb", - "body": "$0", - "description": "usb", - "scope": "" - }, - "usd": { - "prefix": "fa-usd", - "body": "$0", - "description": "usd", - "scope": "" - }, - "user": { - "prefix": "fa-user", - "body": "$0", - "description": "user", - "scope": "" - }, - "user-circle": { - "prefix": "fa-user-circle", - "body": "$0", - "description": "user-circle", - "scope": "" - }, - "user-circle-o": { - "prefix": "fa-user-circle-o", - "body": "$0", - "description": "user-circle-o", - "scope": "" - }, - "user-md": { - "prefix": "fa-user-md", - "body": "$0", - "description": "user-md", - "scope": "" - }, - "user-o": { - "prefix": "fa-user-o", - "body": "$0", - "description": "user-o", - "scope": "" - }, - "user-plus": { - "prefix": "fa-user-plus", - "body": "$0", - "description": "user-plus", - "scope": "" - }, - "users": { - "prefix": "fa-users", - "body": "$0", - "description": "users", - "scope": "" - }, - "user-secret": { - "prefix": "fa-user-secret", - "body": "$0", - "description": "user-secret", - "scope": "" - }, - "user-times": { - "prefix": "fa-user-times", - "body": "$0", - "description": "user-times", - "scope": "" - }, - "vcard": { - "prefix": "fa-vcard", - "body": "$0", - "description": "vcard", - "scope": "" - }, - "vcard-o": { - "prefix": "fa-vcard-o", - "body": "$0", - "description": "vcard-o", - "scope": "" - }, - "venus": { - "prefix": "fa-venus", - "body": "$0", - "description": "venus", - "scope": "" - }, - "venus-double": { - "prefix": "fa-venus-double", - "body": "$0", - "description": "venus-double", - "scope": "" - }, - "venus-mars": { - "prefix": "fa-venus-mars", - "body": "$0", - "description": "venus-mars", - "scope": "" - }, - "viacoin": { - "prefix": "fa-viacoin", - "body": "$0", - "description": "viacoin", - "scope": "" - }, - "viadeo": { - "prefix": "fa-viadeo", - "body": "$0", - "description": "viadeo", - "scope": "" - }, - "viadeo-square": { - "prefix": "fa-viadeo-square", - "body": "$0", - "description": "viadeo-square", - "scope": "" - }, - "video-camera": { - "prefix": "fa-video-camera", - "body": "$0", - "description": "video-camera", - "scope": "" - }, - "vimeo": { - "prefix": "fa-vimeo", - "body": "$0", - "description": "vimeo", - "scope": "" - }, - "vimeo-square": { - "prefix": "fa-vimeo-square", - "body": "$0", - "description": "vimeo-square", - "scope": "" - }, - "vine": { - "prefix": "fa-vine", - "body": "$0", - "description": "vine", - "scope": "" - }, - "vk": { - "prefix": "fa-vk", - "body": "$0", - "description": "vk", - "scope": "" - }, - "volume-control-phone": { - "prefix": "fa-volume-control-phone", - "body": "$0", - "description": "volume-control-phone", - "scope": "" - }, - "volume-down": { - "prefix": "fa-volume-down", - "body": "$0", - "description": "volume-down", - "scope": "" - }, - "volume-off": { - "prefix": "fa-volume-off", - "body": "$0", - "description": "volume-off", - "scope": "" - }, - "volume-up": { - "prefix": "fa-volume-up", - "body": "$0", - "description": "volume-up", - "scope": "" - }, - "warning": { - "prefix": "fa-warning", - "body": "$0", - "description": "warning", - "scope": "" - }, - "wechat": { - "prefix": "fa-wechat", - "body": "$0", - "description": "wechat", - "scope": "" - }, - "weibo": { - "prefix": "fa-weibo", - "body": "$0", - "description": "weibo", - "scope": "" - }, - "weixin": { - "prefix": "fa-weixin", - "body": "$0", - "description": "weixin", - "scope": "" - }, - "whatsapp": { - "prefix": "fa-whatsapp", - "body": "$0", - "description": "whatsapp", - "scope": "" - }, - "wheelchair": { - "prefix": "fa-wheelchair", - "body": "$0", - "description": "wheelchair", - "scope": "" - }, - "wheelchair-alt": { - "prefix": "fa-wheelchair-alt", - "body": "$0", - "description": "wheelchair-alt", - "scope": "" - }, - "wifi": { - "prefix": "fa-wifi", - "body": "$0", - "description": "wifi", - "scope": "" - }, - "wikipedia-w": { - "prefix": "fa-wikipedia-w", - "body": "$0", - "description": "wikipedia-w", - "scope": "" - }, - "window-close": { - "prefix": "fa-window-close", - "body": "$0", - "description": "window-close", - "scope": "" - }, - "window-close-o": { - "prefix": "fa-window-close-o", - "body": "$0", - "description": "window-close-o", - "scope": "" - }, - "window-maximize": { - "prefix": "fa-window-maximize", - "body": "$0", - "description": "window-maximize", - "scope": "" - }, - "window-minimize": { - "prefix": "fa-window-minimize", - "body": "$0", - "description": "window-minimize", - "scope": "" - }, - "window-restore": { - "prefix": "fa-window-restore", - "body": "$0", - "description": "window-restore", - "scope": "" - }, - "windows": { - "prefix": "fa-windows", - "body": "$0", - "description": "windows", - "scope": "" - }, - "won": { - "prefix": "fa-won", - "body": "$0", - "description": "won", - "scope": "" - }, - "wordpress": { - "prefix": "fa-wordpress", - "body": "$0", - "description": "wordpress", - "scope": "" - }, - "wpbeginner": { - "prefix": "fa-wpbeginner", - "body": "$0", - "description": "wpbeginner", - "scope": "" - }, - "wpexplorer": { - "prefix": "fa-wpexplorer", - "body": "$0", - "description": "wpexplorer", - "scope": "" - }, - "wpforms": { - "prefix": "fa-wpforms", - "body": "$0", - "description": "wpforms", - "scope": "" - }, - "wrench": { - "prefix": "fa-wrench", - "body": "$0", - "description": "wrench", - "scope": "" - }, - "xing": { - "prefix": "fa-xing", - "body": "$0", - "description": "xing", - "scope": "" - }, - "xing-square": { - "prefix": "fa-xing-square", - "body": "$0", - "description": "xing-square", - "scope": "" - }, - "yahoo": { - "prefix": "fa-yahoo", - "body": "$0", - "description": "yahoo", - "scope": "" - }, - "yc": { - "prefix": "fa-yc", - "body": "$0", - "description": "yc", - "scope": "" - }, - "y-combinator": { - "prefix": "fa-y-combinator", - "body": "$0", - "description": "y-combinator", - "scope": "" - }, - "y-combinator-square": { - "prefix": "fa-y-combinator-square", - "body": "$0", - "description": "y-combinator-square", - "scope": "" - }, - "yc-square": { - "prefix": "fa-yc-square", - "body": "$0", - "description": "yc-square", - "scope": "" - }, - "yelp": { - "prefix": "fa-yelp", - "body": "$0", - "description": "yelp", - "scope": "" - }, - "yen": { - "prefix": "fa-yen", - "body": "$0", - "description": "yen", - "scope": "" - }, - "yoast": { - "prefix": "fa-yoast", - "body": "$0", - "description": "yoast", - "scope": "" - }, - "youtube": { - "prefix": "fa-youtube", - "body": "$0", - "description": "youtube", - "scope": "" - }, - "youtube-play": { - "prefix": "fa-youtube-play", - "body": "$0", - "description": "youtube-play", - "scope": "" - }, - "youtube-square": { - "prefix": "fa-youtube-square", - "body": "$0", - "description": "youtube-square", - "scope": "" - } -, - "form": { - "prefix": "b5-form", - "body": [ - "
    ", - "
    ", - " ", - " ", - "
    ", - " Looks good!", - "
    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " Looks good!", - "
    ", - "
    ", - "
    ", - " ", - "
    ", - " @", - " ", - "
    ", - " Please choose a username.", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " Please provide a valid city.", - "
    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " Please select a valid state.", - "
    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " Please provide a valid zip.", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " You must agree before submitting.", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - "
    ", - "
    " - ], - "description": "form" - } -, - "Bootstrap 5 container": { - "prefix": "b5-contain", - "body": [ - "
    ", - "\tb5-row${0}", - "
    " - ], - "description": "Bootstrap 5 container" - }, - "Bootstrap 5 row": { - "prefix": "b5-row", - "body": [ - "
    ", - "\tb5-col${0}", - "
    " - ], - "description": "Bootstrap 5 row" - }, - "Bootstrap 5 col": { - "prefix": "b5-col", - "body": [ - "
    ", - " b5-col${0}", - "
    " - ], - "description": "Bootstrap 5 col" - } -, - "tablist": { - "prefix": "b5-tablist", - "body": [ - "", - "
    ", - " Home", - " Profile", - " Messages", - " Settings", - "
    ", - "", - "", - "
    ", - "
    ...
    ", - "
    ...
    ", - "
    ...
    ", - "
    ...
    ", - "
    " - ], - "description": "tablist" - }, - "list-group-badge": { - "prefix": "b5-list-group-badge", - "body": [ - "
      ", - "
    • ", - " Cras justo odio", - " 14", - "
    • ", - "
    • ", - " Dapibus ac facilisis in", - " 2", - "
    • ", - "
    • ", - " Morbi leo risus", - " 1", - "
    • ", - "
    " - ], - "description": "list-group-badge" - } -, - "Modal-BTN": { - "prefix": "b5-modal-btn", - "body": [ - "" - ], - "description": "Modal-Body" - }, - "Modal-body": { - "prefix": "b5-modal-body", - "body": [ - "
    ", - "
    ", - "
    ", - "
    ", - "
    ${3:Modal title}
    ", - " ", - "
    ", - "
    ", - " ${0}", - "
    ", - " ${4| ,
    |}", - "
    ", - "
    ", - "
    ", - "" - ], - "description": "Modal-Body" - }, - "Modal-Footer": { - "prefix": "b5-modal-footer", - "body": [ - "
    ", - "
    ", - "
    ", - "
    ", - "
    ${3:Modal title}
    ", - " ", - "
    ", - "
    ", - " ${0}", - "
    ", - " ${4| ,
    |}", - "
    ", - "
    ", - "
    ", - "" - ], - "description": "Modal-BTN" - } -, - "Bootstrap 5 Navbar Defaul": { - "prefix": "b5-navbar-default", - "body": [ - " " - ], - "description": "Bootstrap 5 Navbar Defaul" - }, - "Bootstrap 5 nav-item":{ - "prefix":"b5-nav-item", - "body":[ - "
  • ", - " ${5|Home,About,Blog,Contact, |}", - "
  • " - ], - "description":"Bootstrap 5 nav-item" - }, - "Bootstrap 5 navlink":{ - "prefix":"b5-navlink", - "body":[ - "${3|Home,About,Blog,Contact, |}", - "" - ], - "description":"Bootstrap 5 navlink" - }, - "Bootstrap 5 nav-dropdown toggle":{ - "prefix":"b5-navdd-toggle", - "body":[ - "", - "b5-n${0}", - "" - ], - "description":"Bootstrap 5 nav-dropdown toggle" - }, - "Bootstrap 5 nav-dropdown":{ - "prefix":"b5-navdropdown", - "body":[ - "
      ", - "b5-n${0}", - "
    " - ], - "description":"Bootstrap 5 nav-dropdown" - }, - "Nav Bottom":{ - "prefix":"b5-Nav-bottom", - "body":[ - "" - ], - "description":"Nav Bottom" - }, - "Scrollspy":{ - "prefix":"b5-scrollspy", - "body":[ - "", - "
    ", - "

    @fat

    ", - "
    " - ], - "description":"Scrollspy" - } - , - "Pagination": { - "prefix": "b5-pagination", - "body": [ - "" - ], - "description": "Pagination" - } -, - "Progress Bar": { - "prefix": "b5-progress", - "body": [ - "
    ", - "
    ${6:Description}
    ", - "
    " - ], - "description": "Progress Bar" - } -, - "Bootstrap 5 scripts": { - "prefix": "!b5-scripts", - "body": [ - "", - "", - "${1|, |}" - ], - "description": "Adds the cnd for the css scripts and has an option to use popper." - }, - "Offcanvas Scripts": { - "prefix": "!offcanvas-scripts", - "body": [ - "", - "" - ], - "description": "Offcanvas Scripts" - }, - "Bootstrap 5 HTML Template": { - "prefix": "!b5-$", - "body": [ - "", - "", - "", - " ", - " ", - " ${1:Bootstrap Site}", - " ", - " ", - " ", - "", - "", - "

    Hello-Bootstrap

    ", - "", - "" - ], - "description": "An HTML Boilerplate with Bootstrap 5" - }, - "Offcanvas Template": { - "prefix": "!offcanvasTemplate", - "body": [ - "", - "", - " ", - " ", - " ", - " ", - " Bootstrap 5 Offcanvas Template ยท Bootstrap", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - "", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - "
    ", - "
    ", - " \"\"", - "
    ", - "
    #JavaScriptFirst
    ", - " Learn Modern JavaScript, from an Open Source Book that teaches anyone how to code with JavaScript using the node.js runtime environment rather than a browser and by the end, you will build a server and a website using JavaScript.", - "
    ", - "
    ", - "", - "
    ", - " ", - " ", - "" - ], - "description": "Offcanvas Template" - }, - "Template Nav Bottom": { - "prefix": "!mobileNav", - "body": [ - "", - "", - "", - " ", - " ", - " ", - " ", - " Bootstrap 5 Navbar Bottom Template ยท Bootstrap", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - "", - " ", - " ", - " ", - " ", - "
    ", - "
    ", - " \"\"", - "
    ", - "
    #JavaScriptFirst
    ", - " ", - " ${1:Learn Modern JavaScript, from an Open Source Book that teaches anyone how to code with JavaScript using the node.js runtime environment rather than a browser and by the end, you will build a server and a website using JavaScript.}", - " ", - "
    ", - "
    ", - "
    ", - "", - "", - "", - " ", - " ", - "", - "" - ], - "description": "Template Nav Bottom" - }, - "Masonary Template": { - "prefix": "!masonaryTemplate", - "body": [ - "", - "", - "", - "", - " ", - " ", - " ", - " ", - " ", - " Masonry example ยท Bootstrap", - "", - " ", - "", - "", - "", - " ", - "", - " ", - " ", - " ", - "", - " ", - " ", - "", - "", - " ", - "", - "", - " ", - "", - "", - "", - "", - "", - "", - "
    ", - "

    Bootstrap and Masonry

    ", - "

    Integrate Masonry with the Bootstrap grid system and", - " cards component.

    ", - "", - "

    Masonry is not included in Bootstrap. Add it by including the JavaScript plugin manually, or using a CDN like", - " so:

    ", - "", - "
    ",
    -            "<script src="https://cdnjs.cloudflare.com/ajax/libs/masonry/4.2.2/masonry.pkgd.min.js" integrity="sha384-GNFwBvfVxBkLMJpYMOABq3c+d3KnQxudP/mGPkzpZSTYykLBNsZEnG2D9G/X/+7D" crossorigin="anonymous" async></script>",
    -            "  
    ", - "", - "

    By adding data-masonry='{\"percentPosition\": true }' to the .row wrapper, we can", - " combine the powers of Bootstrap's responsive grid and Masonry's positioning.

    ", - "", - "
    ", - "", - "
    ", - "
    ", - "
    ", - " ", - " Placeholder", - " Image cap", - " ", - "", - "
    ", - "
    Card title that wraps to a new line
    ", - "

    This is a longer card with supporting text below as a natural lead-in to", - " additional content. This content is a little bit longer.

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

    ", - "
    ", - " ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " Placeholder", - " Image cap", - " ", - "", - "
    ", - "
    Card title
    ", - "

    This card has supporting text below as a natural lead-in to additional", - " content.

    ", - "

    Last updated 3 mins ago

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat.

    ", - "
    ", - " ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    Card title
    ", - "

    This card has a regular title and short paragraph of text below it.

    ", - "

    Last updated 3 mins ago

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " Placeholder", - " Card image", - " ", - "", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

    ", - "
    ", - " ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    Card title
    ", - "

    This is another card with title and supporting text below. This card has", - " some additional content to make it slightly taller overall.

    ", - "

    Last updated 3 mins ago

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "", - "
    ", - "", - "", - "", - " ", - "", - "", - "" - ], - "description": "Masonary Template" - }, - "Product Template": { - "prefix": "!productTemplate", - "body": [ - "", - "", - "", - "", - " ", - " ", - " ", - " ", - " ", - " Product example ยท Bootstrap", - "", - " ", - "", - " ", - " ", - " ", - "", - "", - "", - " ", - "", - "", - " ", - " ", - " ", - "", - "", - "", - "", - " ", - "", - "
    ", - "
    ", - "

    Punny headline

    ", - "

    And an even wittier subheading to boot. Jumpstart your marketing efforts", - " with this example based on Appleโ€™s marketing pages.

    ", - " Coming soon", - "
    ", - "
    ", - "
    ", - "
    ", - "", - "
    ", - "
    ", - "
    ", - "

    Another headline

    ", - "

    And an even wittier subheading.

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "

    Another headline

    ", - "

    And an even wittier subheading.

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "", - "
    ", - "
    ", - "
    ", - "

    Another headline

    ", - "

    And an even wittier subheading.

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "

    Another headline

    ", - "

    And an even wittier subheading.

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "", - "
    ", - "
    ", - "
    ", - "

    Another headline

    ", - "

    And an even wittier subheading.

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "

    Another headline

    ", - "

    And an even wittier subheading.

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "", - "
    ", - "
    ", - "
    ", - "

    Another headline

    ", - "

    And an even wittier subheading.

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "

    Another headline

    ", - "

    And an even wittier subheading.

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "", - " ", - "", - "", - "", - "" - ], - "description": "Product Template" - }, - "Dashboard Template": { - "prefix": "!dashboardTemplate", - "body": [ - "", - "", - "", - "", - " ", - " ", - " ", - " ", - " ", - " Dashboard Template ยท Bootstrap", - "", - " ", - "", - "", - "", - " ", - " ", - " ", - "", - " ", - "", - "", - "", - "", - " ", - "", - "
    ", - "
    ", - " ", - "", - "
    ", - " ", - "

    Dashboard

    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " ", - "
    ", - "
    ", - "", - " ", - "", - "

    Section title

    ", - "
    ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - "
    #HeaderHeaderHeaderHeader
    1,001Loremipsumdolorsit
    1,002ametconsecteturadipiscingelit
    1,003IntegernecodioPraesent
    1,003liberoSedcursusante
    1,004dapibusdiamSednisi
    1,005Nullaquissemat
    1,006nibhelementumimperdietDuis
    1,007sagittisipsumPraesentmauris
    1,008Fuscenectellussed
    1,009auguesemperportaMauris
    1,010massaVestibulumlaciniaarcu
    1,011egetnullaClassaptent
    1,012tacitisociosquadlitora
    1,013torquentperconubianostra
    1,014perinceptoshimenaeosCurabitur
    1,015sodalesligulainlibero
    ", - "
    ", - " ", - "
    ", - " ", - "", - "", - " ", - "", - " ", - " ", - " ", - "", - "", - "" - ], - "description": "Dashboard Template" - }, - "Carousel Template": { - "prefix": "!CarouselTemplate", - "body": [ - "", - "", - "", - "", - " ", - " ", - " ", - " ", - " ", - " Carousel Template ยท Bootstrap", - "", - " ", - "", - "", - "", - " ", - " ", - " ", - " ", - "", - " ", - "", - "", - " ", - " ", - "", - "", - "", - "", - "
    ", - " ", - "
    ", - "", - "
    ", - "", - "
    ", - "
      ", - "
    1. ", - "
    2. ", - "
    3. ", - "
    ", - "
    ", - "
    ", - " ", - " ", - "", - "
    ", - "
    ", - "

    Example headline.

    ", - "

    Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget", - " metus. Nullam id dolor id nibh ultricies vehicula ut id elit.

    ", - "

    Sign up today

    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " ", - "", - "
    ", - "
    ", - "

    Another example headline.

    ", - "

    Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget", - " metus. Nullam id dolor id nibh ultricies vehicula ut id elit.

    ", - "

    Learn more

    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " ", - "", - "
    ", - "
    ", - "

    One more for good measure.

    ", - "

    Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget", - " metus. Nullam id dolor id nibh ultricies vehicula ut id elit.

    ", - "

    Browse gallery

    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " ", - " Previous", - " ", - " ", - " ", - " Next", - " ", - "
    ", - "", - "", - " ", - " ", - "", - "
    ", - "", - " ", - "
    ", - "
    ", - " ", - " Placeholder", - " 140x140", - " ", - "", - "

    Heading

    ", - "

    Donec sed odio dui. Etiam porta sem malesuada magna mollis euismod. Nullam id dolor id nibh ultricies", - " vehicula ut id elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Praesent commodo cursus", - " magna.

    ", - "

    View details »

    ", - "
    ", - "
    ", - " ", - " Placeholder", - " 140x140", - " ", - "", - "

    Heading

    ", - "

    Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras", - " mattis consectetur purus sit amet fermentum. Fusce dapibus, tellus ac cursus commodo, tortor mauris", - " condimentum nibh.

    ", - "

    View details »

    ", - "
    ", - "
    ", - " ", - " Placeholder", - " 140x140", - " ", - "", - "

    Heading

    ", - "

    Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta", - " felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum", - " massa justo sit amet risus.

    ", - "

    View details »

    ", - "
    ", - "
    ", - "", - "", - " ", - "", - "
    ", - "", - "
    ", - "
    ", - "

    First featurette heading. Itโ€™ll blow your mind.", - "

    ", - "

    Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod", - " semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus", - " commodo.

    ", - "
    ", - "
    ", - " ", - " Placeholder", - " 500x500", - " ", - "", - "
    ", - "
    ", - "", - "
    ", - "", - "
    ", - "
    ", - "

    Oh yeah, itโ€™s that good. See for yourself.

    ", - "

    Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod", - " semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus", - " commodo.

    ", - "
    ", - "
    ", - " ", - " Placeholder", - " 500x500", - " ", - "", - "
    ", - "
    ", - "", - "
    ", - "", - "
    ", - "
    ", - "

    And lastly, this one. Checkmate.

    ", - "

    Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod", - " semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus", - " commodo.

    ", - "
    ", - "
    ", - " ", - " Placeholder", - " 500x500", - " ", - "", - "
    ", - "
    ", - "", - "
    ", - "", - " ", - "", - "
    ", - "", - "", - " ", - " ", - "
    ", - "", - "", - "", - "", - "", - "" - ], - "description": "Carousel Template" - }, - "Album Template": { - "prefix": "!AlbumTemplate", - "body": [ - "", - "", - "", - "", - " ", - " ", - " ", - " ", - " ", - " Album example ยท Bootstrap", - "", - " ", - "", - "", - "", - " ", - "", - "", - "", - "", - " ", - "", - "", - "", - "", - "", - "", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "

    About

    ", - "

    Add some information about the album below, the author, or any other background", - " context. Make it a few sentences long so folks can pick up some informative tidbits. Then, link them off", - " to some social networking sites or contact information.

    ", - "
    ", - "
    ", - "

    Contact

    ", - " ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " ", - " ", - " ", - " Album", - " ", - " ", - "
    ", - "
    ", - "
    ", - "", - "
    ", - "", - "
    ", - "
    ", - "
    ", - "

    Album example

    ", - "

    Something short and leading about the collection belowโ€”its contents, the creator,", - " etc. Make it short and sweet, but not too short so folks donโ€™t simply skip over it entirely.

    ", - "

    ", - " Main call to action", - " Secondary action", - "

    ", - "
    ", - "
    ", - "
    ", - "", - "
    ", - "
    ", - "", - "
    ", - "
    ", - "
    ", - " ", - " Placeholder", - " Thumbnail", - " ", - "", - "
    ", - "

    This is a wider card with supporting text below as a natural lead-in to additional", - " content. This content is a little bit longer.

    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " 9 mins", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " Placeholder", - " Thumbnail", - " ", - "", - "
    ", - "

    This is a wider card with supporting text below as a natural lead-in to additional", - " content. This content is a little bit longer.

    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " 9 mins", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " Placeholder", - " Thumbnail", - " ", - "", - "
    ", - "

    This is a wider card with supporting text below as a natural lead-in to additional", - " content. This content is a little bit longer.

    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " 9 mins", - "
    ", - "
    ", - "
    ", - "
    ", - "", - "
    ", - "
    ", - " ", - " Placeholder", - " Thumbnail", - " ", - "", - "
    ", - "

    This is a wider card with supporting text below as a natural lead-in to additional", - " content. This content is a little bit longer.

    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " 9 mins", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " Placeholder", - " Thumbnail", - " ", - "", - "
    ", - "

    This is a wider card with supporting text below as a natural lead-in to additional", - " content. This content is a little bit longer.

    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " 9 mins", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " Placeholder", - " Thumbnail", - " ", - "", - "
    ", - "

    This is a wider card with supporting text below as a natural lead-in to additional", - " content. This content is a little bit longer.

    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " 9 mins", - "
    ", - "
    ", - "
    ", - "
    ", - "", - "
    ", - "
    ", - " ", - " Placeholder", - " Thumbnail", - " ", - "", - "
    ", - "

    This is a wider card with supporting text below as a natural lead-in to additional", - " content. This content is a little bit longer.

    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " 9 mins", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " Placeholder", - " Thumbnail", - " ", - "", - "
    ", - "

    This is a wider card with supporting text below as a natural lead-in to additional", - " content. This content is a little bit longer.

    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " 9 mins", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " Placeholder", - " Thumbnail", - " ", - "", - "
    ", - "

    This is a wider card with supporting text below as a natural lead-in to additional", - " content. This content is a little bit longer.

    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " 9 mins", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "", - "
    ", - "", - "
    ", - "
    ", - "

    ", - " Back to top", - "

    ", - "

    Album example is © Bootstrap, but please download and customize it for yourself!

    ", - "

    New to Bootstrap? Visit the homepage or read our getting started guide.

    ", - "
    ", - "
    ", - "", - "", - "", - "" - ], - "description": "Album Template" - }, - "Blog Template": { - "prefix": "!BlogTemplate", - "body": [ - "", - "", - "", - "", - " ", - " ", - " ", - " ", - " ", - " Blog Template ยท Bootstrap", - "", - " ", - "", - "", - "", - " ", - " ", - " ", - " ", - "", - " ", - "", - "", - " ", - " ", - " ", - " ", - "", - "", - "", - "", - "
    ", - "
    ", - "
    ", - "
    ", - " Subscribe", - "
    ", - "
    ", - " ", - "
    ", - " ", - "
    ", - "
    ", - "", - "
    ", - " ", - "
    ", - "", - "
    ", - "
    ", - "

    Title of a longer featured blog post

    ", - "

    Multiple lines of text that form the lede, informing new readers quickly and", - " efficiently about whatโ€™s most interesting in this postโ€™s contents.

    ", - "

    Continue reading...

    ", - "
    ", - "
    ", - "", - "
    ", - "
    ", - " ", - "
    ", - " World", - "

    Featured post

    ", - "
    Nov 12
    ", - "

    This is a wider card with supporting text below as a natural", - " lead-in to additional content.

    ", - " Continue reading", - "
    ", - "
    ", - " ", - " Placeholder", - " Thumbnail", - " ", - "", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - "
    ", - " Design", - "

    Post title

    ", - "
    Nov 11
    ", - "

    This is a wider card with supporting text below as a natural lead-in to", - " additional content.

    ", - " Continue reading", - "
    ", - "
    ", - " ", - " Placeholder", - " Thumbnail", - " ", - "", - "
    ", - "
    ", - "
    ", - " ", - " ", - "", - "
    ", - "
    ", - "
    ", - "

    ", - " From the Firehose", - "

    ", - "", - "
    ", - "

    Sample blog post

    ", - " ", - "", - "

    This blog post shows a few different types of content thatโ€™s supported and styled with Bootstrap.", - " Basic typography, images, and code are all supported.

    ", - "
    ", - "

    Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus", - " mus. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Sed posuere", - " consectetur est at lobortis. Cras mattis consectetur purus sit amet fermentum.

    ", - "
    ", - "

    Curabitur blandit tempus porttitor. Nullam quis risus eget urna mollis", - " ornare vel eu leo. Nullam id dolor id nibh ultricies vehicula ut id elit.

    ", - "
    ", - "

    Etiam porta sem malesuada magna mollis euismod. Cras mattis consectetur purus sit amet", - " fermentum. Aenean lacinia bibendum nulla sed consectetur.

    ", - "

    Heading

    ", - "

    Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non", - " commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Morbi leo risus,", - " porta ac consectetur ac, vestibulum at eros.

    ", - "

    Sub-heading

    ", - "

    Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.

    ", - "
    Example code block
    ", - "

    Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod.", - " Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa.

    ", - "

    Sub-heading

    ", - "

    Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean", - " lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce", - " dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit", - " amet risus.

    ", - "
      ", - "
    • Praesent commodo cursus magna, vel scelerisque nisl consectetur et.
    • ", - "
    • Donec id elit non mi porta gravida at eget metus.
    • ", - "
    • Nulla vitae elit libero, a pharetra augue.
    • ", - "
    ", - "

    Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue.", - "

    ", - "
      ", - "
    1. Vestibulum id ligula porta felis euismod semper.
    2. ", - "
    3. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
    4. ", - "
    5. Maecenas sed diam eget risus varius blandit sit amet non magna.
    6. ", - "
    ", - "

    Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis.

    ", - "
    ", - "", - "
    ", - "

    Another blog post

    ", - " ", - "", - "

    Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus", - " mus. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Sed posuere", - " consectetur est at lobortis. Cras mattis consectetur purus sit amet fermentum.

    ", - "
    ", - "

    Curabitur blandit tempus porttitor. Nullam quis risus eget urna mollis", - " ornare vel eu leo. Nullam id dolor id nibh ultricies vehicula ut id elit.

    ", - "
    ", - "

    Etiam porta sem malesuada magna mollis euismod. Cras mattis consectetur purus sit amet", - " fermentum. Aenean lacinia bibendum nulla sed consectetur.

    ", - "

    Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non", - " commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Morbi leo risus,", - " porta ac consectetur ac, vestibulum at eros.

    ", - "
    ", - "", - "
    ", - "

    New feature

    ", - " ", - "", - "

    Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean", - " lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce", - " dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit", - " amet risus.

    ", - "
      ", - "
    • Praesent commodo cursus magna, vel scelerisque nisl consectetur et.
    • ", - "
    • Donec id elit non mi porta gravida at eget metus.
    • ", - "
    • Nulla vitae elit libero, a pharetra augue.
    • ", - "
    ", - "

    Etiam porta sem malesuada magna mollis euismod. Cras mattis consectetur purus sit amet", - " fermentum. Aenean lacinia bibendum nulla sed consectetur.

    ", - "

    Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue.", - "

    ", - "
    ", - "", - " ", - "", - "
    ", - "", - " ", - "", - "
    ", - "", - "
    ", - "", - " ", - "", - "", - "", - "", - "", - "" - ], - "description": "Blog Template" - }, - "HTML HTTP Server": { - "prefix": "!html ", - "body": [ - "const http = require('http')", - "const fs = require('fs');", - "const PORT = ${1:7000};", - "http.createServer(function (request, response) {", - " if (request.url == '/') {", - " fs.readFile('${2:index.html}', function(err, data) {", - " response.writeHead(200, {'Content-Type': 'text/html'});", - " response.write(data);", - " return response.end();", - " });", - " }", - " else{", - " return response.end('Invalid request');", - " }", - "}).listen(PORT);", - "", - "" - ], - "description": "HTML HTTP Server" - }, - "HTTP Server for rendering dynamic pages": { - "prefix": "!http", - "body": [ - "// This is the lightweight way to server render a dynamic HTML without any frameworks or libraries...", - "// Because it's time you out grow HTML/CSS and get over ES6 as a buzzword...", - "// All we need is the built in HTTP method, template strings and few functions and you can create powerful layouts...", - "// Start thinking in terms of vanilla JS but also in ways that transfer to react...", - "// Learn more in my book", - "// https://github.com/HansUXdev/JavaScript-First", - "", - "const http = require('http')", - "const fs = require('fs');", - "", - "// For Pages on your site", - "const homepages = [", - " { ", - " name: 'Home', ", - " url: \"/\",", - " icon: \"\"", - " },", - " { ", - " name: 'About', ", - " url: \"/about\",", - " icon: \"fa-user\"", - " },", - " { ", - " name: 'Portfolio', ", - " url: \"/Portfolio\",", - " icon: \"fa-th\"", - " },", - " { ", - " name: 'Contact',", - " url: \"/Contact\",", - " icon: \"fa-envelope\"", - " }", - "];", - " ", - "", - "// layout template", - "const HTML = (header,body) => {", - " return `", - " ", - " ", - " ", - " ", - " \\${header}", - " ", - " ", - " ", - " ", - " ", - " \\${body}", - " ", - " `;", - "}", - "", - "// used to create links to each page", - "// Example of how to use it", - "// let links = NavLinks(homepages)", - "const NavLinks = (data) => {", - " return data.map(links => `", - "
  • ", - " \\${links.name}", - "
  • ", - " `).join('');", - "};", - "", - "// Navbar Function to build a dynamic navbar on the server", - "/*", - "* Example", - "* create links for each page", - "* let links = NavLinks(homepages)", - "* pass that into the 'content' arguement and returns your final menu", - "* Nav(links) ", - "*/", - "", - "const Nav = (content, logo=\"https://hansmcmurdy.com/JavaScript-First/logo.svg\") => {", - " return `", - "
    ", - "
    ", - "
    #JavaScriptFirst is an online Book
    ", - " ", - " Learn more about the book here: #JavaScriptFirst", - " ", - "
    ", - "
    ", - " `;", - "};", - "", - "/**", - " * @export", - " * @param {string} [route=\"/\"]", - " * @param {number} [port=8000]", - " * @param {*} HTML - is a callback that returns an html string", - " */", - "const Server = (home = \"/\", port=8000, template, pages=false ) =>{", - " http.createServer(", - " (request, response)=>{", - " req = this.request;", - " if(request.url == home){", - " response.writeHead(200,{", - " 'Content-Type': 'text/html',", - " 'Content-Length': template.length,", - " 'Expires': new Date().toUTCString()", - " })", - " response.end(template)", - " }", - " else{", - " // writeHTML()", - " response.end(\"nope\")", - " }", - " }", - " ).listen(port);", - " //", - " };", - " ", - "/*Example */", - "let links = NavLinks(homepages)", - "const home = HTML(", - " `#JavaScriptFrist Bootstrap Site`,", - " `\\${ Nav(links)}`", - ");", - "Server('/',7000,home)" - ], - "description": "HTTP Server for rendering dynamic pages" - } -, - "Utilities": { - "prefix": "!utility", - "body": [ - "${1|!spacing,!shadow,!color,!font,!flex,!direction,!justify,!align,!display|}" - ], - "description": "Utilities: Forgot a utility? \n Read about them: \n\n https://deploy-preview-29017--twbs-bootstrap.netlify.app/docs/5.0/utilities/api/" - }, - "Padding / Margin": { - "prefix": "!spacing", - "body": [ - "${1|m,p|}${3|x,y,t,r,b,l|}-${4|auto,0,1,2,3,4,5|}" - ], - "description": "Quickly add Padding & Margins any class." - }, - "Color": { - "prefix": "!color", - "body": [ - "${2|text,bg|}-${3|primary,secondary,success,danger,warning,info,light,dark|}" - ], - "description": "Quickly add color utility classes to any class." - }, - "Font": { - "prefix": "!font", - "body": [ - "text-${2|sm,md,lg,xl|}-${3|left,center,right|} lh-${4|base,1,sm,lg|} font-${5|italic,normal,weight-normal,weight-bold,weight-bolder,weight-light,weight-lighter|} text-${6| ,lowercase,uppercase,capitalize|} text-${7|decoration-none,decoration-underline,decoration-line-through|} text-${8|reset,break,monospace|}" - ], - "description": "Quickly add font utility classes to any class." - }, - "Shadow": { - "prefix": "!shadow", - "body": [ - "shadow${1| ,-sm,-lg|} bg-${2|white,light,dark,primary,secondary,success,danger,warning,info|} ${3|m,p|}${3|t,r,b,l,x,y|}${4|auto,0,1,2,3,4,5|}" - ], - "description": "Add shadow to any class" - }, - "Utility Paper Shadow": { - "prefix": "b5-shadow", - "body": [ - "
    ${0}
    " - ], - "description": "Utility Paper Shadow" - }, - "Utility Color": { - "prefix": "b5-color", - "body": [ - "${2|text,bg|}${3|primary,secondary,success,danger,warning,info,light,dark|}" - ], - "description": "Text Utility" - }, - "Utility Text": { - "prefix": "b5-txt", - "body": [ - "<${1|div,p,h1|} class=\"text-${2|sm,md,lg,xl|}-${3|left,center,right|} lh-${4|base,1,sm,lg|} font-${5|normal,italic,weight-normal,weight-bold,weight-bolder,weight-light,weight-lighter|} text-${6|none,lowercase,uppercase,capitalize|} text-${7|decoration-none,decoration-underline,decoration-line-through|} text-${8|reset,break,monospace|}\">", - "${9:Left aligned text on all viewport sizes.}", - "" - ], - "description": "Text Utility" - }, - "Utility Borders": { - "prefix": "b5-borders", - "body": [ - "<${1|div,p|} class=\"border${2| ,-0,-top,-right,-bottom,-left,-top-0,-right-0,-bottom-0,-left-0|} border-${3|white,primary,secondary,success,danger,warning,info,light,dark|} ${5| ,!round|}\">", - "${10:Left aligned text on all viewport sizes.}", - "" - ], - "description": "Utility Borders" - }, - "Round - Round out any edge.": { - "prefix": "!round", - "body": [ - "${1|rounded,rounded-top,rounded-right,rounded-bottom,rounded-left,rounded-circle,rounded-pill|} ${2|rounded-sm,rounded-lg|}" - ], - "description": "Round - Round out any edge." - }, - "Utility Spacing": { - "prefix": "b5-spacing", - "body": [ - "<${1|div,p,h1|} class=\"${2|m,p|}${3|t,r,b,l,x,y|}${4|auto,0,1,2,3,4,5|} \">", - "${0}", - "" - ], - "description": "Utility Spacing" - }, - "Display Utilities:": { - "prefix": "!display", - "body": [ - "d-${2|flex,inline-flex,none,block,inline,inline-block,table,table-cell,table-row|} " - ], - "description": "Display Utilities:" - }, - "Utilities MQ:": { - "prefix": "!MQ", - "body": [ - "${1|-sm-,-md,-lg-,-xl-,-xxl-|}" - ], - "description": "Display Utilities:" - }, - "Flex Utility": { - "prefix": "!flex", - "body": [ - "d${1|-,!MQ|}${2|flex,inline-flex|} ${3| ,!direction,!justify,!align,!fill,!grow-shrink,!flex-wrap,!flex-order|}" - ], - "description": "Flex Utility: Create a flexbox container and transform direct children elements into flex items. \n\n Ends with an options to continue with other flex utilities,!direction,!justify,!align." - }, - "Flex Direction": { - "prefix": "!direction", - "body": [ - "flex${1|-,!MQ|}${2|row,row-reverse,column,column-reverse|}" - ], - "description": "Flex Direction: Set the direction of flex items in a flex container with direction utilities" - }, - "justify-content": { - "prefix": "!justify", - "body": [ - "justify-content${1|-,!MQ|}${2|start,end,center,between,around,evenly|}" - ], - "description": "justify-content: \n change the alignment of flex items on the main axis (the x-axis to start, y-axis if flex-direction: column) \n Read the docs: \n\n https://deploy-preview-29017--twbs-bootstrap.netlify.app/docs/5.0/utilities/flex/#justify-content \n\n " - }, - "Flex-Align": { - "prefix": "!align", - "body": [ - "align-${1|items,self,content|}${2|-,!MQ|}${3|start,end,center,baseline,stretch,around|}" - ], - "description": "Flex-Align: \n Read the docs: \n https://deploy-preview-29017--twbs-bootstrap.netlify.app/docs/5.0/utilities/flex/#align-items \n\n 1. align-items: change the alignment of flex items on the cross axis (the y-axis to start, x-axis if flex-direction: column) \n\n 2. align-self: change their alignment on the cross axis (the y-axis to start, x-axis if flex-direction: column) \n\n 3. align-content: align flex items together on the cross axis. \n\n NOTE: CENTER & AROUND only apply to align Content." - }, - "!fill": { - "prefix": "!fill", - "body": [ - "flex-${1|fill,sm-fill,md-fill,lg-fill,xl-fill,xxl-fill|}" - ], - "description": "!fill - use on sibling elements to force them into widths equal to their content" - }, - "!grow-shrink": { - "prefix": "!grow-shrink", - "body": [ - "flex${1|-,!MQ|}-${2|grow,shrink|}-${3|0,1|}" - ], - "description": "!grow-shrink - utilities to toggle a flex itemโ€™s ability to grow to fill available space" - }, - "!flex-wrap": { - "prefix": "!flex-wrap", - "body": [ - "flex-${1|-,!MQ|}${2|wrap,nowrap,wrap-reverse|}" - ], - "description": "!flex-wrap - utilities to toggle a flex itemโ€™s ability to grow to fill available space." - }, - "!flex-order": { - "prefix": "!flex-order", - "body": [ - "order-${1|-,!MQ|}${2|1,2,3,4,5,first,last|}" - ], - "description": "Flex Order - Change the visual order of specific flex items with a handful of order utilities." - } -} \ No newline at end of file diff --git a/my-snippets/B5-Snippets/snippets/types/breadcrumb.json b/my-snippets/B5-Snippets/snippets/types/breadcrumb.json deleted file mode 100644 index 2eb9040..0000000 --- a/my-snippets/B5-Snippets/snippets/types/breadcrumb.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "breadcrumb": { - "prefix": "b5-breadcrumb", - "body": [ - "<${1:nav} class=\"breadcrumb\" aria-label=\"breadcrumb\">", - "
      ", - "
    1. ${4:Library}
    2. ", - " b5${0}", - "
    ", - "" - ], - "description": "breadcrumb" - }, - "breadcrumb item": { - "prefix": "b5-breadcrumb-item", - "body": ["
  • ${3:Library}
  • "], - "description": "breadcrumb" - } -} \ No newline at end of file diff --git a/my-snippets/B5-Snippets/snippets/types/buttons.json b/my-snippets/B5-Snippets/snippets/types/buttons.json deleted file mode 100644 index d0b9ed6..0000000 --- a/my-snippets/B5-Snippets/snippets/types/buttons.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "Button": { - "prefix": "b5-btn", - "body": [ - "${4| ,Link|}" - ], - "description": "Create a basic button." - }, - "Call to Action Button": { - "prefix": "b5-btn-cta", - "body": [ - "${5|Link, ,call,mail|}" - ], - "description": "Create a CTA Button and drive your customer experience forward. \n Options: \n 1. Call\n 2. Email\n" - }, - "BTN-Outline": { - "prefix": "b5-btn-o", - "body": [ - "${4| ,Link|}" - ], - "description": "Link BTN" - }, - "Close Button": { - "prefix": "b5-btn-close", - "body": [ - "" - ], - "description": "Close Button" - }, - "Button Group": { - "prefix": "b5-btn-gp", - "body": [ - "
    ", - " b5-btn${0}", - "
    " - ], - "description": "Button Group" - } -} \ No newline at end of file diff --git a/my-snippets/B5-Snippets/snippets/types/cards.json b/my-snippets/B5-Snippets/snippets/types/cards.json deleted file mode 100644 index 4f79d9c..0000000 --- a/my-snippets/B5-Snippets/snippets/types/cards.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "Bootstrap 5 Card": { - "prefix": "b5-card", - "body": [ - "
    ", - " \"...\"", - "
    ", - "
    ${3|Card title, |}
    ", - "
    ${5|Card subtitle, |}
    ", - "

    ${6|Some quick example text to build on the card title and make up the bulk of the card's content., |}

    ", - " b5${0}", - "
    ", - "
    " - ], - "description": "Bootstrap 5 Card" - } -} \ No newline at end of file diff --git a/my-snippets/B5-Snippets/snippets/types/carousel.json b/my-snippets/B5-Snippets/snippets/types/carousel.json deleted file mode 100644 index 4bdc244..0000000 --- a/my-snippets/B5-Snippets/snippets/types/carousel.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "Bootstrap 5 carousel": { - "prefix": "b5-carousel", - "body": [ - "
    ", - "
      ", - "
    1. ", - "
    2. ", - "
    3. ", - "
    ", - "
    ", - " b5-carousel-item${0}", - "
    ", - " ", - " ", - " Previous", - " ", - " ", - " ", - " Next", - " ", - "
    ", - "" - ], - "description": "Bootstrap 5 carousel" - }, - "Bootstrap 5 carousel item": { - "prefix": "b5-carousel-item", - "body": [ - "
    ", - " \"${3:The", - "
    " - ], - "description": "Bootstrap 5 carousel item" - } -} \ No newline at end of file diff --git a/my-snippets/B5-Snippets/snippets/types/collapse.json b/my-snippets/B5-Snippets/snippets/types/collapse.json deleted file mode 100644 index 53b751e..0000000 --- a/my-snippets/B5-Snippets/snippets/types/collapse.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "Button Reveal": { - "prefix": "b5-btn-reveal", - "body": [ - "", - "
    ", - "
    ", - " ${3|Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident., |}", - "
    ", - "
    " - ], - "description": "Button Reveal" - }, - "Accordion Example": { - "prefix": "accordion-example", - "body": [ - "
    ", - "
    ", - "
    ", - "

    ", - " ", - "

    ", - "
    ", - "", - "
    ", - "
    ", - " Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.", - "
    ", - "
    ", - "
    ", - "
    " - ], - "description": "Accordion Example" - } -} \ No newline at end of file diff --git a/my-snippets/B5-Snippets/snippets/types/content.json b/my-snippets/B5-Snippets/snippets/types/content.json deleted file mode 100644 index 59b0f04..0000000 --- a/my-snippets/B5-Snippets/snippets/types/content.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "figure": { - "prefix": "b5-figure", - "body": [ - "
    ", - " \"...\"", - "
    ${2:A caption for the above image.}
    ", - "
    " - ], - "description": "figure" - } -} \ No newline at end of file diff --git a/my-snippets/B5-Snippets/snippets/types/fonts.json b/my-snippets/B5-Snippets/snippets/types/fonts.json deleted file mode 100644 index b933613..0000000 --- a/my-snippets/B5-Snippets/snippets/types/fonts.json +++ /dev/null @@ -1,3939 +0,0 @@ -{ - "Font awesome css link": { - "prefix": "!fa", - "body": "$0", - "description": "Font awesome css link" - }, - "500px": { - "prefix": "fa-500px", - "body": "$0", - "description": "500px" - }, - "address-book": { - "prefix": "fa-address-book", - "body": "$0", - "description": "address-book" - }, - "address-book-o": { - "prefix": "fa-address-book-o", - "body": "$0", - "description": "address-book-o" - }, - "address-card": { - "prefix": "fa-address-card", - "body": "$0", - "description": "address-card" - }, - "address-card-o": { - "prefix": "fa-address-card-o", - "body": "$0", - "description": "address-card-o" - }, - "adjust": { - "prefix": "fa-adjust", - "body": "$0", - "description": "adjust" - }, - "adn": { - "prefix": "fa-adn", - "body": "$0", - "description": "adn" - }, - "align-center": { - "prefix": "fa-align-center", - "body": "$0", - "description": "align-center" - }, - "align-justify": { - "prefix": "fa-align-justify", - "body": "$0", - "description": "align-justify" - }, - "align-left": { - "prefix": "fa-align-left", - "body": "$0", - "description": "align-left" - }, - "align-right": { - "prefix": "fa-align-right", - "body": "$0", - "description": "align-right" - }, - "amazon": { - "prefix": "fa-amazon", - "body": "$0", - "description": "amazon" - }, - "ambulance": { - "prefix": "fa-ambulance", - "body": "$0", - "description": "ambulance" - }, - "american-sign-language-interpreting": { - "prefix": "fa-american-sign-language-interpreting", - "body": "$0", - "description": "american-sign-language-interpreting" - }, - "anchor": { - "prefix": "fa-anchor", - "body": "$0", - "description": "anchor" - }, - "android": { - "prefix": "fa-android", - "body": "$0", - "description": "android" - }, - "angellist": { - "prefix": "fa-angellist", - "body": "$0", - "description": "angellist" - }, - "angle-double-down": { - "prefix": "fa-angle-double-down", - "body": "$0", - "description": "angle-double-down" - }, - "angle-double-left": { - "prefix": "fa-angle-double-left", - "body": "$0", - "description": "angle-double-left" - }, - "angle-double-right": { - "prefix": "fa-angle-double-right", - "body": "$0", - "description": "angle-double-right" - }, - "angle-double-up": { - "prefix": "fa-angle-double-up", - "body": "$0", - "description": "angle-double-up" - }, - "angle-down": { - "prefix": "fa-angle-down", - "body": "$0", - "description": "angle-down" - }, - "angle-left": { - "prefix": "fa-angle-left", - "body": "$0", - "description": "angle-left" - }, - "angle-right": { - "prefix": "fa-angle-right", - "body": "$0", - "description": "angle-right" - }, - "angle-up": { - "prefix": "fa-angle-up", - "body": "$0", - "description": "angle-up" - }, - "apple": { - "prefix": "fa-apple", - "body": "$0", - "description": "apple" - }, - "archive": { - "prefix": "fa-archive", - "body": "$0", - "description": "archive" - }, - "area-chart": { - "prefix": "fa-area-chart", - "body": "$0", - "description": "area-chart" - }, - "arrow-circle-down": { - "prefix": "fa-arrow-circle-down", - "body": "$0", - "description": "arrow-circle-down" - }, - "arrow-circle-left": { - "prefix": "fa-arrow-circle-left", - "body": "$0", - "description": "arrow-circle-left" - }, - "arrow-circle-o-down": { - "prefix": "fa-arrow-circle-o-down", - "body": "$0", - "description": "arrow-circle-o-down" - }, - "arrow-circle-o-left": { - "prefix": "fa-arrow-circle-o-left", - "body": "$0", - "description": "arrow-circle-o-left" - }, - "arrow-circle-o-right": { - "prefix": "fa-arrow-circle-o-right", - "body": "$0", - "description": "arrow-circle-o-right" - }, - "arrow-circle-o-up": { - "prefix": "fa-arrow-circle-o-up", - "body": "$0", - "description": "arrow-circle-o-up" - }, - "arrow-circle-right": { - "prefix": "fa-arrow-circle-right", - "body": "$0", - "description": "arrow-circle-right" - }, - "arrow-circle-up": { - "prefix": "fa-arrow-circle-up", - "body": "$0", - "description": "arrow-circle-up" - }, - "arrow-down": { - "prefix": "fa-arrow-down", - "body": "$0", - "description": "arrow-down" - }, - "arrow-left": { - "prefix": "fa-arrow-left", - "body": "$0", - "description": "arrow-left" - }, - "arrow-right": { - "prefix": "fa-arrow-right", - "body": "$0", - "description": "arrow-right" - }, - "arrows": { - "prefix": "fa-arrows", - "body": "$0", - "description": "arrows" - }, - "arrows-alt": { - "prefix": "fa-arrows-alt", - "body": "$0", - "description": "arrows-alt" - }, - "arrows-h": { - "prefix": "fa-arrows-h", - "body": "$0", - "description": "arrows-h" - }, - "arrows-v": { - "prefix": "fa-arrows-v", - "body": "$0", - "description": "arrows-v" - }, - "arrow-up": { - "prefix": "fa-arrow-up", - "body": "$0", - "description": "arrow-up" - }, - "asl-interpreting": { - "prefix": "fa-asl-interpreting", - "body": "$0", - "description": "asl-interpreting" - }, - "assistive-listening-systems": { - "prefix": "fa-assistive-listening-systems", - "body": "$0", - "description": "assistive-listening-systems" - }, - "asterisk": { - "prefix": "fa-asterisk", - "body": "$0", - "description": "asterisk" - }, - "at": { - "prefix": "fa-at", - "body": "$0", - "description": "at" - }, - "audio-description": { - "prefix": "fa-audio-description", - "body": "$0", - "description": "audio-description" - }, - "automobile": { - "prefix": "fa-automobile", - "body": "$0", - "description": "automobile" - }, - "backward": { - "prefix": "fa-backward", - "body": "$0", - "description": "backward" - }, - "balance-scale": { - "prefix": "fa-balance-scale", - "body": "$0", - "description": "balance-scale" - }, - "ban": { - "prefix": "fa-ban", - "body": "$0", - "description": "ban" - }, - "bandcamp": { - "prefix": "fa-bandcamp", - "body": "$0", - "description": "bandcamp" - }, - "bank": { - "prefix": "fa-bank", - "body": "$0", - "description": "bank" - }, - "bar-chart": { - "prefix": "fa-bar-chart", - "body": "$0", - "description": "bar-chart" - }, - "bar-chart-o": { - "prefix": "fa-bar-chart-o", - "body": "$0", - "description": "bar-chart-o", - - }, - "barcode": { - "prefix": "fa-barcode", - "body": "$0", - "description": "barcode", - - }, - "bars": { - "prefix": "fa-bars", - "body": "$0", - "description": "bars" - }, - "bath": { - "prefix": "fa-bath", - "body": "$0", - "description": "bath" - }, - "bathtub": { - "prefix": "fa-bathtub", - "body": "$0", - "description": "bathtub" - }, - "battery": { - "prefix": "fa-battery", - "body": "$0", - "description": "battery" - }, - "battery-0": { - "prefix": "fa-battery-0", - "body": "$0", - "description": "battery-0" - }, - "battery-1": { - "prefix": "fa-battery-1", - "body": "$0", - "description": "battery-1" - }, - "battery-2": { - "prefix": "fa-battery-2", - "body": "$0", - "description": "battery-2" - }, - "battery-3": { - "prefix": "fa-battery-3", - "body": "$0", - "description": "battery-3" - }, - "battery-4": { - "prefix": "fa-battery-4", - "body": "$0", - "description": "battery-4" - }, - "battery-empty": { - "prefix": "fa-battery-empty", - "body": "$0", - "description": "battery-empty" - }, - "battery-full": { - "prefix": "fa-battery-full", - "body": "$0", - "description": "battery-full" - }, - "battery-half": { - "prefix": "fa-battery-half", - "body": "$0", - "description": "battery-half" - }, - "battery-quarter": { - "prefix": "fa-battery-quarter", - "body": "$0", - "description": "battery-quarter" - }, - "battery-three-quarters": { - "prefix": "fa-battery-three-quarters", - "body": "$0", - "description": "battery-three-quarters" - }, - "bed": { - "prefix": "fa-bed", - "body": "$0", - "description": "bed" - }, - "beer": { - "prefix": "fa-beer", - "body": "$0", - "description": "beer" - }, - "behance": { - "prefix": "fa-behance", - "body": "$0", - "description": "behance" - }, - "behance-square": { - "prefix": "fa-behance-square", - "body": "$0", - "description": "behance-square" - }, - "bell": { - "prefix": "fa-bell", - "body": "$0", - "description": "bell" - }, - "bell-o": { - "prefix": "fa-bell-o", - "body": "$0", - "description": "bell-o" - }, - "bell-slash": { - "prefix": "fa-bell-slash", - "body": "$0", - "description": "bell-slash" - }, - "bell-slash-o": { - "prefix": "fa-bell-slash-o", - "body": "$0", - "description": "bell-slash-o" - }, - "bicycle": { - "prefix": "fa-bicycle", - "body": "$0", - "description": "bicycle" - }, - "binoculars": { - "prefix": "fa-binoculars", - "body": "$0", - "description": "binoculars" - }, - "birthday-cake": { - "prefix": "fa-birthday-cake", - "body": "$0", - "description": "birthday-cake" - }, - "bitbucket": { - "prefix": "fa-bitbucket", - "body": "$0", - "description": "bitbucket" - }, - "bitbucket-square": { - "prefix": "fa-bitbucket-square", - "body": "$0", - "description": "bitbucket-square" - }, - "bitcoin": { - "prefix": "fa-bitcoin", - "body": "$0", - "description": "bitcoin" - }, - "black-tie": { - "prefix": "fa-black-tie", - "body": "$0", - "description": "black-tie" - }, - "blind": { - "prefix": "fa-blind", - "body": "$0", - "description": "blind" - }, - "bluetooth": { - "prefix": "fa-bluetooth", - "body": "$0", - "description": "bluetooth" - }, - "bluetooth-b": { - "prefix": "fa-bluetooth-b", - "body": "$0", - "description": "bluetooth-b" - }, - "bold": { - "prefix": "fa-bold", - "body": "$0", - "description": "bold" - }, - "bolt": { - "prefix": "fa-bolt", - "body": "$0", - "description": "bolt" - }, - "bomb": { - "prefix": "fa-bomb", - "body": "$0", - "description": "bomb" - }, - "book": { - "prefix": "fa-book", - "body": "$0", - "description": "book" - }, - "bookmark": { - "prefix": "fa-bookmark", - "body": "$0", - "description": "bookmark" - }, - "bookmark-o": { - "prefix": "fa-bookmark-o", - "body": "$0", - "description": "bookmark-o" - }, - "braille": { - "prefix": "fa-braille", - "body": "$0", - "description": "braille" - }, - "briefcase": { - "prefix": "fa-briefcase", - "body": "$0", - "description": "briefcase" - }, - "btc": { - "prefix": "fa-btc", - "body": "$0", - "description": "btc" - }, - "bug": { - "prefix": "fa-bug", - "body": "$0", - "description": "bug" - }, - "building": { - "prefix": "fa-building", - "body": "$0", - "description": "building" - }, - "building-o": { - "prefix": "fa-building-o", - "body": "$0", - "description": "building-o" - }, - "bullhorn": { - "prefix": "fa-bullhorn", - "body": "$0", - "description": "bullhorn" - }, - "bullseye": { - "prefix": "fa-bullseye", - "body": "$0", - "description": "bullseye" - }, - "bus": { - "prefix": "fa-bus", - "body": "$0", - "description": "bus" - }, - "buysellads": { - "prefix": "fa-buysellads", - "body": "$0", - "description": "buysellads" - }, - "cab": { - "prefix": "fa-cab", - "body": "$0", - "description": "cab" - }, - "calculator": { - "prefix": "fa-calculator", - "body": "$0", - "description": "calculator" - }, - "calendar": { - "prefix": "fa-calendar", - "body": "$0", - "description": "calendar" - }, - "calendar-check-o": { - "prefix": "fa-calendar-check-o", - "body": "$0", - "description": "calendar-check-o" - }, - "calendar-minus-o": { - "prefix": "fa-calendar-minus-o", - "body": "$0", - "description": "calendar-minus-o" - }, - "calendar-o": { - "prefix": "fa-calendar-o", - "body": "$0", - "description": "calendar-o" - }, - "calendar-plus-o": { - "prefix": "fa-calendar-plus-o", - "body": "$0", - "description": "calendar-plus-o" - }, - "calendar-times-o": { - "prefix": "fa-calendar-times-o", - "body": "$0", - "description": "calendar-times-o" - }, - "camera": { - "prefix": "fa-camera", - "body": "$0", - "description": "camera" - }, - "camera-retro": { - "prefix": "fa-camera-retro", - "body": "$0", - "description": "camera-retro" - }, - "car": { - "prefix": "fa-car", - "body": "$0", - "description": "car" - }, - "caret-down": { - "prefix": "fa-caret-down", - "body": "$0", - "description": "caret-down" - }, - "caret-left": { - "prefix": "fa-caret-left", - "body": "$0", - "description": "caret-left" - }, - "caret-right": { - "prefix": "fa-caret-right", - "body": "$0", - "description": "caret-right" - }, - "caret-square-o-down": { - "prefix": "fa-caret-square-o-down", - "body": "$0", - "description": "caret-square-o-down" - }, - "caret-square-o-left": { - "prefix": "fa-caret-square-o-left", - "body": "$0", - "description": "caret-square-o-left" - }, - "caret-square-o-right": { - "prefix": "fa-caret-square-o-right", - "body": "$0", - "description": "caret-square-o-right" - }, - "caret-square-o-up": { - "prefix": "fa-caret-square-o-up", - "body": "$0", - "description": "caret-square-o-up" - }, - "caret-up": { - "prefix": "fa-caret-up", - "body": "$0", - "description": "caret-up" - }, - "cart-arrow-down": { - "prefix": "fa-cart-arrow-down", - "body": "$0", - "description": "cart-arrow-down" - }, - "cart-plus": { - "prefix": "fa-cart-plus", - "body": "$0", - "description": "cart-plus" - }, - "cc": { - "prefix": "fa-cc", - "body": "$0", - "description": "cc" - }, - "cc-amex": { - "prefix": "fa-cc-amex", - "body": "$0", - "description": "cc-amex" - }, - "cc-diners-club": { - "prefix": "fa-cc-diners-club", - "body": "$0", - "description": "cc-diners-club" - }, - "cc-discover": { - "prefix": "fa-cc-discover", - "body": "$0", - "description": "cc-discover" - }, - "cc-jcb": { - "prefix": "fa-cc-jcb", - "body": "$0", - "description": "cc-jcb" - }, - "cc-mastercard": { - "prefix": "fa-cc-mastercard", - "body": "$0", - "description": "cc-mastercard" - }, - "cc-paypal": { - "prefix": "fa-cc-paypal", - "body": "$0", - "description": "cc-paypal" - }, - "cc-stripe": { - "prefix": "fa-cc-stripe", - "body": "$0", - "description": "cc-stripe" - }, - "cc-visa": { - "prefix": "fa-cc-visa", - "body": "$0", - "description": "cc-visa" - }, - "certificate": { - "prefix": "fa-certificate", - "body": "$0", - "description": "certificate" - }, - "chain": { - "prefix": "fa-chain", - "body": "$0", - "description": "chain" - }, - "chain-broken": { - "prefix": "fa-chain-broken", - "body": "$0", - "description": "chain-broken" - }, - "check": { - "prefix": "fa-check", - "body": "$0", - "description": "check" - }, - "check-circle": { - "prefix": "fa-check-circle", - "body": "$0", - "description": "check-circle" - }, - "check-circle-o": { - "prefix": "fa-check-circle-o", - "body": "$0", - "description": "check-circle-o" - }, - "check-square": { - "prefix": "fa-check-square", - "body": "$0", - "description": "check-square" - }, - "check-square-o": { - "prefix": "fa-check-square-o", - "body": "$0", - "description": "check-square-o" - }, - "chevron-circle-down": { - "prefix": "fa-chevron-circle-down", - "body": "$0", - "description": "chevron-circle-down" - }, - "chevron-circle-left": { - "prefix": "fa-chevron-circle-left", - "body": "$0", - "description": "chevron-circle-left" - }, - "chevron-circle-right": { - "prefix": "fa-chevron-circle-right", - "body": "$0", - "description": "chevron-circle-right" - }, - "chevron-circle-up": { - "prefix": "fa-chevron-circle-up", - "body": "$0", - "description": "chevron-circle-up" - }, - "chevron-down": { - "prefix": "fa-chevron-down", - "body": "$0", - "description": "chevron-down" - }, - "chevron-left": { - "prefix": "fa-chevron-left", - "body": "$0", - "description": "chevron-left" - }, - "chevron-right": { - "prefix": "fa-chevron-right", - "body": "$0", - "description": "chevron-right" - }, - "chevron-up": { - "prefix": "fa-chevron-up", - "body": "$0", - "description": "chevron-up" - }, - "child": { - "prefix": "fa-child", - "body": "$0", - "description": "child" - }, - "chrome": { - "prefix": "fa-chrome", - "body": "$0", - "description": "chrome" - }, - "circle": { - "prefix": "fa-circle", - "body": "$0", - "description": "circle" - }, - "circle-o": { - "prefix": "fa-circle-o", - "body": "$0", - "description": "circle-o" - }, - "circle-o-notch": { - "prefix": "fa-circle-o-notch", - "body": "$0", - "description": "circle-o-notch" - }, - "circle-thin": { - "prefix": "fa-circle-thin", - "body": "$0", - "description": "circle-thin" - }, - "clipboard": { - "prefix": "fa-clipboard", - "body": "$0", - "description": "clipboard" - }, - "clock-o": { - "prefix": "fa-clock-o", - "body": "$0", - "description": "clock-o" - }, - "clone": { - "prefix": "fa-clone", - "body": "$0", - "description": "clone" - }, - "close": { - "prefix": "fa-close", - "body": "$0", - "description": "close" - }, - "cloud": { - "prefix": "fa-cloud", - "body": "$0", - "description": "cloud" - }, - "cloud-download": { - "prefix": "fa-cloud-download", - "body": "$0", - "description": "cloud-download" - }, - "cloud-upload": { - "prefix": "fa-cloud-upload", - "body": "$0", - "description": "cloud-upload" - }, - "cny": { - "prefix": "fa-cny", - "body": "$0", - "description": "cny" - }, - "code": { - "prefix": "fa-code", - "body": "$0", - "description": "code" - }, - "code-fork": { - "prefix": "fa-code-fork", - "body": "$0", - "description": "code-fork" - }, - "codepen": { - "prefix": "fa-codepen", - "body": "$0", - "description": "codepen" - }, - "codiepie": { - "prefix": "fa-codiepie", - "body": "$0", - "description": "codiepie" - }, - "coffee": { - "prefix": "fa-coffee", - "body": "$0", - "description": "coffee" - }, - "cog": { - "prefix": "fa-cog", - "body": "$0", - "description": "cog" - }, - "cogs": { - "prefix": "fa-cogs", - "body": "$0", - "description": "cogs" - }, - "columns": { - "prefix": "fa-columns", - "body": "$0", - "description": "columns" - }, - "comment": { - "prefix": "fa-comment", - "body": "$0", - "description": "comment" - }, - "commenting": { - "prefix": "fa-commenting", - "body": "$0", - "description": "commenting" - }, - "commenting-o": { - "prefix": "fa-commenting-o", - "body": "$0", - "description": "commenting-o" - }, - "comment-o": { - "prefix": "fa-comment-o", - "body": "$0", - "description": "comment-o" - }, - "comments": { - "prefix": "fa-comments", - "body": "$0", - "description": "comments" - }, - "comments-o": { - "prefix": "fa-comments-o", - "body": "$0", - "description": "comments-o" - }, - "compass": { - "prefix": "fa-compass", - "body": "$0", - "description": "compass" - }, - "compress": { - "prefix": "fa-compress", - "body": "$0", - "description": "compress" - }, - "connectdevelop": { - "prefix": "fa-connectdevelop", - "body": "$0", - "description": "connectdevelop" - }, - "contao": { - "prefix": "fa-contao", - "body": "$0", - "description": "contao" - }, - "copy": { - "prefix": "fa-copy", - "body": "$0", - "description": "copy" - }, - "copyright": { - "prefix": "fa-copyright", - "body": "$0", - "description": "copyright" - }, - "creative-commons": { - "prefix": "fa-creative-commons", - "body": "$0", - "description": "creative-commons" - }, - "credit-card": { - "prefix": "fa-credit-card", - "body": "$0", - "description": "credit-card" - }, - "credit-card-alt": { - "prefix": "fa-credit-card-alt", - "body": "$0", - "description": "credit-card-alt" - }, - "crop": { - "prefix": "fa-crop", - "body": "$0", - "description": "crop" - }, - "crosshairs": { - "prefix": "fa-crosshairs", - "body": "$0", - "description": "crosshairs" - }, - "css3": { - "prefix": "fa-css3", - "body": "$0", - "description": "css3" - }, - "cube": { - "prefix": "fa-cube", - "body": "$0", - "description": "cube" - }, - "cubes": { - "prefix": "fa-cubes", - "body": "$0", - "description": "cubes" - }, - "cut": { - "prefix": "fa-cut", - "body": "$0", - "description": "cut" - }, - "cutlery": { - "prefix": "fa-cutlery", - "body": "$0", - "description": "cutlery" - }, - "dashboard": { - "prefix": "fa-dashboard", - "body": "$0", - "description": "dashboard" - }, - "dashcube": { - "prefix": "fa-dashcube", - "body": "$0", - "description": "dashcube" - }, - "database": { - "prefix": "fa-database", - "body": "$0", - "description": "database" - }, - "deaf": { - "prefix": "fa-deaf", - "body": "$0", - "description": "deaf" - }, - "deafness": { - "prefix": "fa-deafness", - "body": "$0", - "description": "deafness" - }, - "dedent": { - "prefix": "fa-dedent", - "body": "$0", - "description": "dedent" - }, - "delicious": { - "prefix": "fa-delicious", - "body": "$0", - "description": "delicious" - }, - "desktop": { - "prefix": "fa-desktop", - "body": "$0", - "description": "desktop" - }, - "deviantart": { - "prefix": "fa-deviantart", - "body": "$0", - "description": "deviantart" - }, - "diamond": { - "prefix": "fa-diamond", - "body": "$0", - "description": "diamond" - }, - "digg": { - "prefix": "fa-digg", - "body": "$0", - "description": "digg" - }, - "dollar": { - "prefix": "fa-dollar", - "body": "$0", - "description": "dollar" - }, - "dot-circle-o": { - "prefix": "fa-dot-circle-o", - "body": "$0", - "description": "dot-circle-o" - }, - "download": { - "prefix": "fa-download", - "body": "$0", - "description": "download" - }, - "dribbble": { - "prefix": "fa-dribbble", - "body": "$0", - "description": "dribbble" - }, - "drivers-license": { - "prefix": "fa-drivers-license", - "body": "$0", - "description": "drivers-license" - }, - "drivers-license-o": { - "prefix": "fa-drivers-license-o", - "body": "$0", - "description": "drivers-license-o" - }, - "dropbox": { - "prefix": "fa-dropbox", - "body": "$0", - "description": "dropbox" - }, - "drupal": { - "prefix": "fa-drupal", - "body": "$0", - "description": "drupal" - }, - "edge": { - "prefix": "fa-edge", - "body": "$0", - "description": "edge" - }, - "edit": { - "prefix": "fa-edit", - "body": "$0", - "description": "edit" - }, - "eercast": { - "prefix": "fa-eercast", - "body": "$0", - "description": "eercast" - }, - "eject": { - "prefix": "fa-eject", - "body": "$0", - "description": "eject" - }, - "ellipsis-h": { - "prefix": "fa-ellipsis-h", - "body": "$0", - "description": "ellipsis-h" - }, - "ellipsis-v": { - "prefix": "fa-ellipsis-v", - "body": "$0", - "description": "ellipsis-v" - }, - "empire": { - "prefix": "fa-empire", - "body": "$0", - "description": "empire" - }, - "envelope": { - "prefix": "fa-envelope", - "body": "$0", - "description": "envelope" - }, - "envelope-o": { - "prefix": "fa-envelope-o", - "body": "$0", - "description": "envelope-o" - }, - "envelope-open": { - "prefix": "fa-envelope-open", - "body": "$0", - "description": "envelope-open" - }, - "envelope-open-o": { - "prefix": "fa-envelope-open-o", - "body": "$0", - "description": "envelope-open-o" - }, - "envelope-square": { - "prefix": "fa-envelope-square", - "body": "$0", - "description": "envelope-square" - }, - "envira": { - "prefix": "fa-envira", - "body": "$0", - "description": "envira" - }, - "eraser": { - "prefix": "fa-eraser", - "body": "$0", - "description": "eraser" - }, - "etsy": { - "prefix": "fa-etsy", - "body": "$0", - "description": "etsy" - }, - "eur": { - "prefix": "fa-eur", - "body": "$0", - "description": "eur" - }, - "euro": { - "prefix": "fa-euro", - "body": "$0", - "description": "euro" - }, - "exchange": { - "prefix": "fa-exchange", - "body": "$0", - "description": "exchange" - }, - "exclamation": { - "prefix": "fa-exclamation", - "body": "$0", - "description": "exclamation" - }, - "exclamation-circle": { - "prefix": "fa-exclamation-circle", - "body": "$0", - "description": "exclamation-circle" - }, - "exclamation-triangle": { - "prefix": "fa-exclamation-triangle", - "body": "$0", - "description": "exclamation-triangle" - }, - "expand": { - "prefix": "fa-expand", - "body": "$0", - "description": "expand" - }, - "expeditedssl": { - "prefix": "fa-expeditedssl", - "body": "$0", - "description": "expeditedssl" - }, - "external-link": { - "prefix": "fa-external-link", - "body": "$0", - "description": "external-link" - }, - "external-link-square": { - "prefix": "fa-external-link-square", - "body": "$0", - "description": "external-link-square" - }, - "eye": { - "prefix": "fa-eye", - "body": "$0", - "description": "eye" - }, - "eyedropper": { - "prefix": "fa-eyedropper", - "body": "$0", - "description": "eyedropper" - }, - "eye-slash": { - "prefix": "fa-eye-slash", - "body": "$0", - "description": "eye-slash" - }, - "fa": { - "prefix": "fa-fa", - "body": "$0", - "description": "fa" - }, - "facebook": { - "prefix": "fa-facebook", - "body": "$0", - "description": "facebook" - }, - "facebook-f": { - "prefix": "fa-facebook-f", - "body": "$0", - "description": "facebook-f" - }, - "facebook-official": { - "prefix": "fa-facebook-official", - "body": "$0", - "description": "facebook-official" - }, - "facebook-square": { - "prefix": "fa-facebook-square", - "body": "$0", - "description": "facebook-square" - }, - "fast-backward": { - "prefix": "fa-fast-backward", - "body": "$0", - "description": "fast-backward" - }, - "fast-forward": { - "prefix": "fa-fast-forward", - "body": "$0", - "description": "fast-forward" - }, - "fax": { - "prefix": "fa-fax", - "body": "$0", - "description": "fax" - }, - "feed": { - "prefix": "fa-feed", - "body": "$0", - "description": "feed" - }, - "female": { - "prefix": "fa-female", - "body": "$0", - "description": "female" - }, - "fighter-jet": { - "prefix": "fa-fighter-jet", - "body": "$0", - "description": "fighter-jet" - }, - "file": { - "prefix": "fa-file", - "body": "$0", - "description": "file" - }, - "file-archive-o": { - "prefix": "fa-file-archive-o", - "body": "$0", - "description": "file-archive-o" - }, - "file-audio-o": { - "prefix": "fa-file-audio-o", - "body": "$0", - "description": "file-audio-o" - }, - "file-code-o": { - "prefix": "fa-file-code-o", - "body": "$0", - "description": "file-code-o" - }, - "file-excel-o": { - "prefix": "fa-file-excel-o", - "body": "$0", - "description": "file-excel-o" - }, - "file-image-o": { - "prefix": "fa-file-image-o", - "body": "$0", - "description": "file-image-o" - }, - "file-movie-o": { - "prefix": "fa-file-movie-o", - "body": "$0", - "description": "file-movie-o" - }, - "file-o": { - "prefix": "fa-file-o", - "body": "$0", - "description": "file-o" - }, - "file-pdf-o": { - "prefix": "fa-file-pdf-o", - "body": "$0", - "description": "file-pdf-o" - }, - "file-photo-o": { - "prefix": "fa-file-photo-o", - "body": "$0", - "description": "file-photo-o" - }, - "file-picture-o": { - "prefix": "fa-file-picture-o", - "body": "$0", - "description": "file-picture-o" - }, - "file-powerpoint-o": { - "prefix": "fa-file-powerpoint-o", - "body": "$0", - "description": "file-powerpoint-o" - }, - "files-o": { - "prefix": "fa-files-o", - "body": "$0", - "description": "files-o" - }, - "file-sound-o": { - "prefix": "fa-file-sound-o", - "body": "$0", - "description": "file-sound-o" - }, - "file-text": { - "prefix": "fa-file-text", - "body": "$0", - "description": "file-text" - }, - "file-text-o": { - "prefix": "fa-file-text-o", - "body": "$0", - "description": "file-text-o" - }, - "file-video-o": { - "prefix": "fa-file-video-o", - "body": "$0", - "description": "file-video-o" - }, - "file-word-o": { - "prefix": "fa-file-word-o", - "body": "$0", - "description": "file-word-o" - }, - "file-zip-o": { - "prefix": "fa-file-zip-o", - "body": "$0", - "description": "file-zip-o" - }, - "film": { - "prefix": "fa-film", - "body": "$0", - "description": "film" - }, - "filter": { - "prefix": "fa-filter", - "body": "$0", - "description": "filter" - }, - "fire": { - "prefix": "fa-fire", - "body": "$0", - "description": "fire" - }, - "fire-extinguisher": { - "prefix": "fa-fire-extinguisher", - "body": "$0", - "description": "fire-extinguisher" - }, - "firefox": { - "prefix": "fa-firefox", - "body": "$0", - "description": "firefox" - }, - "first-order": { - "prefix": "fa-first-order", - "body": "$0", - "description": "first-order" - }, - "flag": { - "prefix": "fa-flag", - "body": "$0", - "description": "flag" - }, - "flag-checkered": { - "prefix": "fa-flag-checkered", - "body": "$0", - "description": "flag-checkered" - }, - "flag-o": { - "prefix": "fa-flag-o", - "body": "$0", - "description": "flag-o" - }, - "flash": { - "prefix": "fa-flash", - "body": "$0", - "description": "flash" - }, - "flask": { - "prefix": "fa-flask", - "body": "$0", - "description": "flask" - }, - "flickr": { - "prefix": "fa-flickr", - "body": "$0", - "description": "flickr" - }, - "floppy-o": { - "prefix": "fa-floppy-o", - "body": "$0", - "description": "floppy-o" - }, - "folder": { - "prefix": "fa-folder", - "body": "$0", - "description": "folder" - }, - "folder-o": { - "prefix": "fa-folder-o", - "body": "$0", - "description": "folder-o" - }, - "folder-open": { - "prefix": "fa-folder-open", - "body": "$0", - "description": "folder-open" - }, - "folder-open-o": { - "prefix": "fa-folder-open-o", - "body": "$0", - "description": "folder-open-o" - }, - "font": { - "prefix": "fa-font", - "body": "$0", - "description": "font" - }, - "font-awesome": { - "prefix": "fa-font-awesome", - "body": "$0", - "description": "font-awesome" - }, - "fonticons": { - "prefix": "fa-fonticons", - "body": "$0", - "description": "fonticons" - }, - "fort-awesome": { - "prefix": "fa-fort-awesome", - "body": "$0", - "description": "fort-awesome" - }, - "forumbee": { - "prefix": "fa-forumbee", - "body": "$0", - "description": "forumbee" - }, - "forward": { - "prefix": "fa-forward", - "body": "$0", - "description": "forward" - }, - "foursquare": { - "prefix": "fa-foursquare", - "body": "$0", - "description": "foursquare" - }, - "free-code-camp": { - "prefix": "fa-free-code-camp", - "body": "$0", - "description": "free-code-camp" - }, - "frown-o": { - "prefix": "fa-frown-o", - "body": "$0", - "description": "frown-o" - }, - "futbol-o": { - "prefix": "fa-futbol-o", - "body": "$0", - "description": "futbol-o" - }, - "gamepad": { - "prefix": "fa-gamepad", - "body": "$0", - "description": "gamepad" - }, - "gavel": { - "prefix": "fa-gavel", - "body": "$0", - "description": "gavel" - }, - "gbp": { - "prefix": "fa-gbp", - "body": "$0", - "description": "gbp" - }, - "ge": { - "prefix": "fa-ge", - "body": "$0", - "description": "ge" - }, - "gear": { - "prefix": "fa-gear", - "body": "$0", - "description": "gear" - }, - "gears": { - "prefix": "fa-gears", - "body": "$0", - "description": "gears" - }, - "genderless": { - "prefix": "fa-genderless", - "body": "$0", - "description": "genderless" - }, - "get-pocket": { - "prefix": "fa-get-pocket", - "body": "$0", - "description": "get-pocket" - }, - "gg": { - "prefix": "fa-gg", - "body": "$0", - "description": "gg" - }, - "gg-circle": { - "prefix": "fa-gg-circle", - "body": "$0", - "description": "gg-circle" - }, - "gift": { - "prefix": "fa-gift", - "body": "$0", - "description": "gift" - }, - "git": { - "prefix": "fa-git", - "body": "$0", - "description": "git" - }, - "github": { - "prefix": "fa-github", - "body": "$0", - "description": "github" - }, - "github-alt": { - "prefix": "fa-github-alt", - "body": "$0", - "description": "github-alt" - }, - "github-square": { - "prefix": "fa-github-square", - "body": "$0", - "description": "github-square" - }, - "gitlab": { - "prefix": "fa-gitlab", - "body": "$0", - "description": "gitlab" - }, - "git-square": { - "prefix": "fa-git-square", - "body": "$0", - "description": "git-square" - }, - "gittip": { - "prefix": "fa-gittip", - "body": "$0", - "description": "gittip" - }, - "glass": { - "prefix": "fa-glass", - "body": "$0", - "description": "glass" - }, - "glide": { - "prefix": "fa-glide", - "body": "$0", - "description": "glide" - }, - "glide-g": { - "prefix": "fa-glide-g", - "body": "$0", - "description": "glide-g" - }, - "globe": { - "prefix": "fa-globe", - "body": "$0", - "description": "globe" - }, - "google": { - "prefix": "fa-google", - "body": "$0", - "description": "google" - }, - "google-plus": { - "prefix": "fa-google-plus", - "body": "$0", - "description": "google-plus" - }, - "google-plus-circle": { - "prefix": "fa-google-plus-circle", - "body": "$0", - "description": "google-plus-circle" - }, - "google-plus-official": { - "prefix": "fa-google-plus-official", - "body": "$0", - "description": "google-plus-official" - }, - "google-plus-square": { - "prefix": "fa-google-plus-square", - "body": "$0", - "description": "google-plus-square" - }, - "google-wallet": { - "prefix": "fa-google-wallet", - "body": "$0", - "description": "google-wallet" - }, - "graduation-cap": { - "prefix": "fa-graduation-cap", - "body": "$0", - "description": "graduation-cap" - }, - "gratipay": { - "prefix": "fa-gratipay", - "body": "$0", - "description": "gratipay" - }, - "grav": { - "prefix": "fa-grav", - "body": "$0", - "description": "grav" - }, - "group": { - "prefix": "fa-group", - "body": "$0", - "description": "group" - }, - "hacker-news": { - "prefix": "fa-hacker-news", - "body": "$0", - "description": "hacker-news" - }, - "hand-grab-o": { - "prefix": "fa-hand-grab-o", - "body": "$0", - "description": "hand-grab-o" - }, - "hand-lizard-o": { - "prefix": "fa-hand-lizard-o", - "body": "$0", - "description": "hand-lizard-o" - }, - "hand-o-down": { - "prefix": "fa-hand-o-down", - "body": "$0", - "description": "hand-o-down" - }, - "hand-o-left": { - "prefix": "fa-hand-o-left", - "body": "$0", - "description": "hand-o-left" - }, - "hand-o-right": { - "prefix": "fa-hand-o-right", - "body": "$0", - "description": "hand-o-right" - }, - "hand-o-up": { - "prefix": "fa-hand-o-up", - "body": "$0", - "description": "hand-o-up" - }, - "hand-paper-o": { - "prefix": "fa-hand-paper-o", - "body": "$0", - "description": "hand-paper-o" - }, - "hand-peace-o": { - "prefix": "fa-hand-peace-o", - "body": "$0", - "description": "hand-peace-o" - }, - "hand-pointer-o": { - "prefix": "fa-hand-pointer-o", - "body": "$0", - "description": "hand-pointer-o" - }, - "hand-rock-o": { - "prefix": "fa-hand-rock-o", - "body": "$0", - "description": "hand-rock-o" - }, - "hand-scissors-o": { - "prefix": "fa-hand-scissors-o", - "body": "$0", - "description": "hand-scissors-o" - }, - "handshake-o": { - "prefix": "fa-handshake-o", - "body": "$0", - "description": "handshake-o" - }, - "hand-spock-o": { - "prefix": "fa-hand-spock-o", - "body": "$0", - "description": "hand-spock-o" - }, - "hand-stop-o": { - "prefix": "fa-hand-stop-o", - "body": "$0", - "description": "hand-stop-o" - }, - "hard-of-hearing": { - "prefix": "fa-hard-of-hearing", - "body": "$0", - "description": "hard-of-hearing" - }, - "hashtag": { - "prefix": "fa-hashtag", - "body": "$0", - "description": "hashtag" - }, - "hdd-o": { - "prefix": "fa-hdd-o", - "body": "$0", - "description": "hdd-o" - }, - "header": { - "prefix": "fa-header", - "body": "$0", - "description": "header" - }, - "headphones": { - "prefix": "fa-headphones", - "body": "$0", - "description": "headphones" - }, - "heart": { - "prefix": "fa-heart", - "body": "$0", - "description": "heart" - }, - "heartbeat": { - "prefix": "fa-heartbeat", - "body": "$0", - "description": "heartbeat" - }, - "heart-o": { - "prefix": "fa-heart-o", - "body": "$0", - "description": "heart-o" - }, - "history": { - "prefix": "fa-history", - "body": "$0", - "description": "history" - }, - "home": { - "prefix": "fa-home", - "body": "$0", - "description": "home" - }, - "hospital-o": { - "prefix": "fa-hospital-o", - "body": "$0", - "description": "hospital-o" - }, - "hotel": { - "prefix": "fa-hotel", - "body": "$0", - "description": "hotel" - }, - "hourglass": { - "prefix": "fa-hourglass", - "body": "$0", - "description": "hourglass" - }, - "hourglass-1": { - "prefix": "fa-hourglass-1", - "body": "$0", - "description": "hourglass-1" - }, - "hourglass-2": { - "prefix": "fa-hourglass-2", - "body": "$0", - "description": "hourglass-2" - }, - "hourglass-3": { - "prefix": "fa-hourglass-3", - "body": "$0", - "description": "hourglass-3" - }, - "hourglass-end": { - "prefix": "fa-hourglass-end", - "body": "$0", - "description": "hourglass-end" - }, - "hourglass-half": { - "prefix": "fa-hourglass-half", - "body": "$0", - "description": "hourglass-half" - }, - "hourglass-o": { - "prefix": "fa-hourglass-o", - "body": "$0", - "description": "hourglass-o" - }, - "hourglass-start": { - "prefix": "fa-hourglass-start", - "body": "$0", - "description": "hourglass-start" - }, - "houzz": { - "prefix": "fa-houzz", - "body": "$0", - "description": "houzz" - }, - "h-square": { - "prefix": "fa-h-square", - "body": "$0", - "description": "h-square" - }, - "html5": { - "prefix": "fa-html5", - "body": "$0", - "description": "html5" - }, - "i-cursor": { - "prefix": "fa-i-cursor", - "body": "$0", - "description": "i-cursor" - }, - "id-badge": { - "prefix": "fa-id-badge", - "body": "$0", - "description": "id-badge" - }, - "id-card": { - "prefix": "fa-id-card", - "body": "$0", - "description": "id-card" - }, - "id-card-o": { - "prefix": "fa-id-card-o", - "body": "$0", - "description": "id-card-o" - }, - "ils": { - "prefix": "fa-ils", - "body": "$0", - "description": "ils" - }, - "image": { - "prefix": "fa-image", - "body": "$0", - "description": "image" - }, - "imdb": { - "prefix": "fa-imdb", - "body": "$0", - "description": "imdb" - }, - "inbox": { - "prefix": "fa-inbox", - "body": "$0", - "description": "inbox" - }, - "indent": { - "prefix": "fa-indent", - "body": "$0", - "description": "indent" - }, - "industry": { - "prefix": "fa-industry", - "body": "$0", - "description": "industry" - }, - "info": { - "prefix": "fa-info", - "body": "$0", - "description": "info" - }, - "info-circle": { - "prefix": "fa-info-circle", - "body": "$0", - "description": "info-circle" - }, - "inr": { - "prefix": "fa-inr", - "body": "$0", - "description": "inr" - }, - "instagram": { - "prefix": "fa-instagram", - "body": "$0", - "description": "instagram" - }, - "institution": { - "prefix": "fa-institution", - "body": "$0", - "description": "institution" - }, - "internet-explorer": { - "prefix": "fa-internet-explorer", - "body": "$0", - "description": "internet-explorer" - }, - "intersex": { - "prefix": "fa-intersex", - "body": "$0", - "description": "intersex" - }, - "ioxhost": { - "prefix": "fa-ioxhost", - "body": "$0", - "description": "ioxhost" - }, - "italic": { - "prefix": "fa-italic", - "body": "$0", - "description": "italic" - }, - "joomla": { - "prefix": "fa-joomla", - "body": "$0", - "description": "joomla" - }, - "jpy": { - "prefix": "fa-jpy", - "body": "$0", - "description": "jpy" - }, - "jsfiddle": { - "prefix": "fa-jsfiddle", - "body": "$0", - "description": "jsfiddle" - }, - "key": { - "prefix": "fa-key", - "body": "$0", - "description": "key" - }, - "keyboard-o": { - "prefix": "fa-keyboard-o", - "body": "$0", - "description": "keyboard-o" - }, - "krw": { - "prefix": "fa-krw", - "body": "$0", - "description": "krw" - }, - "language": { - "prefix": "fa-language", - "body": "$0", - "description": "language" - }, - "laptop": { - "prefix": "fa-laptop", - "body": "$0", - "description": "laptop" - }, - "lastfm": { - "prefix": "fa-lastfm", - "body": "$0", - "description": "lastfm" - }, - "lastfm-square": { - "prefix": "fa-lastfm-square", - "body": "$0", - "description": "lastfm-square" - }, - "leaf": { - "prefix": "fa-leaf", - "body": "$0", - "description": "leaf" - }, - "leanpub": { - "prefix": "fa-leanpub", - "body": "$0", - "description": "leanpub" - }, - "legal": { - "prefix": "fa-legal", - "body": "$0", - "description": "legal" - }, - "lemon-o": { - "prefix": "fa-lemon-o", - "body": "$0", - "description": "lemon-o" - }, - "level-down": { - "prefix": "fa-level-down", - "body": "$0", - "description": "level-down" - }, - "level-up": { - "prefix": "fa-level-up", - "body": "$0", - "description": "level-up" - }, - "life-bouy": { - "prefix": "fa-life-bouy", - "body": "$0", - "description": "life-bouy" - }, - "life-buoy": { - "prefix": "fa-life-buoy", - "body": "$0", - "description": "life-buoy" - }, - "life-ring": { - "prefix": "fa-life-ring", - "body": "$0", - "description": "life-ring" - }, - "life-saver": { - "prefix": "fa-life-saver", - "body": "$0", - "description": "life-saver" - }, - "lightbulb-o": { - "prefix": "fa-lightbulb-o", - "body": "$0", - "description": "lightbulb-o" - }, - "line-chart": { - "prefix": "fa-line-chart", - "body": "$0", - "description": "line-chart" - }, - "link": { - "prefix": "fa-link", - "body": "$0", - "description": "link" - }, - "linkedin": { - "prefix": "fa-linkedin", - "body": "$0", - "description": "linkedin" - }, - "linkedin-square": { - "prefix": "fa-linkedin-square", - "body": "$0", - "description": "linkedin-square" - }, - "linode": { - "prefix": "fa-linode", - "body": "$0", - "description": "linode" - }, - "linux": { - "prefix": "fa-linux", - "body": "$0", - "description": "linux" - }, - "list": { - "prefix": "fa-list", - "body": "$0", - "description": "list" - }, - "list-alt": { - "prefix": "fa-list-alt", - "body": "$0", - "description": "list-alt" - }, - "list-ol": { - "prefix": "fa-list-ol", - "body": "$0", - "description": "list-ol" - }, - "list-ul": { - "prefix": "fa-list-ul", - "body": "$0", - "description": "list-ul" - }, - "location-arrow": { - "prefix": "fa-location-arrow", - "body": "$0", - "description": "location-arrow" - }, - "lock": { - "prefix": "fa-lock", - "body": "$0", - "description": "lock" - }, - "long-arrow-down": { - "prefix": "fa-long-arrow-down", - "body": "$0", - "description": "long-arrow-down" - }, - "long-arrow-left": { - "prefix": "fa-long-arrow-left", - "body": "$0", - "description": "long-arrow-left" - }, - "long-arrow-right": { - "prefix": "fa-long-arrow-right", - "body": "$0", - "description": "long-arrow-right" - }, - "long-arrow-up": { - "prefix": "fa-long-arrow-up", - "body": "$0", - "description": "long-arrow-up" - }, - "low-vision": { - "prefix": "fa-low-vision", - "body": "$0", - "description": "low-vision" - }, - "magic": { - "prefix": "fa-magic", - "body": "$0", - "description": "magic" - }, - "magnet": { - "prefix": "fa-magnet", - "body": "$0", - "description": "magnet" - }, - "mail-forward": { - "prefix": "fa-mail-forward", - "body": "$0", - "description": "mail-forward" - }, - "mail-reply": { - "prefix": "fa-mail-reply", - "body": "$0", - "description": "mail-reply" - }, - "mail-reply-all": { - "prefix": "fa-mail-reply-all", - "body": "$0", - "description": "mail-reply-all" - }, - "male": { - "prefix": "fa-male", - "body": "$0", - "description": "male" - }, - "map": { - "prefix": "fa-map", - "body": "$0", - "description": "map" - }, - "map-marker": { - "prefix": "fa-map-marker", - "body": "$0", - "description": "map-marker" - }, - "map-o": { - "prefix": "fa-map-o", - "body": "$0", - "description": "map-o" - }, - "map-pin": { - "prefix": "fa-map-pin", - "body": "$0", - "description": "map-pin" - }, - "map-signs": { - "prefix": "fa-map-signs", - "body": "$0", - "description": "map-signs" - }, - "mars": { - "prefix": "fa-mars", - "body": "$0", - "description": "mars" - }, - "mars-double": { - "prefix": "fa-mars-double", - "body": "$0", - "description": "mars-double" - }, - "mars-stroke": { - "prefix": "fa-mars-stroke", - "body": "$0", - "description": "mars-stroke" - }, - "mars-stroke-h": { - "prefix": "fa-mars-stroke-h", - "body": "$0", - "description": "mars-stroke-h" - }, - "mars-stroke-v": { - "prefix": "fa-mars-stroke-v", - "body": "$0", - "description": "mars-stroke-v" - }, - "maxcdn": { - "prefix": "fa-maxcdn", - "body": "$0", - "description": "maxcdn" - }, - "meanpath": { - "prefix": "fa-meanpath", - "body": "$0", - "description": "meanpath" - }, - "medium": { - "prefix": "fa-medium", - "body": "$0", - "description": "medium" - }, - "medkit": { - "prefix": "fa-medkit", - "body": "$0", - "description": "medkit" - }, - "meetup": { - "prefix": "fa-meetup", - "body": "$0", - "description": "meetup" - }, - "meh-o": { - "prefix": "fa-meh-o", - "body": "$0", - "description": "meh-o" - }, - "mercury": { - "prefix": "fa-mercury", - "body": "$0", - "description": "mercury" - }, - "microchip": { - "prefix": "fa-microchip", - "body": "$0", - "description": "microchip" - }, - "microphone": { - "prefix": "fa-microphone", - "body": "$0", - "description": "microphone" - }, - "microphone-slash": { - "prefix": "fa-microphone-slash", - "body": "$0", - "description": "microphone-slash" - }, - "minus": { - "prefix": "fa-minus", - "body": "$0", - "description": "minus" - }, - "minus-circle": { - "prefix": "fa-minus-circle", - "body": "$0", - "description": "minus-circle" - }, - "minus-square": { - "prefix": "fa-minus-square", - "body": "$0", - "description": "minus-square" - }, - "minus-square-o": { - "prefix": "fa-minus-square-o", - "body": "$0", - "description": "minus-square-o" - }, - "mixcloud": { - "prefix": "fa-mixcloud", - "body": "$0", - "description": "mixcloud" - }, - "mobile": { - "prefix": "fa-mobile", - "body": "$0", - "description": "mobile" - }, - "mobile-phone": { - "prefix": "fa-mobile-phone", - "body": "$0", - "description": "mobile-phone" - }, - "modx": { - "prefix": "fa-modx", - "body": "$0", - "description": "modx" - }, - "money": { - "prefix": "fa-money", - "body": "$0", - "description": "money" - }, - "moon-o": { - "prefix": "fa-moon-o", - "body": "$0", - "description": "moon-o" - }, - "mortar-board": { - "prefix": "fa-mortar-board", - "body": "$0", - "description": "mortar-board" - }, - "motorcycle": { - "prefix": "fa-motorcycle", - "body": "$0", - "description": "motorcycle" - }, - "mouse-pointer": { - "prefix": "fa-mouse-pointer", - "body": "$0", - "description": "mouse-pointer" - }, - "music": { - "prefix": "fa-music", - "body": "$0", - "description": "music" - }, - "navicon": { - "prefix": "fa-navicon", - "body": "$0", - "description": "navicon" - }, - "neuter": { - "prefix": "fa-neuter", - "body": "$0", - "description": "neuter" - }, - "newspaper-o": { - "prefix": "fa-newspaper-o", - "body": "$0", - "description": "newspaper-o" - }, - "object-group": { - "prefix": "fa-object-group", - "body": "$0", - "description": "object-group" - }, - "object-ungroup": { - "prefix": "fa-object-ungroup", - "body": "$0", - "description": "object-ungroup" - }, - "odnoklassniki": { - "prefix": "fa-odnoklassniki", - "body": "$0", - "description": "odnoklassniki" - }, - "odnoklassniki-square": { - "prefix": "fa-odnoklassniki-square", - "body": "$0", - "description": "odnoklassniki-square" - }, - "opencart": { - "prefix": "fa-opencart", - "body": "$0", - "description": "opencart" - }, - "openid": { - "prefix": "fa-openid", - "body": "$0", - "description": "openid" - }, - "opera": { - "prefix": "fa-opera", - "body": "$0", - "description": "opera" - }, - "optin-monster": { - "prefix": "fa-optin-monster", - "body": "$0", - "description": "optin-monster" - }, - "outdent": { - "prefix": "fa-outdent", - "body": "$0", - "description": "outdent" - }, - "pagelines": { - "prefix": "fa-pagelines", - "body": "$0", - "description": "pagelines" - }, - "paint-brush": { - "prefix": "fa-paint-brush", - "body": "$0", - "description": "paint-brush" - }, - "paperclip": { - "prefix": "fa-paperclip", - "body": "$0", - "description": "paperclip" - }, - "paper-plane": { - "prefix": "fa-paper-plane", - "body": "$0", - "description": "paper-plane" - }, - "paper-plane-o": { - "prefix": "fa-paper-plane-o", - "body": "$0", - "description": "paper-plane-o" - }, - "paragraph": { - "prefix": "fa-paragraph", - "body": "$0", - "description": "paragraph" - }, - "paste": { - "prefix": "fa-paste", - "body": "$0", - "description": "paste" - }, - "pause": { - "prefix": "fa-pause", - "body": "$0", - "description": "pause" - }, - "pause-circle": { - "prefix": "fa-pause-circle", - "body": "$0", - "description": "pause-circle" - }, - "pause-circle-o": { - "prefix": "fa-pause-circle-o", - "body": "$0", - "description": "pause-circle-o" - }, - "paw": { - "prefix": "fa-paw", - "body": "$0", - "description": "paw" - }, - "paypal": { - "prefix": "fa-paypal", - "body": "$0", - "description": "paypal" - }, - "pencil": { - "prefix": "fa-pencil", - "body": "$0", - "description": "pencil" - }, - "pencil-square": { - "prefix": "fa-pencil-square", - "body": "$0", - "description": "pencil-square" - }, - "pencil-square-o": { - "prefix": "fa-pencil-square-o", - "body": "$0", - "description": "pencil-square-o" - }, - "percent": { - "prefix": "fa-percent", - "body": "$0", - "description": "percent" - }, - "phone": { - "prefix": "fa-phone", - "body": "$0", - "description": "phone" - }, - "phone-square": { - "prefix": "fa-phone-square", - "body": "$0", - "description": "phone-square" - }, - "photo": { - "prefix": "fa-photo", - "body": "$0", - "description": "photo" - }, - "picture-o": { - "prefix": "fa-picture-o", - "body": "$0", - "description": "picture-o" - }, - "pie-chart": { - "prefix": "fa-pie-chart", - "body": "$0", - "description": "pie-chart" - }, - "pied-piper": { - "prefix": "fa-pied-piper", - "body": "$0", - "description": "pied-piper" - }, - "pied-piper-alt": { - "prefix": "fa-pied-piper-alt", - "body": "$0", - "description": "pied-piper-alt" - }, - "pied-piper-pp": { - "prefix": "fa-pied-piper-pp", - "body": "$0", - "description": "pied-piper-pp" - }, - "pinterest": { - "prefix": "fa-pinterest", - "body": "$0", - "description": "pinterest" - }, - "pinterest-p": { - "prefix": "fa-pinterest-p", - "body": "$0", - "description": "pinterest-p" - }, - "pinterest-square": { - "prefix": "fa-pinterest-square", - "body": "$0", - "description": "pinterest-square" - }, - "plane": { - "prefix": "fa-plane", - "body": "$0", - "description": "plane" - }, - "play": { - "prefix": "fa-play", - "body": "$0", - "description": "play" - }, - "play-circle": { - "prefix": "fa-play-circle", - "body": "$0", - "description": "play-circle" - }, - "play-circle-o": { - "prefix": "fa-play-circle-o", - "body": "$0", - "description": "play-circle-o" - }, - "plug": { - "prefix": "fa-plug", - "body": "$0", - "description": "plug" - }, - "plus": { - "prefix": "fa-plus", - "body": "$0", - "description": "plus" - }, - "plus-circle": { - "prefix": "fa-plus-circle", - "body": "$0", - "description": "plus-circle" - }, - "plus-square": { - "prefix": "fa-plus-square", - "body": "$0", - "description": "plus-square" - }, - "plus-square-o": { - "prefix": "fa-plus-square-o", - "body": "$0", - "description": "plus-square-o" - }, - "podcast": { - "prefix": "fa-podcast", - "body": "$0", - "description": "podcast" - }, - "power-off": { - "prefix": "fa-power-off", - "body": "$0", - "description": "power-off" - }, - "print": { - "prefix": "fa-print", - "body": "$0", - "description": "print" - }, - "product-hunt": { - "prefix": "fa-product-hunt", - "body": "$0", - "description": "product-hunt" - }, - "puzzle-piece": { - "prefix": "fa-puzzle-piece", - "body": "$0", - "description": "puzzle-piece" - }, - "qq": { - "prefix": "fa-qq", - "body": "$0", - "description": "qq" - }, - "qrcode": { - "prefix": "fa-qrcode", - "body": "$0", - "description": "qrcode" - }, - "question": { - "prefix": "fa-question", - "body": "$0", - "description": "question" - }, - "question-circle": { - "prefix": "fa-question-circle", - "body": "$0", - "description": "question-circle" - }, - "question-circle-o": { - "prefix": "fa-question-circle-o", - "body": "$0", - "description": "question-circle-o" - }, - "quora": { - "prefix": "fa-quora", - "body": "$0", - "description": "quora" - }, - "quote-left": { - "prefix": "fa-quote-left", - "body": "$0", - "description": "quote-left" - }, - "quote-right": { - "prefix": "fa-quote-right", - "body": "$0", - "description": "quote-right" - }, - "ra": { - "prefix": "fa-ra", - "body": "$0", - "description": "ra" - }, - "random": { - "prefix": "fa-random", - "body": "$0", - "description": "random" - }, - "ravelry": { - "prefix": "fa-ravelry", - "body": "$0", - "description": "ravelry" - }, - "rebel": { - "prefix": "fa-rebel", - "body": "$0", - "description": "rebel" - }, - "recycle": { - "prefix": "fa-recycle", - "body": "$0", - "description": "recycle" - }, - "reddit": { - "prefix": "fa-reddit", - "body": "$0", - "description": "reddit" - }, - "reddit-alien": { - "prefix": "fa-reddit-alien", - "body": "$0", - "description": "reddit-alien" - }, - "reddit-square": { - "prefix": "fa-reddit-square", - "body": "$0", - "description": "reddit-square" - }, - "refresh": { - "prefix": "fa-refresh", - "body": "$0", - "description": "refresh" - }, - "registered": { - "prefix": "fa-registered", - "body": "$0", - "description": "registered" - }, - "remove": { - "prefix": "fa-remove", - "body": "$0", - "description": "remove" - }, - "renren": { - "prefix": "fa-renren", - "body": "$0", - "description": "renren" - }, - "reorder": { - "prefix": "fa-reorder", - "body": "$0", - "description": "reorder" - }, - "repeat": { - "prefix": "fa-repeat", - "body": "$0", - "description": "repeat" - }, - "reply": { - "prefix": "fa-reply", - "body": "$0", - "description": "reply" - }, - "reply-all": { - "prefix": "fa-reply-all", - "body": "$0", - "description": "reply-all" - }, - "resistance": { - "prefix": "fa-resistance", - "body": "$0", - "description": "resistance" - }, - "retweet": { - "prefix": "fa-retweet", - "body": "$0", - "description": "retweet" - }, - "rmb": { - "prefix": "fa-rmb", - "body": "$0", - "description": "rmb" - }, - "road": { - "prefix": "fa-road", - "body": "$0", - "description": "road" - }, - "rocket": { - "prefix": "fa-rocket", - "body": "$0", - "description": "rocket" - }, - "rotate-left": { - "prefix": "fa-rotate-left", - "body": "$0", - "description": "rotate-left" - }, - "rotate-right": { - "prefix": "fa-rotate-right", - "body": "$0", - "description": "rotate-right" - }, - "rouble": { - "prefix": "fa-rouble", - "body": "$0", - "description": "rouble" - }, - "rss": { - "prefix": "fa-rss", - "body": "$0", - "description": "rss" - }, - "rss-square": { - "prefix": "fa-rss-square", - "body": "$0", - "description": "rss-square" - }, - "rub": { - "prefix": "fa-rub", - "body": "$0", - "description": "rub" - }, - "ruble": { - "prefix": "fa-ruble", - "body": "$0", - "description": "ruble" - }, - "rupee": { - "prefix": "fa-rupee", - "body": "$0", - "description": "rupee" - }, - "s15": { - "prefix": "fa-s15", - "body": "$0", - "description": "s15" - }, - "safari": { - "prefix": "fa-safari", - "body": "$0", - "description": "safari" - }, - "save": { - "prefix": "fa-save", - "body": "$0", - "description": "save" - }, - "scissors": { - "prefix": "fa-scissors", - "body": "$0", - "description": "scissors" - }, - "scribd": { - "prefix": "fa-scribd", - "body": "$0", - "description": "scribd" - }, - "search": { - "prefix": "fa-search", - "body": "$0", - "description": "search" - }, - "search-minus": { - "prefix": "fa-search-minus", - "body": "$0", - "description": "search-minus" - }, - "search-plus": { - "prefix": "fa-search-plus", - "body": "$0", - "description": "search-plus" - }, - "sellsy": { - "prefix": "fa-sellsy", - "body": "$0", - "description": "sellsy" - }, - "send": { - "prefix": "fa-send", - "body": "$0", - "description": "send" - }, - "send-o": { - "prefix": "fa-send-o", - "body": "$0", - "description": "send-o" - }, - "server": { - "prefix": "fa-server", - "body": "$0", - "description": "server" - }, - "share": { - "prefix": "fa-share", - "body": "$0", - "description": "share" - }, - "share-alt": { - "prefix": "fa-share-alt", - "body": "$0", - "description": "share-alt" - }, - "share-alt-square": { - "prefix": "fa-share-alt-square", - "body": "$0", - "description": "share-alt-square" - }, - "share-square": { - "prefix": "fa-share-square", - "body": "$0", - "description": "share-square" - }, - "share-square-o": { - "prefix": "fa-share-square-o", - "body": "$0", - "description": "share-square-o" - }, - "shekel": { - "prefix": "fa-shekel", - "body": "$0", - "description": "shekel" - }, - "sheqel": { - "prefix": "fa-sheqel", - "body": "$0", - "description": "sheqel" - }, - "shield": { - "prefix": "fa-shield", - "body": "$0", - "description": "shield" - }, - "ship": { - "prefix": "fa-ship", - "body": "$0", - "description": "ship" - }, - "shirtsinbulk": { - "prefix": "fa-shirtsinbulk", - "body": "$0", - "description": "shirtsinbulk" - }, - "shopping-bag": { - "prefix": "fa-shopping-bag", - "body": "$0", - "description": "shopping-bag" - }, - "shopping-basket": { - "prefix": "fa-shopping-basket", - "body": "$0", - "description": "shopping-basket" - }, - "shopping-cart": { - "prefix": "fa-shopping-cart", - "body": "$0", - "description": "shopping-cart" - }, - "shower": { - "prefix": "fa-shower", - "body": "$0", - "description": "shower" - }, - "signal": { - "prefix": "fa-signal", - "body": "$0", - "description": "signal" - }, - "sign-in": { - "prefix": "fa-sign-in", - "body": "$0", - "description": "sign-in" - }, - "signing": { - "prefix": "fa-signing", - "body": "$0", - "description": "signing" - }, - "sign-language": { - "prefix": "fa-sign-language", - "body": "$0", - "description": "sign-language" - }, - "sign-out": { - "prefix": "fa-sign-out", - "body": "$0", - "description": "sign-out" - }, - "simplybuilt": { - "prefix": "fa-simplybuilt", - "body": "$0", - "description": "simplybuilt" - }, - "sitemap": { - "prefix": "fa-sitemap", - "body": "$0", - "description": "sitemap" - }, - "skyatlas": { - "prefix": "fa-skyatlas", - "body": "$0", - "description": "skyatlas" - }, - "skype": { - "prefix": "fa-skype", - "body": "$0", - "description": "skype" - }, - "slack": { - "prefix": "fa-slack", - "body": "$0", - "description": "slack" - }, - "sliders": { - "prefix": "fa-sliders", - "body": "$0", - "description": "sliders" - }, - "slideshare": { - "prefix": "fa-slideshare", - "body": "$0", - "description": "slideshare" - }, - "smile-o": { - "prefix": "fa-smile-o", - "body": "$0", - "description": "smile-o" - }, - "snapchat": { - "prefix": "fa-snapchat", - "body": "$0", - "description": "snapchat" - }, - "snapchat-ghost": { - "prefix": "fa-snapchat-ghost", - "body": "$0", - "description": "snapchat-ghost" - }, - "snapchat-square": { - "prefix": "fa-snapchat-square", - "body": "$0", - "description": "snapchat-square" - }, - "snowflake-o": { - "prefix": "fa-snowflake-o", - "body": "$0", - "description": "snowflake-o" - }, - "soccer-ball-o": { - "prefix": "fa-soccer-ball-o", - "body": "$0", - "description": "soccer-ball-o" - }, - "sort": { - "prefix": "fa-sort", - "body": "$0", - "description": "sort" - }, - "sort-alpha-asc": { - "prefix": "fa-sort-alpha-asc", - "body": "$0", - "description": "sort-alpha-asc" - }, - "sort-alpha-desc": { - "prefix": "fa-sort-alpha-desc", - "body": "$0", - "description": "sort-alpha-desc" - }, - "sort-amount-asc": { - "prefix": "fa-sort-amount-asc", - "body": "$0", - "description": "sort-amount-asc" - }, - "sort-amount-desc": { - "prefix": "fa-sort-amount-desc", - "body": "$0", - "description": "sort-amount-desc" - }, - "sort-asc": { - "prefix": "fa-sort-asc", - "body": "$0", - "description": "sort-asc" - }, - "sort-desc": { - "prefix": "fa-sort-desc", - "body": "$0", - "description": "sort-desc" - }, - "sort-down": { - "prefix": "fa-sort-down", - "body": "$0", - "description": "sort-down" - }, - "sort-numeric-asc": { - "prefix": "fa-sort-numeric-asc", - "body": "$0", - "description": "sort-numeric-asc" - }, - "sort-numeric-desc": { - "prefix": "fa-sort-numeric-desc", - "body": "$0", - "description": "sort-numeric-desc" - }, - "sort-up": { - "prefix": "fa-sort-up", - "body": "$0", - "description": "sort-up" - }, - "soundcloud": { - "prefix": "fa-soundcloud", - "body": "$0", - "description": "soundcloud" - }, - "space-shuttle": { - "prefix": "fa-space-shuttle", - "body": "$0", - "description": "space-shuttle" - }, - "spinner": { - "prefix": "fa-spinner", - "body": "$0", - "description": "spinner" - }, - "spoon": { - "prefix": "fa-spoon", - "body": "$0", - "description": "spoon" - }, - "spotify": { - "prefix": "fa-spotify", - "body": "$0", - "description": "spotify" - }, - "square": { - "prefix": "fa-square", - "body": "$0", - "description": "square" - }, - "square-o": { - "prefix": "fa-square-o", - "body": "$0", - "description": "square-o" - }, - "stack-exchange": { - "prefix": "fa-stack-exchange", - "body": "$0", - "description": "stack-exchange" - }, - "stack-overflow": { - "prefix": "fa-stack-overflow", - "body": "$0", - "description": "stack-overflow" - }, - "star": { - "prefix": "fa-star", - "body": "$0", - "description": "star" - }, - "star-half": { - "prefix": "fa-star-half", - "body": "$0", - "description": "star-half" - }, - "star-half-empty": { - "prefix": "fa-star-half-empty", - "body": "$0", - "description": "star-half-empty" - }, - "star-half-full": { - "prefix": "fa-star-half-full", - "body": "$0", - "description": "star-half-full" - }, - "star-half-o": { - "prefix": "fa-star-half-o", - "body": "$0", - "description": "star-half-o" - }, - "star-o": { - "prefix": "fa-star-o", - "body": "$0", - "description": "star-o" - }, - "steam": { - "prefix": "fa-steam", - "body": "$0", - "description": "steam" - }, - "steam-square": { - "prefix": "fa-steam-square", - "body": "$0", - "description": "steam-square" - }, - "step-backward": { - "prefix": "fa-step-backward", - "body": "$0", - "description": "step-backward" - }, - "step-forward": { - "prefix": "fa-step-forward", - "body": "$0", - "description": "step-forward" - }, - "stethoscope": { - "prefix": "fa-stethoscope", - "body": "$0", - "description": "stethoscope" - }, - "sticky-note": { - "prefix": "fa-sticky-note", - "body": "$0", - "description": "sticky-note" - }, - "sticky-note-o": { - "prefix": "fa-sticky-note-o", - "body": "$0", - "description": "sticky-note-o" - }, - "stop": { - "prefix": "fa-stop", - "body": "$0", - "description": "stop" - }, - "stop-circle": { - "prefix": "fa-stop-circle", - "body": "$0", - "description": "stop-circle" - }, - "stop-circle-o": { - "prefix": "fa-stop-circle-o", - "body": "$0", - "description": "stop-circle-o" - }, - "street-view": { - "prefix": "fa-street-view", - "body": "$0", - "description": "street-view" - }, - "strikethrough": { - "prefix": "fa-strikethrough", - "body": "$0", - "description": "strikethrough" - }, - "stumbleupon": { - "prefix": "fa-stumbleupon", - "body": "$0", - "description": "stumbleupon" - }, - "stumbleupon-circle": { - "prefix": "fa-stumbleupon-circle", - "body": "$0", - "description": "stumbleupon-circle" - }, - "subscript": { - "prefix": "fa-subscript", - "body": "$0", - "description": "subscript" - }, - "subway": { - "prefix": "fa-subway", - "body": "$0", - "description": "subway" - }, - "suitcase": { - "prefix": "fa-suitcase", - "body": "$0", - "description": "suitcase" - }, - "sun-o": { - "prefix": "fa-sun-o", - "body": "$0", - "description": "sun-o" - }, - "superpowers": { - "prefix": "fa-superpowers", - "body": "$0", - "description": "superpowers" - }, - "superscript": { - "prefix": "fa-superscript", - "body": "$0", - "description": "superscript" - }, - "support": { - "prefix": "fa-support", - "body": "$0", - "description": "support" - }, - "table": { - "prefix": "fa-table", - "body": "$0", - "description": "table" - }, - "tablet": { - "prefix": "fa-tablet", - "body": "$0", - "description": "tablet" - }, - "tachometer": { - "prefix": "fa-tachometer", - "body": "$0", - "description": "tachometer" - }, - "tag": { - "prefix": "fa-tag", - "body": "$0", - "description": "tag" - }, - "tags": { - "prefix": "fa-tags", - "body": "$0", - "description": "tags" - }, - "tasks": { - "prefix": "fa-tasks", - "body": "$0", - "description": "tasks" - }, - "taxi": { - "prefix": "fa-taxi", - "body": "$0", - "description": "taxi" - }, - "telegram": { - "prefix": "fa-telegram", - "body": "$0", - "description": "telegram" - }, - "television": { - "prefix": "fa-television", - "body": "$0", - "description": "television" - }, - "tencent-weibo": { - "prefix": "fa-tencent-weibo", - "body": "$0", - "description": "tencent-weibo" - }, - "terminal": { - "prefix": "fa-terminal", - "body": "$0", - "description": "terminal" - }, - "text-height": { - "prefix": "fa-text-height", - "body": "$0", - "description": "text-height" - }, - "text-width": { - "prefix": "fa-text-width", - "body": "$0", - "description": "text-width" - }, - "th": { - "prefix": "fa-th", - "body": "$0", - "description": "th" - }, - "themeisle": { - "prefix": "fa-themeisle", - "body": "$0", - "description": "themeisle" - }, - "thermometer": { - "prefix": "fa-thermometer", - "body": "$0", - "description": "thermometer" - }, - "thermometer-0": { - "prefix": "fa-thermometer-0", - "body": "$0", - "description": "thermometer-0" - }, - "thermometer-1": { - "prefix": "fa-thermometer-1", - "body": "$0", - "description": "thermometer-1" - }, - "thermometer-2": { - "prefix": "fa-thermometer-2", - "body": "$0", - "description": "thermometer-2" - }, - "thermometer-3": { - "prefix": "fa-thermometer-3", - "body": "$0", - "description": "thermometer-3" - }, - "thermometer-4": { - "prefix": "fa-thermometer-4", - "body": "$0", - "description": "thermometer-4" - }, - "thermometer-empty": { - "prefix": "fa-thermometer-empty", - "body": "$0", - "description": "thermometer-empty" - }, - "thermometer-full": { - "prefix": "fa-thermometer-full", - "body": "$0", - "description": "thermometer-full" - }, - "thermometer-half": { - "prefix": "fa-thermometer-half", - "body": "$0", - "description": "thermometer-half" - }, - "thermometer-quarter": { - "prefix": "fa-thermometer-quarter", - "body": "$0", - "description": "thermometer-quarter" - }, - "thermometer-three-quarters": { - "prefix": "fa-thermometer-three-quarters", - "body": "$0", - "description": "thermometer-three-quarters" - }, - "th-large": { - "prefix": "fa-th-large", - "body": "$0", - "description": "th-large" - }, - "th-list": { - "prefix": "fa-th-list", - "body": "$0", - "description": "th-list" - }, - "thumbs-down": { - "prefix": "fa-thumbs-down", - "body": "$0", - "description": "thumbs-down" - }, - "thumbs-o-down": { - "prefix": "fa-thumbs-o-down", - "body": "$0", - "description": "thumbs-o-down" - }, - "thumbs-o-up": { - "prefix": "fa-thumbs-o-up", - "body": "$0", - "description": "thumbs-o-up" - }, - "thumbs-up": { - "prefix": "fa-thumbs-up", - "body": "$0", - "description": "thumbs-up" - }, - "thumb-tack": { - "prefix": "fa-thumb-tack", - "body": "$0", - "description": "thumb-tack" - }, - "ticket": { - "prefix": "fa-ticket", - "body": "$0", - "description": "ticket" - }, - "times": { - "prefix": "fa-times", - "body": "$0", - "description": "times" - }, - "times-circle": { - "prefix": "fa-times-circle", - "body": "$0", - "description": "times-circle" - }, - "times-circle-o": { - "prefix": "fa-times-circle-o", - "body": "$0", - "description": "times-circle-o" - }, - "times-rectangle": { - "prefix": "fa-times-rectangle", - "body": "$0", - "description": "times-rectangle" - }, - "times-rectangle-o": { - "prefix": "fa-times-rectangle-o", - "body": "$0", - "description": "times-rectangle-o" - }, - "tint": { - "prefix": "fa-tint", - "body": "$0", - "description": "tint" - }, - "toggle-down": { - "prefix": "fa-toggle-down", - "body": "$0", - "description": "toggle-down" - }, - "toggle-left": { - "prefix": "fa-toggle-left", - "body": "$0", - "description": "toggle-left" - }, - "toggle-off": { - "prefix": "fa-toggle-off", - "body": "$0", - "description": "toggle-off" - }, - "toggle-on": { - "prefix": "fa-toggle-on", - "body": "$0", - "description": "toggle-on" - }, - "toggle-right": { - "prefix": "fa-toggle-right", - "body": "$0", - "description": "toggle-right" - }, - "toggle-up": { - "prefix": "fa-toggle-up", - "body": "$0", - "description": "toggle-up" - }, - "trademark": { - "prefix": "fa-trademark", - "body": "$0", - "description": "trademark" - }, - "train": { - "prefix": "fa-train", - "body": "$0", - "description": "train" - }, - "transgender": { - "prefix": "fa-transgender", - "body": "$0", - "description": "transgender" - }, - "transgender-alt": { - "prefix": "fa-transgender-alt", - "body": "$0", - "description": "transgender-alt" - }, - "trash": { - "prefix": "fa-trash", - "body": "$0", - "description": "trash" - }, - "trash-o": { - "prefix": "fa-trash-o", - "body": "$0", - "description": "trash-o" - }, - "tree": { - "prefix": "fa-tree", - "body": "$0", - "description": "tree" - }, - "trello": { - "prefix": "fa-trello", - "body": "$0", - "description": "trello" - }, - "tripadvisor": { - "prefix": "fa-tripadvisor", - "body": "$0", - "description": "tripadvisor" - }, - "trophy": { - "prefix": "fa-trophy", - "body": "$0", - "description": "trophy" - }, - "truck": { - "prefix": "fa-truck", - "body": "$0", - "description": "truck" - }, - "try": { - "prefix": "fa-try", - "body": "$0", - "description": "try" - }, - "tty": { - "prefix": "fa-tty", - "body": "$0", - "description": "tty" - }, - "tumblr": { - "prefix": "fa-tumblr", - "body": "$0", - "description": "tumblr" - }, - "tumblr-square": { - "prefix": "fa-tumblr-square", - "body": "$0", - "description": "tumblr-square" - }, - "turkish-lira": { - "prefix": "fa-turkish-lira", - "body": "$0", - "description": "turkish-lira" - }, - "tv": { - "prefix": "fa-tv", - "body": "$0", - "description": "tv" - }, - "twitch": { - "prefix": "fa-twitch", - "body": "$0", - "description": "twitch" - }, - "twitter": { - "prefix": "fa-twitter", - "body": "$0", - "description": "twitter" - }, - "twitter-square": { - "prefix": "fa-twitter-square", - "body": "$0", - "description": "twitter-square" - }, - "umbrella": { - "prefix": "fa-umbrella", - "body": "$0", - "description": "umbrella" - }, - "underline": { - "prefix": "fa-underline", - "body": "$0", - "description": "underline" - }, - "undo": { - "prefix": "fa-undo", - "body": "$0", - "description": "undo" - }, - "universal-access": { - "prefix": "fa-universal-access", - "body": "$0", - "description": "universal-access" - }, - "university": { - "prefix": "fa-university", - "body": "$0", - "description": "university" - }, - "unlink": { - "prefix": "fa-unlink", - "body": "$0", - "description": "unlink" - }, - "unlock": { - "prefix": "fa-unlock", - "body": "$0", - "description": "unlock" - }, - "unlock-alt": { - "prefix": "fa-unlock-alt", - "body": "$0", - "description": "unlock-alt" - }, - "unsorted": { - "prefix": "fa-unsorted", - "body": "$0", - "description": "unsorted" - }, - "upload": { - "prefix": "fa-upload", - "body": "$0", - "description": "upload" - }, - "usb": { - "prefix": "fa-usb", - "body": "$0", - "description": "usb" - }, - "usd": { - "prefix": "fa-usd", - "body": "$0", - "description": "usd" - }, - "user": { - "prefix": "fa-user", - "body": "$0", - "description": "user" - }, - "user-circle": { - "prefix": "fa-user-circle", - "body": "$0", - "description": "user-circle" - }, - "user-circle-o": { - "prefix": "fa-user-circle-o", - "body": "$0", - "description": "user-circle-o" - }, - "user-md": { - "prefix": "fa-user-md", - "body": "$0", - "description": "user-md" - }, - "user-o": { - "prefix": "fa-user-o", - "body": "$0", - "description": "user-o" - }, - "user-plus": { - "prefix": "fa-user-plus", - "body": "$0", - "description": "user-plus" - }, - "users": { - "prefix": "fa-users", - "body": "$0", - "description": "users" - }, - "user-secret": { - "prefix": "fa-user-secret", - "body": "$0", - "description": "user-secret" - }, - "user-times": { - "prefix": "fa-user-times", - "body": "$0", - "description": "user-times" - }, - "vcard": { - "prefix": "fa-vcard", - "body": "$0", - "description": "vcard" - }, - "vcard-o": { - "prefix": "fa-vcard-o", - "body": "$0", - "description": "vcard-o" - }, - "venus": { - "prefix": "fa-venus", - "body": "$0", - "description": "venus" - }, - "venus-double": { - "prefix": "fa-venus-double", - "body": "$0", - "description": "venus-double" - }, - "venus-mars": { - "prefix": "fa-venus-mars", - "body": "$0", - "description": "venus-mars" - }, - "viacoin": { - "prefix": "fa-viacoin", - "body": "$0", - "description": "viacoin" - }, - "viadeo": { - "prefix": "fa-viadeo", - "body": "$0", - "description": "viadeo" - }, - "viadeo-square": { - "prefix": "fa-viadeo-square", - "body": "$0", - "description": "viadeo-square" - }, - "video-camera": { - "prefix": "fa-video-camera", - "body": "$0", - "description": "video-camera" - }, - "vimeo": { - "prefix": "fa-vimeo", - "body": "$0", - "description": "vimeo" - }, - "vimeo-square": { - "prefix": "fa-vimeo-square", - "body": "$0", - "description": "vimeo-square" - }, - "vine": { - "prefix": "fa-vine", - "body": "$0", - "description": "vine" - }, - "vk": { - "prefix": "fa-vk", - "body": "$0", - "description": "vk" - }, - "volume-control-phone": { - "prefix": "fa-volume-control-phone", - "body": "$0", - "description": "volume-control-phone" - }, - "volume-down": { - "prefix": "fa-volume-down", - "body": "$0", - "description": "volume-down" - }, - "volume-off": { - "prefix": "fa-volume-off", - "body": "$0", - "description": "volume-off" - }, - "volume-up": { - "prefix": "fa-volume-up", - "body": "$0", - "description": "volume-up" - }, - "warning": { - "prefix": "fa-warning", - "body": "$0", - "description": "warning" - }, - "wechat": { - "prefix": "fa-wechat", - "body": "$0", - "description": "wechat" - }, - "weibo": { - "prefix": "fa-weibo", - "body": "$0", - "description": "weibo" - }, - "weixin": { - "prefix": "fa-weixin", - "body": "$0", - "description": "weixin" - }, - "whatsapp": { - "prefix": "fa-whatsapp", - "body": "$0", - "description": "whatsapp" - }, - "wheelchair": { - "prefix": "fa-wheelchair", - "body": "$0", - "description": "wheelchair" - }, - "wheelchair-alt": { - "prefix": "fa-wheelchair-alt", - "body": "$0", - "description": "wheelchair-alt" - }, - "wifi": { - "prefix": "fa-wifi", - "body": "$0", - "description": "wifi" - }, - "wikipedia-w": { - "prefix": "fa-wikipedia-w", - "body": "$0", - "description": "wikipedia-w" - }, - "window-close": { - "prefix": "fa-window-close", - "body": "$0", - "description": "window-close" - }, - "window-close-o": { - "prefix": "fa-window-close-o", - "body": "$0", - "description": "window-close-o" - }, - "window-maximize": { - "prefix": "fa-window-maximize", - "body": "$0", - "description": "window-maximize" - }, - "window-minimize": { - "prefix": "fa-window-minimize", - "body": "$0", - "description": "window-minimize" - }, - "window-restore": { - "prefix": "fa-window-restore", - "body": "$0", - "description": "window-restore" - }, - "windows": { - "prefix": "fa-windows", - "body": "$0", - "description": "windows" - }, - "won": { - "prefix": "fa-won", - "body": "$0", - "description": "won" - }, - "wordpress": { - "prefix": "fa-wordpress", - "body": "$0", - "description": "wordpress" - }, - "wpbeginner": { - "prefix": "fa-wpbeginner", - "body": "$0", - "description": "wpbeginner" - }, - "wpexplorer": { - "prefix": "fa-wpexplorer", - "body": "$0", - "description": "wpexplorer" - }, - "wpforms": { - "prefix": "fa-wpforms", - "body": "$0", - "description": "wpforms" - }, - "wrench": { - "prefix": "fa-wrench", - "body": "$0", - "description": "wrench" - }, - "xing": { - "prefix": "fa-xing", - "body": "$0", - "description": "xing" - }, - "xing-square": { - "prefix": "fa-xing-square", - "body": "$0", - "description": "xing-square" - }, - "yahoo": { - "prefix": "fa-yahoo", - "body": "$0", - "description": "yahoo" - }, - "yc": { - "prefix": "fa-yc", - "body": "$0", - "description": "yc" - }, - "y-combinator": { - "prefix": "fa-y-combinator", - "body": "$0", - "description": "y-combinator" - }, - "y-combinator-square": { - "prefix": "fa-y-combinator-square", - "body": "$0", - "description": "y-combinator-square" - }, - "yc-square": { - "prefix": "fa-yc-square", - "body": "$0", - "description": "yc-square" - }, - "yelp": { - "prefix": "fa-yelp", - "body": "$0", - "description": "yelp" - }, - "yen": { - "prefix": "fa-yen", - "body": "$0", - "description": "yen" - }, - "yoast": { - "prefix": "fa-yoast", - "body": "$0", - "description": "yoast" - }, - "youtube": { - "prefix": "fa-youtube", - "body": "$0", - "description": "youtube" - }, - "youtube-play": { - "prefix": "fa-youtube-play", - "body": "$0", - "description": "youtube-play" - }, - "youtube-square": { - "prefix": "fa-youtube-square", - "body": "$0", - "description": "youtube-square" - } -} \ No newline at end of file diff --git a/my-snippets/B5-Snippets/snippets/types/forms.json b/my-snippets/B5-Snippets/snippets/types/forms.json deleted file mode 100644 index c9cdc89..0000000 --- a/my-snippets/B5-Snippets/snippets/types/forms.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "form": { - "prefix": "b5-form", - "body": [ - "
    ", - "
    ", - " ", - " ", - "
    ", - " Looks good!", - "
    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " Looks good!", - "
    ", - "
    ", - "
    ", - " ", - "
    ", - " @", - " ", - "
    ", - " Please choose a username.", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " Please provide a valid city.", - "
    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " Please select a valid state.", - "
    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " Please provide a valid zip.", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " You must agree before submitting.", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - "
    ", - "
    " - ], - "description": "form" - } -} \ No newline at end of file diff --git a/my-snippets/B5-Snippets/snippets/types/grid.json b/my-snippets/B5-Snippets/snippets/types/grid.json deleted file mode 100644 index d7b0eef..0000000 --- a/my-snippets/B5-Snippets/snippets/types/grid.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "Bootstrap 5 container": { - "prefix": "b5-contain", - "body": [ - "
    ", - "\tb5-row${0}", - "
    " - ], - "description": "Bootstrap 5 container" - }, - "Bootstrap 5 row": { - "prefix": "b5-row", - "body": [ - "
    ", - "\tb5-col${0}", - "
    " - ], - "description": "Bootstrap 5 row" - }, - "Bootstrap 5 col": { - "prefix": "b5-col", - "body": [ - "
    ", - " b5-col${0}", - "
    " - ], - "description": "Bootstrap 5 col" - } -} \ No newline at end of file diff --git a/my-snippets/B5-Snippets/snippets/types/list-group.json b/my-snippets/B5-Snippets/snippets/types/list-group.json deleted file mode 100644 index dc67ac5..0000000 --- a/my-snippets/B5-Snippets/snippets/types/list-group.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "tablist": { - "prefix": "b5-tablist", - "body": [ - "", - "
    ", - " Home", - " Profile", - " Messages", - " Settings", - "
    ", - "", - "", - "
    ", - "
    ...
    ", - "
    ...
    ", - "
    ...
    ", - "
    ...
    ", - "
    " - ], - "description": "tablist" - }, - "list-group-badge": { - "prefix": "b5-list-group-badge", - "body": [ - "
      ", - "
    • ", - " Cras justo odio", - " 14", - "
    • ", - "
    • ", - " Dapibus ac facilisis in", - " 2", - "
    • ", - "
    • ", - " Morbi leo risus", - " 1", - "
    • ", - "
    " - ], - "description": "list-group-badge" - } -} \ No newline at end of file diff --git a/my-snippets/B5-Snippets/snippets/types/modal.json b/my-snippets/B5-Snippets/snippets/types/modal.json deleted file mode 100644 index 405e653..0000000 --- a/my-snippets/B5-Snippets/snippets/types/modal.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "Modal-BTN": { - "prefix": "b5-modal-btn", - "body": [ - "" - ], - "description": "Modal-Body" - }, - "Modal-body": { - "prefix": "b5-modal-body", - "body": [ - "
    ", - "
    ", - "
    ", - "
    ", - "
    ${3:Modal title}
    ", - " ", - "
    ", - "
    ", - " ${0}", - "
    ", - " ${4| ,
    |}", - "
    ", - "
    ", - "
    ", - "" - ], - "description": "Modal-Body" - }, - "Modal-Footer": { - "prefix": "b5-modal-footer", - "body": [ - "
    ", - "
    ", - "
    ", - "
    ", - "
    ${3:Modal title}
    ", - " ", - "
    ", - "
    ", - " ${0}", - "
    ", - " ${4| ,
    |}", - "
    ", - "
    ", - "
    ", - "" - ], - "description": "Modal-BTN" - } -} \ No newline at end of file diff --git a/my-snippets/B5-Snippets/snippets/types/navigation.json b/my-snippets/B5-Snippets/snippets/types/navigation.json deleted file mode 100644 index 1fbad0a..0000000 --- a/my-snippets/B5-Snippets/snippets/types/navigation.json +++ /dev/null @@ -1,110 +0,0 @@ -{ - "Bootstrap 5 Navbar Defaul": { - "prefix": "b5-navbar-default", - "body": [ - " " - ], - "description": "Bootstrap 5 Navbar Defaul" - }, - "Bootstrap 5 nav-item":{ - "prefix":"b5-nav-item", - "body":[ - "
  • ", - " ${5|Home,About,Blog,Contact, |}", - "
  • " - ], - "description":"Bootstrap 5 nav-item" - }, - "Bootstrap 5 navlink":{ - "prefix":"b5-navlink", - "body":[ - "${3|Home,About,Blog,Contact, |}", - "" - ], - "description":"Bootstrap 5 navlink" - }, - "Bootstrap 5 nav-dropdown toggle":{ - "prefix":"b5-navdd-toggle", - "body":[ - "", - "b5-n${0}", - "" - ], - "description":"Bootstrap 5 nav-dropdown toggle" - }, - "Bootstrap 5 nav-dropdown":{ - "prefix":"b5-navdropdown", - "body":[ - "
      ", - "b5-n${0}", - "
    " - ], - "description":"Bootstrap 5 nav-dropdown" - }, - "Nav Bottom":{ - "prefix":"b5-Nav-bottom", - "body":[ - "" - ], - "description":"Nav Bottom" - }, - "Scrollspy":{ - "prefix":"b5-scrollspy", - "body":[ - "", - "
    ", - "

    @fat

    ", - "
    " - ], - "description":"Scrollspy" - } - } \ No newline at end of file diff --git a/my-snippets/B5-Snippets/snippets/types/pagination.json b/my-snippets/B5-Snippets/snippets/types/pagination.json deleted file mode 100644 index 4be7ad0..0000000 --- a/my-snippets/B5-Snippets/snippets/types/pagination.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "Pagination": { - "prefix": "b5-pagination", - "body": [ - "" - ], - "description": "Pagination" - } -} \ No newline at end of file diff --git a/my-snippets/B5-Snippets/snippets/types/progressbar.json b/my-snippets/B5-Snippets/snippets/types/progressbar.json deleted file mode 100644 index 9720fb6..0000000 --- a/my-snippets/B5-Snippets/snippets/types/progressbar.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "Progress Bar": { - "prefix": "b5-progress", - "body": [ - "
    ", - "
    ${6:Description}
    ", - "
    " - ], - "description": "Progress Bar" - } -} \ No newline at end of file diff --git a/my-snippets/B5-Snippets/snippets/types/templates.json b/my-snippets/B5-Snippets/snippets/types/templates.json deleted file mode 100644 index c7c9746..0000000 --- a/my-snippets/B5-Snippets/snippets/types/templates.json +++ /dev/null @@ -1,2510 +0,0 @@ -{ - "Bootstrap 5 scripts": { - "prefix": "!b5-scripts", - "body": [ - "", - "", - "${1|, |}" - ], - "description": "Adds the cnd for the css scripts and has an option to use popper." - }, - "Offcanvas Scripts": { - "prefix": "!offcanvas-scripts", - "body": [ - "", - "" - ], - "description": "Offcanvas Scripts" - }, - "Bootstrap 5 HTML Template": { - "prefix": "!b5-$", - "body": [ - "", - "", - "", - " ", - " ", - " ${1:Bootstrap Site}", - " ", - " ", - " ", - "", - "", - "

    Hello-Bootstrap

    ", - "", - "" - ], - "description": "An HTML Boilerplate with Bootstrap 5" - }, - "Offcanvas Template": { - "prefix": "!offcanvasTemplate", - "body": [ - "", - "", - " ", - " ", - " ", - " ", - " Bootstrap 5 Offcanvas Template ยท Bootstrap", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - "", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - "
    ", - "
    ", - " \"\"", - "
    ", - "
    #JavaScriptFirst
    ", - " Learn Modern JavaScript, from an Open Source Book that teaches anyone how to code with JavaScript using the node.js runtime environment rather than a browser and by the end, you will build a server and a website using JavaScript.", - "
    ", - "
    ", - "", - "
    ", - " ", - " ", - "" - ], - "description": "Offcanvas Template" - }, - "Template Nav Bottom": { - "prefix": "!mobileNav", - "body": [ - "", - "", - "", - " ", - " ", - " ", - " ", - " Bootstrap 5 Navbar Bottom Template ยท Bootstrap", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - "", - " ", - " ", - " ", - " ", - "
    ", - "
    ", - " \"\"", - "
    ", - "
    #JavaScriptFirst
    ", - " ", - " ${1:Learn Modern JavaScript, from an Open Source Book that teaches anyone how to code with JavaScript using the node.js runtime environment rather than a browser and by the end, you will build a server and a website using JavaScript.}", - " ", - "
    ", - "
    ", - "
    ", - "", - "", - "", - " ", - " ", - "", - "" - ], - "description": "Template Nav Bottom" - }, - "Masonary Template": { - "prefix": "!masonaryTemplate", - "body": [ - "", - "", - "", - "", - " ", - " ", - " ", - " ", - " ", - " Masonry example ยท Bootstrap", - "", - " ", - "", - "", - "", - " ", - "", - " ", - " ", - " ", - "", - " ", - " ", - "", - "", - " ", - "", - "", - " ", - "", - "", - "", - "", - "", - "", - "
    ", - "

    Bootstrap and Masonry

    ", - "

    Integrate Masonry with the Bootstrap grid system and", - " cards component.

    ", - "", - "

    Masonry is not included in Bootstrap. Add it by including the JavaScript plugin manually, or using a CDN like", - " so:

    ", - "", - "
    ",
    -            "<script src="https://cdnjs.cloudflare.com/ajax/libs/masonry/4.2.2/masonry.pkgd.min.js" integrity="sha384-GNFwBvfVxBkLMJpYMOABq3c+d3KnQxudP/mGPkzpZSTYykLBNsZEnG2D9G/X/+7D" crossorigin="anonymous" async></script>",
    -            "  
    ", - "", - "

    By adding data-masonry='{\"percentPosition\": true }' to the .row wrapper, we can", - " combine the powers of Bootstrap's responsive grid and Masonry's positioning.

    ", - "", - "
    ", - "", - "
    ", - "
    ", - "
    ", - " ", - " Placeholder", - " Image cap", - " ", - "", - "
    ", - "
    Card title that wraps to a new line
    ", - "

    This is a longer card with supporting text below as a natural lead-in to", - " additional content. This content is a little bit longer.

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

    ", - "
    ", - " ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " Placeholder", - " Image cap", - " ", - "", - "
    ", - "
    Card title
    ", - "

    This card has supporting text below as a natural lead-in to additional", - " content.

    ", - "

    Last updated 3 mins ago

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat.

    ", - "
    ", - " ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    Card title
    ", - "

    This card has a regular title and short paragraph of text below it.

    ", - "

    Last updated 3 mins ago

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " Placeholder", - " Card image", - " ", - "", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

    ", - "
    ", - " ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    Card title
    ", - "

    This is another card with title and supporting text below. This card has", - " some additional content to make it slightly taller overall.

    ", - "

    Last updated 3 mins ago

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "", - "
    ", - "", - "", - "", - " ", - "", - "", - "" - ], - "description": "Masonary Template" - }, - "Product Template": { - "prefix": "!productTemplate", - "body": [ - "", - "", - "", - "", - " ", - " ", - " ", - " ", - " ", - " Product example ยท Bootstrap", - "", - " ", - "", - " ", - " ", - " ", - "", - "", - "", - " ", - "", - "", - " ", - " ", - " ", - "", - "", - "", - "", - " ", - "", - "
    ", - "
    ", - "

    Punny headline

    ", - "

    And an even wittier subheading to boot. Jumpstart your marketing efforts", - " with this example based on Appleโ€™s marketing pages.

    ", - " Coming soon", - "
    ", - "
    ", - "
    ", - "
    ", - "", - "
    ", - "
    ", - "
    ", - "

    Another headline

    ", - "

    And an even wittier subheading.

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "

    Another headline

    ", - "

    And an even wittier subheading.

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "", - "
    ", - "
    ", - "
    ", - "

    Another headline

    ", - "

    And an even wittier subheading.

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "

    Another headline

    ", - "

    And an even wittier subheading.

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "", - "
    ", - "
    ", - "
    ", - "

    Another headline

    ", - "

    And an even wittier subheading.

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "

    Another headline

    ", - "

    And an even wittier subheading.

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "", - "
    ", - "
    ", - "
    ", - "

    Another headline

    ", - "

    And an even wittier subheading.

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "

    Another headline

    ", - "

    And an even wittier subheading.

    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "", - " ", - "", - "", - "", - "" - ], - "description": "Product Template" - }, - "Dashboard Template": { - "prefix": "!dashboardTemplate", - "body": [ - "", - "", - "", - "", - " ", - " ", - " ", - " ", - " ", - " Dashboard Template ยท Bootstrap", - "", - " ", - "", - "", - "", - " ", - " ", - " ", - "", - " ", - "", - "", - "", - "", - " ", - "", - "
    ", - "
    ", - " ", - "", - "
    ", - " ", - "

    Dashboard

    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " ", - "
    ", - "
    ", - "", - " ", - "", - "

    Section title

    ", - "
    ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - "
    #HeaderHeaderHeaderHeader
    1,001Loremipsumdolorsit
    1,002ametconsecteturadipiscingelit
    1,003IntegernecodioPraesent
    1,003liberoSedcursusante
    1,004dapibusdiamSednisi
    1,005Nullaquissemat
    1,006nibhelementumimperdietDuis
    1,007sagittisipsumPraesentmauris
    1,008Fuscenectellussed
    1,009auguesemperportaMauris
    1,010massaVestibulumlaciniaarcu
    1,011egetnullaClassaptent
    1,012tacitisociosquadlitora
    1,013torquentperconubianostra
    1,014perinceptoshimenaeosCurabitur
    1,015sodalesligulainlibero
    ", - "
    ", - " ", - "
    ", - " ", - "", - "", - " ", - "", - " ", - " ", - " ", - "", - "", - "" - ], - "description": "Dashboard Template" - }, - "Carousel Template": { - "prefix": "!CarouselTemplate", - "body": [ - "", - "", - "", - "", - " ", - " ", - " ", - " ", - " ", - " Carousel Template ยท Bootstrap", - "", - " ", - "", - "", - "", - " ", - " ", - " ", - " ", - "", - " ", - "", - "", - " ", - " ", - "", - "", - "", - "", - "
    ", - " ", - "
    ", - "", - "
    ", - "", - "
    ", - "
      ", - "
    1. ", - "
    2. ", - "
    3. ", - "
    ", - "
    ", - "
    ", - " ", - " ", - "", - "
    ", - "
    ", - "

    Example headline.

    ", - "

    Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget", - " metus. Nullam id dolor id nibh ultricies vehicula ut id elit.

    ", - "

    Sign up today

    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " ", - "", - "
    ", - "
    ", - "

    Another example headline.

    ", - "

    Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget", - " metus. Nullam id dolor id nibh ultricies vehicula ut id elit.

    ", - "

    Learn more

    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " ", - "", - "
    ", - "
    ", - "

    One more for good measure.

    ", - "

    Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget", - " metus. Nullam id dolor id nibh ultricies vehicula ut id elit.

    ", - "

    Browse gallery

    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " ", - " Previous", - " ", - " ", - " ", - " Next", - " ", - "
    ", - "", - "", - " ", - " ", - "", - "
    ", - "", - " ", - "
    ", - "
    ", - " ", - " Placeholder", - " 140x140", - " ", - "", - "

    Heading

    ", - "

    Donec sed odio dui. Etiam porta sem malesuada magna mollis euismod. Nullam id dolor id nibh ultricies", - " vehicula ut id elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Praesent commodo cursus", - " magna.

    ", - "

    View details »

    ", - "
    ", - "
    ", - " ", - " Placeholder", - " 140x140", - " ", - "", - "

    Heading

    ", - "

    Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras", - " mattis consectetur purus sit amet fermentum. Fusce dapibus, tellus ac cursus commodo, tortor mauris", - " condimentum nibh.

    ", - "

    View details »

    ", - "
    ", - "
    ", - " ", - " Placeholder", - " 140x140", - " ", - "", - "

    Heading

    ", - "

    Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta", - " felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum", - " massa justo sit amet risus.

    ", - "

    View details »

    ", - "
    ", - "
    ", - "", - "", - " ", - "", - "
    ", - "", - "
    ", - "
    ", - "

    First featurette heading. Itโ€™ll blow your mind.", - "

    ", - "

    Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod", - " semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus", - " commodo.

    ", - "
    ", - "
    ", - " ", - " Placeholder", - " 500x500", - " ", - "", - "
    ", - "
    ", - "", - "
    ", - "", - "
    ", - "
    ", - "

    Oh yeah, itโ€™s that good. See for yourself.

    ", - "

    Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod", - " semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus", - " commodo.

    ", - "
    ", - "
    ", - " ", - " Placeholder", - " 500x500", - " ", - "", - "
    ", - "
    ", - "", - "
    ", - "", - "
    ", - "
    ", - "

    And lastly, this one. Checkmate.

    ", - "

    Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod", - " semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus", - " commodo.

    ", - "
    ", - "
    ", - " ", - " Placeholder", - " 500x500", - " ", - "", - "
    ", - "
    ", - "", - "
    ", - "", - " ", - "", - "
    ", - "", - "", - " ", - " ", - "
    ", - "", - "", - "", - "", - "", - "" - ], - "description": "Carousel Template" - }, - "Album Template": { - "prefix": "!AlbumTemplate", - "body": [ - "", - "", - "", - "", - " ", - " ", - " ", - " ", - " ", - " Album example ยท Bootstrap", - "", - " ", - "", - "", - "", - " ", - "", - "", - "", - "", - " ", - "", - "", - "", - "", - "", - "", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "

    About

    ", - "

    Add some information about the album below, the author, or any other background", - " context. Make it a few sentences long so folks can pick up some informative tidbits. Then, link them off", - " to some social networking sites or contact information.

    ", - "
    ", - "
    ", - "

    Contact

    ", - " ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " ", - " ", - " ", - " Album", - " ", - " ", - "
    ", - "
    ", - "
    ", - "", - "
    ", - "", - "
    ", - "
    ", - "
    ", - "

    Album example

    ", - "

    Something short and leading about the collection belowโ€”its contents, the creator,", - " etc. Make it short and sweet, but not too short so folks donโ€™t simply skip over it entirely.

    ", - "

    ", - " Main call to action", - " Secondary action", - "

    ", - "
    ", - "
    ", - "
    ", - "", - "
    ", - "
    ", - "", - "
    ", - "
    ", - "
    ", - " ", - " Placeholder", - " Thumbnail", - " ", - "", - "
    ", - "

    This is a wider card with supporting text below as a natural lead-in to additional", - " content. This content is a little bit longer.

    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " 9 mins", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " Placeholder", - " Thumbnail", - " ", - "", - "
    ", - "

    This is a wider card with supporting text below as a natural lead-in to additional", - " content. This content is a little bit longer.

    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " 9 mins", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " Placeholder", - " Thumbnail", - " ", - "", - "
    ", - "

    This is a wider card with supporting text below as a natural lead-in to additional", - " content. This content is a little bit longer.

    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " 9 mins", - "
    ", - "
    ", - "
    ", - "
    ", - "", - "
    ", - "
    ", - " ", - " Placeholder", - " Thumbnail", - " ", - "", - "
    ", - "

    This is a wider card with supporting text below as a natural lead-in to additional", - " content. This content is a little bit longer.

    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " 9 mins", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " Placeholder", - " Thumbnail", - " ", - "", - "
    ", - "

    This is a wider card with supporting text below as a natural lead-in to additional", - " content. This content is a little bit longer.

    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " 9 mins", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " Placeholder", - " Thumbnail", - " ", - "", - "
    ", - "

    This is a wider card with supporting text below as a natural lead-in to additional", - " content. This content is a little bit longer.

    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " 9 mins", - "
    ", - "
    ", - "
    ", - "
    ", - "", - "
    ", - "
    ", - " ", - " Placeholder", - " Thumbnail", - " ", - "", - "
    ", - "

    This is a wider card with supporting text below as a natural lead-in to additional", - " content. This content is a little bit longer.

    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " 9 mins", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " Placeholder", - " Thumbnail", - " ", - "", - "
    ", - "

    This is a wider card with supporting text below as a natural lead-in to additional", - " content. This content is a little bit longer.

    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " 9 mins", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - " Placeholder", - " Thumbnail", - " ", - "", - "
    ", - "

    This is a wider card with supporting text below as a natural lead-in to additional", - " content. This content is a little bit longer.

    ", - "
    ", - "
    ", - " ", - " ", - "
    ", - " 9 mins", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "
    ", - "", - "
    ", - "", - "
    ", - "
    ", - "

    ", - " Back to top", - "

    ", - "

    Album example is © Bootstrap, but please download and customize it for yourself!

    ", - "

    New to Bootstrap? Visit the homepage or read our getting started guide.

    ", - "
    ", - "
    ", - "", - "", - "", - "" - ], - "description": "Album Template" - }, - "Blog Template": { - "prefix": "!BlogTemplate", - "body": [ - "", - "", - "", - "", - " ", - " ", - " ", - " ", - " ", - " Blog Template ยท Bootstrap", - "", - " ", - "", - "", - "", - " ", - " ", - " ", - " ", - "", - " ", - "", - "", - " ", - " ", - " ", - " ", - "", - "", - "", - "", - "
    ", - "
    ", - "
    ", - "
    ", - " Subscribe", - "
    ", - "
    ", - " ", - "
    ", - " ", - "
    ", - "
    ", - "", - "
    ", - " ", - "
    ", - "", - "
    ", - "
    ", - "

    Title of a longer featured blog post

    ", - "

    Multiple lines of text that form the lede, informing new readers quickly and", - " efficiently about whatโ€™s most interesting in this postโ€™s contents.

    ", - "

    Continue reading...

    ", - "
    ", - "
    ", - "", - "
    ", - "
    ", - " ", - "
    ", - " World", - "

    Featured post

    ", - "
    Nov 12
    ", - "

    This is a wider card with supporting text below as a natural", - " lead-in to additional content.

    ", - " Continue reading", - "
    ", - "
    ", - " ", - " Placeholder", - " Thumbnail", - " ", - "", - "
    ", - "
    ", - "
    ", - "
    ", - " ", - "
    ", - " Design", - "

    Post title

    ", - "
    Nov 11
    ", - "

    This is a wider card with supporting text below as a natural lead-in to", - " additional content.

    ", - " Continue reading", - "
    ", - "
    ", - " ", - " Placeholder", - " Thumbnail", - " ", - "", - "
    ", - "
    ", - "
    ", - " ", - " ", - "", - "
    ", - "
    ", - "
    ", - "

    ", - " From the Firehose", - "

    ", - "", - "
    ", - "

    Sample blog post

    ", - " ", - "", - "

    This blog post shows a few different types of content thatโ€™s supported and styled with Bootstrap.", - " Basic typography, images, and code are all supported.

    ", - "
    ", - "

    Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus", - " mus. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Sed posuere", - " consectetur est at lobortis. Cras mattis consectetur purus sit amet fermentum.

    ", - "
    ", - "

    Curabitur blandit tempus porttitor. Nullam quis risus eget urna mollis", - " ornare vel eu leo. Nullam id dolor id nibh ultricies vehicula ut id elit.

    ", - "
    ", - "

    Etiam porta sem malesuada magna mollis euismod. Cras mattis consectetur purus sit amet", - " fermentum. Aenean lacinia bibendum nulla sed consectetur.

    ", - "

    Heading

    ", - "

    Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non", - " commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Morbi leo risus,", - " porta ac consectetur ac, vestibulum at eros.

    ", - "

    Sub-heading

    ", - "

    Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.

    ", - "
    Example code block
    ", - "

    Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod.", - " Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa.

    ", - "

    Sub-heading

    ", - "

    Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean", - " lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce", - " dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit", - " amet risus.

    ", - "
      ", - "
    • Praesent commodo cursus magna, vel scelerisque nisl consectetur et.
    • ", - "
    • Donec id elit non mi porta gravida at eget metus.
    • ", - "
    • Nulla vitae elit libero, a pharetra augue.
    • ", - "
    ", - "

    Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue.", - "

    ", - "
      ", - "
    1. Vestibulum id ligula porta felis euismod semper.
    2. ", - "
    3. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
    4. ", - "
    5. Maecenas sed diam eget risus varius blandit sit amet non magna.
    6. ", - "
    ", - "

    Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis.

    ", - "
    ", - "", - "
    ", - "

    Another blog post

    ", - " ", - "", - "

    Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus", - " mus. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Sed posuere", - " consectetur est at lobortis. Cras mattis consectetur purus sit amet fermentum.

    ", - "
    ", - "

    Curabitur blandit tempus porttitor. Nullam quis risus eget urna mollis", - " ornare vel eu leo. Nullam id dolor id nibh ultricies vehicula ut id elit.

    ", - "
    ", - "

    Etiam porta sem malesuada magna mollis euismod. Cras mattis consectetur purus sit amet", - " fermentum. Aenean lacinia bibendum nulla sed consectetur.

    ", - "

    Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non", - " commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Morbi leo risus,", - " porta ac consectetur ac, vestibulum at eros.

    ", - "
    ", - "", - "
    ", - "

    New feature

    ", - " ", - "", - "

    Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean", - " lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce", - " dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit", - " amet risus.

    ", - "
      ", - "
    • Praesent commodo cursus magna, vel scelerisque nisl consectetur et.
    • ", - "
    • Donec id elit non mi porta gravida at eget metus.
    • ", - "
    • Nulla vitae elit libero, a pharetra augue.
    • ", - "
    ", - "

    Etiam porta sem malesuada magna mollis euismod. Cras mattis consectetur purus sit amet", - " fermentum. Aenean lacinia bibendum nulla sed consectetur.

    ", - "

    Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue.", - "

    ", - "
    ", - "", - " ", - "", - "
    ", - "", - " ", - "", - "
    ", - "", - "
    ", - "", - " ", - "", - "", - "", - "", - "", - "" - ], - "description": "Blog Template" - }, - "HTML HTTP Server": { - "prefix": "!html ", - "body": [ - "const http = require('http')", - "const fs = require('fs');", - "const PORT = ${1:7000};", - "http.createServer(function (request, response) {", - " if (request.url == '/') {", - " fs.readFile('${2:index.html}', function(err, data) {", - " response.writeHead(200, {'Content-Type': 'text/html'});", - " response.write(data);", - " return response.end();", - " });", - " }", - " else{", - " return response.end('Invalid request');", - " }", - "}).listen(PORT);", - "", - "" - ], - "description": "HTML HTTP Server" - }, - "HTTP Server for rendering dynamic pages": { - "prefix": "!http", - "body": [ - "// This is the lightweight way to server render a dynamic HTML without any frameworks or libraries...", - "// Because it's time you out grow HTML/CSS and get over ES6 as a buzzword...", - "// All we need is the built in HTTP method, template strings and few functions and you can create powerful layouts...", - "// Start thinking in terms of vanilla JS but also in ways that transfer to react...", - "// Learn more in my book", - "// https://github.com/HansUXdev/JavaScript-First", - "", - "const http = require('http')", - "const fs = require('fs');", - "", - "// For Pages on your site", - "const homepages = [", - " { ", - " name: 'Home', ", - " url: \"/\",", - " icon: \"\"", - " },", - " { ", - " name: 'About', ", - " url: \"/about\",", - " icon: \"fa-user\"", - " },", - " { ", - " name: 'Portfolio', ", - " url: \"/Portfolio\",", - " icon: \"fa-th\"", - " },", - " { ", - " name: 'Contact',", - " url: \"/Contact\",", - " icon: \"fa-envelope\"", - " }", - "];", - " ", - "", - "// layout template", - "const HTML = (header,body) => {", - " return `", - " ", - " ", - " ", - " ", - " \\${header}", - " ", - " ", - " ", - " ", - " ", - " \\${body}", - " ", - " `;", - "}", - "", - "// used to create links to each page", - "// Example of how to use it", - "// let links = NavLinks(homepages)", - "const NavLinks = (data) => {", - " return data.map(links => `", - "
  • ", - " \\${links.name}", - "
  • ", - " `).join('');", - "};", - "", - "// Navbar Function to build a dynamic navbar on the server", - "/*", - "* Example", - "* create links for each page", - "* let links = NavLinks(homepages)", - "* pass that into the 'content' arguement and returns your final menu", - "* Nav(links) ", - "*/", - "", - "const Nav = (content, logo=\"https://hansmcmurdy.com/JavaScript-First/logo.svg\") => {", - " return `", - "
    ", - "
    ", - "
    #JavaScriptFirst is an online Book
    ", - " ", - " Learn more about the book here: #JavaScriptFirst", - " ", - "
    ", - "
    ", - " `;", - "};", - "", - "/**", - " * @export", - " * @param {string} [route=\"/\"]", - " * @param {number} [port=8000]", - " * @param {*} HTML - is a callback that returns an html string", - " */", - "const Server = (home = \"/\", port=8000, template, pages=false ) =>{", - " http.createServer(", - " (request, response)=>{", - " req = this.request;", - " if(request.url == home){", - " response.writeHead(200,{", - " 'Content-Type': 'text/html',", - " 'Content-Length': template.length,", - " 'Expires': new Date().toUTCString()", - " })", - " response.end(template)", - " }", - " else{", - " // writeHTML()", - " response.end(\"nope\")", - " }", - " }", - " ).listen(port);", - " //", - " };", - " ", - "/*Example */", - "let links = NavLinks(homepages)", - "const home = HTML(", - " `#JavaScriptFrist Bootstrap Site`,", - " `\\${ Nav(links)}`", - ");", - "Server('/',7000,home)" - ], - "description": "HTTP Server for rendering dynamic pages" - } -} \ No newline at end of file diff --git a/my-snippets/B5-Snippets/snippets/types/utility.json b/my-snippets/B5-Snippets/snippets/types/utility.json deleted file mode 100644 index 89f1722..0000000 --- a/my-snippets/B5-Snippets/snippets/types/utility.json +++ /dev/null @@ -1,155 +0,0 @@ -{ - "Utilities": { - "prefix": "!utility", - "body": [ - "${1|!spacing,!shadow,!color,!font,!flex,!direction,!justify,!align,!display|}" - ], - "description": "Utilities: Forgot a utility? \n Read about them: \n\n https://deploy-preview-29017--twbs-bootstrap.netlify.app/docs/5.0/utilities/api/" - }, - "Padding / Margin": { - "prefix": "!spacing", - "body": [ - "${1|m,p|}${3|x,y,t,r,b,l|}-${4|auto,0,1,2,3,4,5|}" - ], - "description": "Quickly add Padding & Margins any class." - }, - "Color": { - "prefix": "!color", - "body": [ - "${2|text,bg|}-${3|primary,secondary,success,danger,warning,info,light,dark|}" - ], - "description": "Quickly add color utility classes to any class." - }, - "Font": { - "prefix": "!font", - "body": [ - "text-${2|sm,md,lg,xl|}-${3|left,center,right|} lh-${4|base,1,sm,lg|} font-${5|italic,normal,weight-normal,weight-bold,weight-bolder,weight-light,weight-lighter|} text-${6| ,lowercase,uppercase,capitalize|} text-${7|decoration-none,decoration-underline,decoration-line-through|} text-${8|reset,break,monospace|}" - ], - "description": "Quickly add font utility classes to any class." - }, - "Shadow": { - "prefix": "!shadow", - "body": [ - "shadow${1| ,-sm,-lg|} bg-${2|white,light,dark,primary,secondary,success,danger,warning,info|} ${3|m,p|}${3|t,r,b,l,x,y|}${4|auto,0,1,2,3,4,5|}" - ], - "description": "Add shadow to any class" - }, - "Utility Paper Shadow": { - "prefix": "b5-shadow", - "body": [ - "
    ${0}
    " - ], - "description": "Utility Paper Shadow" - }, - "Utility Color": { - "prefix": "b5-color", - "body": [ - "${2|text,bg|}${3|primary,secondary,success,danger,warning,info,light,dark|}" - ], - "description": "Text Utility" - }, - "Utility Text": { - "prefix": "b5-txt", - "body": [ - "<${1|div,p,h1|} class=\"text-${2|sm,md,lg,xl|}-${3|left,center,right|} lh-${4|base,1,sm,lg|} font-${5|normal,italic,weight-normal,weight-bold,weight-bolder,weight-light,weight-lighter|} text-${6|none,lowercase,uppercase,capitalize|} text-${7|decoration-none,decoration-underline,decoration-line-through|} text-${8|reset,break,monospace|}\">", - "${9:Left aligned text on all viewport sizes.}", - "" - ], - "description": "Text Utility" - }, - "Utility Borders": { - "prefix": "b5-borders", - "body": [ - "<${1|div,p|} class=\"border${2| ,-0,-top,-right,-bottom,-left,-top-0,-right-0,-bottom-0,-left-0|} border-${3|white,primary,secondary,success,danger,warning,info,light,dark|} ${5| ,!round|}\">", - "${10:Left aligned text on all viewport sizes.}", - "" - ], - "description": "Utility Borders" - }, - "Round - Round out any edge.": { - "prefix": "!round", - "body": [ - "${1|rounded,rounded-top,rounded-right,rounded-bottom,rounded-left,rounded-circle,rounded-pill|} ${2|rounded-sm,rounded-lg|}" - ], - "description": "Round - Round out any edge." - }, - "Utility Spacing": { - "prefix": "b5-spacing", - "body": [ - "<${1|div,p,h1|} class=\"${2|m,p|}${3|t,r,b,l,x,y|}${4|auto,0,1,2,3,4,5|} \">", - "${0}", - "" - ], - "description": "Utility Spacing" - }, - "Display Utilities:": { - "prefix": "!display", - "body": [ - "d-${2|flex,inline-flex,none,block,inline,inline-block,table,table-cell,table-row|} " - ], - "description": "Display Utilities:" - }, - "Utilities MQ:": { - "prefix": "!MQ", - "body": [ - "${1|-sm-,-md,-lg-,-xl-,-xxl-|}" - ], - "description": "Display Utilities:" - }, - "Flex Utility": { - "prefix": "!flex", - "body": [ - "d${1|-,!MQ|}${2|flex,inline-flex|} ${3| ,!direction,!justify,!align,!fill,!grow-shrink,!flex-wrap,!flex-order|}" - ], - "description": "Flex Utility: Create a flexbox container and transform direct children elements into flex items. \n\n Ends with an options to continue with other flex utilities,!direction,!justify,!align." - }, - "Flex Direction": { - "prefix": "!direction", - "body": [ - "flex${1|-,!MQ|}${2|row,row-reverse,column,column-reverse|}" - ], - "description": "Flex Direction: Set the direction of flex items in a flex container with direction utilities" - }, - "justify-content": { - "prefix": "!justify", - "body": [ - "justify-content${1|-,!MQ|}${2|start,end,center,between,around,evenly|}" - ], - "description": "justify-content: \n change the alignment of flex items on the main axis (the x-axis to start, y-axis if flex-direction: column) \n Read the docs: \n\n https://deploy-preview-29017--twbs-bootstrap.netlify.app/docs/5.0/utilities/flex/#justify-content \n\n " - }, - "Flex-Align": { - "prefix": "!align", - "body": [ - "align-${1|items,self,content|}${2|-,!MQ|}${3|start,end,center,baseline,stretch,around|}" - ], - "description": "Flex-Align: \n Read the docs: \n https://deploy-preview-29017--twbs-bootstrap.netlify.app/docs/5.0/utilities/flex/#align-items \n\n 1. align-items: change the alignment of flex items on the cross axis (the y-axis to start, x-axis if flex-direction: column) \n\n 2. align-self: change their alignment on the cross axis (the y-axis to start, x-axis if flex-direction: column) \n\n 3. align-content: align flex items together on the cross axis. \n\n NOTE: CENTER & AROUND only apply to align Content." - }, - "!fill": { - "prefix": "!fill", - "body": [ - "flex-${1|fill,sm-fill,md-fill,lg-fill,xl-fill,xxl-fill|}" - ], - "description": "!fill - use on sibling elements to force them into widths equal to their content" - }, - "!grow-shrink": { - "prefix": "!grow-shrink", - "body": [ - "flex${1|-,!MQ|}-${2|grow,shrink|}-${3|0,1|}" - ], - "description": "!grow-shrink - utilities to toggle a flex itemโ€™s ability to grow to fill available space" - }, - "!flex-wrap": { - "prefix": "!flex-wrap", - "body": [ - "flex-${1|-,!MQ|}${2|wrap,nowrap,wrap-reverse|}" - ], - "description": "!flex-wrap - utilities to toggle a flex itemโ€™s ability to grow to fill available space." - }, - "!flex-order": { - "prefix": "!flex-order", - "body": [ - "order-${1|-,!MQ|}${2|1,2,3,4,5,first,last|}" - ], - "description": "Flex Order - Change the visual order of specific flex items with a handful of order utilities." - } -} \ No newline at end of file diff --git a/my-snippets/B5-Snippets/templates/Untitled-1.html b/my-snippets/B5-Snippets/templates/Untitled-1.html deleted file mode 100644 index 2c9fb01..0000000 --- a/my-snippets/B5-Snippets/templates/Untitled-1.html +++ /dev/null @@ -1,4 +0,0 @@ - - -// ${2|primary,secondary,success,danger,warning,info,light,dark|} - diff --git a/my-snippets/B5-Snippets/templates/album.html b/my-snippets/B5-Snippets/templates/album.html deleted file mode 100644 index 2fb2c04..0000000 --- a/my-snippets/B5-Snippets/templates/album.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - - - - Album example ยท Bootstrap - - - - - - - - - - - - - - - - - -
    - - -
    - -
    - -
    -
    -
    -

    Album example

    -

    Something short and leading about the collection belowโ€”its contents, the creator, - etc. Make it short and sweet, but not too short so folks donโ€™t simply skip over it entirely.

    -

    - Main call to action - Secondary action -

    -
    -
    -
    - -
    -
    - -
    -
    -
    - - Placeholder - Thumbnail - - -
    -

    This is a wider card with supporting text below as a natural lead-in to additional - content. This content is a little bit longer.

    -
    -
    - - -
    - 9 mins -
    -
    -
    -
    -
    -
    - - Placeholder - Thumbnail - - -
    -

    This is a wider card with supporting text below as a natural lead-in to additional - content. This content is a little bit longer.

    -
    -
    - - -
    - 9 mins -
    -
    -
    -
    -
    -
    - - Placeholder - Thumbnail - - -
    -

    This is a wider card with supporting text below as a natural lead-in to additional - content. This content is a little bit longer.

    -
    -
    - - -
    - 9 mins -
    -
    -
    -
    - -
    -
    - - Placeholder - Thumbnail - - -
    -

    This is a wider card with supporting text below as a natural lead-in to additional - content. This content is a little bit longer.

    -
    -
    - - -
    - 9 mins -
    -
    -
    -
    -
    -
    - - Placeholder - Thumbnail - - -
    -

    This is a wider card with supporting text below as a natural lead-in to additional - content. This content is a little bit longer.

    -
    -
    - - -
    - 9 mins -
    -
    -
    -
    -
    -
    - - Placeholder - Thumbnail - - -
    -

    This is a wider card with supporting text below as a natural lead-in to additional - content. This content is a little bit longer.

    -
    -
    - - -
    - 9 mins -
    -
    -
    -
    - -
    -
    - - Placeholder - Thumbnail - - -
    -

    This is a wider card with supporting text below as a natural lead-in to additional - content. This content is a little bit longer.

    -
    -
    - - -
    - 9 mins -
    -
    -
    -
    -
    -
    - - Placeholder - Thumbnail - - -
    -

    This is a wider card with supporting text below as a natural lead-in to additional - content. This content is a little bit longer.

    -
    -
    - - -
    - 9 mins -
    -
    -
    -
    -
    -
    - - Placeholder - Thumbnail - - -
    -

    This is a wider card with supporting text below as a natural lead-in to additional - content. This content is a little bit longer.

    -
    -
    - - -
    - 9 mins -
    -
    -
    -
    -
    -
    -
    - -
    - - - - - - \ No newline at end of file diff --git a/my-snippets/B5-Snippets/templates/blocks/featured-post.html b/my-snippets/B5-Snippets/templates/blocks/featured-post.html deleted file mode 100644 index fc49c69..0000000 --- a/my-snippets/B5-Snippets/templates/blocks/featured-post.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - Bootstrap Site - - - - - -

    Hello-Bootstrap

    -
    - Utility -

    Featured post

    -
    Nov 12
    -

    This is a wider card with supporting text below as a natural - lead-in to additional content.

    - Continue reading -
    - - - -
    - Utility -

    Featured post

    -
    Nov 12
    -

    This is a wider card with supporting text below as a natural - lead-in to additional content.

    - Continue reading -
    \ No newline at end of file diff --git a/my-snippets/B5-Snippets/templates/blog.html b/my-snippets/B5-Snippets/templates/blog.html deleted file mode 100644 index 7fe95b1..0000000 --- a/my-snippets/B5-Snippets/templates/blog.html +++ /dev/null @@ -1,418 +0,0 @@ - - - - - - - - - - Blog Template ยท Bootstrap - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    - - - -
    -
    -

    Title of a longer featured blog post

    -

    Multiple lines of text that form the lede, informing new readers quickly and - efficiently about whatโ€™s most interesting in this postโ€™s contents.

    -

    Continue reading...

    -
    -
    - -
    -
    -
    -
    - World -

    Featured post

    -
    Nov 12
    -

    This is a wider card with supporting text below as a natural - lead-in to additional content.

    - Continue reading -
    -
    - - Placeholder - Thumbnail - - -
    -
    -
    -
    -
    -
    - Design -

    Post title

    -
    Nov 11
    -

    This is a wider card with supporting text below as a natural lead-in to - additional content.

    - Continue reading -
    -
    - - Placeholder - Thumbnail - - -
    -
    -
    -
    -
    - -
    -
    -
    -

    - From the Firehose -

    - -
    -

    Sample blog post

    - - -

    This blog post shows a few different types of content thatโ€™s supported and styled with Bootstrap. - Basic typography, images, and code are all supported.

    -
    -

    Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus - mus. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Sed posuere - consectetur est at lobortis. Cras mattis consectetur purus sit amet fermentum.

    -
    -

    Curabitur blandit tempus porttitor. Nullam quis risus eget urna mollis - ornare vel eu leo. Nullam id dolor id nibh ultricies vehicula ut id elit.

    -
    -

    Etiam porta sem malesuada magna mollis euismod. Cras mattis consectetur purus sit amet - fermentum. Aenean lacinia bibendum nulla sed consectetur.

    -

    Heading

    -

    Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non - commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Morbi leo risus, - porta ac consectetur ac, vestibulum at eros.

    -

    Sub-heading

    -

    Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.

    -
    Example code block
    -

    Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. - Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa.

    -

    Sub-heading

    -

    Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean - lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce - dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit - amet risus.

    -
      -
    • Praesent commodo cursus magna, vel scelerisque nisl consectetur et.
    • -
    • Donec id elit non mi porta gravida at eget metus.
    • -
    • Nulla vitae elit libero, a pharetra augue.
    • -
    -

    Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue. -

    -
      -
    1. Vestibulum id ligula porta felis euismod semper.
    2. -
    3. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
    4. -
    5. Maecenas sed diam eget risus varius blandit sit amet non magna.
    6. -
    -

    Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis.

    -
    - -
    -

    Another blog post

    - - -

    Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus - mus. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Sed posuere - consectetur est at lobortis. Cras mattis consectetur purus sit amet fermentum.

    -
    -

    Curabitur blandit tempus porttitor. Nullam quis risus eget urna mollis - ornare vel eu leo. Nullam id dolor id nibh ultricies vehicula ut id elit.

    -
    -

    Etiam porta sem malesuada magna mollis euismod. Cras mattis consectetur purus sit amet - fermentum. Aenean lacinia bibendum nulla sed consectetur.

    -

    Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non - commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Morbi leo risus, - porta ac consectetur ac, vestibulum at eros.

    -
    - -
    -

    New feature

    - - -

    Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean - lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce - dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit - amet risus.

    -
      -
    • Praesent commodo cursus magna, vel scelerisque nisl consectetur et.
    • -
    • Donec id elit non mi porta gravida at eget metus.
    • -
    • Nulla vitae elit libero, a pharetra augue.
    • -
    -

    Etiam porta sem malesuada magna mollis euismod. Cras mattis consectetur purus sit amet - fermentum. Aenean lacinia bibendum nulla sed consectetur.

    -

    Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue. -

    -
    - - - -
    - - - -
    - -
    - - - - - - - - \ No newline at end of file diff --git a/my-snippets/B5-Snippets/templates/carousel.html b/my-snippets/B5-Snippets/templates/carousel.html deleted file mode 100644 index 99677f4..0000000 --- a/my-snippets/B5-Snippets/templates/carousel.html +++ /dev/null @@ -1,370 +0,0 @@ - - - - - - - - - - Carousel Template ยท Bootstrap - - - - - - - - - - - - - - - - - - - -
    - -
    - -
    - - - - - - - -
    - - -
    -
    - - Placeholder - 140x140 - - -

    Heading

    -

    Donec sed odio dui. Etiam porta sem malesuada magna mollis euismod. Nullam id dolor id nibh ultricies - vehicula ut id elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Praesent commodo cursus - magna.

    -

    View details »

    -
    -
    - - Placeholder - 140x140 - - -

    Heading

    -

    Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras - mattis consectetur purus sit amet fermentum. Fusce dapibus, tellus ac cursus commodo, tortor mauris - condimentum nibh.

    -

    View details »

    -
    -
    - - Placeholder - 140x140 - - -

    Heading

    -

    Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta - felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum - massa justo sit amet risus.

    -

    View details »

    -
    -
    - - - - -
    - -
    -
    -

    First featurette heading. Itโ€™ll blow your mind. -

    -

    Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod - semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus - commodo.

    -
    -
    - - Placeholder - 500x500 - - -
    -
    - -
    - -
    -
    -

    Oh yeah, itโ€™s that good. See for yourself.

    -

    Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod - semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus - commodo.

    -
    -
    - - Placeholder - 500x500 - - -
    -
    - -
    - -
    -
    -

    And lastly, this one. Checkmate.

    -

    Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod - semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus - commodo.

    -
    -
    - - Placeholder - 500x500 - - -
    -
    - -
    - - - -
    - - - - -
    - - - - - - \ No newline at end of file diff --git a/my-snippets/B5-Snippets/templates/dashboard.html b/my-snippets/B5-Snippets/templates/dashboard.html deleted file mode 100644 index f960209..0000000 --- a/my-snippets/B5-Snippets/templates/dashboard.html +++ /dev/null @@ -1,396 +0,0 @@ - - - - - - - - - - Dashboard Template ยท Bootstrap - - - - - - - - - - - - - - - - -
    -
    - - -
    -
    -

    Dashboard

    -
    -
    - - -
    - -
    -
    - - - -

    Section title

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    #HeaderHeaderHeaderHeader
    1,001Loremipsumdolorsit
    1,002ametconsecteturadipiscingelit
    1,003IntegernecodioPraesent
    1,003liberoSedcursusante
    1,004dapibusdiamSednisi
    1,005Nullaquissemat
    1,006nibhelementumimperdietDuis
    1,007sagittisipsumPraesentmauris
    1,008Fuscenectellussed
    1,009auguesemperportaMauris
    1,010massaVestibulumlaciniaarcu
    1,011egetnullaClassaptent
    1,012tacitisociosquadlitora
    1,013torquentperconubianostra
    1,014perinceptoshimenaeosCurabitur
    1,015sodalesligulainlibero
    -
    -
    -
    -
    - - - - - - - - - - \ No newline at end of file diff --git a/my-snippets/B5-Snippets/templates/demo.html b/my-snippets/B5-Snippets/templates/demo.html deleted file mode 100644 index 213052b..0000000 --- a/my-snippets/B5-Snippets/templates/demo.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - Bootstrap Site - - - - - - -

    Hello-Bootstrap

    -
    - - \ No newline at end of file diff --git a/my-snippets/B5-Snippets/templates/favicon-32x32.png b/my-snippets/B5-Snippets/templates/favicon-32x32.png deleted file mode 100644 index ca0593a..0000000 Binary files a/my-snippets/B5-Snippets/templates/favicon-32x32.png and /dev/null differ diff --git a/my-snippets/B5-Snippets/templates/grid.html b/my-snippets/B5-Snippets/templates/grid.html deleted file mode 100644 index c007946..0000000 --- a/my-snippets/B5-Snippets/templates/grid.html +++ /dev/null @@ -1,244 +0,0 @@ - - - - - - - - - - Grid Template ยท Bootstrap - - - - - - - - - - - - - - - - - - - - -
    - -

    Bootstrap grid examples

    -

    Basic grid layouts to get you familiar with building within the Bootstrap grid system.

    -

    In these examples the .themed-grid-col class is added to the columns to add some theming. This - is not a class that is available in Bootstrap by default.

    - -

    Five grid tiers

    -

    There are five tiers to the Bootstrap grid system, one for each range of devices we support. Each tier starts - at a minimum viewport size and automatically applies to the larger devices unless overridden.

    - -
    -
    .col-4
    -
    .col-4
    -
    .col-4
    -
    - -
    -
    .col-sm-4
    -
    .col-sm-4
    -
    .col-sm-4
    -
    - -
    -
    .col-md-4
    -
    .col-md-4
    -
    .col-md-4
    -
    - -
    -
    .col-lg-4
    -
    .col-lg-4
    -
    .col-lg-4
    -
    - -
    -
    .col-xl-4
    -
    .col-xl-4
    -
    .col-xl-4
    -
    - -
    -
    .col-xxl-4
    -
    .col-xxl-4
    -
    .col-xxl-4
    -
    - -

    Three equal columns

    -

    Get three equal-width columns starting at desktops and scaling to large desktops. On mobile - devices, tablets and below, the columns will automatically stack.

    -
    -
    .col-md-4
    -
    .col-md-4
    -
    .col-md-4
    -
    - -

    Three equal columns alternative

    -

    By using the .row-cols-* classes, you can easily create a grid with equal columns.

    -
    -
    .col child of .row-cols-md-3
    -
    .col child of .row-cols-md-3
    -
    .col child of .row-cols-md-3
    -
    - -

    Three unequal columns

    -

    Get three columns starting at desktops and scaling to large desktops of various widths. - Remember, grid columns should add up to twelve for a single horizontal block. More than that, and columns - start stacking no matter the viewport.

    -
    -
    .col-md-3
    -
    .col-md-6
    -
    .col-md-3
    -
    - -

    Two columns

    -

    Get two columns starting at desktops and scaling to large desktops.

    -
    -
    .col-md-8
    -
    .col-md-4
    -
    - -

    Full width, single column

    -

    - No grid classes are necessary for full-width elements. -

    - -
    - -

    Two columns with two nested columns

    -

    Per the documentation, nesting is easyโ€”just put a row of columns within an existing column. This gives you - two columns starting at desktops and scaling to large desktops, with another two (equal - widths) within the larger column.

    -

    At mobile device sizes, tablets and down, these columns and their nested columns will stack.

    -
    -
    -
    - .col-md-8 -
    -
    -
    .col-md-6
    -
    .col-md-6
    -
    -
    -
    .col-md-4
    -
    - -
    - -

    Mixed: mobile and desktop

    -

    The Bootstrap v4 grid system has five tiers of classes: xs (extra small, this class infix is not used), sm - (small), md (medium), lg (large), and xl (extra large). You can use nearly any combination of these classes - to create more dynamic and flexible layouts.

    -

    Each tier of classes scales up, meaning if you plan on setting the same widths for md, lg and xl, you only - need to specify md.

    -
    -
    .col-md-8
    -
    .col-6 .col-md-4
    -
    -
    -
    .col-6 .col-md-4
    -
    .col-6 .col-md-4
    -
    .col-6 .col-md-4
    -
    -
    -
    .col-6
    -
    .col-6
    -
    - -
    - -

    Mixed: mobile, tablet, and desktop

    -
    -
    .col-sm-6 .col-lg-8
    -
    .col-6 .col-lg-4
    -
    -
    -
    .col-6 .col-sm-4
    -
    .col-6 .col-sm-4
    -
    .col-6 .col-sm-4
    -
    - -
    - -

    Gutters

    -

    With .gx-* classes, the horizontal gutters can be adjusted.

    -
    -
    .col with .gx-4 gutters
    -
    .col with .gx-4 gutters
    -
    .col with .gx-4 gutters
    -
    .col with .gx-4 gutters
    -
    .col with .gx-4 gutters
    -
    .col with .gx-4 gutters
    -
    -

    Use the .gy-* classes to control the vertical gutters.

    -
    -
    .col with .gy-4 gutters
    -
    .col with .gy-4 gutters
    -
    .col with .gy-4 gutters
    -
    .col with .gy-4 gutters
    -
    .col with .gy-4 gutters
    -
    .col with .gy-4 gutters
    -
    -

    With .g-* classes, the gutters in both directions can be adjusted.

    -
    -
    .col with .g-3 gutters
    -
    .col with .g-3 gutters
    -
    .col with .g-3 gutters
    -
    .col with .g-3 gutters
    -
    .col with .g-3 gutters
    -
    .col with .g-3 gutters
    -
    -
    - -
    -
    - -

    Containers

    -

    Additional classes added in Bootstrap v4.4 allow containers that are 100% wide until a particular breakpoint. - v5 adds a new xxl breakpoint.

    -
    - -
    .container
    -
    .container-sm
    -
    .container-md
    -
    .container-lg
    -
    .container-xl
    -
    .container-xxl
    -
    .container-fluid
    - - - - - - \ No newline at end of file diff --git a/my-snippets/B5-Snippets/templates/hello.html b/my-snippets/B5-Snippets/templates/hello.html deleted file mode 100644 index 45b0450..0000000 --- a/my-snippets/B5-Snippets/templates/hello.html +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - ${1:Bootstrap Site} - - - - - - - - - - - - \ No newline at end of file diff --git a/my-snippets/B5-Snippets/templates/kitchen.html b/my-snippets/B5-Snippets/templates/kitchen.html deleted file mode 100644 index 47374a1..0000000 --- a/my-snippets/B5-Snippets/templates/kitchen.html +++ /dev/null @@ -1,3804 +0,0 @@ - - - - - - - ${1:Bootstrap Site} - - - - - - -
    -
    -
    - - -

    Headings

    -
    -

    h1. Bootstrap heading

    -

    h2. Bootstrap heading

    -

    h3. Bootstrap heading

    -

    h4. Bootstrap heading

    -
    h5. Bootstrap heading
    -
    h6. Bootstrap heading
    -
    <h1>h1. Bootstrap heading</h1>
    -<h2>h2. Bootstrap heading</h2>
    -<h3>h3. Bootstrap heading</h3>
    -<h4>h4. Bootstrap heading</h4>
    -<h5>h5. Bootstrap heading</h5>
    -<h6>h6. Bootstrap heading</h6>
    -

    Display headings

    -
    -

    Display 1

    -

    Display 2

    -

    Display 3

    -

    Display 4

    -
    <h1 class="display-1">Display 1</h1>
    -<h1 class="display-2">Display 2</h1>
    -<h1 class="display-3">Display 3</h1>
    -<h1 class="display-4">Display 4</h1>
    -

    Lead

    -
    -

    Lorem ipsum dolor sit, amet consectetur adipisicing elit. Enim alias beatae sed dignissimos - expedita inventore totam eius ut pariatur, quidem maxime, aut asperiores repellat. Labore laborum eius - quibusdam placeat ratione.

    -

    Lorem ipsum dolor sit, amet consectetur adipisicing elit. Enim alias beatae sed dignissimos expedita - inventore totam eius ut pariatur, quidem maxime, aut asperiores repellat. Labore laborum eius quibusdam - placeat ratione.

    -
    <p class="lead">Lorem ipsum dolor sit, amet consectetur adipisicing elit. Enim alias beatae sed dignissimos expedita inventore totam eius ut pariatur, quidem maxime, aut asperiores repellat. Labore laborum eius quibusdam placeat ratione.</p>
    -<p>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Enim alias beatae sed dignissimos expedita inventore totam eius ut pariatur, quidem maxime, aut asperiores repellat. Labore laborum eius quibusdam placeat ratione.</p>
    -

    Inline text elements

    -
    -

    You can use the mark tag to highlight text.

    -

    This line of text is meant to be treated as deleted text.

    -

    This line of text is meant to be treated as no longer accurate.

    -

    This line of text is meant to be treated as an addition to the document.

    -

    This line of text will render as underlined

    -

    This line of text is meant to be treated as fine print.

    -

    This line rendered as bold text.

    -

    This line rendered as italicized text.

    -
    <p>You can use the mark tag to <mark>highlight</mark> text.</p>
    -<p><del>This line of text is meant to be treated as deleted text.</del></p>
    -<p><s>This line of text is meant to be treated as no longer accurate.</s></p>
    -<p><ins>This line of text is meant to be treated as an addition to the document.</ins></p>
    -<p><u>This line of text will render as underlined</u></p>
    -<p><small>This line of text is meant to be treated as fine print.</small></p>
    -<p><strong>This line rendered as bold text.</strong></p>
    -<p><em>This line rendered as italicized text.</em></p>
    -

    Abbreviations

    -
    -

    attr

    -

    HTML

    -
    <p><abbr title="attribute">attr</abbr></p>
    -<p><abbr title="HyperText Markup Language" class="initialism">HTML</abbr></p>
    -

    Blockquotes

    -
    -
    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

    -
    - -
    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

    -
    Someone famous in Source Title
    -
    - -
    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

    -
    Someone famous in Source Title
    -
    - -
    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

    -
    Someone famous in Source Title
    -
    -
    <blockquote class="blockquote">
    -<p class="mb-0">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.</p>
    -</blockquote>
    -
    -<blockquote class="blockquote">
    -<p class="mb-0">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.</p>
    -<footer class="blockquote-footer">Someone famous in <cite title="Source Title">Source Title</cite></footer>
    -</blockquote>
    -
    -<blockquote class="blockquote text-center">
    -<p class="mb-0">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.</p>
    -<footer class="blockquote-footer">Someone famous in <cite title="Source Title">Source Title</cite></footer>
    -</blockquote>
    -
    -<blockquote class="blockquote text-right">
    -<p class="mb-0">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.</p>
    -<footer class="blockquote-footer">Someone famous in <cite title="Source Title">Source Title</cite></footer>
    -</blockquote>
    -

    Lists

    -
    -
      -
    • Lorem ipsum dolor sit amet
    • -
    • Consectetur adipiscing elit
    • -
    • Integer molestie lorem at massa
    • -
    • Facilisis in pretium nisl aliquet
    • -
    • Nulla volutpat aliquam velit -
        -
      • Phasellus iaculis neque
      • -
      • Purus sodales ultricies
      • -
      • Vestibulum laoreet porttitor sem
      • -
      • Ac tristique libero volutpat at
      • -
      -
    • -
    • Faucibus porta lacus fringilla vel
    • -
    • Aenean sit amet erat nunc
    • -
    • Eget porttitor lorem
    • -
    - -
      -
    • Lorem ipsum
    • -
    • Phasellus iaculis
    • -
    • Nulla volutpat
    • -
    -
    <ul class="list-unstyled">
    -<li>Lorem ipsum dolor sit amet</li>
    -<li>Consectetur adipiscing elit</li>
    -<li>Integer molestie lorem at massa</li>
    -<li>Facilisis in pretium nisl aliquet</li>
    -<li>Nulla volutpat aliquam velit
    -<ul>
    -  <li>Phasellus iaculis neque</li>
    -  <li>Purus sodales ultricies</li>
    -  <li>Vestibulum laoreet porttitor sem</li>
    -  <li>Ac tristique libero volutpat at</li>
    -</ul>
    -</li>
    -<li>Faucibus porta lacus fringilla vel</li>
    -<li>Aenean sit amet erat nunc</li>
    -<li>Eget porttitor lorem</li>
    -</ul>
    -
    -<ul class="list-inline">
    -<li class="list-inline-item">Lorem ipsum</li>
    -<li class="list-inline-item">Phasellus iaculis</li>
    -<li class="list-inline-item">Nulla volutpat</li>
    -</ul>
    -

    Inline code

    -
    For example, <section> should be wrapped as inline. -
    For example, <code>&lt;section&gt;</code> should be wrapped as inline.
    -

    Code blocks

    -
    -
    <p>Sample text here...</p>
    -<p>And another line of sample text here...</p>
    -
    -
    <pre><code>&lt;p&gt;Sample text here...&lt;/p&gt;
    -&lt;p&gt;And another line of sample text here...&lt;/p&gt;
    -</code></pre>
    -

    Variables

    -
    y = mx + b -
    <var>y</var> = <var>m</var><var>x</var> + <var>b</var>
    -

    User input

    -
    To switch directories, type cd followed by the name of the directory.
    - To edit settings, press ctrl + , -
    To switch directories, type <kbd>cd</kbd> followed by the name of the directory.<br>
    -To edit settings, press <kbd><kbd>ctrl</kbd> + <kbd>,</kbd></kbd>
    -

    Sample output

    -
    This text is meant to be treated as sample output from a computer program. -
    <samp>This text is meant to be treated as sample output from a computer program.</samp>
    -

    Responsive images

    -
    Responsive image -
    <img src="http://via.placeholder.com/900x200" class="img-fluid" alt="Responsive image">
    -

    Image thumbnails

    -
    ... -
    <img src="http://via.placeholder.com/200x200" alt="..." class="img-thumbnail">
    -

    Aligning images

    -
    -
    -
    ... - ...
    -
    -
    <img src="http://via.placeholder.com/200x200" class="rounded float-left" alt="...">
    -<img src="http://via.placeholder.com/200x200" class="rounded float-right" alt="...">
    -
    -
    ... -
    -
    -
    <img src="http://via.placeholder.com/200x200" class="rounded mx-auto d-block" alt="...">
    -
    -
    -
    - ... -
    -
    -
    -
    <div class="text-center">
    -<img src="http://via.placeholder.com/200x200" class="rounded" alt="...">
    -</div>
    -

    Tables

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    #FirstLastHandle
    1MarkOtto@mdo
    2JacobThornton@fat
    3Larrythe Bird@twitter
    -
    <table class="table">
    -<thead>
    -<tr>
    -  <th scope="col">#</th>
    -  <th scope="col">First</th>
    -  <th scope="col">Last</th>
    -  <th scope="col">Handle</th>
    -</tr>
    -</thead>
    -<tbody>
    -<tr>
    -  <th scope="row">1</th>
    -  <td>Mark</td>
    -  <td>Otto</td>
    -  <td>@mdo</td>
    -</tr>
    -<tr>
    -  <th scope="row">2</th>
    -  <td>Jacob</td>
    -  <td>Thornton</td>
    -  <td>@fat</td>
    -</tr>
    -<tr>
    -  <th scope="row">3</th>
    -  <td>Larry</td>
    -  <td>the Bird</td>
    -  <td>@twitter</td>
    -</tr>
    -</tbody>
    -</table>
    -

    Table head options

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    #FirstLastHandle
    1MarkOtto@mdo
    2JacobThornton@fat
    3Larrythe Bird@twitter
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    #FirstLastHandle
    1MarkOtto@mdo
    2JacobThornton@fat
    3Larrythe Bird@twitter
    -
    <table class="table">
    -<thead class="thead-dark">
    -<tr>
    -  <th scope="col">#</th>
    -  <th scope="col">First</th>
    -  <th scope="col">Last</th>
    -  <th scope="col">Handle</th>
    -</tr>
    -</thead>
    -<tbody>
    -<tr>
    -  <th scope="row">1</th>
    -  <td>Mark</td>
    -  <td>Otto</td>
    -  <td>@mdo</td>
    -</tr>
    -<tr>
    -  <th scope="row">2</th>
    -  <td>Jacob</td>
    -  <td>Thornton</td>
    -  <td>@fat</td>
    -</tr>
    -<tr>
    -  <th scope="row">3</th>
    -  <td>Larry</td>
    -  <td>the Bird</td>
    -  <td>@twitter</td>
    -</tr>
    -</tbody>
    -</table>
    -
    -<table class="table">
    -<thead class="thead-light">
    -<tr>
    -  <th scope="col">#</th>
    -  <th scope="col">First</th>
    -  <th scope="col">Last</th>
    -  <th scope="col">Handle</th>
    -</tr>
    -</thead>
    -<tbody>
    -<tr>
    -  <th scope="row">1</th>
    -  <td>Mark</td>
    -  <td>Otto</td>
    -  <td>@mdo</td>
    -</tr>
    -<tr>
    -  <th scope="row">2</th>
    -  <td>Jacob</td>
    -  <td>Thornton</td>
    -  <td>@fat</td>
    -</tr>
    -<tr>
    -  <th scope="row">3</th>
    -  <td>Larry</td>
    -  <td>the Bird</td>
    -  <td>@twitter</td>
    -</tr>
    -</tbody>
    -</table>
    -

    Striped rows

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    #FirstLastHandle
    1MarkOtto@mdo
    2JacobThornton@fat
    3Larrythe Bird@twitter
    -
    <table class="table table-striped">
    -<thead>
    -<tr>
    -  <th scope="col">#</th>
    -  <th scope="col">First</th>
    -  <th scope="col">Last</th>
    -  <th scope="col">Handle</th>
    -</tr>
    -</thead>
    -<tbody>
    -<tr>
    -  <th scope="row">1</th>
    -  <td>Mark</td>
    -  <td>Otto</td>
    -  <td>@mdo</td>
    -</tr>
    -<tr>
    -  <th scope="row">2</th>
    -  <td>Jacob</td>
    -  <td>Thornton</td>
    -  <td>@fat</td>
    -</tr>
    -<tr>
    -  <th scope="row">3</th>
    -  <td>Larry</td>
    -  <td>the Bird</td>
    -  <td>@twitter</td>
    -</tr>
    -</tbody>
    -</table>
    -

    Bordered table

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    #FirstLastHandle
    1MarkOtto@mdo
    2JacobThornton@fat
    3Larry the Bird@twitter
    -
    <table class="table table-bordered">
    -<thead>
    -<tr>
    -  <th scope="col">#</th>
    -  <th scope="col">First</th>
    -  <th scope="col">Last</th>
    -  <th scope="col">Handle</th>
    -</tr>
    -</thead>
    -<tbody>
    -<tr>
    -  <th scope="row">1</th>
    -  <td>Mark</td>
    -  <td>Otto</td>
    -  <td>@mdo</td>
    -</tr>
    -<tr>
    -  <th scope="row">2</th>
    -  <td>Jacob</td>
    -  <td>Thornton</td>
    -  <td>@fat</td>
    -</tr>
    -<tr>
    -  <th scope="row">3</th>
    -  <td colspan="2">Larry the Bird</td>
    -  <td>@twitter</td>
    -</tr>
    -</tbody>
    -</table>
    -

    Borderless table

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    #FirstLastHandle
    1MarkOtto@mdo
    2JacobThornton@fat
    3Larry the Bird@twitter
    -
    <table class="table table-borderless">
    -<thead>
    -<tr>
    -  <th scope="col">#</th>
    -  <th scope="col">First</th>
    -  <th scope="col">Last</th>
    -  <th scope="col">Handle</th>
    -</tr>
    -</thead>
    -<tbody>
    -<tr>
    -  <th scope="row">1</th>
    -  <td>Mark</td>
    -  <td>Otto</td>
    -  <td>@mdo</td>
    -</tr>
    -<tr>
    -  <th scope="row">2</th>
    -  <td>Jacob</td>
    -  <td>Thornton</td>
    -  <td>@fat</td>
    -</tr>
    -<tr>
    -  <th scope="row">3</th>
    -  <td colspan="2">Larry the Bird</td>
    -  <td>@twitter</td>
    -</tr>
    -</tbody>
    -</table>
    -

    Hoverable rows

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    #FirstLastHandle
    1MarkOtto@mdo
    2JacobThornton@fat
    3Larry the Bird@twitter
    -
    <table class="table table-hover">
    -<thead>
    -<tr>
    -  <th scope="col">#</th>
    -  <th scope="col">First</th>
    -  <th scope="col">Last</th>
    -  <th scope="col">Handle</th>
    -</tr>
    -</thead>
    -<tbody>
    -<tr>
    -  <th scope="row">1</th>
    -  <td>Mark</td>
    -  <td>Otto</td>
    -  <td>@mdo</td>
    -</tr>
    -<tr>
    -  <th scope="row">2</th>
    -  <td>Jacob</td>
    -  <td>Thornton</td>
    -  <td>@fat</td>
    -</tr>
    -<tr>
    -  <th scope="row">3</th>
    -  <td colspan="2">Larry the Bird</td>
    -  <td>@twitter</td>
    -</tr>
    -</tbody>
    -</table>
    -

    Small table

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    #FirstLastHandle
    1MarkOtto@mdo
    2JacobThornton@fat
    3Larry the Bird@twitter
    -
    <table class="table table-sm">
    -<thead>
    -<tr>
    -  <th scope="col">#</th>
    -  <th scope="col">First</th>
    -  <th scope="col">Last</th>
    -  <th scope="col">Handle</th>
    -</tr>
    -</thead>
    -<tbody>
    -<tr>
    -  <th scope="row">1</th>
    -  <td>Mark</td>
    -  <td>Otto</td>
    -  <td>@mdo</td>
    -</tr>
    -<tr>
    -  <th scope="row">2</th>
    -  <td>Jacob</td>
    -  <td>Thornton</td>
    -  <td>@fat</td>
    -</tr>
    -<tr>
    -  <th scope="row">3</th>
    -  <td colspan="2">Larry the Bird</td>
    -  <td>@twitter</td>
    -</tr>
    -</tbody>
    -</table>
    -

    Contextual classes

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ClassHeadingHeading
    ActiveCellCell
    DefaultCellCell
    PrimaryCellCell
    SecondaryCellCell
    SuccessCellCell
    DangerCellCell
    WarningCellCell
    InfoCellCell
    LightCellCell
    DarkCellCell
    -
    <!-- On rows -->
    -<tr class="table-active">...</tr>
    -
    -<tr class="table-primary">...</tr>
    -<tr class="table-secondary">...</tr>
    -<tr class="table-success">...</tr>
    -<tr class="table-danger">...</tr>
    -<tr class="table-warning">...</tr>
    -<tr class="table-info">...</tr>
    -<tr class="table-light">...</tr>
    -<tr class="table-dark">...</tr>
    -
    -<!-- On cells (`td` or `th`) -->
    -<tr>
    -<td class="table-active">...</td>
    -
    -<td class="table-primary">...</td>
    -<td class="table-secondary">...</td>
    -<td class="table-success">...</td>
    -<td class="table-danger">...</td>
    -<td class="table-warning">...</td>
    -<td class="table-info">...</td>
    -<td class="table-light">...</td>
    -<td class="table-dark">...</td>
    -</tr>
    -

    Alerts

    -
    - - - - - - - - -
    <div class="alert alert-primary" role="alert">
    -A simple primary alertโ€”check it out!
    -</div>
    -<div class="alert alert-secondary" role="alert">
    -A simple secondary alertโ€”check it out!
    -</div>
    -<div class="alert alert-success" role="alert">
    -A simple success alertโ€”check it out!
    -</div>
    -<div class="alert alert-danger" role="alert">
    -A simple danger alertโ€”check it out!
    -</div>
    -<div class="alert alert-warning" role="alert">
    -A simple warning alertโ€”check it out!
    -</div>
    -<div class="alert alert-info" role="alert">
    -A simple info alertโ€”check it out!
    -</div>
    -<div class="alert alert-light" role="alert">
    -A simple light alertโ€”check it out!
    -</div>
    -<div class="alert alert-dark" role="alert">
    -A simple dark alertโ€”check it out!
    -</div>
    -

    Alerts > Link color

    -
    - - - - - - - - -
    <div class="alert alert-primary" role="alert">
    -A simple primary alert with <a href="#" class="alert-link">an example link</a>. Give it a click if you like.
    -</div>
    -<div class="alert alert-secondary" role="alert">
    -A simple secondary alert with <a href="#" class="alert-link">an example link</a>. Give it a click if you like.
    -</div>
    -<div class="alert alert-success" role="alert">
    -A simple success alert with <a href="#" class="alert-link">an example link</a>. Give it a click if you like.
    -</div>
    -<div class="alert alert-danger" role="alert">
    -A simple danger alert with <a href="#" class="alert-link">an example link</a>. Give it a click if you like.
    -</div>
    -<div class="alert alert-warning" role="alert">
    -A simple warning alert with <a href="#" class="alert-link">an example link</a>. Give it a click if you like.
    -</div>
    -<div class="alert alert-info" role="alert">
    -A simple info alert with <a href="#" class="alert-link">an example link</a>. Give it a click if you like.
    -</div>
    -<div class="alert alert-light" role="alert">
    -A simple light alert with <a href="#" class="alert-link">an example link</a>. Give it a click if you like.
    -</div>
    -<div class="alert alert-dark" role="alert">
    -A simple dark alert with <a href="#" class="alert-link">an example link</a>. Give it a click if you like.
    -</div>
    -

    Badges

    -
    Primary - Secondary - Success - Danger - Warning - Info - Light - Dark -
    <span class="badge badge-primary">Primary</span>
    -<span class="badge badge-secondary">Secondary</span>
    -<span class="badge badge-success">Success</span>
    -<span class="badge badge-danger">Danger</span>
    -<span class="badge badge-warning">Warning</span>
    -<span class="badge badge-info">Info</span>
    -<span class="badge badge-light">Light</span>
    -<span class="badge badge-dark">Dark</span>
    -

    Badges > Pills

    -
    Primary - Secondary - Success - Danger - Warning - Info - Light - Dark -
    <span class="badge badge-pill badge-primary">Primary</span>
    -<span class="badge badge-pill badge-secondary">Secondary</span>
    -<span class="badge badge-pill badge-success">Success</span>
    -<span class="badge badge-pill badge-danger">Danger</span>
    -<span class="badge badge-pill badge-warning">Warning</span>
    -<span class="badge badge-pill badge-info">Info</span>
    -<span class="badge badge-pill badge-light">Light</span>
    -<span class="badge badge-pill badge-dark">Dark</span>
    -

    Badges > Links

    -
    Primary - Secondary - Success - Danger - Warning - Info - Light - Dark -
    <a href="#" class="badge badge-primary">Primary</a>
    -<a href="#" class="badge badge-secondary">Secondary</a>
    -<a href="#" class="badge badge-success">Success</a>
    -<a href="#" class="badge badge-danger">Danger</a>
    -<a href="#" class="badge badge-warning">Warning</a>
    -<a href="#" class="badge badge-info">Info</a>
    -<a href="#" class="badge badge-light">Light</a>
    -<a href="#" class="badge badge-dark">Dark</a>
    -

    Badges > In Elements

    -
    -

    Example heading New

    -

    Example heading New

    -

    Example heading New

    -

    Example heading New

    -
    Example heading New
    -
    Example heading New
    -
    <h1>Example heading <span class="badge badge-secondary">New</span></h1>
    -<h2>Example heading <span class="badge badge-secondary">New</span></h2>
    -<h3>Example heading <span class="badge badge-secondary">New</span></h3>
    -<h4>Example heading <span class="badge badge-secondary">New</span></h4>
    -<h5>Example heading <span class="badge badge-secondary">New</span></h5>
    -<h6>Example heading <span class="badge badge-secondary">New</span></h6>
    -

    Badges > In Buttons

    -
    -
    <button type="button" class="btn btn-primary">
    -Notifications <span class="badge badge-light">4</span>
    -</button>
    -

    Breadcrumbs

    -
    - - - - - -
    <nav aria-label="breadcrumb">
    -<ol class="breadcrumb">
    -<li class="breadcrumb-item active" aria-current="page">Home</li>
    -</ol>
    -</nav>
    -
    -<nav aria-label="breadcrumb">
    -<ol class="breadcrumb">
    -<li class="breadcrumb-item"><a href="#">Home</a></li>
    -<li class="breadcrumb-item active" aria-current="page">Library</li>
    -</ol>
    -</nav>
    -
    -<nav aria-label="breadcrumb">
    -<ol class="breadcrumb">
    -<li class="breadcrumb-item"><a href="#">Home</a></li>
    -<li class="breadcrumb-item"><a href="#">Library</a></li>
    -<li class="breadcrumb-item active" aria-current="page">Data</li>
    -</ol>
    -</nav>
    -

    Buttons

    -
    - - - - - - - - - -
    <button type="button" class="btn btn-primary">Primary</button>
    -<button type="button" class="btn btn-secondary">Secondary</button>
    -<button type="button" class="btn btn-success">Success</button>
    -<button type="button" class="btn btn-danger">Danger</button>
    -<button type="button" class="btn btn-warning">Warning</button>
    -<button type="button" class="btn btn-info">Info</button>
    -<button type="button" class="btn btn-light">Light</button>
    -<button type="button" class="btn btn-dark">Dark</button>
    -
    -<button type="button" class="btn btn-link">Link</button>
    -

    Buttons > Outline

    -
    - - - - - - - -
    <button type="button" class="btn btn-outline-primary">Primary</button>
    -<button type="button" class="btn btn-outline-secondary">Secondary</button>
    -<button type="button" class="btn btn-outline-success">Success</button>
    -<button type="button" class="btn btn-outline-danger">Danger</button>
    -<button type="button" class="btn btn-outline-warning">Warning</button>
    -<button type="button" class="btn btn-outline-info">Info</button>
    -<button type="button" class="btn btn-outline-light">Light</button>
    -<button type="button" class="btn btn-outline-dark">Dark</button>
    -

    Buttons > Sizes

    -
    - - -

    - - - - -

    - - - -
    <button type="button" class="btn btn-primary btn-sm">Small button</button>
    -<button type="button" class="btn btn-secondary btn-sm">Small button</button>
    -
    -<br><br>
    -
    -<button type="button" class="btn btn-primary">Normal button</button>
    -<button type="button" class="btn btn-secondary">Normal button</button>
    -
    -<br><br>
    -
    -<button type="button" class="btn btn-primary btn-lg">Large button</button>
    -<button type="button" class="btn btn-secondary btn-lg">Large button</button>
    -

    Button groups

    -
    -
    - - - -
    -
    <div class="btn-group" role="group" aria-label="Basic example">
    -<button type="button" class="btn btn-secondary">Left</button>
    -<button type="button" class="btn btn-secondary">Middle</button>
    -<button type="button" class="btn btn-secondary">Right</button>
    -</div>
    -

    Button groups > Vertical

    -
    -
    - - - -
    -
    <div class="btn-group-vertical" role="group" aria-label="Basic example">
    -<button type="button" class="btn btn-secondary">First</button>
    -<button type="button" class="btn btn-secondary">Second</button>
    -<button type="button" class="btn btn-secondary">Third</button>
    -</div>
    -

    Button groups > Button Toolbar

    -
    - -
    <div class="btn-toolbar" role="toolbar" aria-label="Toolbar with button groups">
    -<div class="btn-group mr-2" role="group" aria-label="First group">
    -<button type="button" class="btn btn-secondary">1</button>
    -<button type="button" class="btn btn-secondary">2</button>
    -<button type="button" class="btn btn-secondary">3</button>
    -<button type="button" class="btn btn-secondary">4</button>
    -</div>
    -<div class="btn-group mr-2" role="group" aria-label="Second group">
    -<button type="button" class="btn btn-secondary">5</button>
    -<button type="button" class="btn btn-secondary">6</button>
    -<button type="button" class="btn btn-secondary">7</button>
    -</div>
    -<div class="btn-group" role="group" aria-label="Third group">
    -<button type="button" class="btn btn-secondary">8</button>
    -</div>
    -</div>
    -

    Button groups > Sizing

    -
    -
    - - - -
    - -

    - -
    - - - -
    - -

    - -
    - - - -
    -
    <div class="btn-group btn-group-sm" role="group" aria-label="Basic example">
    -<button type="button" class="btn btn-secondary">Left</button>
    -<button type="button" class="btn btn-secondary">Middle</button>
    -<button type="button" class="btn btn-secondary">Right</button>
    -</div>
    -
    -<br><br>
    -
    -<div class="btn-group" role="group" aria-label="Basic example">
    -<button type="button" class="btn btn-secondary">Left</button>
    -<button type="button" class="btn btn-secondary">Middle</button>
    -<button type="button" class="btn btn-secondary">Right</button>
    -</div>
    -
    -<br><br>
    -
    -<div class="btn-group btn-group-lg" role="group" aria-label="Basic example">
    -<button type="button" class="btn btn-secondary">Left</button>
    -<button type="button" class="btn btn-secondary">Middle</button>
    -<button type="button" class="btn btn-secondary">Right</button>
    -</div>
    -

    Cards

    -
    -
    - Card image cap - -
    -
    Card title
    -

    Some quick example text to build on the card title and make up the bulk of the card's - content.

    - Go somewhere -
    -
    -
    <div class="card" style="width: 18rem;">
    -<img class="card-img-top" src="http://via.placeholder.com/286x180" alt="Card image cap">
    -
    -<div class="card-body">
    -<h5 class="card-title">Card title</h5>
    -<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
    -<a href="#" class="btn btn-primary">Go somewhere</a>
    -</div>
    -</div>
    -

    Cards (No Image)

    -
    -
    -
    -
    Card title
    -
    Card subtitle
    -

    Some quick example text to build on the card title and make up the bulk of the card's - content.

    - Card link - Another link -
    -
    -
    <div class="card" style="width: 18rem;">
    -<div class="card-body">
    -<h5 class="card-title">Card title</h5>
    -<h6 class="card-subtitle mb-2 text-muted">Card subtitle</h6>
    -<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
    -<a href="#" class="card-link">Card link</a>
    -<a href="#" class="card-link">Another link</a>
    -</div>
    -</div>
    -

    Cards > Card styles

    -
    -
    -
    Header
    -
    -
    Primary card title
    -

    Some quick example text to build on the card title and make up the bulk of the card's - content.

    -
    -
    -
    -
    Header
    -
    -
    Secondary card title
    -

    Some quick example text to build on the card title and make up the bulk of the card's - content.

    -
    -
    -
    -
    Header
    -
    -
    Success card title
    -

    Some quick example text to build on the card title and make up the bulk of the card's - content.

    -
    -
    -
    -
    Header
    -
    -
    Danger card title
    -

    Some quick example text to build on the card title and make up the bulk of the card's - content.

    -
    -
    -
    -
    Header
    -
    -
    Warning card title
    -

    Some quick example text to build on the card title and make up the bulk of the card's - content.

    -
    -
    -
    -
    Header
    -
    -
    Info card title
    -

    Some quick example text to build on the card title and make up the bulk of the card's - content.

    -
    -
    -
    -
    Header
    -
    -
    Light card title
    -

    Some quick example text to build on the card title and make up the bulk of the card's - content.

    -
    -
    -
    -
    Header
    -
    -
    Dark card title
    -

    Some quick example text to build on the card title and make up the bulk of the card's - content.

    -
    -
    -
    <div class="card text-white bg-primary mb-3" style="max-width: 18rem;">
    -<div class="card-header">Header</div>
    -<div class="card-body">
    -<h5 class="card-title">Primary card title</h5>
    -<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
    -</div>
    -</div>
    -<div class="card text-white bg-secondary mb-3" style="max-width: 18rem;">
    -<div class="card-header">Header</div>
    -<div class="card-body">
    -<h5 class="card-title">Secondary card title</h5>
    -<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
    -</div>
    -</div>
    -<div class="card text-white bg-success mb-3" style="max-width: 18rem;">
    -<div class="card-header">Header</div>
    -<div class="card-body">
    -<h5 class="card-title">Success card title</h5>
    -<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
    -</div>
    -</div>
    -<div class="card text-white bg-danger mb-3" style="max-width: 18rem;">
    -<div class="card-header">Header</div>
    -<div class="card-body">
    -<h5 class="card-title">Danger card title</h5>
    -<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
    -</div>
    -</div>
    -<div class="card text-white bg-warning mb-3" style="max-width: 18rem;">
    -<div class="card-header">Header</div>
    -<div class="card-body">
    -<h5 class="card-title">Warning card title</h5>
    -<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
    -</div>
    -</div>
    -<div class="card text-white bg-info mb-3" style="max-width: 18rem;">
    -<div class="card-header">Header</div>
    -<div class="card-body">
    -<h5 class="card-title">Info card title</h5>
    -<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
    -</div>
    -</div>
    -<div class="card bg-light mb-3" style="max-width: 18rem;">
    -<div class="card-header">Header</div>
    -<div class="card-body">
    -<h5 class="card-title">Light card title</h5>
    -<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
    -</div>
    -</div>
    -<div class="card text-white bg-dark mb-3" style="max-width: 18rem;">
    -<div class="card-header">Header</div>
    -<div class="card-body">
    -<h5 class="card-title">Dark card title</h5>
    -<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
    -</div>
    -</div>
    -

    Cards > Card groups

    -
    -
    -
    - Card image cap -
    -
    Card title
    -

    This is a wider card with supporting text below as a natural lead-in to additional - content. This content is a little bit longer.

    -

    Last updated 3 mins ago

    -
    -
    -
    - Card image cap -
    -
    Card title
    -

    This card has supporting text below as a natural lead-in to additional content.

    -

    Last updated 3 mins ago

    -
    -
    -
    - Card image cap -
    -
    Card title
    -

    This is a wider card with supporting text below as a natural lead-in to additional - content. This card has even longer content than the first to show that equal height action.

    -

    Last updated 3 mins ago

    -
    -
    -
    -
    <div class="card-group">
    -<div class="card">
    -<img class="card-img-top" src="http://via.placeholder.com/400x200" alt="Card image cap">
    -<div class="card-body">
    -  <h5 class="card-title">Card title</h5>
    -  <p class="card-text">This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.</p>
    -  <p class="card-text"><small class="text-muted">Last updated 3 mins ago</small></p>
    -</div>
    -</div>
    -<div class="card">
    -<img class="card-img-top" src="http://via.placeholder.com/400x200" alt="Card image cap">
    -<div class="card-body">
    -  <h5 class="card-title">Card title</h5>
    -  <p class="card-text">This card has supporting text below as a natural lead-in to additional content.</p>
    -  <p class="card-text"><small class="text-muted">Last updated 3 mins ago</small></p>
    -</div>
    -</div>
    -<div class="card">
    -<img class="card-img-top" src="http://via.placeholder.com/400x200" alt="Card image cap">
    -<div class="card-body">
    -  <h5 class="card-title">Card title</h5>
    -  <p class="card-text">This is a wider card with supporting text below as a natural lead-in to additional content. This card has even longer content than the first to show that equal height action.</p>
    -  <p class="card-text"><small class="text-muted">Last updated 3 mins ago</small></p>
    -</div>
    -</div>
    -</div>
    -

    Cards > Card decks

    -
    -
    -
    - Card image cap -
    -
    Card title
    -

    This is a wider card with supporting text below as a natural lead-in to additional - content. This content is a little bit longer.

    -

    Last updated 3 mins ago

    -
    -
    -
    - Card image cap -
    -
    Card title
    -

    This card has supporting text below as a natural lead-in to additional content.

    -

    Last updated 3 mins ago

    -
    -
    -
    - Card image cap -
    -
    Card title
    -

    This is a wider card with supporting text below as a natural lead-in to additional - content. This card has even longer content than the first to show that equal height action.

    -

    Last updated 3 mins ago

    -
    -
    -
    -
    <div class="card-deck">
    -<div class="card">
    -<img class="card-img-top" src="http://via.placeholder.com/400x200" alt="Card image cap">
    -<div class="card-body">
    -  <h5 class="card-title">Card title</h5>
    -  <p class="card-text">This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.</p>
    -  <p class="card-text"><small class="text-muted">Last updated 3 mins ago</small></p>
    -</div>
    -</div>
    -<div class="card">
    -<img class="card-img-top" src="http://via.placeholder.com/400x200" alt="Card image cap">
    -<div class="card-body">
    -  <h5 class="card-title">Card title</h5>
    -  <p class="card-text">This card has supporting text below as a natural lead-in to additional content.</p>
    -  <p class="card-text"><small class="text-muted">Last updated 3 mins ago</small></p>
    -</div>
    -</div>
    -<div class="card">
    -<img class="card-img-top" src="http://via.placeholder.com/400x200" alt="Card image cap">
    -<div class="card-body">
    -  <h5 class="card-title">Card title</h5>
    -  <p class="card-text">This is a wider card with supporting text below as a natural lead-in to additional content. This card has even longer content than the first to show that equal height action.</p>
    -  <p class="card-text"><small class="text-muted">Last updated 3 mins ago</small></p>
    -</div>
    -</div>
    -</div>
    -

    Carousel

    -
    - -
    <div id="carouselExampleSlidesOnly" class="carousel slide" data-ride="carousel">
    -<div class="carousel-inner">
    -<div class="carousel-item active">
    -  <img class="d-block w-100" src="http://via.placeholder.com/800x200/550000/fff" alt="First slide">
    -</div>
    -<div class="carousel-item">
    -  <img class="d-block w-100" src="http://via.placeholder.com/800x200/005500/fff" alt="Second slide">
    -</div>
    -<div class="carousel-item">
    -  <img class="d-block w-100" src="http://via.placeholder.com/800x200/000055/fff" alt="Third slide">
    -</div>
    -</div>
    -</div>
    -

    Carousel > With Controls

    -
    - -
    <div id="carouselExampleControls" class="carousel slide" data-ride="carousel">
    -<div class="carousel-inner">
    -<div class="carousel-item active">
    -  <img class="d-block w-100" src="http://via.placeholder.com/800x200/550000/fff" alt="First slide">
    -</div>
    -<div class="carousel-item">
    -  <img class="d-block w-100" src="http://via.placeholder.com/800x200/005500/fff" alt="Second slide">
    -</div>
    -<div class="carousel-item">
    -  <img class="d-block w-100" src="http://via.placeholder.com/800x200/000055/fff" alt="Third slide">
    -</div>
    -</div>
    -<a class="carousel-control-prev" href="#carouselExampleControls" role="button" data-slide="prev">
    -<span class="carousel-control-prev-icon" aria-hidden="true"></span>
    -<span class="sr-only">Previous</span>
    -</a>
    -<a class="carousel-control-next" href="#carouselExampleControls" role="button" data-slide="next">
    -<span class="carousel-control-next-icon" aria-hidden="true"></span>
    -<span class="sr-only">Next</span>
    -</a>
    -</div>
    -

    Collapse

    -
    -

    - - -

    -
    -
    - Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. Nihil anim - keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. -
    -
    -
    <p>
    -<a class="btn btn-primary" data-toggle="collapse" href="#collapseExample" role="button" aria-expanded="false" aria-controls="collapseExample">
    -Link with href
    -</a>
    -<button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#collapseExample" aria-expanded="false" aria-controls="collapseExample">
    -Button with data-target
    -</button>
    -</p>
    -<div class="collapse" id="collapseExample">
    -<div class="card card-body">
    -Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident.
    -</div>
    -</div>
    -

    Collapse > Multiple targets

    -
    -

    - - - -

    -
    -
    -
    -
    - Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. Nihil - anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. -
    -
    -
    -
    -
    -
    - Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. Nihil - anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. -
    -
    -
    -
    -
    <p>
    -<a class="btn btn-primary" data-toggle="collapse" href="#multiCollapseExample1" role="button" aria-expanded="false" aria-controls="multiCollapseExample1">Toggle first element</a>
    -<button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#multiCollapseExample2" aria-expanded="false" aria-controls="multiCollapseExample2">Toggle second element</button>
    -<button class="btn btn-primary" type="button" data-toggle="collapse" data-target=".multi-collapse" aria-expanded="false" aria-controls="multiCollapseExample1 multiCollapseExample2">Toggle both elements</button>
    -</p>
    -<div class="row">
    -<div class="col">
    -<div class="collapse multi-collapse" id="multiCollapseExample1">
    -  <div class="card card-body">
    -    Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident.
    -  </div>
    -</div>
    -</div>
    -<div class="col">
    -<div class="collapse multi-collapse" id="multiCollapseExample2">
    -  <div class="card card-body">
    -    Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident.
    -  </div>
    -</div>
    -</div>
    -</div>
    -

    Collapse > Accordion

    -
    -
    -
    -
    -
    - -
    -
    - -
    -
    - Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf - moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. - Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda - shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea - proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim - aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS. -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    - Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf - moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. - Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda - shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea - proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim - aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS. -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    - Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf - moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. - Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda - shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea - proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim - aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS. -
    -
    -
    -
    -
    <div class="accordion" id="accordionExample">
    -<div class="card">
    -<div class="card-header" id="headingOne">
    -  <h5 class="mb-0">
    -    <button class="btn btn-link" type="button" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
    -      Collapsible Group Item #1
    -    </button>
    -  </h5>
    -</div>
    -
    -<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordionExample">
    -  <div class="card-body">
    -    Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
    -  </div>
    -</div>
    -</div>
    -<div class="card">
    -<div class="card-header" id="headingTwo">
    -  <h5 class="mb-0">
    -    <button class="btn btn-link collapsed" type="button" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
    -      Collapsible Group Item #2
    -    </button>
    -  </h5>
    -</div>
    -<div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-parent="#accordionExample">
    -  <div class="card-body">
    -    Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
    -  </div>
    -</div>
    -</div>
    -<div class="card">
    -<div class="card-header" id="headingThree">
    -  <h5 class="mb-0">
    -    <button class="btn btn-link collapsed" type="button" data-toggle="collapse" data-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
    -      Collapsible Group Item #3
    -    </button>
    -  </h5>
    -</div>
    -<div id="collapseThree" class="collapse" aria-labelledby="headingThree" data-parent="#accordionExample">
    -  <div class="card-body">
    -    Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
    -  </div>
    -</div>
    -</div>
    -</div>
    -

    Dropdowns

    -
    - - -
    - - - -
    - - -
    <div class="dropdown">
    -<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    -Dropdown button
    -</button>
    -<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
    -<a class="dropdown-item" href="#">Action</a>
    -<a class="dropdown-item" href="#">Another action</a>
    -<a class="dropdown-item" href="#">Something else here</a>
    -</div>
    -</div>
    -
    -<br>
    -
    -<div class="dropdown">
    -<a class="btn btn-secondary dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    -Dropdown link
    -</a>
    -
    -<div class="dropdown-menu" aria-labelledby="dropdownMenuLink">
    -<a class="dropdown-item" href="#">Action</a>
    -<a class="dropdown-item" href="#">Another action</a>
    -<a class="dropdown-item" href="#">Something else here</a>
    -</div>
    -</div>
    -
    -<br>
    -
    -<div class="btn-group">
    -<button type="button" class="btn btn-danger dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    -Action
    -</button>
    -<div class="dropdown-menu">
    -<a class="dropdown-item" href="#">Action</a>
    -<a class="dropdown-item" href="#">Another action</a>
    -<a class="dropdown-item" href="#">Something else here</a>
    -<div class="dropdown-divider"></div>
    -<a class="dropdown-item" href="#">Separated link</a>
    -</div>
    -</div>
    -

    Forms

    -
    -
    -
    - - - We'll never share your email with anyone else. -
    -
    - - -
    -
    - - -
    - -
    -
    <form>
    -<div class="form-group">
    -<label for="exampleInputEmail1">Email address</label>
    -<input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" placeholder="Enter email">
    -<small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small>
    -</div>
    -<div class="form-group">
    -<label for="exampleInputPassword1">Password</label>
    -<input type="password" class="form-control" id="exampleInputPassword1" placeholder="Password">
    -</div>
    -<div class="form-group form-check">
    -<input type="checkbox" class="form-check-input" id="exampleCheck1">
    -<label class="form-check-label" for="exampleCheck1">Check me out</label>
    -</div>
    -<button type="submit" class="btn btn-primary">Submit</button>
    -</form>
    -

    Forms > Form controls

    -
    -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    -
    <form>
    -<div class="form-group">
    -<label for="exampleFormControlInput1">Email address</label>
    -<input type="email" class="form-control" id="exampleFormControlInput1" placeholder="[email protected]">
    -</div>
    -<div class="form-group">
    -<label for="exampleFormControlSelect1">Example select</label>
    -<select class="form-control" id="exampleFormControlSelect1">
    -  <option>1</option>
    -  <option>2</option>
    -  <option>3</option>
    -  <option>4</option>
    -  <option>5</option>
    -</select>
    -</div>
    -<div class="form-group">
    -<label for="exampleFormControlSelect2">Example multiple select</label>
    -<select multiple class="form-control" id="exampleFormControlSelect2">
    -  <option>1</option>
    -  <option>2</option>
    -  <option>3</option>
    -  <option>4</option>
    -  <option>5</option>
    -</select>
    -</div>
    -<div class="form-group">
    -<label for="exampleFormControlTextarea1">Example textarea</label>
    -<textarea class="form-control" id="exampleFormControlTextarea1" rows="3"></textarea>
    -</div>
    -<div class="form-group">
    -<label for="exampleFormControlFile1">Example file input</label>
    -<input type="file" class="form-control-file" id="exampleFormControlFile1">
    -</div>
    -</form>
    -

    Forms > Sizing

    -
    -
    -
    -
    -
    -
    -
    <form>
    -<div class="form-group"><input class="form-control form-control-sm" type="text" placeholder=".form-control-sm"></div>
    -<div class="form-group"><input class="form-control" type="text" placeholder="Default input"></div>
    -<div class="form-group"><input class="form-control form-control-lg" type="text" placeholder=".form-control-lg"></div>
    -</form>
    -

    Forms > Checkboxes and radios

    -
    -
    -
    - - -
    -
    - - -
    - -
    - -
    - - -
    -
    - - -
    -
    - - -
    -
    -
    <form>
    -<div class="form-check">
    -    <input class="form-check-input" type="checkbox" value="" id="defaultCheck1">
    -    <label class="form-check-label" for="defaultCheck1">
    -        Default checkbox
    -    </label>
    -</div>
    -<div class="form-check">
    -    <input class="form-check-input" type="checkbox" value="" id="defaultCheck2" disabled>
    -    <label class="form-check-label" for="defaultCheck2">
    -        Disabled checkbox
    -    </label>
    -</div>
    -
    -<br>
    -
    -<div class="form-check">
    -    <input class="form-check-input" type="radio" name="exampleRadios" id="exampleRadios1" value="option1" checked>
    -    <label class="form-check-label" for="exampleRadios1">
    -        Default radio
    -    </label>
    -</div>
    -<div class="form-check">
    -    <input class="form-check-input" type="radio" name="exampleRadios" id="exampleRadios2" value="option2">
    -    <label class="form-check-label" for="exampleRadios2">
    -        Second default radio
    -    </label>
    -</div>
    -<div class="form-check disabled">
    -    <input class="form-check-input" type="radio" name="exampleRadios" id="exampleRadios3" value="option3" disabled>
    -    <label class="form-check-label" for="exampleRadios3">
    -        Disabled radio
    -    </label>
    -</div>
    -</form>
    -

    Forms > Custom Elements

    -
    -
    - - -
    - -
    - -
    - - -
    -
    - - -
    - -
    - - - -

    - -
    - - -
    -
    <div class="custom-control custom-checkbox">
    -<input type="checkbox" class="custom-control-input" id="customCheck1">
    -<label class="custom-control-label" for="customCheck1">Check this custom checkbox</label>
    -</div>
    -
    -<br>
    -
    -<div class="custom-control custom-radio">
    -<input type="radio" id="customRadio1" name="customRadio" class="custom-control-input">
    -<label class="custom-control-label" for="customRadio1">Toggle this custom radio</label>
    -</div>
    -<div class="custom-control custom-radio">
    -<input type="radio" id="customRadio2" name="customRadio" class="custom-control-input">
    -<label class="custom-control-label" for="customRadio2">Or toggle this other custom radio</label>
    -</div>
    -
    -<br>
    -
    -<select class="custom-select">
    -<option selected>Open this select menu</option>
    -<option value="1">One</option>
    -<option value="2">Two</option>
    -<option value="3">Three</option>
    -</select>
    -
    -<br><br>
    -
    -<div class="custom-file">
    -<input type="file" class="custom-file-input" id="customFile">
    -<label class="custom-file-label" for="customFile">Choose file</label>
    -</div>
    -

    Input group

    -
    -
    -
    - @ -
    - -
    - -
    - -
    - @example.com -
    -
    - - -
    -
    - https://example.com/users/ -
    - -
    - -
    -
    - $ -
    - -
    - .00 -
    -
    - -
    -
    - With textarea -
    - -
    -
    <div class="input-group mb-3">
    -<div class="input-group-prepend">
    -<span class="input-group-text" id="basic-addon1">@</span>
    -</div>
    -<input type="text" class="form-control" placeholder="Username" aria-label="Username" aria-describedby="basic-addon1">
    -</div>
    -
    -<div class="input-group mb-3">
    -<input type="text" class="form-control" placeholder="Recipient's username" aria-label="Recipient's username" aria-describedby="basic-addon2">
    -<div class="input-group-append">
    -<span class="input-group-text" id="basic-addon2">@example.com</span>
    -</div>
    -</div>
    -
    -<label for="basic-url">Your vanity URL</label>
    -<div class="input-group mb-3">
    -<div class="input-group-prepend">
    -<span class="input-group-text" id="basic-addon3">https://example.com/users/</span>
    -</div>
    -<input type="text" class="form-control" id="basic-url" aria-describedby="basic-addon3">
    -</div>
    -
    -<div class="input-group mb-3">
    -<div class="input-group-prepend">
    -<span class="input-group-text">$</span>
    -</div>
    -<input type="text" class="form-control" aria-label="Amount (to the nearest dollar)">
    -<div class="input-group-append">
    -<span class="input-group-text">.00</span>
    -</div>
    -</div>
    -
    -<div class="input-group">
    -<div class="input-group-prepend">
    -<span class="input-group-text">With textarea</span>
    -</div>
    -<textarea class="form-control" aria-label="With textarea"></textarea>
    -</div>
    -

    Input group > Sizing

    -
    -
    -
    - Small -
    - -
    - -
    -
    - Default -
    - -
    - -
    -
    - Large -
    - -
    -
    <div class="input-group input-group-sm mb-3">
    -<div class="input-group-prepend">
    -<span class="input-group-text" id="inputGroup-sizing-sm">Small</span>
    -</div>
    -<input type="text" class="form-control" aria-label="Small" aria-describedby="inputGroup-sizing-sm">
    -</div>
    -
    -<div class="input-group mb-3">
    -<div class="input-group-prepend">
    -<span class="input-group-text" id="inputGroup-sizing-default">Default</span>
    -</div>
    -<input type="text" class="form-control" aria-label="Default" aria-describedby="inputGroup-sizing-default">
    -</div>
    -
    -<div class="input-group input-group-lg">
    -<div class="input-group-prepend">
    -<span class="input-group-text" id="inputGroup-sizing-lg">Large</span>
    -</div>
    -<input type="text" class="form-control" aria-label="Large" aria-describedby="inputGroup-sizing-sm">
    -</div>
    -

    Input group > Checkboxes and radios

    -
    -
    -
    -
    - -
    -
    - -
    - -
    -
    -
    - -
    -
    - -
    -
    <div class="input-group mb-3">
    -<div class="input-group-prepend">
    -<div class="input-group-text">
    -  <input type="checkbox" aria-label="Checkbox for following text input">
    -</div>
    -</div>
    -<input type="text" class="form-control" aria-label="Text input with checkbox">
    -</div>
    -
    -<div class="input-group">
    -<div class="input-group-prepend">
    -<div class="input-group-text">
    -<input type="radio" aria-label="Radio button for following text input">
    -</div>
    -</div>
    -<input type="text" class="form-control" aria-label="Text input with radio button">
    -</div>
    -

    Input group > Multiple inputs

    -
    -
    -
    - First and last name -
    - - -
    -
    <div class="input-group">
    -<div class="input-group-prepend">
    -<span class="input-group-text" id="">First and last name</span>
    -</div>
    -<input type="text" class="form-control">
    -<input type="text" class="form-control">
    -</div>
    -

    Input group > Multiple addons

    -
    -
    -
    - $ - 0.00 -
    - -
    - -
    - -
    - $ - 0.00 -
    -
    -
    <div class="input-group mb-3">
    -<div class="input-group-prepend">
    -<span class="input-group-text">$</span>
    -<span class="input-group-text">0.00</span>
    -</div>
    -<input type="text" class="form-control" aria-label="Amount (to the nearest dollar)">
    -</div>
    -
    -<div class="input-group">
    -<input type="text" class="form-control" aria-label="Amount (to the nearest dollar)">
    -<div class="input-group-append">
    -<span class="input-group-text">$</span>
    -<span class="input-group-text">0.00</span>
    -</div>
    -</div>
    -

    Input group > Button addons

    -
    -
    -
    - -
    - -
    - -
    - -
    - -
    -
    - -
    -
    - - -
    - -
    - -
    - -
    - - -
    -
    -
    <div class="input-group mb-3">
    -<div class="input-group-prepend">
    -<button class="btn btn-outline-secondary" type="button">Button</button>
    -</div>
    -<input type="text" class="form-control" placeholder="" aria-label="" aria-describedby="basic-addon1">
    -</div>
    -
    -<div class="input-group mb-3">
    -<input type="text" class="form-control" placeholder="Recipient's username" aria-label="Recipient's username" aria-describedby="basic-addon2">
    -<div class="input-group-append">
    -<button class="btn btn-outline-secondary" type="button">Button</button>
    -</div>
    -</div>
    -
    -<div class="input-group mb-3">
    -<div class="input-group-prepend">
    -<button class="btn btn-outline-secondary" type="button">Button</button>
    -<button class="btn btn-outline-secondary" type="button">Button</button>
    -</div>
    -<input type="text" class="form-control" placeholder="" aria-label="" aria-describedby="basic-addon1">
    -</div>
    -
    -<div class="input-group">
    -<input type="text" class="form-control" placeholder="Recipient's username" aria-label="Recipient's username" aria-describedby="basic-addon2">
    -<div class="input-group-append">
    -<button class="btn btn-outline-secondary" type="button">Button</button>
    -<button class="btn btn-outline-secondary" type="button">Button</button>
    -</div>
    -</div>
    -

    Input group > Buttons with dropdowns

    -
    -
    - - -
    - -
    - - -
    -
    <div class="input-group mb-3">
    -<div class="input-group-prepend">
    -<button class="btn btn-outline-secondary dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</button>
    -<div class="dropdown-menu">
    -  <a class="dropdown-item" href="#">Action</a>
    -  <a class="dropdown-item" href="#">Another action</a>
    -  <a class="dropdown-item" href="#">Something else here</a>
    -  <div role="separator" class="dropdown-divider"></div>
    -  <a class="dropdown-item" href="#">Separated link</a>
    -</div>
    -</div>
    -<input type="text" class="form-control" aria-label="Text input with dropdown button">
    -</div>
    -
    -<div class="input-group">
    -<input type="text" class="form-control" aria-label="Text input with dropdown button">
    -<div class="input-group-append">
    -<button class="btn btn-outline-secondary dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</button>
    -<div class="dropdown-menu">
    -  <a class="dropdown-item" href="#">Action</a>
    -  <a class="dropdown-item" href="#">Another action</a>
    -  <a class="dropdown-item" href="#">Something else here</a>
    -  <div role="separator" class="dropdown-divider"></div>
    -  <a class="dropdown-item" href="#">Separated link</a>
    -</div>
    -</div>
    -</div>
    -

    Jumbotron

    -
    -
    -

    Hello, world!

    -

    This is a simple hero unit, a simple jumbotron-style component for calling extra attention to - featured content or information.

    -
    -

    It uses utility classes for typography and spacing to space content out within the larger container.

    - Learn more -
    -
    <div class="jumbotron">
    -<h1 class="display-4">Hello, world!</h1>
    -<p class="lead">This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.</p>
    -<hr class="my-4">
    -<p>It uses utility classes for typography and spacing to space content out within the larger container.</p>
    -<a class="btn btn-primary btn-lg" href="#" role="button">Learn more</a>
    -</div>
    -

    List group

    -
    -
      -
    • Cras justo odio
    • -
    • Dapibus ac facilisis in
    • -
    • Morbi leo risus
    • -
    • Porta ac consectetur ac
    • -
    • Vestibulum at eros
    • -
    -
    <ul class="list-group">
    -<li class="list-group-item">Cras justo odio</li>
    -<li class="list-group-item">Dapibus ac facilisis in</li>
    -<li class="list-group-item">Morbi leo risus</li>
    -<li class="list-group-item">Porta ac consectetur ac</li>
    -<li class="list-group-item">Vestibulum at eros</li>
    -</ul>
    -

    List group > Active items

    -
    -
      -
    • Cras justo odio
    • -
    • Dapibus ac facilisis in
    • -
    • Morbi leo risus
    • -
    • Porta ac consectetur ac
    • -
    • Vestibulum at eros
    • -
    -
    <ul class="list-group">
    -<li class="list-group-item active">Cras justo odio</li>
    -<li class="list-group-item">Dapibus ac facilisis in</li>
    -<li class="list-group-item">Morbi leo risus</li>
    -<li class="list-group-item">Porta ac consectetur ac</li>
    -<li class="list-group-item">Vestibulum at eros</li>
    -</ul>
    -

    List group > Disabled items

    -
    -
      -
    • Cras justo odio
    • -
    • Dapibus ac facilisis in
    • -
    • Morbi leo risus
    • -
    • Porta ac consectetur ac
    • -
    • Vestibulum at eros
    • -
    -
    <ul class="list-group">
    -<li class="list-group-item disabled">Cras justo odio</li>
    -<li class="list-group-item">Dapibus ac facilisis in</li>
    -<li class="list-group-item">Morbi leo risus</li>
    -<li class="list-group-item">Porta ac consectetur ac</li>
    -<li class="list-group-item">Vestibulum at eros</li>
    -</ul>
    -

    List group > Links and buttons

    -
    - -
    <div class="list-group">
    -<a href="#" class="list-group-item list-group-item-action active">Cras justo odio</a>
    -<a href="#" class="list-group-item list-group-item-action">Dapibus ac facilisis in</a>
    -<a href="#" class="list-group-item list-group-item-action">Morbi leo risus</a>
    -<a href="#" class="list-group-item list-group-item-action">Porta ac consectetur ac</a>
    -<a href="#" class="list-group-item list-group-item-action disabled">Vestibulum at eros</a>
    -</div>
    -

    List group > Flush

    -
    -
      -
    • Cras justo odio
    • -
    • Dapibus ac facilisis in
    • -
    • Morbi leo risus
    • -
    • Porta ac consectetur ac
    • -
    • Vestibulum at eros
    • -
    -
    <ul class="list-group list-group-flush">
    -<li class="list-group-item">Cras justo odio</li>
    -<li class="list-group-item">Dapibus ac facilisis in</li>
    -<li class="list-group-item">Morbi leo risus</li>
    -<li class="list-group-item">Porta ac consectetur ac</li>
    -<li class="list-group-item">Vestibulum at eros</li>
    -</ul>
    -

    List group > Contextual classes

    -
    -
      -
    • Dapibus ac facilisis in
    • -
    • A simple primary list group item
    • -
    • A simple secondary list group item
    • -
    • A simple success list group item
    • -
    • A simple danger list group item
    • -
    • A simple warning list group item
    • -
    • A simple info list group item
    • -
    • A simple light list group item
    • -
    • A simple dark list group item
    • -
    -
    <ul class="list-group">
    -<li class="list-group-item">Dapibus ac facilisis in</li>
    -<li class="list-group-item list-group-item-primary">A simple primary list group item</li>
    -<li class="list-group-item list-group-item-secondary">A simple secondary list group item</li>
    -<li class="list-group-item list-group-item-success">A simple success list group item</li>
    -<li class="list-group-item list-group-item-danger">A simple danger list group item</li>
    -<li class="list-group-item list-group-item-warning">A simple warning list group item</li>
    -<li class="list-group-item list-group-item-info">A simple info list group item</li>
    -<li class="list-group-item list-group-item-light">A simple light list group item</li>
    -<li class="list-group-item list-group-item-dark">A simple dark list group item</li>
    -</ul>
    -

    List group > With badges

    -
    -
      -
    • - Cras justo odio - 14 -
    • -
    • - Dapibus ac facilisis in - 2 -
    • -
    • - Morbi leo risus - 1 -
    • -
    -
    <ul class="list-group">
    -<li class="list-group-item d-flex justify-content-between align-items-center">
    -Cras justo odio
    -<span class="badge badge-primary badge-pill">14</span>
    -</li>
    -<li class="list-group-item d-flex justify-content-between align-items-center">
    -Dapibus ac facilisis in
    -<span class="badge badge-primary badge-pill">2</span>
    -</li>
    -<li class="list-group-item d-flex justify-content-between align-items-center">
    -Morbi leo risus
    -<span class="badge badge-primary badge-pill">1</span>
    -</li>
    -</ul>
    -

    List group > Custom content

    -
    - -
    <div class="list-group">
    -<a href="#" class="list-group-item list-group-item-action flex-column align-items-start active">
    -<div class="d-flex w-100 justify-content-between">
    -  <h5 class="mb-1">List group item heading</h5>
    -  <small>3 days ago</small>
    -</div>
    -<p class="mb-1">Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</p>
    -<small>Donec id elit non mi porta.</small>
    -</a>
    -<a href="#" class="list-group-item list-group-item-action flex-column align-items-start">
    -<div class="d-flex w-100 justify-content-between">
    -  <h5 class="mb-1">List group item heading</h5>
    -  <small class="text-muted">3 days ago</small>
    -</div>
    -<p class="mb-1">Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</p>
    -<small class="text-muted">Donec id elit non mi porta.</small>
    -</a>
    -<a href="#" class="list-group-item list-group-item-action flex-column align-items-start">
    -<div class="d-flex w-100 justify-content-between">
    -  <h5 class="mb-1">List group item heading</h5>
    -  <small class="text-muted">3 days ago</small>
    -</div>
    -<p class="mb-1">Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</p>
    -<small class="text-muted">Donec id elit non mi porta.</small>
    -</a>
    -</div>
    -

    Modal

    -
    - -
    <div class="modal" tabindex="-1" role="dialog" style="position: relative; display: block;"> <!-- remove this style attribute in production -->
    -<div class="modal-dialog" role="document">
    -<div class="modal-content">
    -  <div class="modal-header">
    -    <h5 class="modal-title">Modal title</h5>
    -    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
    -      <span aria-hidden="true">&times;</span>
    -    </button>
    -  </div>
    -  <div class="modal-body">
    -    <p>Modal body text goes here.</p>
    -  </div>
    -  <div class="modal-footer">
    -    <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
    -    <button type="button" class="btn btn-primary">Save changes</button>
    -  </div>
    -</div>
    -</div>
    -</div>
    -

    Modal > Live Demo

    -
    - - - - -
    <!-- Button trigger modal -->
    -<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal">
    -Launch demo modal
    -</button>
    -
    -<!-- Modal -->
    -<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
    -<div class="modal-dialog" role="document">
    -<div class="modal-content">
    -  <div class="modal-header">
    -    <h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
    -    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
    -      <span aria-hidden="true">&times;</span>
    -    </button>
    -  </div>
    -  <div class="modal-body">
    -    ...
    -  </div>
    -  <div class="modal-footer">
    -    <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
    -    <button type="button" class="btn btn-primary">Save changes</button>
    -  </div>
    -</div>
    -</div>
    -</div>
    -

    Modal > Vertically centered

    -
    - - - - -
    <!-- Button trigger modal -->
    -<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModalCenter">
    -Launch demo modal
    -</button>
    -
    -<!-- Modal -->
    -<div class="modal fade" id="exampleModalCenter" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
    -<div class="modal-dialog modal-dialog-centered" role="document">
    -<div class="modal-content">
    -  <div class="modal-header">
    -    <h5 class="modal-title" id="exampleModalCenterTitle">Modal title</h5>
    -    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
    -      <span aria-hidden="true">&times;</span>
    -    </button>
    -  </div>
    -  <div class="modal-body">
    -    ...
    -  </div>
    -  <div class="modal-footer">
    -    <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
    -    <button type="button" class="btn btn-primary">Save changes</button>
    -  </div>
    -</div>
    -</div>
    -</div>
    -

    Navs

    -
    - -
    <ul class="nav">
    -<li class="nav-item">
    -<a class="nav-link active" href="#">Active</a>
    -</li>
    -<li class="nav-item">
    -<a class="nav-link" href="#">Link</a>
    -</li>
    -<li class="nav-item">
    -<a class="nav-link" href="#">Link</a>
    -</li>
    -<li class="nav-item">
    -<a class="nav-link disabled" href="#">Disabled</a>
    -</li>
    -</ul>
    -

    Navs > Vertical

    -
    - -
    <ul class="nav flex-column">
    -<li class="nav-item">
    -<a class="nav-link active" href="#">Active</a>
    -</li>
    -<li class="nav-item">
    -<a class="nav-link" href="#">Link</a>
    -</li>
    -<li class="nav-item">
    -<a class="nav-link" href="#">Link</a>
    -</li>
    -<li class="nav-item">
    -<a class="nav-link disabled" href="#">Disabled</a>
    -</li>
    -</ul>
    -

    Navs > Tabs

    -
    - -
    <ul class="nav nav-tabs">
    -<li class="nav-item">
    -<a class="nav-link active" href="#">Active</a>
    -</li>
    -<li class="nav-item">
    -<a class="nav-link" href="#">Link</a>
    -</li>
    -<li class="nav-item">
    -<a class="nav-link" href="#">Link</a>
    -</li>
    -<li class="nav-item">
    -<a class="nav-link disabled" href="#">Disabled</a>
    -</li>
    -</ul>
    -

    Navs > Pills

    -
    - -
    <ul class="nav nav-pills">
    -<li class="nav-item">
    -<a class="nav-link active" href="#">Active</a>
    -</li>
    -<li class="nav-item">
    -<a class="nav-link" href="#">Link</a>
    -</li>
    -<li class="nav-item">
    -<a class="nav-link" href="#">Link</a>
    -</li>
    -<li class="nav-item">
    -<a class="nav-link disabled" href="#">Disabled</a>
    -</li>
    -</ul>
    -

    Navs > Fill and justify

    -
    - -
    <ul class="nav nav-pills nav-fill">
    -<li class="nav-item">
    -<a class="nav-link active" href="#">Active</a>
    -</li>
    -<li class="nav-item">
    -<a class="nav-link" href="#">Longer nav link</a>
    -</li>
    -<li class="nav-item">
    -<a class="nav-link" href="#">Link</a>
    -</li>
    -<li class="nav-item">
    -<a class="nav-link disabled" href="#">Disabled</a>
    -</li>
    -</ul>
    -

    Navbar

    -
    - -
    <nav class="navbar navbar-expand-lg navbar-light bg-light">
    -<a class="navbar-brand" href="#">Navbar</a>
    -<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
    -<span class="navbar-toggler-icon"></span>
    -</button>
    -
    -<div class="collapse navbar-collapse" id="navbarSupportedContent">
    -<ul class="navbar-nav mr-auto">
    -  <li class="nav-item active">
    -    <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
    -  </li>
    -  <li class="nav-item">
    -    <a class="nav-link" href="#">Link</a>
    -  </li>
    -  <li class="nav-item dropdown">
    -    <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    -      Dropdown
    -    </a>
    -    <div class="dropdown-menu" aria-labelledby="navbarDropdown">
    -      <a class="dropdown-item" href="#">Action</a>
    -      <a class="dropdown-item" href="#">Another action</a>
    -      <div class="dropdown-divider"></div>
    -      <a class="dropdown-item" href="#">Something else here</a>
    -    </div>
    -  </li>
    -  <li class="nav-item">
    -    <a class="nav-link disabled" href="#">Disabled</a>
    -  </li>
    -</ul>
    -<form class="form-inline my-2 my-lg-0">
    -  <input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search">
    -  <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
    -</form>
    -</div>
    -</nav>
    -

    Navbar > Color schemes

    -
    - - - -
    <nav class="navbar navbar-dark bg-dark">
    -<!-- Navbar content -->
    -</nav>
    -
    -<nav class="navbar navbar-dark bg-primary">
    -<!-- Navbar content -->
    -</nav>
    -
    -<nav class="navbar navbar-light" style="background-color: #e3f2fd;">
    -<!-- Navbar content -->
    -</nav>
    -

    Pagination

    -
    - -
    <nav aria-label="Page navigation example">
    -<ul class="pagination">
    -<li class="page-item"><a class="page-link" href="#">Previous</a></li>
    -<li class="page-item"><a class="page-link" href="#">1</a></li>
    -<li class="page-item"><a class="page-link" href="#">2</a></li>
    -<li class="page-item"><a class="page-link" href="#">3</a></li>
    -<li class="page-item"><a class="page-link" href="#">Next</a></li>
    -</ul>
    -</nav>
    -

    Pagination > Disabled and active states

    -
    - -
    <nav aria-label="...">
    -<ul class="pagination">
    -<li class="page-item disabled"><a class="page-link" href="#" tabindex="-1">Previous</a></li>
    -<li class="page-item"><a class="page-link" href="#">1</a></li>
    -<li class="page-item active"><a class="page-link" href="#">2 <span class="sr-only">(current)</span></a></li>
    -<li class="page-item"><a class="page-link" href="#">3</a></li>
    -<li class="page-item"><a class="page-link" href="#">Next</a></li>
    -</ul>
    -</nav>
    -

    Popovers

    -
    - - - -
    <script>
    -$(function () {
    -$('[data-toggle="popover"]').popover()
    -})
    -</script>
    -<button type="button" class="btn btn-lg btn-danger" data-toggle="popover" title="Popover title" data-content="And here's some amazing content. It's very engaging. Right?">Click to toggle popover</button>
    -

    Popovers > Four directions

    -
    - - - - - - -
    <button type="button" class="btn btn-secondary" data-container="body" data-toggle="popover" data-placement="top" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus.">
    -Popover on top
    -</button>
    -
    -<button type="button" class="btn btn-secondary" data-container="body" data-toggle="popover" data-placement="right" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus.">
    -Popover on right
    -</button>
    -
    -<button type="button" class="btn btn-secondary" data-container="body" data-toggle="popover" data-placement="bottom" data-content="Vivamus
    -sagittis lacus vel augue laoreet rutrum faucibus.">
    -Popover on bottom
    -</button>
    -
    -<button type="button" class="btn btn-secondary" data-container="body" data-toggle="popover" data-placement="left" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus.">
    -Popover on left
    -</button>
    -

    Progress

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    <div class="progress">
    -<div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"></div>
    -</div>
    -<div class="progress">
    -<div class="progress-bar" role="progressbar" style="width: 25%" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
    -</div>
    -<div class="progress">
    -<div class="progress-bar" role="progressbar" style="width: 50%" aria-valuenow="50" aria-valuemin="0" aria-valuemax="100"></div>
    -</div>
    -<div class="progress">
    -<div class="progress-bar" role="progressbar" style="width: 75%" aria-valuenow="75" aria-valuemin="0" aria-valuemax="100"></div>
    -</div>
    -<div class="progress">
    -<div class="progress-bar" role="progressbar" style="width: 100%" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100"></div>
    -</div>
    -

    Progress > Labels

    -
    -
    -
    25%
    -
    -
    <div class="progress">
    -<div class="progress-bar" role="progressbar" style="width: 25%;" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100">25%</div>
    -</div>
    -

    Progress > Height

    -
    -
    -
    -
    -
    -
    -
    -
    <div class="progress" style="height: 1px;">
    -<div class="progress-bar" role="progressbar" style="width: 25%;" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
    -</div>
    -<div class="progress" style="height: 20px;">
    -<div class="progress-bar" role="progressbar" style="width: 25%;" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
    -</div>
    -

    Progress > Backgrounds

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    <div class="progress">
    -<div class="progress-bar bg-success" role="progressbar" style="width: 25%" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
    -</div>
    -<div class="progress">
    -<div class="progress-bar bg-info" role="progressbar" style="width: 50%" aria-valuenow="50" aria-valuemin="0" aria-valuemax="100"></div>
    -</div>
    -<div class="progress">
    -<div class="progress-bar bg-warning" role="progressbar" style="width: 75%" aria-valuenow="75" aria-valuemin="0" aria-valuemax="100"></div>
    -</div>
    -<div class="progress">
    -<div class="progress-bar bg-danger" role="progressbar" style="width: 100%" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100"></div>
    -</div>
    -

    Progress > Multiple bars

    -
    -
    -
    -
    -
    -
    -
    <div class="progress">
    -<div class="progress-bar" role="progressbar" style="width: 15%" aria-valuenow="15" aria-valuemin="0" aria-valuemax="100"></div>
    -<div class="progress-bar bg-success" role="progressbar" style="width: 30%" aria-valuenow="30" aria-valuemin="0" aria-valuemax="100"></div>
    -<div class="progress-bar bg-info" role="progressbar" style="width: 20%" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100"></div>
    -</div>
    -

    Progress > Striped

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    <div class="progress">
    -<div class="progress-bar progress-bar-striped" role="progressbar" style="width: 10%" aria-valuenow="10" aria-valuemin="0" aria-valuemax="100"></div>
    -</div>
    -<div class="progress">
    -<div class="progress-bar progress-bar-striped bg-success" role="progressbar" style="width: 25%" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
    -</div>
    -<div class="progress">
    -<div class="progress-bar progress-bar-striped bg-info" role="progressbar" style="width: 50%" aria-valuenow="50" aria-valuemin="0" aria-valuemax="100"></div>
    -</div>
    -<div class="progress">
    -<div class="progress-bar progress-bar-striped bg-warning" role="progressbar" style="width: 75%" aria-valuenow="75" aria-valuemin="0" aria-valuemax="100"></div>
    -</div>
    -<div class="progress">
    -<div class="progress-bar progress-bar-striped bg-danger" role="progressbar" style="width: 100%" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100"></div>
    -</div>
    -

    Tooltips

    -
    - - - - - -
    <button type="button" class="btn btn-secondary" data-toggle="tooltip" data-placement="top" title="Tooltip on top">
    -Tooltip on top
    -</button>
    -<button type="button" class="btn btn-secondary" data-toggle="tooltip" data-placement="right" title="Tooltip on right">
    -Tooltip on right
    -</button>
    -<button type="button" class="btn btn-secondary" data-toggle="tooltip" data-placement="bottom" title="Tooltip on bottom">
    -Tooltip on bottom
    -</button>
    -<button type="button" class="btn btn-secondary" data-toggle="tooltip" data-placement="left" title="Tooltip on left">
    -Tooltip on left
    -</button>
    -
    -<script>
    -$(function () {
    -$('[data-toggle="tooltip"]').tooltip()
    -})
    -</script>
    - -

    Borders

    -
    -
    - - - - - -
    -
    <div id="borders-demo">
    -<span class="border"></span>
    -<span class="border-top"></span>
    -<span class="border-right"></span>
    -<span class="border-bottom"></span>
    -<span class="border-left"></span>
    -</div>
    - -

    Borders > Subtractive

    -
    -
    - - - - - -
    -
    <div id="borders-demo2">
    -<span class="border-0"></span>
    -<span class="border-top-0"></span>
    -<span class="border-right-0"></span>
    -<span class="border-bottom-0"></span>
    -<span class="border-left-0"></span>
    -</div>
    - -

    Borders > Border color

    -
    -
    - - - - - - - - - -
    -
    <div id="borders-demo3">
    -<span class="border border-primary"></span>
    -<span class="border border-secondary"></span>
    -<span class="border border-success"></span>
    -<span class="border border-danger"></span>
    -<span class="border border-warning"></span>
    -<span class="border border-info"></span>
    -<span class="border border-light"></span>
    -<span class="border border-dark"></span>
    -<span class="border border-white"></span>
    -</div>
    - -

    Borders > Border-radius

    -
    ... - ... - ... - ... - ... - ... - ... -
    <img src="http://via.placeholder.com/75x75" alt="..." class="rounded">
    -<img src="http://via.placeholder.com/75x75" alt="..." class="rounded-top">
    -<img src="http://via.placeholder.com/75x75" alt="..." class="rounded-right">
    -<img src="http://via.placeholder.com/75x75" alt="..." class="rounded-bottom">
    -<img src="http://via.placeholder.com/75x75" alt="..." class="rounded-left">
    -<img src="http://via.placeholder.com/75x75" alt="..." class="rounded-circle">
    -<img src="http://via.placeholder.com/75x75" alt="..." class="rounded-0">
    -

    Clearfix

    -
    -
    - - -
    -
    <div class="bg-info clearfix">
    -<button type="button" class="btn btn-secondary float-left">Example Button floated left</button>
    -<button type="button" class="btn btn-secondary float-right">Example Button floated right</button>
    -</div>
    -

    Close icon

    -
    -
    - -
    -
    <div class="clearfix">
    -<button type="button" class="close" aria-label="Close">
    -<span aria-hidden="true">&times;</span>
    -</button>
    -</div>
    -

    Colors

    -
    -

    .text-primary

    -

    .text-secondary

    -

    .text-success

    -

    .text-danger

    -

    .text-warning

    -

    .text-info

    -

    .text-light

    -

    .text-dark

    -

    .text-body

    -

    .text-muted

    -

    .text-white

    -

    .text-black-50

    -

    .text-white-50

    -
    <p class="text-primary">.text-primary</p>
    -<p class="text-secondary">.text-secondary</p>
    -<p class="text-success">.text-success</p>
    -<p class="text-danger">.text-danger</p>
    -<p class="text-warning">.text-warning</p>
    -<p class="text-info">.text-info</p>
    -<p class="text-light bg-dark">.text-light</p>
    -<p class="text-dark">.text-dark</p>
    -<p class="text-body">.text-body</p>
    -<p class="text-muted">.text-muted</p>
    -<p class="text-white bg-dark">.text-white</p>
    -<p class="text-black-50">.text-black-50</p>
    -<p class="text-white-50 bg-dark">.text-white-50</p>
    -

    Primary link

    -

    Secondary link

    -

    Success link

    -

    Danger link

    -

    Warning link

    -

    Info link

    -

    Light link

    -

    Dark link

    -

    Muted link

    -

    White link

    -
    <p><a href="#" class="text-primary">Primary link</a></p>
    -<p><a href="#" class="text-secondary">Secondary link</a></p>
    -<p><a href="#" class="text-success">Success link</a></p>
    -<p><a href="#" class="text-danger">Danger link</a></p>
    -<p><a href="#" class="text-warning">Warning link</a></p>
    -<p><a href="#" class="text-info">Info link</a></p>
    -<p><a href="#" class="text-light bg-dark">Light link</a></p>
    -<p><a href="#" class="text-dark">Dark link</a></p>
    -<p><a href="#" class="text-muted">Muted link</a></p>
    -<p><a href="#" class="text-white bg-dark">White link</a></p>
    -

    Colors > Background color

    -
    -
    .bg-primary
    -
    .bg-secondary
    -
    .bg-success
    -
    .bg-danger
    -
    .bg-warning
    -
    .bg-info
    -
    .bg-light
    -
    .bg-dark
    -
    .bg-white
    -
    .bg-transparent
    -
    <div class="p-3 mb-2 bg-primary text-white">.bg-primary</div>
    -<div class="p-3 mb-2 bg-secondary text-white">.bg-secondary</div>
    -<div class="p-3 mb-2 bg-success text-white">.bg-success</div>
    -<div class="p-3 mb-2 bg-danger text-white">.bg-danger</div>
    -<div class="p-3 mb-2 bg-warning text-dark">.bg-warning</div>
    -<div class="p-3 mb-2 bg-info text-white">.bg-info</div>
    -<div class="p-3 mb-2 bg-light text-dark">.bg-light</div>
    -<div class="p-3 mb-2 bg-dark text-white">.bg-dark</div>
    -<div class="p-3 mb-2 bg-white text-dark">.bg-white</div>
    -<div class="p-3 mb-2 bg-transparent text-dark">.bg-transparent</div>
    -

    Display property

    -
    -
    d-inline
    -
    d-inline
    -
    <div class="d-inline p-2 bg-primary text-white">d-inline</div>
    -<div class="d-inline p-2 bg-dark text-white">d-inline</div>
    d-block - d-block -
    <span class="d-block p-2 bg-primary text-white">d-block</span>
    -<span class="d-block p-2 bg-dark text-white">d-block</span>
    -

    Floats

    -
    -
    -
    Float left on all viewport sizes

    -
    Float right on all viewport sizes

    -
    Don't float on all viewport sizes
    -
    - -
    -
    Float left on viewports sized SM (small) or wider

    -
    Float left on viewports sized MD (medium) or wider

    -
    Float left on viewports sized LG (large) or wider

    -
    Float left on viewports sized XL (extra-large) or wider

    -
    -
    <div class="clearfix">
    -<div class="float-left">Float left on all viewport sizes</div><br>
    -<div class="float-right">Float right on all viewport sizes</div><br>
    -<div class="float-none">Don't float on all viewport sizes</div>
    -</div>
    -
    -<div class="clearfix">
    -<div class="float-sm-left">Float left on viewports sized SM (small) or wider</div><br>
    -<div class="float-md-left">Float left on viewports sized MD (medium) or wider</div><br>
    -<div class="float-lg-left">Float left on viewports sized LG (large) or wider</div><br>
    -<div class="float-xl-left">Float left on viewports sized XL (extra-large) or wider</div><br>
    -</div>
    -

    Shadows

    -
    -
    No shadow
    -
    Small shadow
    -
    Regular shadow
    -
    Larger shadow
    -
    <div class="shadow-none p-3 mb-5 bg-light rounded">No shadow</div>
    -<div class="shadow-sm p-3 mb-5 bg-white rounded">Small shadow</div>
    -<div class="shadow p-3 mb-5 bg-white rounded">Regular shadow</div>
    -<div class="shadow-lg p-3 mb-5 bg-white rounded">Larger shadow</div>
    -

    Sizing

    -
    -
    Width 25%
    -
    Width 50%
    -
    Width 75%
    -
    Width 100%
    -
    Width auto
    -
    <div class="w-25 p-3" style="background-color: #eee;">Width 25%</div>
    -<div class="w-50 p-3" style="background-color: #eee;">Width 50%</div>
    -<div class="w-75 p-3" style="background-color: #eee;">Width 75%</div>
    -<div class="w-100 p-3" style="background-color: #eee;">Width 100%</div>
    -<div class="w-auto p-3" style="background-color: #eee;">Width auto</div>
    -
    -
    Height 25%
    -
    Height 50%
    -
    Height 75%
    -
    Height 100%
    -
    Height auto
    -
    -
    <div style="height: 100px; background-color: rgba(255,0,0,0.1);">
    -<div class="h-25 d-inline-block" style="width: 120px; background-color: rgba(0,0,255,.1)">Height 25%</div>
    -<div class="h-50 d-inline-block" style="width: 120px; background-color: rgba(0,0,255,.1)">Height 50%</div>
    -<div class="h-75 d-inline-block" style="width: 120px; background-color: rgba(0,0,255,.1)">Height 75%</div>
    -<div class="h-100 d-inline-block" style="width: 120px; background-color: rgba(0,0,255,.1)">Height 100%</div>
    -<div class="h-auto d-inline-block" style="width: 120px; background-color: rgba(0,0,255,.1)">Height auto</div>
    -</div>
    -

    Spacing Notation

    - -

    Spacing utilities that apply to all breakpoints, from xs to xl, have no breakpoint abbreviation in them. This is because those classes - are applied from min-width: 0 and up, and thus are not bound by a media - query. The remaining breakpoints, however, do include a breakpoint abbreviation.

    -

    The classes are named using the format {property}{sides}-{size} for - xs and {property}{sides}-{breakpoint}-{size} for sm, md, lg, and xl.

    -

    Where property is one of:

    -
      -
    • m - for classes that set margin
    • -
    • p - for classes that set padding
    • -
    -

    Where sides is one of:

    -
      -
    • t - for classes that set margin-top or padding-top
    • -
    • b - for classes that set margin-bottom or padding-bottom -
    • -
    • l - for classes that set margin-left or padding-left
    • -
    • r - for classes that set margin-right or padding-right
    • -
    • x - for classes that set both *-left and *-right
    • -
    • y - for classes that set both *-top and *-bottom
    • -
    • blank - for classes that set a margin or padding on all 4 sides of the element
    • -
    -

    Where size is one of:

    -
      -
    • 0 - for classes that eliminate the margin or padding by setting it to - 0
    • -
    • 1 - (by default) for classes that set the margin or padding to $spacer * .25
    • -
    • 2 - (by default) for classes that set the margin or padding to $spacer * .5
    • -
    • 3 - (by default) for classes that set the margin or padding to $spacer
    • -
    • 4 - (by default) for classes that set the margin or padding to $spacer * 1.5
    • -
    • 5 - (by default) for classes that set the margin or padding to $spacer * 3
    • -
    • auto - for classes that set the margin to auto
    • -
    -

    Text alignment

    -
    -

    Ambitioni dedisse scripsisse iudicaretur. Cras mattis iudicium purus sit amet fermentum. - Donec sed odio operae, eu vulputate felis rhoncus. Praeterea iter est quasdam res quas ex communi. At nos hinc - posthac, sitientis piros Afros. Petierunt uti sibi concilium totius Galliae in diem certam indicere. Cras - mattis iudicium purus sit amet fermentum.

    -
    <p class="text-justify">Ambitioni dedisse scripsisse iudicaretur. Cras mattis iudicium purus sit amet fermentum. Donec sed odio operae, eu vulputate felis rhoncus. Praeterea iter est quasdam res quas ex communi. At nos hinc posthac, sitientis piros Afros. Petierunt uti sibi concilium totius Galliae in diem certam indicere. Cras mattis iudicium purus sit amet fermentum.</p>
    -

    Left aligned text on all viewport sizes.

    -

    Center aligned text on all viewport sizes.

    -

    Right aligned text on all viewport sizes.

    - -

    Left aligned text on viewports sized SM (small) or wider.

    -

    Left aligned text on viewports sized MD (medium) or wider.

    -

    Left aligned text on viewports sized LG (large) or wider.

    -

    Left aligned text on viewports sized XL (extra-large) or wider.

    -
    <p class="text-left">Left aligned text on all viewport sizes.</p>
    -<p class="text-center">Center aligned text on all viewport sizes.</p>
    -<p class="text-right">Right aligned text on all viewport sizes.</p>
    -
    -<p class="text-sm-left">Left aligned text on viewports sized SM (small) or wider.</p>
    -<p class="text-md-left">Left aligned text on viewports sized MD (medium) or wider.</p>
    -<p class="text-lg-left">Left aligned text on viewports sized LG (large) or wider.</p>
    -<p class="text-xl-left">Left aligned text on viewports sized XL (extra-large) or wider.</p>
    -

    Text wrapping and overflow

    -
    -
    -
    - Praeterea iter est quasdam res quas ex communi. -
    -
    - - - - Praeterea iter est quasdam res quas ex communi. - -
    <!-- Block level -->
    -<div class="row">
    -<div class="col-2 text-truncate">
    -Praeterea iter est quasdam res quas ex communi.
    -</div>
    -</div>
    -
    -<!-- Inline level -->
    -<span class="d-inline-block text-truncate" style="max-width: 150px;">
    -Praeterea iter est quasdam res quas ex communi.
    -</span>
    -

    Text transform

    -
    -

    Lowercased text.

    -

    Uppercased text.

    -

    CapiTaliZed text.

    -
    <p class="text-lowercase">Lowercased text.</p>
    -<p class="text-uppercase">Uppercased text.</p>
    -<p class="text-capitalize">CapiTaliZed text.</p>
    -

    Font weight and italics

    -
    -

    Bold text.

    -

    Normal weight text.

    -

    Light weight text.

    -

    Italic text.

    -
    <p class="font-weight-bold">Bold text.</p>
    -<p class="font-weight-normal">Normal weight text.</p>
    -<p class="font-weight-light">Light weight text.</p>
    -<p class="font-italic">Italic text.</p>
    -

    Vertical alignment

    -
    baseline - top - middle - bottom - text-top - text-bottom -
    <span class="align-baseline">baseline</span>
    -<span class="align-top">top</span>
    -<span class="align-middle">middle</span>
    -<span class="align-bottom">bottom</span>
    -<span class="align-text-top">text-top</span>
    -<span class="align-text-bottom">text-bottom</span>
    - - - - - - - - - - - -
    baselinetopmiddlebottomtext-toptext-bottom
    -
    <table style="height: 100px;">
    -<tbody>
    -<tr>
    -  <td class="align-baseline">baseline</td>
    -  <td class="align-top">top</td>
    -  <td class="align-middle">middle</td>
    -  <td class="align-bottom">bottom</td>
    -  <td class="align-text-top">text-top</td>
    -  <td class="align-text-bottom">text-bottom</td>
    -</tr>
    -</tbody>
    -</table>
    - -
    - - -
    -
    -
    - - - \ No newline at end of file diff --git a/my-snippets/B5-Snippets/templates/masonary.html b/my-snippets/B5-Snippets/templates/masonary.html deleted file mode 100644 index d52db39..0000000 --- a/my-snippets/B5-Snippets/templates/masonary.html +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - - - - - Masonry example ยท Bootstrap - - - - - - - - - - - - - - - - - - - - - - - - - -
    -

    Bootstrap and Masonry

    -

    Integrate Masonry with the Bootstrap grid system and - cards component.

    - -

    Masonry is not included in Bootstrap. Add it by including the JavaScript plugin manually, or using a CDN like - so:

    - -
    
    -<script src="https://cdnjs.cloudflare.com/ajax/libs/masonry/4.2.2/masonry.pkgd.min.js" integrity="sha384-GNFwBvfVxBkLMJpYMOABq3c+d3KnQxudP/mGPkzpZSTYykLBNsZEnG2D9G/X/+7D" crossorigin="anonymous" async></script>
    -  
    - -

    By adding data-masonry='{"percentPosition": true }' to the .row wrapper, we can - combine the powers of Bootstrap's responsive grid and Masonry's positioning.

    - -
    - -
    -
    -
    - - Placeholder - Image cap - - -
    -
    Card title that wraps to a new line
    -

    This is a longer card with supporting text below as a natural lead-in to - additional content. This content is a little bit longer.

    -
    -
    -
    -
    -
    -
    -
    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

    -
    - -
    -
    -
    -
    -
    - - Placeholder - Image cap - - -
    -
    Card title
    -

    This card has supporting text below as a natural lead-in to additional - content.

    -

    Last updated 3 mins ago

    -
    -
    -
    -
    -
    -
    -
    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat.

    -
    - -
    -
    -
    -
    -
    -
    -
    Card title
    -

    This card has a regular title and short paragraph of text below it.

    -

    Last updated 3 mins ago

    -
    -
    -
    -
    -
    - - Placeholder - Card image - - -
    -
    -
    -
    -
    -
    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

    -
    - -
    -
    -
    -
    -
    -
    -
    Card title
    -

    This is another card with title and supporting text below. This card has - some additional content to make it slightly taller overall.

    -

    Last updated 3 mins ago

    -
    -
    -
    -
    - -
    - - - - - - - \ No newline at end of file diff --git a/my-snippets/B5-Snippets/templates/navbar-bottom.html b/my-snippets/B5-Snippets/templates/navbar-bottom.html deleted file mode 100644 index 65e523b..0000000 --- a/my-snippets/B5-Snippets/templates/navbar-bottom.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - Bootstrap 5 Navbar Bottom Template ยท Bootstrap - - - - - - - - - - - - - - - -
    -
    - -
    -
    #JavaScriptFirst
    - - ${1:Learn Modern JavaScript, from an Open Source Book that teaches anyone how to code with JavaScript using - the node.js runtime environment rather than a browser and by the end, you will build a server and a website - using JavaScript.} - -
    -
    -
    - - - - - - - \ No newline at end of file diff --git a/my-snippets/B5-Snippets/templates/offcanvas.html b/my-snippets/B5-Snippets/templates/offcanvas.html deleted file mode 100644 index 0a29e27..0000000 --- a/my-snippets/B5-Snippets/templates/offcanvas.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - Bootstrap 5 Offcanvas Template ยท Bootstrap - - - - - - - - - - - - - - - - -
    -
    - -
    -
    #JavaScriptFirst
    - Learn Modern JavaScript, from an Open Source Book that teaches anyone how to code with JavaScript - using the node.js runtime environment rather than a browser and by the end, you will build a server and a - website using JavaScript. -
    -
    - -
    - - - - \ No newline at end of file diff --git a/my-snippets/B5-Snippets/templates/pricing.html b/my-snippets/B5-Snippets/templates/pricing.html deleted file mode 100644 index 9ca3dbc..0000000 --- a/my-snippets/B5-Snippets/templates/pricing.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - - - - - Pricing example ยท Bootstrap - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    Company name
    - - Sign up -
    - -
    -

    Pricing

    -

    Quickly build an effective pricing table for your potential customers with this Bootstrap example. - Itโ€™s built with default Bootstrap components and utilities with little customization.

    -
    - -
    -
    -
    -
    -
    -

    Free

    -
    -
    -

    $0 / mo

    -
      -
    • 10 users included
    • -
    • 2 GB of storage
    • -
    • Email support
    • -
    • Help center access
    • -
    - -
    -
    -
    -
    -
    -
    -

    Pro

    -
    -
    -

    $15 / mo

    -
      -
    • 20 users included
    • -
    • 10 GB of storage
    • -
    • Priority email support
    • -
    • Help center access
    • -
    - -
    -
    -
    -
    -
    -
    -

    Enterprise

    -
    -
    -

    $29 / mo

    -
      -
    • 30 users included
    • -
    • 15 GB of storage
    • -
    • Phone and email support
    • -
    • Help center access
    • -
    - -
    -
    -
    -
    - - -
    - - - - - - \ No newline at end of file diff --git a/my-snippets/B5-Snippets/templates/product.html b/my-snippets/B5-Snippets/templates/product.html deleted file mode 100644 index d694263..0000000 --- a/my-snippets/B5-Snippets/templates/product.html +++ /dev/null @@ -1,294 +0,0 @@ - - - - - - - - - - Product example ยท Bootstrap - - - - - - - - - - - - - - - - - - - - - -
    -
    -

    Punny headline

    -

    And an even wittier subheading to boot. Jumpstart your marketing efforts - with this example based on Appleโ€™s marketing pages.

    - Coming soon -
    -
    -
    -
    - -
    -
    -
    -

    Another headline

    -

    And an even wittier subheading.

    -
    -
    -
    -
    -
    -
    -

    Another headline

    -

    And an even wittier subheading.

    -
    -
    -
    -
    -
    - -
    -
    -
    -

    Another headline

    -

    And an even wittier subheading.

    -
    -
    -
    -
    -
    -
    -

    Another headline

    -

    And an even wittier subheading.

    -
    -
    -
    -
    -
    - -
    -
    -
    -

    Another headline

    -

    And an even wittier subheading.

    -
    -
    -
    -
    -
    -
    -

    Another headline

    -

    And an even wittier subheading.

    -
    -
    -
    -
    -
    - -
    -
    -
    -

    Another headline

    -

    And an even wittier subheading.

    -
    -
    -
    -
    -
    -
    -

    Another headline

    -

    And an even wittier subheading.

    -
    -
    -
    -
    -
    - - - - - - - - - - \ No newline at end of file diff --git a/my-snippets/B5-Snippets/templates/sign-in.html b/my-snippets/B5-Snippets/templates/sign-in.html deleted file mode 100644 index ca18c67..0000000 --- a/my-snippets/B5-Snippets/templates/sign-in.html +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - Signin Template ยท Bootstrap - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/my-snippets/B5-Snippets/templates/snippets/flex-utility.html b/my-snippets/B5-Snippets/templates/snippets/flex-utility.html deleted file mode 100644 index d470b10..0000000 --- a/my-snippets/B5-Snippets/templates/snippets/flex-utility.html +++ /dev/null @@ -1,141 +0,0 @@ -
    - -
    - - -This has x options: -1. behavior -2. direction -3. justify content -4. align-items -5. - - -!flex-justify -justify-content-${|start,end,center,between,around,evenly,sm-start,sm-end,sm-center,sm-between,sm-around,sm-evenly,md-start,md-end,md-center,md-between,md-around,md-evenly,lg-start,lg-end,lg-center,lg-between,lg-around,lg-evenly,xl-start,xl-end,xl-center,xl-between,xl-around,xl-evenly,xxl-start,xxl-end,xxl-center,xxl-between,xxl-around,xxl-evenly|} - -Options: -- start, -- end, -- center, -- between, -- around, -- evenly, -- sm-start, -- sm-end, -- sm-center, -- sm-between, -- sm-around, -- sm-evenly, -- md-start, -- md-end, -- md-center, -- md-between, -- md-around, -- md-evenly, -- lg-start, -- lg-end, -- lg-center, -- lg-between, -- lg-around, -- lg-evenly, -- xl-start, -- xl-end, -- xl-center, -- xl-between, -- xl-around, -- xl-evenly, -- xxl-start, -- xxl-end, -- xxl-center, -- xxl-between, -- xxl-around, -- xxl-evenly, - - -!flex-align-item -align-items-${1|start,end,center,baseline,stretch,sm-start,sm-end,sm-center,sm-baseline,sm-stretch,md-start,md-end,md-center,md-baseline,md-stretch,lg-start,lg-end,lg-center,lg-baseline,lg-stretch,xl-start,xl-end,xl-center,xl-baseline,xl-stretch,xxl-start,xxl-end,xxl-center,xxl-baseline,xxl-stretch|} - -Options: -- start, -- end, -- center, -- baseline, -- stretch, -- sm-start, -- sm-end, -- sm-center, -- sm-baseline, -- sm-stretch, -- md-start, -- md-end, -- md-center, -- md-baseline, -- md-stretch, -- lg-start, -- lg-end, -- lg-center, -- lg-baseline, -- lg-stretch, -- xl-start, -- xl-end, -- xl-center, -- xl-baseline, -- xl-stretch, -- xxl-start, -- xxl-end, -- xxl-center, -- xxl-baseline, -- xxl-stretch, - - -!flex-align-self -align-self-${1|start,end,center,baseline,stretch,sm-start,sm-end,sm-center,sm-baseline,sm-stretch,md-start,md-end,md-center,md-baseline,md-stretch,lg-start,lg-end,lg-center,lg-baseline,lg-stretch,xl-start,xl-end,xl-center,xl-baseline,xl-stretch,xxl-start,xxl-end,xxl-center,xxl-baseline,xxl-stretch|} - -Options: - -- start, -- end, -- center, -- baseline, -- stretch, -- sm-start, -- sm-end, -- sm-center, -- sm-baseline, -- sm-stretch, -- md-start, -- md-end, -- md-center, -- md-baseline, -- md-stretch, -- lg-start, -- lg-end, -- lg-center, -- lg-baseline, -- lg-stretch, -- xl-start, -- xl-end, -- xl-center, -- xl-baseline, -- xl-stretch, -- xxl-start, -- xxl-end, -- xxl-center, -- xxl-baseline, -- xxl-stretch, - - - -!flex-fill -Description: - -flex-${1|fill,sm-fill,md-fill,lg-fill,xl-fill,xxl-fill|} - -Options: -- fill -- sm-fill -- md-fill -- lg-fill -- xl-fill -- xxl-fill \ No newline at end of file diff --git a/my-snippets/B5-Snippets/templates/snippets/flex-utility.md b/my-snippets/B5-Snippets/templates/snippets/flex-utility.md deleted file mode 100644 index 060bfa1..0000000 --- a/my-snippets/B5-Snippets/templates/snippets/flex-utility.md +++ /dev/null @@ -1,475 +0,0 @@ - - - - - - - -
    - -${3| ,!direction,!justify,!align|} - - -
    - - -This has x options: -1. behavior -2. direction -3. justify content -4. align-items,self,content -5. - - -# Display - -d-sm--flex - -d${1|\b,-sm,-md,-lg,-xl,-xxl|}-${2|flex,inline-flex,none,block,inline,inline-block,table,table-cell,table-row|} - -${3| ,!direction,!justify,!align|} - - -none -inline -inline-block -block -table -table-cell -table-row -flex -inline-flex - - -# Justify Content - -`!justify` - -.justify-content-start -.justify-content-end -.justify-content-center -.justify-content-between -.justify-content-around -.justify-content-evenly - -Description: change the alignment of flex items on the main axis (the x-axis to start, y-axis if flex-direction: column) - -Options: - -justify-content${2|\b-,-sm-,-md-,-lg-,-xl-,-xxl-|}${3|start,end,center,baseline,stretch,around,between,evenly|} - -!flex-justify -justify-content-${|start,end,center,between,around,evenly,sm-start,sm-end,sm-center,sm-between,sm-around,sm-evenly,md-start,md-end,md-center,md-between,md-around,md-evenly,lg-start,lg-end,lg-center,lg-between,lg-around,lg-evenly,xl-start,xl-end,xl-center,xl-between,xl-around,xl-evenly,xxl-start,xxl-end,xxl-center,xxl-between,xxl-around,xxl-evenly|} - -Options: -- start, -- end, -- center, -- between, -- around, -- evenly, -- sm-start, -- sm-end, -- sm-center, -- sm-between, -- sm-around, -- sm-evenly, -- md-start, -- md-end, -- md-center, -- md-between, -- md-around, -- md-evenly, -- lg-start, -- lg-end, -- lg-center, -- lg-between, -- lg-around, -- lg-evenly, -- xl-start, -- xl-end, -- xl-center, -- xl-between, -- xl-around, -- xl-evenly, -- xxl-start, -- xxl-end, -- xxl-center, -- xxl-between, -- xxl-around, -- xxl-evenly, - - -!flex-align-item -align-items-${1|start,end,center,baseline,stretch,sm-start,sm-end,sm-center,sm-baseline,sm-stretch,md-start,md-end,md-center,md-baseline,md-stretch,lg-start,lg-end,lg-center,lg-baseline,lg-stretch,xl-start,xl-end,xl-center,xl-baseline,xl-stretch,xxl-start,xxl-end,xxl-center,xxl-baseline,xxl-stretch|} - -Options: -- start, -- end, -- center, -- baseline, -- stretch, -- sm-start, -- sm-end, -- sm-center, -- sm-baseline, -- sm-stretch, -- md-start, -- md-end, -- md-center, -- md-baseline, -- md-stretch, -- lg-start, -- lg-end, -- lg-center, -- lg-baseline, -- lg-stretch, -- xl-start, -- xl-end, -- xl-center, -- xl-baseline, -- xl-stretch, -- xxl-start, -- xxl-end, -- xxl-center, -- xxl-baseline, -- xxl-stretch, - - -# !flex-align - -`!flex-align` - -align-self-sm-start - - - - - - - - - - - - - - -Descriptions: 1. align-content: aligns items together on the CROSS axis (horizontal) \n 2. align-content: change the alignment of flex items on the cross axis (the y-axis to start, x-axis if flex-direction: column) \n 3. align-self: change their alignment on the cross axis (the y-axis to start, x-axis if flex-direction: column) - -Usage: align-${1|items,self,content|}-${2|\b,-sm,-sm,-md,-md,-lg,-lg,-xl,-xl,-xxl,-xxl|}-${3|start,end,center,baseline,stretch|} - -align-self-${1|start,end,center,baseline,stretch,sm-start,sm-end,sm-center,sm-baseline,sm-stretch,md-start,md-end,md-center,md-baseline,md-stretch,lg-start,lg-end,lg-center,lg-baseline,lg-stretch,xl-start,xl-end,xl-center,xl-baseline,xl-stretch,xxl-start,xxl-end,xxl-center,xxl-baseline,xxl-stretch|} - -Options: - -- start, -- end, -- center, -- baseline, -- stretch, - -- sm-start, -- sm-end, -- sm-center, -- sm-baseline, -- sm-stretch, -- md-start, -- md-end, -- md-center, -- md-baseline, -- md-stretch, -- lg-start, -- lg-end, -- lg-center, -- lg-baseline, -- lg-stretch, -- xl-start, -- xl-end, -- xl-center, -- xl-baseline, -- xl-stretch, -- xxl-start, -- xxl-end, -- xxl-center, -- xxl-baseline, -- xxl-stretch, - - -# Flex-fill -`!fill` -Description: use on sibling elements to force them into widths equal to their content - -Usage: flex-${1|fill,sm-fill,md-fill,lg-fill,xl-fill,xxl-fill|} - - - -Options: -- fill -- sm-fill -- md-fill -- lg-fill -- xl-fill -- xxl-fill - - -# Grow and shrink - -`!flex-grow-shrink` - -Description: utilities to toggle a flex itemโ€™s ability to grow to fill available space - -Usage: flex-${1|\b,-sm,-sm,-md,-md,-lg,-lg,-xl,-xl,-xxl,-xxl|}-${2|grow,shrink|}${3|0,1|} - - - -Options: - - -.flex${1|-,-sm,-md-,-lg-,-xl-,-xxl-|}{grow|shrink}-${3|0,1|} -.flex-{grow|shrink}-1 -.flex-sm-{grow|shrink}-0 -.flex-sm-{grow|shrink}-1 -.flex-md-{grow|shrink}-0 -.flex-lg-{grow|shrink}-0 -.flex-xl-{grow|shrink}-0 -.flex-xl-{grow|shrink}-1 -.flex-xxl-{grow|shrink}-0 -.flex-xxl-{grow|shrink}-1 - - - -# Wrap - -`!flex-wrap` - -Description: utilities to toggle a flex itemโ€™s ability to grow to fill available space. - - -flex-${2|\b,sm-,md-,lg-,xl-,xxl-|}${3| ,wrap,nowrap,wrap-reverse, |} - -Options: -.flex-nowrap -.flex-wrap -.flex-wrap-reverse -.flex-sm-nowrap -.flex-sm-wrap -.flex-sm-wrap-reverse -.flex-md-nowrap -.flex-md-wrap -.flex-md-wrap-reverse -.flex-lg-nowrap -.flex-lg-wrap -.flex-lg-wrap-reverse -.flex-xl-nowrap -.flex-xl-wrap -.flex-xl-wrap-reverse -.flex-xxl-nowrap -.flex-xxl-wrap -.flex-xxl-wrap-reverse - - - - -# Order - -`!order` - -Description: Change the visual order of specific flex items with a handful of order utilities. - - - -order-${1|\b,sm-,md-,lg-,xl-,xxl-|}${2|1,2,3,4,5,first,last|} - -order-first - -Options: - -.order-first -.order-last -.order-sm-first -.order-sm-last -.order-md-first -.order-md-last -.order-lg-first -.order-lg-last -.order-xl-first -.order-xl-last -.order-xxl-first -.order-xxl-last - - -.order-0 -.order-1 -.order-2 -.order-3 -.order-4 -.order-5 -.order-sm-0 -.order-sm-1 -.order-sm-2 -.order-sm-3 -.order-sm-4 -.order-sm-5 -.order-md-0 -.order-md-1 -.order-md-2 -.order-md-3 -.order-md-4 -.order-md-5 -.order-lg-0 -.order-lg-1 -.order-lg-2 -.order-lg-3 -.order-lg-4 -.order-lg-5 -.order-xl-0 -.order-xl-1 -.order-xl-2 -.order-xl-3 -.order-xl-4 -.order-xl-5 -.order-xxl-0 -.order-xxl-1 -.order-xxl-2 -.order-xxl-3 -.order-xxl-4 -.order-xxl-5 - - - -# border - -`!border` - - -Description: - -Options: - -rounded rounded-sm - - -# Round - -`!round` - -Description: - -Options: - -rounded rounded-sm - - -# align-content - -`!flex-align-content` - -Description: align flex items together on the cross axis. Choose from start (browser default), end, center, between, around, or stretch - -align-content-${1|\b,sm-,md-,lg-,xl-,xxl-|}${2|start,end,center,around,stretch|} - - - -Options: - -.align-content-start -.align-content-end -.align-content-center -.align-content-around -.align-content-stretch -.align-content-sm-start -.align-content-sm-end -.align-content-sm-center -.align-content-sm-around -.align-content-sm-stretch -.align-content-md-start -.align-content-md-end -.align-content-md-center -.align-content-md-around -.align-content-md-stretch -.align-content-lg-start -.align-content-lg-end -.align-content-lg-center -.align-content-lg-around -.align-content-lg-stretch -.align-content-xl-start -.align-content-xl-end -.align-content-xl-center -.align-content-xl-around -.align-content-xl-stretch -.align-content-xxl-start -.align-content-xxl-end -.align-content-xxl-center -.align-content-xxl-around -.align-content-xxl-stretch - -# Flex Utility - -`!flex` - -Usage: - d-${1|\b-,-sm-,-md-,-lg-,-xl-,-xxl-|}${2|flex,inline-flex|} - -Description: - Create a flexbox container and transform direct children elements into flex items. \n\n Ends with an option to continue tabing out the direction utilities. - -Options: - -.d-flex -.d-inline-flex -.d-sm-flex -.d-sm-inline-flex -.d-md-flex -.d-md-inline-flex -.d-lg-flex -.d-lg-inline-flex -.d-xl-flex -.d-xl-inline-flex -.d-xxl-flex -.d-xxl-inline-flex - - - - -# Direction - -`!direction` - -Usage: -flex${1|\b-,-sm-,-md-,-lg-,-xl-,-xxl-|}${2|row-,row-reverse,column,column-reverse|} - -.flex-row -.flex-row-reverse -.flex-column -.flex-column-reverse -.flex-sm-row -.flex-sm-row-reverse -.flex-sm-column -.flex-sm-column-reverse -.flex-md-row -.flex-md-row-reverse -.flex-md-column -.flex-md-column-reverse -.flex-lg-row -.flex-lg-row-reverse -.flex-lg-column -.flex-lg-column-reverse -.flex-xl-row -.flex-xl-row-reverse -.flex-xl-column -.flex-xl-column-reverse -.flex-xxl-row -.flex-xxl-row-reverse -.flex-xxl-column -.flex-xxl-column-reverse - - -Description: - -Options: - diff --git a/my-snippets/B5-Snippets/templatesAndFlexUtilities.gif b/my-snippets/B5-Snippets/templatesAndFlexUtilities.gif deleted file mode 100644 index ea0ff5d..0000000 Binary files a/my-snippets/B5-Snippets/templatesAndFlexUtilities.gif and /dev/null differ diff --git a/my-snippets/B5-Snippets/test.js b/my-snippets/B5-Snippets/test.js deleted file mode 100644 index bbeb3a7..0000000 --- a/my-snippets/B5-Snippets/test.js +++ /dev/null @@ -1,28 +0,0 @@ -var jsonConcat = require("json-concat"); - -jsonConcat({ - src: [ - "snippets/types/utility.json", - "snippets/types/modal.json", - "snippets/types/navigation.json", - "snippets/types/carousel.json", - "snippets/types/grid.json", - "snippets/types/buttons.json", - "snippets/types/collapse.json", - "snippets/types/cards.json", - "snippets/types/pagination.json", - "snippets/types/breadcrumb.json", - "snippets/types/content.json", - "snippets/types/forms.json", - "snippets/types/list-group.json", - "snippets/types/progressbar.json", - "snippets/types/fonts.json", - "snippets/types/templates.json" - ], - dest: "snippets/bootstrap.json" -}, function (json) { - console.log(json); -}); - -// "snippets/types/utility.json", -// "snippets/types/templates.json" \ No newline at end of file diff --git a/my-snippets/B5-Snippets/tsconfig.json b/my-snippets/B5-Snippets/tsconfig.json deleted file mode 100644 index b65c745..0000000 --- a/my-snippets/B5-Snippets/tsconfig.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "target": "es6", - "outDir": "out", - "lib": [ - "es6" - ], - "sourceMap": true, - "rootDir": "src", - "strict": true /* enable all strict type-checking options */ - /* Additional Checks */ - // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ - // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ - // "noUnusedParameters": true, /* Report errors on unused parameters. */ - }, - "exclude": [ - "node_modules", - ".vscode-test" - ] -} diff --git a/my-snippets/B5-Snippets/tslint.json b/my-snippets/B5-Snippets/tslint.json deleted file mode 100644 index c81ff28..0000000 --- a/my-snippets/B5-Snippets/tslint.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "rules": { - "no-string-throw": true, - "no-unused-expression": true, - "no-duplicate-variable": true, - "curly": true, - "class-name": true, - "semicolon": [ - true, - "always" - ], - "triple-equals": true - }, - "defaultSeverity": "warning" -} diff --git a/my-snippets/B5-Snippets/vsc-extension-quickstart.md b/my-snippets/B5-Snippets/vsc-extension-quickstart.md deleted file mode 100644 index cde7334..0000000 --- a/my-snippets/B5-Snippets/vsc-extension-quickstart.md +++ /dev/null @@ -1,41 +0,0 @@ -# Welcome to your VS Code Extension - -## What's in the folder - -* This folder contains all of the files necessary for your extension. -* `package.json` - this is the manifest file in which you declare your extension and command. - * The sample plugin registers a command and defines its title and command name. With this information VS Code can show the command in the command palette. It doesnโ€™t yet need to load the plugin. -* `src/extension.ts` - this is the main file where you will provide the implementation of your command. - * The file exports one function, `activate`, which is called the very first time your extension is activated (in this case by executing the command). Inside the `activate` function we call `registerCommand`. - * We pass the function containing the implementation of the command as the second parameter to `registerCommand`. - -## Get up and running straight away - -* Press `F5` to open a new window with your extension loaded. -* Run your command from the command palette by pressing (`Ctrl+Shift+P` or `Cmd+Shift+P` on Mac) and typing `Hello World`. -* Set breakpoints in your code inside `src/extension.ts` to debug your extension. -* Find output from your extension in the debug console. - -## Make changes - -* You can relaunch the extension from the debug toolbar after changing code in `src/extension.ts`. -* You can also reload (`Ctrl+R` or `Cmd+R` on Mac) the VS Code window with your extension to load your changes. - -## Explore the API - -* You can open the full set of our API when you open the file `node_modules/vscode/vscode.d.ts`. - -## Run tests - -* Open the debug viewlet (`Ctrl+Shift+D` or `Cmd+Shift+D` on Mac) and from the launch configuration dropdown pick `Extension Tests`. -* Press `F5` to run the tests in a new window with your extension loaded. -* See the output of the test result in the debug console. -* Make changes to `test/extension.test.ts` or create new test files inside the `test` folder. - * By convention, the test runner will only consider files matching the name pattern `**.test.ts`. - * You can create folders inside the `test` folder to structure your tests any way you want. - -## Go further - - * Reduce the extension size and improve the startup time by [bundling your extension](https://code.visualstudio.com/api/working-with-extensions/testing-extension). - * [Publish your extension](https://code.visualstudio.com/api/working-with-extensions/publishing-extension) on the VSCode extension marketplace. - * Automate builds by setting up [Continuous Integration](https://code.visualstudio.com/api/working-with-extensions/continuous-integration). diff --git a/my-snippets/codeigniter4/.github/FUNDING.yml b/my-snippets/codeigniter4/.github/FUNDING.yml deleted file mode 100644 index 3b0dee2..0000000 --- a/my-snippets/codeigniter4/.github/FUNDING.yml +++ /dev/null @@ -1 +0,0 @@ -custom: ['https://codeigniter.com'] diff --git a/my-snippets/codeigniter4/.gitignore b/my-snippets/codeigniter4/.gitignore deleted file mode 100644 index 77567aa..0000000 --- a/my-snippets/codeigniter4/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -*.vsix -*.NOTE.md -*.ex.json \ No newline at end of file diff --git a/my-snippets/codeigniter4/.vscode/launch.json b/my-snippets/codeigniter4/.vscode/launch.json deleted file mode 100644 index ee866f3..0000000 --- a/my-snippets/codeigniter4/.vscode/launch.json +++ /dev/null @@ -1,17 +0,0 @@ -// A launch configuration that launches the extension inside a new window -// Use IntelliSense to learn about possible attributes. -// Hover to view descriptions of existing attributes. -// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 -{ - "version": "0.2.0", - "configurations": [ - { - "name": "Extension", - "type": "extensionHost", - "request": "launch", - "args": [ - "--extensionDevelopmentPath=${workspaceFolder}" - ] - } - ] -} \ No newline at end of file diff --git a/my-snippets/codeigniter4/.vscodeignore b/my-snippets/codeigniter4/.vscodeignore deleted file mode 100644 index 30836f8..0000000 --- a/my-snippets/codeigniter4/.vscodeignore +++ /dev/null @@ -1,7 +0,0 @@ -.vscode/** -.vscode-test/** -.gitignore -vsc-extension-quickstart.md -docs/** -*.ex.json -*.NOTE.md diff --git a/my-snippets/codeigniter4/CHANGELOG.md b/my-snippets/codeigniter4/CHANGELOG.md deleted file mode 100644 index 2e5083c..0000000 --- a/my-snippets/codeigniter4/CHANGELOG.md +++ /dev/null @@ -1,163 +0,0 @@ -# Change Log - -All notable changes to the "codeigniter4-snippets" extension will be documented in this file. - -Check [Keep a Changelog](https://github.com/adereksisusanto/codeigniter4-snippets/releases/tag/0.1.1) for recommendations on how to structure this file. - -## Donate -If this project help you reduce time to develop, you can give me a cup of coffee :) - -[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://paypal.me/adereksisusanto?locale.x=id_ID) [![Donate](https://img.shields.io/badge/Donate-trakteer.id-red)](https://trakteer.id/adereksisusanto) - -## [Released - 0.1.1] - 2021-10-18 - -- #### Fixed Bugs Snippets. -- #### Add New Snippets. - - [Controllers](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/CONTROLLERS.md) - - [Request Class](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/CONTROLLERS.md#controller-request-class) - - [Routes](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/ROUTES.md) - - [Presenter](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/ROUTES.md#presenter) - - [Resource](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/ROUTES.md#resource) - -## [Released - 0.1.0] - 2021-09-21 - -- #### Fixed Bugs Snippets. -- #### Update Snippets. - - [Controllers](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/CONTROLLERS.md) - - [Controller Resources](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/CONTROLLERS.md#controller-resources) -- #### Add New Snippets. - - [Controllers](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/CONTROLLERS.md) - - [Controller Presenter](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/CONTROLLERS.md##controller-presenter) - - [Routes](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/ROUTES.md) - - [Placeholders](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/ROUTES.md#placeholders) - - [Custom Placeholders](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/ROUTES.md#custom-placeholders) - -## [Released - 0.0.9] - 2021-09-20 - -- #### Fixed Bugs Snippets. -- #### Add New Snippets. - - ##### [Validations](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/VALIDATIONS.md) - - ##### [Validation in Controller](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/VALIDATIONS.md#validation-in-controller) - -## [Released - 0.0.8] - 2021-04-18 - -- #### Add New Snippets. - - ##### [Migrations](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/MIGRATIONS.md) - -## [Released - 0.0.7] - 2021-04-06 - -- #### Add New Snippets. - - ##### [Migrations](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/MIGRATIONS.md) - -## [Released - 0.0.6] - 2021-04-05 - -- #### Fixed Bugs Snippets. -- #### Add New Snippets. - - ##### [Controllers](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/CONTROLLERS.md) - - ##### [Models](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/MODELS.md) - -## [Released - 0.0.5] - -- #### Fixed Bugs Links. - -## [Released - 0.0.4] - -- #### Fixed Bugs. -- #### Change Command ( [read](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/CHANGE.md) ). -- #### Add Docs. - - ##### [Routes](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/ROUTES.md) - - ##### [Views](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/VIEWS.md) -- #### Add New Snippets {`[ProjectRoot]/app/Views/**.php`} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    CommandDescriptionOutput
    ci4:views:foreachMake foreach in View files - - ```php - -
  • - - ``` - -
    ci4:views:ifMake if in View files - - ```php - - - - ``` - -
    ci4:views:if-elseMake if else in View files - - ```php - - - - - - ``` - -
    ci4:views:if-elseifMake if elseif in View files - - ```php - - - - - - ``` - -
    ci4:views:if-elseif-elseMake if elseif else in View files - - ```php - - - - - - - - ``` - -
    - -## License & Download - -[![GitHub license](https://img.shields.io/github/license/adereksisusanto/codeigniter4-snippets.svg)](https://github.com/adereksisusanto/codeigniter4-snippets) ![Visual Studio Marketplace Downloads](https://img.shields.io/visual-studio-marketplace/d/adereksisusanto.codeigniter4-snippets) diff --git a/my-snippets/codeigniter4/LICENSE b/my-snippets/codeigniter4/LICENSE deleted file mode 100644 index f16e51f..0000000 --- a/my-snippets/codeigniter4/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2021 adereksisusanto - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/my-snippets/codeigniter4/README.md b/my-snippets/codeigniter4/README.md deleted file mode 100644 index 345c63f..0000000 --- a/my-snippets/codeigniter4/README.md +++ /dev/null @@ -1,45 +0,0 @@ -# Codeigniter 4 Snippets for Vscode - -This Extensions provides the Codeigniter 4 snippets - -## Requirements - -```bash -CodeIgniter Version : 4.1.4 -``` - -## Install - -Launch Code's command palette - -```bash -ext install adereksisusanto.codeigniter4-snippets -``` - -### Table of Content - -- [Controllers](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/CONTROLLERS.md) - - [Presenter](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/CONTROLLERS.md##controller-presenter) - - [Resources](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/CONTROLLERS.md#controller-resources) - - [Request Class](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/CONTROLLERS.md#controller-request-class) New -- [Migrations](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/MIGRATIONS.md) -- [Models](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/MODELS.md) -- [Routes](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/ROUTES.md) - - [Placeholders](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/ROUTES.md#placeholders) - - [Custom Placeholders](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/ROUTES.md#custom-placeholders) - - [Presenter](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/ROUTES.md#presenter) New - - [Resource](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/ROUTES.md#resource) New -- [Validation](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/VALIDATIONS.md) - - [Validation in Controller](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/VALIDATIONS.md#validation-in-controller) -- [Views](https://github.com/adereksisusanto/codeigniter4-snippets/blob/main/docs/Views.md) - -Happy coding! - -## Donate -If this project help you reduce time to develop, you can give me a cup of coffee :) - -[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://paypal.me/adereksisusanto?locale.x=id_ID) [![Donate](https://img.shields.io/badge/Donate-trakteer.id-red)](https://trakteer.id/adereksisusanto) - -## License & Download - -[![GitHub license](https://img.shields.io/github/license/adereksisusanto/codeigniter4-snippets.svg)](https://github.com/adereksisusanto/codeigniter4-snippets) ![Visual Studio Marketplace Downloads](https://img.shields.io/visual-studio-marketplace/d/adereksisusanto.codeigniter4-snippets) diff --git a/my-snippets/codeigniter4/ci4.png b/my-snippets/codeigniter4/ci4.png deleted file mode 100644 index 0645f8d..0000000 Binary files a/my-snippets/codeigniter4/ci4.png and /dev/null differ diff --git a/my-snippets/codeigniter4/docs/CHANGE.md b/my-snippets/codeigniter4/docs/CHANGE.md deleted file mode 100644 index b9254d8..0000000 --- a/my-snippets/codeigniter4/docs/CHANGE.md +++ /dev/null @@ -1,298 +0,0 @@ -## Change Command Snippets - ---- - -### Alternate Snippets for View Files - -### `[ProjectRoot]/app/Views/**.php` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    CommandDescriptionOutput
    LatesNews
    ci4_endsectionci4:views:endSectionMake end Section - -```php -endSection() ;?> -``` - -
    ci4_extendci4:views:extendUsing Layouts in Views - -```php -extend('layouts') ;?> -``` - -
    ci4_includeci4:views:includeIncluding View Partials - -```php -include('sidebar') ;?> -``` - -
    ci4_phpci4:views:phpMake php tag - -```php - -``` - -
    ci4_php_echoci4:views:php-echoMake php echo tag - -```php - -``` - -
    ci4_rendersectionci4:views:renderSectionMake render Section - -```php -renderSection('content') ;?> -``` - -
    ci4_sectionci4:views:sectionMake Section - -```php -section('content') ;?> -``` - -
    ci4_sectionendci4:views:section-endSectionMake Section with end Section - -```php -section('content') ;?> - -endSection() ;?> -``` - -
    - ---- - -### Alternate Snippets for Routes - -### `[ProjectRoot]/app/Config/Routes.php` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    CommandDescriptionOutput
    LatesNews
    ci4_routes_addci4:routes:addMake Routes add() - -```php -$routes->add('url', 'ControllerName::index'); -``` - -
    ci4_routes_clici4:routes:cliMake Command-Line only Routes - -```php -$routes->cli('migrate', 'App\Database::migrate'); -``` - -
    ci4_routes_envci4:routes:envMake Routes Environment - -```php -$routes->environment('development' , function($routes) -{ - $routes->add('builder','Tools\Builder::index'); -}); -``` - -
    ci4_routes_getci4:routes:getMake Routes get() - -```php -$routes->get('url', 'ControllerName::index'); -``` - -
    ci4_routes_groupci4:routes:groupMake Routes group() - -```php -$routes->group('admin', function($routes) -{ - //Route -}); -``` - -
    ci4_routes_group_filterci4:routes:group-filterMake Routes group() filter - -```php -$routes->group('api' , ['filter' => 'api-auth'], function($routes) -{ - $routes->resource('url'); -}); -``` - -
    ci4_routes_group_multipleci4:routes:group-multipleMake Routes group() multiple - -```php -$routes->group('admin', function($routes) -{ - $routes->group('users', function($routes) - { - //Route - }); -}); -``` - -
    ci4_routes_group_namespaceci4:routes:group-namespaceMake Routes group() namespace - -```php -$routes->group('api' , ['namespace' => 'App\API\v1'], function($routes) -{ - //Route -}); -``` - -
    ci4_routes_postci4:routes:postMake Routes post() - -```php -$routes->post('url', 'ControllerName::index'); -``` - -
    ci4_routes_subdomainci4:routes:subdomainMake Routes Limit to Subdomains - -```php -$routes->add('from', 'to', ['subdomain' => '*']); -``` - -
    diff --git a/my-snippets/codeigniter4/docs/CONTROLLERS.md b/my-snippets/codeigniter4/docs/CONTROLLERS.md deleted file mode 100644 index 83e5825..0000000 --- a/my-snippets/codeigniter4/docs/CONTROLLERS.md +++ /dev/null @@ -1,208 +0,0 @@ -### Alternate Snippets for Controllers - -### `[ProjectRoot]/app/Controllers/**.php` - -### Table of Content - - [Controllers](#controllers) - - [Presenter](#presenter) - - [Resources](#resources) - - [Request Class](#request-class) New - -#### Controllers - - - - - - - - - - - - - - -
    COMMANDSRENDERS
    - -```code -ci4:controller -``` - - -```php -public function index() -{ - // code -} -``` -
    - -##### Presenter - - - - - - - - - - - - - - -
    COMMANDSRENDERS
    - -```code -ci4:controller:presenter -``` - - - -```php -public function __construct() -{ - // __construct code -} - -public function index() -{ - // index code -} - -public function show($id = null) -{ - // show code -} - -public function new() -{ - // new code -} - -public function create() -{ - // create code -} - -public function edit($id = null) -{ - // edit code -} - -public function update($id = null) -{ - // update code -} - -public function remove($id = null) -{ - // remove code -} - -public function delete($id = null) -{ - // delete code -} -``` -
    - -##### Resources - - - - - - - - - - - - - - -
    COMMANDSRENDERS
    - -```code -ci4:controller:resources -``` - - - -```php -public function __construct() -{ - // __construct code -} - -public function index() -{ - // index code -} - -public function show($id = null) -{ - // show code -} - -public function new() -{ - // new code -} - -public function create() -{ - // create code -} - -public function edit($id = null) -{ - // edit code -} - -public function update($id = null) -{ - // update code -} - -public function delete($id = null) -{ - // delete code -} -``` -
    - -##### Request Class - - - - - - - - - - - - - - -
    COMMANDSRENDERS
    - -```code -ci4:controller:request -``` - - - -```php -$this->request->Type('field name'); -``` - - -Type : getVar, getGet, getPost, getMethod, isAjax, isCLI, isSecure
    -
    -
    \ No newline at end of file diff --git a/my-snippets/codeigniter4/docs/MIGRATIONS.md b/my-snippets/codeigniter4/docs/MIGRATIONS.md deleted file mode 100644 index 4b1a52e..0000000 --- a/my-snippets/codeigniter4/docs/MIGRATIONS.md +++ /dev/null @@ -1,245 +0,0 @@ -# Alternate Snippets for Migrations - -## `[ProjectRoot]/app/Database/Migrations/` - -# Table of Content - -- [Create Migration](#create-migration) - - [Migration Up](#migration-up) - - [Migration Down](#migration-down) -- [Create Table](#create-table) - - [Add Column](#add-column) [new] - - [BIGINT](#bigint) [new] - - [CHAR](#char) [new] - - [DATETIME](#datetime) [new] - - [INT](#int) [new] - - [VARCHAR](#varchar) [new] - - [ID](#id) [new] - - [Timestamp](#timestamp) - -## Create Migration - -**Command** - -```bash -ci4:migration -``` - -**Output** - -```php -forge->addField([ - 'id' => [ - 'type' => 'INT', - 'constraint' => 11, - 'unsigned' => true, - 'auto_increment' => true, - ], - 'name' => [ - 'type' => 'VARCHAR', - 'constraint' => 255, - ], - 'created_at' => [ - 'type' => 'DATETIME', - 'null' => true, - ], - 'updated_at' => [ - 'type' => 'DATETIME', - 'null' => true, - ], - 'deleted_at' => [ - 'type' => 'DATETIME', - 'null' => true, - ], - ]); - $this->forge->addKey('id', true); - $this->forge->createTable('tableName'); - } - ``` - -- ### Migration Down - - **Command** - - ```bash - ci4:migration:down - ``` - - **Output** - - ```php - public function down() - { - $this->forge->dropTable('tableName'); - } - ``` - -## Create Table - -- ### Add Column - - - #### BIGINT - - **Command** - - ```bash - ci4:migration:bigint - ``` - - **Output** - - ```php - 'columnName' => [ - 'type' => 'BIGINT', - 'constraint' => '20', - 'null' => true, - ], - ``` - - - #### CHAR - - **Command** - - ```bash - ci4:migration:char - ``` - - **Output** - - ```php - 'columnName' => [ - 'type' => 'CHAR', - 'constraint' => '10', - 'null' => true, - ], - ``` - - - #### DATETIME - - **Command** - - ```bash - ci4:migration:datetime - ``` - - **Output** - - ```php - 'columnName' => [ - 'type' => 'DATETIME', - 'null' => true, - ], - ``` - - - #### INT - - **Command** - - ```bash - ci4:migration:int - ``` - - **Output** - - ```php - 'columnName' => [ - 'type' => 'INT', - 'constraint' => '11', - 'null' => true, - ], - ``` - - - #### VARCHAR - - **Command** - - ```bash - ci4:migration:varchar - ``` - - **Output** - - ```php - 'columnName' => [ - 'type' => 'VARCHAR', - 'constraint' => '255', - 'null' => true, - ], - ``` - -- ### ID - - **Command :** - - ```bash - ci4:migration:id - ``` - - **Output :** - - ```php - 'id' => [ - 'type' => 'INT', - 'constraint' => 11, - 'unsigned' => true, - 'auto_increment' => true, - ], - ``` - -- ### Timestamp - - **Command :** - - ```bash - ci4:migration:timestamp - ``` - - **Output :** - - ```php - 'created_at' => [ - 'type' => 'DATETIME', - 'null' => true, - ], - 'updated_at' => [ - 'type' => 'DATETIME', - 'null' => true, - ], - 'deleted_at' => [ - 'type' => 'DATETIME', - 'null' => true, - ], - ``` diff --git a/my-snippets/codeigniter4/docs/MODELS.md b/my-snippets/codeigniter4/docs/MODELS.md deleted file mode 100644 index 0bacd19..0000000 --- a/my-snippets/codeigniter4/docs/MODELS.md +++ /dev/null @@ -1,36 +0,0 @@ -### Alternate Snippets for Models - -### `[ProjectRoot]/app/Models/*.php` - -### Table of Content - -- [Model Config](#model-config) [new] - -#### Model Config - -- Command - ```bash - ci4:model:config - ``` -- Output - - ```php - protected $table = 'tableName'; - protected $primaryKey = 'id'; - - protected $useAutoIncrement = true; - - protected $returnType = 'array'; - protected $useSoftDeletes = true; - - protected $allowedFields = ['name']; - - protected $useTimestamps = false; - protected $createdField = 'created_at'; - protected $updatedField = 'updated_at'; - protected $deletedField = 'deleted_at'; - - protected $validationRules = []; - protected $validationMessages = []; - protected $skipValidation = false; - ``` diff --git a/my-snippets/codeigniter4/docs/ROUTES.md b/my-snippets/codeigniter4/docs/ROUTES.md deleted file mode 100644 index ea1c177..0000000 --- a/my-snippets/codeigniter4/docs/ROUTES.md +++ /dev/null @@ -1,319 +0,0 @@ -### Alternate Snippets for Routes - -### `[ProjectRoot]/app/Config/Routes.php` - -### Table of Content - -- [Routes](#routes) - - [Placeholders](#placeholders) - - [Custom Placeholders](#custom-placeholders) - - [Presenter](#presenter) - - [Resource](#resource) - -### Routes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    COMMANDSRESULTS
    - -```code -ci4:routes:add -``` - - - -```php -$routes->add('url', 'ControllerName::index'); -``` -
    - -```code -ci4:routes:cli -``` - - - -```php -$routes->cli('migrate', 'App\Database::migrate'); -``` -
    - -```code -ci4:routes:env -``` - - - -```php -$routes->environment('development' , function($routes) -{ - $routes->add('builder','Tools\Builder::index'); -}); -``` -
    - -```code -ci4:routes:get -``` - - - -```php -$routes->get('url', 'ControllerName::index'); -``` -
    - -```code -ci4:routes:group -``` - - - -```php -$routes->group('admin', function($routes) -{ - $routes->add('url', 'ControllerName::index'); -}); -``` -
    - -```code -ci4:routes:group-filter -``` - - - -```php -$routes->group('api' , ['filter' => 'api-auth'], function($routes) -{ - $routes->resource('url'); -}); -``` -
    - -```code -ci4:routes:group-multiple -``` - - - -```php -$routes->group('admin', function($routes) -{ - $routes->group('users', function($routes) - { - //Route - }); -}); -``` -
    - -```code -ci4:routes:group-namespace -``` - - - -```php -$routes->group('api' , ['namespace' => 'App\API\v1'], function($routes) -{ - //Route -}); -``` -
    - -```code -ci4:routes:post -``` - - - -```php -$routes->post('url', 'ControllerName::index'); -``` -
    - -```code -ci4:routes:subdomain -``` - - - -```php -$routes->add('from', 'to', ['subdomain' => '*']); -``` -
    - -#### Placeholders - - - - - - - - - - - - - -
    COMMANDSRESULTS
    - -```code -ci4:routes:placeholder -``` - - - -```php -$routes->type('url/(:placeholder)', 'ControllerName::index/$1'); -``` - -Type : add, get, post, put, delete
    -Placeholder : any, segment, num, alpha, alphanum, hash
    -
    -
    - -#### Custom Placeholders - - - - - - - - - - - - - - -
    COMMANDSRESULTS
    - -```code -ci4:routes:placeholder:custom -``` - - - -```php -$routes->addPlaceholder('uuid', '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}'); -$routes->type('url/(:uuid)', 'ControllerName::index/$1'); -``` - -Type : add, get, post, put, delete
    -
    -
    - -#### Presenter - - - - - - - - - - - - - -
    COMMANDSRESULTS
    - -```code -ci4:routes:presenter -``` - - - -```php -$routes->presenter('url'); -``` -
    - -#### Resource - - - - - - - - - - - - - -
    COMMANDSRESULTS
    - -```code -ci4:routes:resource -``` - - - -```php -$routes->resource('url'); -``` -
    diff --git a/my-snippets/codeigniter4/docs/VALIDATIONS.md b/my-snippets/codeigniter4/docs/VALIDATIONS.md deleted file mode 100644 index 313659d..0000000 --- a/my-snippets/codeigniter4/docs/VALIDATIONS.md +++ /dev/null @@ -1,34 +0,0 @@ -### Alternate Snippets for Validation - -### Table of Content - -- [Alternate Snippets for Validation](#alternate-snippets-for-validation) -- [Table of Content](#table-of-content) -- [Validation](#validation) - - [Validation in Controller](#validation-in-controller) - -### Validation - -#### Validation in Controller - -- Command - ```code - ci4:validation:controller - ``` -- Output - - ```php - $validation = \Config\Services::validation(); - $rules = [ - 'field_1' => [ - 'label' => 'Field 1 Custom Name', - 'rules' => 'required', - 'errors' => [ - 'required' => '{field} is required.' - ] - ], - ]; - if (!$this->validate($rules)) { - return redirect()->to('/route')->withInput()->with('validation', $validation); - } - ``` \ No newline at end of file diff --git a/my-snippets/codeigniter4/docs/VIEWS.md b/my-snippets/codeigniter4/docs/VIEWS.md deleted file mode 100644 index 553eb79..0000000 --- a/my-snippets/codeigniter4/docs/VIEWS.md +++ /dev/null @@ -1,190 +0,0 @@ -### Alternate Snippets for View Files - -### `[ProjectRoot]/app/Views/**.php` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    CommandDescriptionOutput
    ci4:views:endSectionMake end Section in View files - -```php -endSection() ;?> -``` - -
    ci4:views:extendUsing Layouts in Views - -```php -extend('layouts') ;?> -``` - -
    ci4:views:foreachMake foreach in View files - -```php - -
  • - -``` - -
    ci4:views:ifMake if in View files - -```php - - - -``` - -
    ci4:views:if-elseMake if else in View files - -```php - - - - - -``` - -
    ci4:views:if-elseifMake if elseif in View files - -```php - - - - - -``` - -
    ci4:views:if-elseif-elseMake if elseif else in View files - -```php - - - - - - - -``` - -
    ci4:views:includeIncluding View Partials - -```php -include('sidebar') ;?> -``` - -
    ci4:views:phpMake php tag in View files - -```php - -``` - -
    ci4:views:php-echoMake php echo tag in View files - -```php - -``` - -
    ci4:views:renderSectionMake render Section in View files - -```php -renderSection('content') ;?> -``` - -
    ci4:views:sectionMake Section in View files - -```php -section('content') ;?> -``` - -
    ci4:views:section-endSectionMake Section with end Section in View files - -```php -section('content') ;?> - -endSection() ;?> -``` - -
    diff --git a/my-snippets/codeigniter4/package.json b/my-snippets/codeigniter4/package.json deleted file mode 100644 index a208cae..0000000 --- a/my-snippets/codeigniter4/package.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "codeigniter4-snippets", - "displayName": "CodeIgniter4 Snippets", - "description": "CodeIgniter4 Snippets for Visual Studio Code", - "icon": "ci4.png", - "publisher": "adereksisusanto", - "version": "0.1.1", - "engines": { - "vscode": "^1.53.0" - }, - "keywords": [ - "codeigniter4", - "snippets", - "php", - "html" - ], - "repository": { - "type": "git", - "url": "https://github.com/adereksisusanto/codeigniter4-snippets" - }, - "categories": [ - "Snippets" - ], - "contributes": { - "snippets": [{ - "language": "php", - "path": "./snippets/php_controllers.json" - }, - { - "language": "php", - "path": "./snippets/php_models.json" - }, - { - "language": "php", - "path": "./snippets/php_migrations.json" - }, - { - "language": "php", - "path": "./snippets/php_routes.json" - }, - { - "language": "php", - "path": "./snippets/php_validations.json" - }, - { - "language": "html", - "path": "./snippets/html_views.json" - } - ] - } -} \ No newline at end of file diff --git a/my-snippets/codeigniter4/snippets/html_views.json b/my-snippets/codeigniter4/snippets/html_views.json deleted file mode 100644 index b0be166..0000000 --- a/my-snippets/codeigniter4/snippets/html_views.json +++ /dev/null @@ -1,113 +0,0 @@ -{ - "Codeigniter4_VIEWS_ENDSECTION": { - "prefix": "ci4:views:endSection", - "lang": ["html"], - "body": ["endSection() ;?>$0"], - "description": "CodeIgniter 4 - Make end Section in View files" - }, - "Codeigniter4_VIEWS_EXTEND": { - "prefix": "ci4:views:extend", - "lang": ["html"], - "body": ["extend('${1:layouts}') ;?>$0"], - "description": "CodeIgniter 4 - Using Layouts in Views" - }, - "Codeigniter4_VIEWS_FOREACH": { - "prefix": "ci4:views:foreach", - "lang": ["html"], - "body": [ - "", - "\t<${3:li}>", - "$0" - ], - "description": "CodeIgniter 4 - Make foreach in View files" - }, - "Codeigniter4_VIEWS_IF": { - "prefix": "ci4:views:if", - "lang": ["html"], - "body": [ - "", - "\t${2:}", - "$0" - ], - "description": "CodeIgniter 4 - Make if in View files" - }, - "Codeigniter4_VIEWS_IF_ELSE": { - "prefix": "ci4:views:if-else", - "lang": ["html"], - "body": [ - "", - "\t${2:}", - "", - "\t${3:}", - "$0" - ], - "description": "CodeIgniter 4 - Make if else in View files" - }, - "Codeigniter4_VIEWS_IF_ELSEIF": { - "prefix": "ci4:views:if-elseif", - "lang": ["html"], - "body": [ - "", - "\t${2:}", - "", - "\t${4:}", - "$0" - ], - "description": "CodeIgniter 4 - Make if elseif in View files" - }, - "Codeigniter4_VIEWS_IF_ELSEIF_ELSE": { - "prefix": "ci4:views:if-elseif-else", - "lang": ["html"], - "body": [ - "", - "\t${2:}", - "", - "\t${4:}", - "", - "\t${5:}", - "$0" - ], - "description": "CodeIgniter 4 - make if elseif else in View files" - }, - "Codeigniter4_VIEWS_INCLUDE": { - "prefix": "ci4:views:include", - "lang": ["html"], - "body": ["include('${1:sidebar}') ;?>$0"], - "description": "CodeIgniter 4 - Including View Partials" - }, - "Codeigniter4_VIEWS_PHP": { - "prefix": "ci4:views:php", - "lang": ["html"], - "body": ["$0"], - "description": "CodeIgniter 4 - Make php tag in View files" - }, - "Codeigniter4_VIEWS_PHP_ECHO": { - "prefix": "ci4:views:php-echo", - "lang": ["html"], - "body": ["$0"], - "description": "CodeIgniter 4 - Make php echo tag in View files" - }, - "Codeigniter4_VIEWS_RENDERSECTION": { - "prefix": "ci4:views:renderSection", - "lang": ["html"], - "body": ["renderSection('${1:content}') ;?>$0"], - "description": "CodeIgniter 4 - Make render Section in View files" - }, - "Codeigniter4_VIEWS_SECTION": { - "prefix": "ci4:views:section", - "lang": ["html"], - "body": ["section('${1:content}') ;?>$0"], - "description": "CodeIgniter 4 - Make Section in View files" - }, - "Codeigniter4_VIEWS_SECTION_ENDSECTION": { - "prefix": "ci4:views:section-endSection", - "lang": ["html"], - "body": [ - "section('${1:content}') ;?>", - "${2:}", - "endSection() ;?>", - "$0" - ], - "description": "CodeIgniter 4 - Make Section with end Section in View files" - } -} diff --git a/my-snippets/codeigniter4/snippets/php_controllers.json b/my-snippets/codeigniter4/snippets/php_controllers.json deleted file mode 100644 index 09ad891..0000000 --- a/my-snippets/codeigniter4/snippets/php_controllers.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "Codeigniter4_Controller": { - "prefix": "ci4:controller", - "lang": ["php"], - "body": [ - "public function ${1:index}(${2:\\$request})", - "{", - "\t\\\\${3:code}", - "}$0" - ], - "description": "CodeIgniter 4 - Make Controller" - }, - "Codeigniter4_Controller_Resources": { - "prefix": "ci4:controller:resources", - "lang": ["php"], - "body": [ - "public function __construct()", - "{", - "\t\\\\__construct code", - "}", - "", - "public function index()", - "{", - "\t\\\\index code", - "}", - "", - "public function show(\\$id = null)", - "{", - "\t\\\\show code", - "}", - "", - "public function new()", - "{", - "\t\\\\new code", - "}", - "", - "public function create()", - "{", - "\t\\\\create code", - "}", - "", - "public function edit(\\$id = null)", - "{", - "\t\\\\edit code", - "}", - "", - "public function update(\\$id = null)", - "{", - "\t\\\\update code", - "}", - "", - "public function delete(\\$id = null)", - "{", - "\t\\\\delete code", - "}$0" - ], - "description": "CodeIgniter 4 - Make Controller Resources" - }, - "Codeigniter4_Controller_Presenter": { - "prefix": "ci4:controller:presenter", - "lang": ["php"], - "body": [ - "public function __construct()", - "{", - "\t\\__construct code", - "}", - "", - "public function index()", - "{", - "\t\\index code", - "}", - "", - "public function show(\\$id = null)", - "{", - "\t\\show code", - "}", - "", - "public function new()", - "{", - "\t\\new code", - "}", - "", - "public function create()", - "{", - "\t\\create code", - "}", - "", - "public function edit(\\$id = null)", - "{", - "\t\\edit code", - "}", - "", - "public function update(\\$id = null)", - "{", - "\t\\update code", - "}", - "", - "public function remove(\\$id = null)", - "{", - "\t\\remove code", - "}", - "", - "public function delete(\\$id = null)", - "{", - "\t\\delete code", - "}$0" - ], - "description": "CodeIgniter 4 - Make Controler Presenter" - }, - "Codeigniter4_Controller_Request": { - "prefix": "ci4:controller:request", - "lang": ["php"], - "body": [ - "\\$this->request->${1|getVar,getGet,getPost,getMethod,isAjax,isCLI,isSecure|}('${2:field name}');$0" - ], - "description": "CodeIgniter 4 - Make Controller Request Class" - } -} \ No newline at end of file diff --git a/my-snippets/codeigniter4/snippets/php_migrations.json b/my-snippets/codeigniter4/snippets/php_migrations.json deleted file mode 100644 index bb0df17..0000000 --- a/my-snippets/codeigniter4/snippets/php_migrations.json +++ /dev/null @@ -1,165 +0,0 @@ -{ - "Codeigniter4_Migration": { - "prefix": "ci4:migration", - "lang": ["php"], - "body": [ - "forge->addField([", - "\t\t'${1:id}' => [", - "\t\t\t'type' => 'INT',", - "\t\t\t'constraint' => 11,", - "\t\t\t'unsigned' => true,", - "\t\t\t'auto_increment' => true,", - "\t\t],", - "\t\t'${2:name}' => [", - "\t\t\t'type' => 'VARCHAR',", - "\t\t\t'constraint' => 255,", - "\t\t],", - "\t\t'created_at' => [", - "\t\t\t'type' => 'DATETIME',", - "\t\t\t'null' => true,", - "\t\t],", - "\t\t'updated_at' => [", - "\t\t\t'type' => 'DATETIME',", - "\t\t\t'null' => true,", - "\t\t],", - "\t\t'deleted_at' => [", - "\t\t\t'type' => 'DATETIME',", - "\t\t\t'null' => true,", - "\t\t],", - "\t]);", - "\t\\$this->forge->addKey('${1:id}', true);", - "\t\\$this->forge->createTable('${3:tableName}');", - "}$0" - ], - "description": "CodeIgniter 4 - Make Migration Up" - }, - "Codeigniter4_Migration_Down": { - "prefix": "ci4:migration:down", - "lang": ["php"], - "body": [ - "public function down()", - "{", - "\t\\$this->forge->dropTable('${1:tableName}');", - "}$0" - ], - "description": "CodeIgniter 4 - Make Migration Down" - }, - "Codeigniter4_Migration_BIGINT": { - "prefix": "ci4:migration:bigint", - "lang": ["php"], - "body": [ - "'${1:columnName}' => [", - "\t'type' => 'BIGINT',", - "\t'constraint' => 20,", - "\t'null' => true,", - "],$0" - ], - "description": "CodeIgniter 4 - Make Migration Type (BIG INTEGER)" - }, - "Codeigniter4_Migration_CHAR": { - "prefix": "ci4:migration:char", - "lang": ["php"], - "body": [ - "'${1:columnName}' => [", - "\t'type' => 'CHAR',", - "\t'constraint' => 10,", - "\t'null' => true,", - "],$0" - ], - "description": "CodeIgniter 4 - Make Migration Type (CHAR)" - }, - "Codeigniter4_Migration_DATETIME": { - "prefix": "ci4:migration:datetime", - "lang": ["php"], - "body": [ - "'${1:columnName}' => [", - "\t'type' => 'DATETIME',", - "\t'null' => true,", - "],$0" - ], - "description": "CodeIgniter 4 - Make Migration Type (CHAR)" - }, - "Codeigniter4_Migration_INT": { - "prefix": "ci4:migration:int", - "lang": ["php"], - "body": [ - "'${1:columnName}' => [", - "\t'type' => 'INT',", - "\t'constraint' => 11,", - "\t'null' => true,", - "],$0" - ], - "description": "CodeIgniter 4 - Make Migration Type (INTEGER)" - }, - "Codeigniter4_Migration_VARCHAR": { - "prefix": "ci4:migration:varchar", - "lang": ["php"], - "body": [ - "'${1:columnName}' => [", - "\t'type' => 'VARCHAR',", - "\t'constraint' => 255,", - "\t'null' => true,", - "],$0" - ], - "description": "CodeIgniter 4 - Make Migration Type (VARCHAR)" - }, - "Codeigniter4_Migration_ID": { - "prefix": "ci4:migration:id", - "lang": ["php"], - "body": [ - "'id' => [", - "\t'type' => 'INT',", - "\t'constraint' => 11,", - "\t'unsigned' => true,", - "\t'auto_increment' => true,", - "],$0" - ], - "description": "CodeIgniter 4 - Make Migration ID" - }, - "Codeigniter4_Migration_Timestamp": { - "prefix": "ci4:migration:timestamp", - "lang": ["php"], - "body": [ - "'created_at' => [", - "\t'type' => 'DATETIME',", - "\t'null' => true,", - "],", - "'updated_at' => [", - "\t'type' => 'DATETIME',", - "\t'null' => true,", - "],", - "'deleted_at' => [", - "\t'type' => 'DATETIME',", - "\t'null' => true,", - "],$0" - ], - "description": "CodeIgniter 4 - Make Migration Timestamp" - } -} diff --git a/my-snippets/codeigniter4/snippets/php_models.json b/my-snippets/codeigniter4/snippets/php_models.json deleted file mode 100644 index c896c5a..0000000 --- a/my-snippets/codeigniter4/snippets/php_models.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "Codeigniter4_Model_Config": { - "prefix": "ci4:model:config", - "lang": ["php"], - "body": [ - "protected \\$table = '${1:tableName}';", - "protected \\$primaryKey = '${2:id}';", - "", - "protected \\$useAutoIncrement = ${3:true};", - "", - "protected \\$returnType = '${4:array}';", - "protected \\$useSoftDeletes = ${5:false};", - "", - "protected \\$allowedFields = ['${6:name}'];", - "", - "protected \\$useTimestamps = ${7:true};", - "protected \\$createdField = '${8:created_at}';", - "protected \\$updatedField = '${9:updated_at}';", - "protected \\$useTimestamps = '${10:deleted_at}';", - "", - "protected \\$validationRules = ${11:[]};", - "protected \\$validationMessages = ${12:[]};", - "protected \\$skipValidation = ${13:false};", - "$0" - ], - "description": "CodeIgniter 4 - Make Model Configuring" - } -} diff --git a/my-snippets/codeigniter4/snippets/php_routes.json b/my-snippets/codeigniter4/snippets/php_routes.json deleted file mode 100644 index b38af88..0000000 --- a/my-snippets/codeigniter4/snippets/php_routes.json +++ /dev/null @@ -1,129 +0,0 @@ -{ - "Codeigniter4_ROUTES_ADD": { - "prefix": "ci4:routes:add", - "lang": ["php"], - "body": ["\\$routes->add('${1:url}','${2:ControllerName}::${3:index}');$0"], - "description": "CodeIgniter 4 - Make Routes add()" - }, - "Codeigniter4_ROUTES_CLI": { - "prefix": "ci4:routes:cli", - "lang": ["php"], - "body": [ - "\\$routes->cli('${1:migrate}','${2:App\\\\Database}::${3:migrate}');$0" - ], - "description": "CodeIgniter 4 - Make Command-Line only Routes" - }, - "Codeigniter4_ROUTES_ENVIRONMENT": { - "prefix": "ci4:routes:env", - "lang": ["php"], - "body": [ - "\\$routes->environment('${1:development}', function(\\$routes)", - "{", - "\t\\$routes->add('${2:builder}','${3:Tools\\\\Builder}::${4:index}');", - "});$0" - ], - "description": "CodeIgniter 4 - Make Routes Environment" - }, - "Codeigniter4_ROUTES_GET": { - "prefix": "ci4:routes:get", - "lang": ["php"], - "body": ["\\$routes->get('${1:url}','${2:ControllerName}::${3:index}');$0"], - "description": "CodeIgniter 4 - Make Routes get()" - }, - "Codeigniter4_ROUTES_GROUP": { - "prefix": "ci4:routes:group", - "lang": ["php"], - "body": [ - "\\$routes->group('${1:admin}', function(\\$routes)", - "{", - "\t\\$routes->add('${2:url}','${3:ControllerName}::${4:index};')", - "});$0" - ], - "description": "CodeIgniter 4 - Make Routes group()" - }, - "Codeigniter4_ROUTES_GROUP_FILTER": { - "prefix": "ci4:routes:group-filter", - "lang": ["php"], - "body": [ - "\\$routes->group('${1:api}',['filter' => '${2:api-auth}'], function(\\$routes)", - "{", - "\t\\$routes->resource('${3:url}');", - "});$0" - ], - "description": "CodeIgniter 4 - Make Routes group() filter" - }, - "Codeigniter4_ROUTES_GROUP_MULTIPLE": { - "prefix": "ci4:routes:group-multiple", - "lang": ["php"], - "body": [ - "\\$routes->group('${1:admin}', function(\\$routes)", - "{", - "\t\\$routes->group('${2:users}', function(\\$routes)", - "\t{", - "\t\t\\${3:// Route}", - "\t});", - "});$0" - ], - "description": "CodeIgniter 4 - Make Routes group() multiple" - }, - "Codeigniter4_ROUTES_GROUP_NAMESPACE": { - "prefix": "ci4:routes:group-namespace", - "lang": ["php"], - "body": [ - "\\$routes->group('${1:api}',['namespace' => '${2:App\\\\API\\\\v1}'], function(\\$routes)", - "{", - "\t\\${3://Route}", - "});$0" - ], - "description": "CodeIgniter 4 - Make Routes group() namespace" - }, - "Codeigniter4_ROUTES_PLACEHOLDER": { - "prefix": "ci4:routes:placeholder", - "lang": ["php"], - "body": [ - "\\$routes->${1|add,get,post,put,delete|}('${2:url}/(:${3|any,segment,num,alpha,alphanum,hash|})','${4:ControllerName}::${5:index}/\\$1');$0" - ], - "description": "CodeIgniter 4 - Make Routes Placeholder (:any) (:segment) (:num) (:alpha) (:alphanum) (:hash)" - }, - "Codeigniter4_ROUTES_PLACEHOLDER_CUSTOM": { - "prefix": "ci4:routes:placeholder:custom", - "lang": ["php"], - "body": [ - "\\$routes->addPlaceholder('${1:uuid}', '${2:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}}');", - "\\$routes->${3|add,get,post,put,delete|}('${4:url}/(:${1:uuid})','${5:ControllerName}::${6:index}/\\$1');$0" - ], - "description": "CodeIgniter 4 - Make Routes Custom Placeholder default (:uuid)" - }, - "Codeigniter4_ROUTES_POST": { - "prefix": "ci4:routes:post", - "lang": ["php"], - "body": [ - "\\$routes->post('${1:url}','${2:ControllerName}::${3:index}');$0" - ], - "description": "CodeIgniter 4 - Make Routes post()" - }, - "Codeigniter4_ROUTES_PRESENTER": { - "prefix": "ci4:routes:presenter", - "lang": ["php"], - "body": [ - "\\$routes->presenter('${1:url}');$0" - ], - "description": "CodeIgniter 4 - Make Routes presenter()" - }, - "Codeigniter4_ROUTES_RESOURCE": { - "prefix": "ci4:routes:resource", - "lang": ["php"], - "body": [ - "\\$routes->resource('${1:url}');$0" - ], - "description": "CodeIgniter 4 - Make Routes resource()" - }, - "Codeigniter4_ROUTES_SUBDOMAIN": { - "prefix": "ci4:routes:subdomain", - "lang": ["php"], - "body": [ - "\\$routes->add('${1:from}', '${2:to}', ['subdomain' => '${2:*}']);$0" - ], - "description": "CodeIgniter 4 - Make Routes Limit to Subdomains" - } -} \ No newline at end of file diff --git a/my-snippets/codeigniter4/snippets/php_validations.json b/my-snippets/codeigniter4/snippets/php_validations.json deleted file mode 100644 index 84786d2..0000000 --- a/my-snippets/codeigniter4/snippets/php_validations.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Codeigniter4_Validation_Controller": { - "prefix": "ci4:validation:controller", - "lang": ["php"], - "body": [ - "\\$validation = \\\\Config\\\\Services::validation();", - "\\$rules = [", - "\t 'field_1' => [", - "\t\t'label'\t=> 'Field 1 Custom Name',", - "\t\t'rules'\t=> 'required',", - "\t\t'errors'\t=> [", - "\t\t\t'required'\t=> '{field} is required.'", - "\t\t]", - "\t],", - "];", - "if (!\\$this->validate(\\$rules)) {", - "\treturn redirect()->to('${1:route}')->withInput()->with('validation', \\$validation);", - "}", - "$0" - ], - "description": "CodeIgniter 4 - Make Validation in Controller" - } -} \ No newline at end of file diff --git a/my-snippets/font-awesome/package.json b/my-snippets/font-awesome/package.json deleted file mode 100644 index 54e6ed1..0000000 --- a/my-snippets/font-awesome/package.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "name": "font-awesome-5-codes-html", - "displayName": "Font awesome 5 HTML snippets", - "description": "Font awesome 5 HTML snippets", - "icon": "fontawesome_128px.png", - "version": "1.0.1", - "publisher": "mrdemonwolf", - "license": "See License section in README.md", - "homepage": "https://github.com/MrDemonWolf/font-awesome-5-codes-html/blob/master/README.md", - "repository": { - "type": "git", - "url": "https://github.com/MrDemonWolf/font-awesome-5-codes-html.git" - }, - "engines": { - "vscode": "^0.10.1" - }, - "galleryBanner": { - "color": "#E6E0EA", - "theme": "light" - }, - "categories": [ - "Snippets" - ], - "contributes": { - "snippets": [ - { - "language": "blade", - "path": "./snippets.json" - }, - { - "language": "ejs", - "path": "./snippets.json" - }, - { - "language": "html", - "path": "./snippets.json" - }, - { - "language": "handlebars", - "path": "./snippets.json" - }, - { - "language": "latte", - "path": "./snippets.json" - }, - { - "language": "php", - "path": "./snippets.json" - }, - { - "language": "plaintext", - "path": "./snippets.json" - }, - { - "language": "razor", - "path": "./snippets.json" - }, - { - "language": "tpl", - "path": "./snippets.json" - }, - { - "language": "typescript", - "path": "./snippets.json" - }, - { - "language": "typescriptreact", - "path": "./snippets.json" - }, - { - "language": "twig", - "path": "./snippets.json" - }, - { - "language": "vue", - "path": "./snippets.json" - } - ] - } -} \ No newline at end of file diff --git a/my-snippets/font-awesome/snippets.json b/my-snippets/font-awesome/snippets.json deleted file mode 100644 index 2ce3120..0000000 --- a/my-snippets/font-awesome/snippets.json +++ /dev/null @@ -1,4724 +0,0 @@ -{ - "Font awesome css link" : { - "prefix" : "fa-$", - "body" : "$0", - "description" : "Font awesome css link", - "scope" : "" - }, - "500px" : { - "prefix" : "fa-500px", - "body" : "$0", - "description" : "500px", - "scope" : "" - }, - "address-book" : { - "prefix" : "fa-address-book", - "body" : "$0", - "description" : "address-book", - "scope" : "" - }, - "address-book-o" : { - "prefix" : "fa-address-book-o", - "body" : "$0", - "description" : "address-book-o", - "scope" : "" - }, - "address-card" : { - "prefix" : "fa-address-card", - "body" : "$0", - "description" : "address-card", - "scope" : "" - }, - "address-card-o" : { - "prefix" : "fa-address-card-o", - "body" : "$0", - "description" : "address-card-o", - "scope" : "" - }, - "adjust" : { - "prefix" : "fa-adjust", - "body" : "$0", - "description" : "adjust", - "scope" : "" - }, - "adn" : { - "prefix" : "fa-adn", - "body" : "$0", - "description" : "adn", - "scope" : "" - }, - "align-center" : { - "prefix" : "fa-align-center", - "body" : "$0", - "description" : "align-center", - "scope" : "" - }, - "align-justify" : { - "prefix" : "fa-align-justify", - "body" : "$0", - "description" : "align-justify", - "scope" : "" - }, - "align-left" : { - "prefix" : "fa-align-left", - "body" : "$0", - "description" : "align-left", - "scope" : "" - }, - "align-right" : { - "prefix" : "fa-align-right", - "body" : "$0", - "description" : "align-right", - "scope" : "" - }, - "amazon" : { - "prefix" : "fa-amazon", - "body" : "$0", - "description" : "amazon", - "scope" : "" - }, - "ambulance" : { - "prefix" : "fa-ambulance", - "body" : "$0", - "description" : "ambulance", - "scope" : "" - }, - "american-sign-language-interpreting" : { - "prefix" : "fa-american-sign-language-interpreting", - "body" : "$0", - "description" : "american-sign-language-interpreting", - "scope" : "" - }, - "anchor" : { - "prefix" : "fa-anchor", - "body" : "$0", - "description" : "anchor", - "scope" : "" - }, - "android" : { - "prefix" : "fa-android", - "body" : "$0", - "description" : "android", - "scope" : "" - }, - "angellist" : { - "prefix" : "fa-angellist", - "body" : "$0", - "description" : "angellist", - "scope" : "" - }, - "angle-double-down" : { - "prefix" : "fa-angle-double-down", - "body" : "$0", - "description" : "angle-double-down", - "scope" : "" - }, - "angle-double-left" : { - "prefix" : "fa-angle-double-left", - "body" : "$0", - "description" : "angle-double-left", - "scope" : "" - }, - "angle-double-right" : { - "prefix" : "fa-angle-double-right", - "body" : "$0", - "description" : "angle-double-right", - "scope" : "" - }, - "angle-double-up" : { - "prefix" : "fa-angle-double-up", - "body" : "$0", - "description" : "angle-double-up", - "scope" : "" - }, - "angle-down" : { - "prefix" : "fa-angle-down", - "body" : "$0", - "description" : "angle-down", - "scope" : "" - }, - "angle-left" : { - "prefix" : "fa-angle-left", - "body" : "$0", - "description" : "angle-left", - "scope" : "" - }, - "angle-right" : { - "prefix" : "fa-angle-right", - "body" : "$0", - "description" : "angle-right", - "scope" : "" - }, - "angle-up" : { - "prefix" : "fa-angle-up", - "body" : "$0", - "description" : "angle-up", - "scope" : "" - }, - "apple" : { - "prefix" : "fa-apple", - "body" : "$0", - "description" : "apple", - "scope" : "" - }, - "archive" : { - "prefix" : "fa-archive", - "body" : "$0", - "description" : "archive", - "scope" : "" - }, - "area-chart" : { - "prefix" : "fa-area-chart", - "body" : "$0", - "description" : "area-chart", - "scope" : "" - }, - "arrow-circle-down" : { - "prefix" : "fa-arrow-circle-down", - "body" : "$0", - "description" : "arrow-circle-down", - "scope" : "" - }, - "arrow-circle-left" : { - "prefix" : "fa-arrow-circle-left", - "body" : "$0", - "description" : "arrow-circle-left", - "scope" : "" - }, - "arrow-circle-o-down" : { - "prefix" : "fa-arrow-circle-o-down", - "body" : "$0", - "description" : "arrow-circle-o-down", - "scope" : "" - }, - "arrow-circle-o-left" : { - "prefix" : "fa-arrow-circle-o-left", - "body" : "$0", - "description" : "arrow-circle-o-left", - "scope" : "" - }, - "arrow-circle-o-right" : { - "prefix" : "fa-arrow-circle-o-right", - "body" : "$0", - "description" : "arrow-circle-o-right", - "scope" : "" - }, - "arrow-circle-o-up" : { - "prefix" : "fa-arrow-circle-o-up", - "body" : "$0", - "description" : "arrow-circle-o-up", - "scope" : "" - }, - "arrow-circle-right" : { - "prefix" : "fa-arrow-circle-right", - "body" : "$0", - "description" : "arrow-circle-right", - "scope" : "" - }, - "arrow-circle-up" : { - "prefix" : "fa-arrow-circle-up", - "body" : "$0", - "description" : "arrow-circle-up", - "scope" : "" - }, - "arrow-down" : { - "prefix" : "fa-arrow-down", - "body" : "$0", - "description" : "arrow-down", - "scope" : "" - }, - "arrow-left" : { - "prefix" : "fa-arrow-left", - "body" : "$0", - "description" : "arrow-left", - "scope" : "" - }, - "arrow-right" : { - "prefix" : "fa-arrow-right", - "body" : "$0", - "description" : "arrow-right", - "scope" : "" - }, - "arrows" : { - "prefix" : "fa-arrows", - "body" : "$0", - "description" : "arrows", - "scope" : "" - }, - "arrows-alt" : { - "prefix" : "fa-arrows-alt", - "body" : "$0", - "description" : "arrows-alt", - "scope" : "" - }, - "arrows-h" : { - "prefix" : "fa-arrows-h", - "body" : "$0", - "description" : "arrows-h", - "scope" : "" - }, - "arrows-v" : { - "prefix" : "fa-arrows-v", - "body" : "$0", - "description" : "arrows-v", - "scope" : "" - }, - "arrow-up" : { - "prefix" : "fa-arrow-up", - "body" : "$0", - "description" : "arrow-up", - "scope" : "" - }, - "asl-interpreting" : { - "prefix" : "fa-asl-interpreting", - "body" : "$0", - "description" : "asl-interpreting", - "scope" : "" - }, - "assistive-listening-systems" : { - "prefix" : "fa-assistive-listening-systems", - "body" : "$0", - "description" : "assistive-listening-systems", - "scope" : "" - }, - "asterisk" : { - "prefix" : "fa-asterisk", - "body" : "$0", - "description" : "asterisk", - "scope" : "" - }, - "at" : { - "prefix" : "fa-at", - "body" : "$0", - "description" : "at", - "scope" : "" - }, - "audio-description" : { - "prefix" : "fa-audio-description", - "body" : "$0", - "description" : "audio-description", - "scope" : "" - }, - "automobile" : { - "prefix" : "fa-automobile", - "body" : "$0", - "description" : "automobile", - "scope" : "" - }, - "backward" : { - "prefix" : "fa-backward", - "body" : "$0", - "description" : "backward", - "scope" : "" - }, - "balance-scale" : { - "prefix" : "fa-balance-scale", - "body" : "$0", - "description" : "balance-scale", - "scope" : "" - }, - "ban" : { - "prefix" : "fa-ban", - "body" : "$0", - "description" : "ban", - "scope" : "" - }, - "bandcamp" : { - "prefix" : "fa-bandcamp", - "body" : "$0", - "description" : "bandcamp", - "scope" : "" - }, - "bank" : { - "prefix" : "fa-bank", - "body" : "$0", - "description" : "bank", - "scope" : "" - }, - "bar-chart" : { - "prefix" : "fa-bar-chart", - "body" : "$0", - "description" : "bar-chart", - "scope" : "" - }, - "bar-chart-o" : { - "prefix" : "fa-bar-chart-o", - "body" : "$0", - "description" : "bar-chart-o", - "scope" : "" - }, - "barcode" : { - "prefix" : "fa-barcode", - "body" : "$0", - "description" : "barcode", - "scope" : "" - }, - "bars" : { - "prefix" : "fa-bars", - "body" : "$0", - "description" : "bars", - "scope" : "" - }, - "bath" : { - "prefix" : "fa-bath", - "body" : "$0", - "description" : "bath", - "scope" : "" - }, - "bathtub" : { - "prefix" : "fa-bathtub", - "body" : "$0", - "description" : "bathtub", - "scope" : "" - }, - "battery" : { - "prefix" : "fa-battery", - "body" : "$0", - "description" : "battery", - "scope" : "" - }, - "battery-0" : { - "prefix" : "fa-battery-0", - "body" : "$0", - "description" : "battery-0", - "scope" : "" - }, - "battery-1" : { - "prefix" : "fa-battery-1", - "body" : "$0", - "description" : "battery-1", - "scope" : "" - }, - "battery-2" : { - "prefix" : "fa-battery-2", - "body" : "$0", - "description" : "battery-2", - "scope" : "" - }, - "battery-3" : { - "prefix" : "fa-battery-3", - "body" : "$0", - "description" : "battery-3", - "scope" : "" - }, - "battery-4" : { - "prefix" : "fa-battery-4", - "body" : "$0", - "description" : "battery-4", - "scope" : "" - }, - "battery-empty" : { - "prefix" : "fa-battery-empty", - "body" : "$0", - "description" : "battery-empty", - "scope" : "" - }, - "battery-full" : { - "prefix" : "fa-battery-full", - "body" : "$0", - "description" : "battery-full", - "scope" : "" - }, - "battery-half" : { - "prefix" : "fa-battery-half", - "body" : "$0", - "description" : "battery-half", - "scope" : "" - }, - "battery-quarter" : { - "prefix" : "fa-battery-quarter", - "body" : "$0", - "description" : "battery-quarter", - "scope" : "" - }, - "battery-three-quarters" : { - "prefix" : "fa-battery-three-quarters", - "body" : "$0", - "description" : "battery-three-quarters", - "scope" : "" - }, - "bed" : { - "prefix" : "fa-bed", - "body" : "$0", - "description" : "bed", - "scope" : "" - }, - "beer" : { - "prefix" : "fa-beer", - "body" : "$0", - "description" : "beer", - "scope" : "" - }, - "behance" : { - "prefix" : "fa-behance", - "body" : "$0", - "description" : "behance", - "scope" : "" - }, - "behance-square" : { - "prefix" : "fa-behance-square", - "body" : "$0", - "description" : "behance-square", - "scope" : "" - }, - "bell" : { - "prefix" : "fa-bell", - "body" : "$0", - "description" : "bell", - "scope" : "" - }, - "bell-o" : { - "prefix" : "fa-bell-o", - "body" : "$0", - "description" : "bell-o", - "scope" : "" - }, - "bell-slash" : { - "prefix" : "fa-bell-slash", - "body" : "$0", - "description" : "bell-slash", - "scope" : "" - }, - "bell-slash-o" : { - "prefix" : "fa-bell-slash-o", - "body" : "$0", - "description" : "bell-slash-o", - "scope" : "" - }, - "bicycle" : { - "prefix" : "fa-bicycle", - "body" : "$0", - "description" : "bicycle", - "scope" : "" - }, - "binoculars" : { - "prefix" : "fa-binoculars", - "body" : "$0", - "description" : "binoculars", - "scope" : "" - }, - "birthday-cake" : { - "prefix" : "fa-birthday-cake", - "body" : "$0", - "description" : "birthday-cake", - "scope" : "" - }, - "bitbucket" : { - "prefix" : "fa-bitbucket", - "body" : "$0", - "description" : "bitbucket", - "scope" : "" - }, - "bitbucket-square" : { - "prefix" : "fa-bitbucket-square", - "body" : "$0", - "description" : "bitbucket-square", - "scope" : "" - }, - "bitcoin" : { - "prefix" : "fa-bitcoin", - "body" : "$0", - "description" : "bitcoin", - "scope" : "" - }, - "black-tie" : { - "prefix" : "fa-black-tie", - "body" : "$0", - "description" : "black-tie", - "scope" : "" - }, - "blind" : { - "prefix" : "fa-blind", - "body" : "$0", - "description" : "blind", - "scope" : "" - }, - "bluetooth" : { - "prefix" : "fa-bluetooth", - "body" : "$0", - "description" : "bluetooth", - "scope" : "" - }, - "bluetooth-b" : { - "prefix" : "fa-bluetooth-b", - "body" : "$0", - "description" : "bluetooth-b", - "scope" : "" - }, - "bold" : { - "prefix" : "fa-bold", - "body" : "$0", - "description" : "bold", - "scope" : "" - }, - "bolt" : { - "prefix" : "fa-bolt", - "body" : "$0", - "description" : "bolt", - "scope" : "" - }, - "bomb" : { - "prefix" : "fa-bomb", - "body" : "$0", - "description" : "bomb", - "scope" : "" - }, - "book" : { - "prefix" : "fa-book", - "body" : "$0", - "description" : "book", - "scope" : "" - }, - "bookmark" : { - "prefix" : "fa-bookmark", - "body" : "$0", - "description" : "bookmark", - "scope" : "" - }, - "bookmark-o" : { - "prefix" : "fa-bookmark-o", - "body" : "$0", - "description" : "bookmark-o", - "scope" : "" - }, - "braille" : { - "prefix" : "fa-braille", - "body" : "$0", - "description" : "braille", - "scope" : "" - }, - "briefcase" : { - "prefix" : "fa-briefcase", - "body" : "$0", - "description" : "briefcase", - "scope" : "" - }, - "btc" : { - "prefix" : "fa-btc", - "body" : "$0", - "description" : "btc", - "scope" : "" - }, - "bug" : { - "prefix" : "fa-bug", - "body" : "$0", - "description" : "bug", - "scope" : "" - }, - "building" : { - "prefix" : "fa-building", - "body" : "$0", - "description" : "building", - "scope" : "" - }, - "building-o" : { - "prefix" : "fa-building-o", - "body" : "$0", - "description" : "building-o", - "scope" : "" - }, - "bullhorn" : { - "prefix" : "fa-bullhorn", - "body" : "$0", - "description" : "bullhorn", - "scope" : "" - }, - "bullseye" : { - "prefix" : "fa-bullseye", - "body" : "$0", - "description" : "bullseye", - "scope" : "" - }, - "bus" : { - "prefix" : "fa-bus", - "body" : "$0", - "description" : "bus", - "scope" : "" - }, - "buysellads" : { - "prefix" : "fa-buysellads", - "body" : "$0", - "description" : "buysellads", - "scope" : "" - }, - "cab" : { - "prefix" : "fa-cab", - "body" : "$0", - "description" : "cab", - "scope" : "" - }, - "calculator" : { - "prefix" : "fa-calculator", - "body" : "$0", - "description" : "calculator", - "scope" : "" - }, - "calendar" : { - "prefix" : "fa-calendar", - "body" : "$0", - "description" : "calendar", - "scope" : "" - }, - "calendar-check-o" : { - "prefix" : "fa-calendar-check-o", - "body" : "$0", - "description" : "calendar-check-o", - "scope" : "" - }, - "calendar-minus-o" : { - "prefix" : "fa-calendar-minus-o", - "body" : "$0", - "description" : "calendar-minus-o", - "scope" : "" - }, - "calendar-o" : { - "prefix" : "fa-calendar-o", - "body" : "$0", - "description" : "calendar-o", - "scope" : "" - }, - "calendar-plus-o" : { - "prefix" : "fa-calendar-plus-o", - "body" : "$0", - "description" : "calendar-plus-o", - "scope" : "" - }, - "calendar-times-o" : { - "prefix" : "fa-calendar-times-o", - "body" : "$0", - "description" : "calendar-times-o", - "scope" : "" - }, - "camera" : { - "prefix" : "fa-camera", - "body" : "$0", - "description" : "camera", - "scope" : "" - }, - "camera-retro" : { - "prefix" : "fa-camera-retro", - "body" : "$0", - "description" : "camera-retro", - "scope" : "" - }, - "car" : { - "prefix" : "fa-car", - "body" : "$0", - "description" : "car", - "scope" : "" - }, - "caret-down" : { - "prefix" : "fa-caret-down", - "body" : "$0", - "description" : "caret-down", - "scope" : "" - }, - "caret-left" : { - "prefix" : "fa-caret-left", - "body" : "$0", - "description" : "caret-left", - "scope" : "" - }, - "caret-right" : { - "prefix" : "fa-caret-right", - "body" : "$0", - "description" : "caret-right", - "scope" : "" - }, - "caret-square-o-down" : { - "prefix" : "fa-caret-square-o-down", - "body" : "$0", - "description" : "caret-square-o-down", - "scope" : "" - }, - "caret-square-o-left" : { - "prefix" : "fa-caret-square-o-left", - "body" : "$0", - "description" : "caret-square-o-left", - "scope" : "" - }, - "caret-square-o-right" : { - "prefix" : "fa-caret-square-o-right", - "body" : "$0", - "description" : "caret-square-o-right", - "scope" : "" - }, - "caret-square-o-up" : { - "prefix" : "fa-caret-square-o-up", - "body" : "$0", - "description" : "caret-square-o-up", - "scope" : "" - }, - "caret-up" : { - "prefix" : "fa-caret-up", - "body" : "$0", - "description" : "caret-up", - "scope" : "" - }, - "cart-arrow-down" : { - "prefix" : "fa-cart-arrow-down", - "body" : "$0", - "description" : "cart-arrow-down", - "scope" : "" - }, - "cart-plus" : { - "prefix" : "fa-cart-plus", - "body" : "$0", - "description" : "cart-plus", - "scope" : "" - }, - "cc" : { - "prefix" : "fa-cc", - "body" : "$0", - "description" : "cc", - "scope" : "" - }, - "cc-amex" : { - "prefix" : "fa-cc-amex", - "body" : "$0", - "description" : "cc-amex", - "scope" : "" - }, - "cc-diners-club" : { - "prefix" : "fa-cc-diners-club", - "body" : "$0", - "description" : "cc-diners-club", - "scope" : "" - }, - "cc-discover" : { - "prefix" : "fa-cc-discover", - "body" : "$0", - "description" : "cc-discover", - "scope" : "" - }, - "cc-jcb" : { - "prefix" : "fa-cc-jcb", - "body" : "$0", - "description" : "cc-jcb", - "scope" : "" - }, - "cc-mastercard" : { - "prefix" : "fa-cc-mastercard", - "body" : "$0", - "description" : "cc-mastercard", - "scope" : "" - }, - "cc-paypal" : { - "prefix" : "fa-cc-paypal", - "body" : "$0", - "description" : "cc-paypal", - "scope" : "" - }, - "cc-stripe" : { - "prefix" : "fa-cc-stripe", - "body" : "$0", - "description" : "cc-stripe", - "scope" : "" - }, - "cc-visa" : { - "prefix" : "fa-cc-visa", - "body" : "$0", - "description" : "cc-visa", - "scope" : "" - }, - "certificate" : { - "prefix" : "fa-certificate", - "body" : "$0", - "description" : "certificate", - "scope" : "" - }, - "chain" : { - "prefix" : "fa-chain", - "body" : "$0", - "description" : "chain", - "scope" : "" - }, - "chain-broken" : { - "prefix" : "fa-chain-broken", - "body" : "$0", - "description" : "chain-broken", - "scope" : "" - }, - "check" : { - "prefix" : "fa-check", - "body" : "$0", - "description" : "check", - "scope" : "" - }, - "check-circle" : { - "prefix" : "fa-check-circle", - "body" : "$0", - "description" : "check-circle", - "scope" : "" - }, - "check-circle-o" : { - "prefix" : "fa-check-circle-o", - "body" : "$0", - "description" : "check-circle-o", - "scope" : "" - }, - "check-square" : { - "prefix" : "fa-check-square", - "body" : "$0", - "description" : "check-square", - "scope" : "" - }, - "check-square-o" : { - "prefix" : "fa-check-square-o", - "body" : "$0", - "description" : "check-square-o", - "scope" : "" - }, - "chevron-circle-down" : { - "prefix" : "fa-chevron-circle-down", - "body" : "$0", - "description" : "chevron-circle-down", - "scope" : "" - }, - "chevron-circle-left" : { - "prefix" : "fa-chevron-circle-left", - "body" : "$0", - "description" : "chevron-circle-left", - "scope" : "" - }, - "chevron-circle-right" : { - "prefix" : "fa-chevron-circle-right", - "body" : "$0", - "description" : "chevron-circle-right", - "scope" : "" - }, - "chevron-circle-up" : { - "prefix" : "fa-chevron-circle-up", - "body" : "$0", - "description" : "chevron-circle-up", - "scope" : "" - }, - "chevron-down" : { - "prefix" : "fa-chevron-down", - "body" : "$0", - "description" : "chevron-down", - "scope" : "" - }, - "chevron-left" : { - "prefix" : "fa-chevron-left", - "body" : "$0", - "description" : "chevron-left", - "scope" : "" - }, - "chevron-right" : { - "prefix" : "fa-chevron-right", - "body" : "$0", - "description" : "chevron-right", - "scope" : "" - }, - "chevron-up" : { - "prefix" : "fa-chevron-up", - "body" : "$0", - "description" : "chevron-up", - "scope" : "" - }, - "child" : { - "prefix" : "fa-child", - "body" : "$0", - "description" : "child", - "scope" : "" - }, - "chrome" : { - "prefix" : "fa-chrome", - "body" : "$0", - "description" : "chrome", - "scope" : "" - }, - "circle" : { - "prefix" : "fa-circle", - "body" : "$0", - "description" : "circle", - "scope" : "" - }, - "circle-o" : { - "prefix" : "fa-circle-o", - "body" : "$0", - "description" : "circle-o", - "scope" : "" - }, - "circle-o-notch" : { - "prefix" : "fa-circle-o-notch", - "body" : "$0", - "description" : "circle-o-notch", - "scope" : "" - }, - "circle-thin" : { - "prefix" : "fa-circle-thin", - "body" : "$0", - "description" : "circle-thin", - "scope" : "" - }, - "clipboard" : { - "prefix" : "fa-clipboard", - "body" : "$0", - "description" : "clipboard", - "scope" : "" - }, - "clock-o" : { - "prefix" : "fa-clock-o", - "body" : "$0", - "description" : "clock-o", - "scope" : "" - }, - "clone" : { - "prefix" : "fa-clone", - "body" : "$0", - "description" : "clone", - "scope" : "" - }, - "close" : { - "prefix" : "fa-close", - "body" : "$0", - "description" : "close", - "scope" : "" - }, - "cloud" : { - "prefix" : "fa-cloud", - "body" : "$0", - "description" : "cloud", - "scope" : "" - }, - "cloud-download" : { - "prefix" : "fa-cloud-download", - "body" : "$0", - "description" : "cloud-download", - "scope" : "" - }, - "cloud-upload" : { - "prefix" : "fa-cloud-upload", - "body" : "$0", - "description" : "cloud-upload", - "scope" : "" - }, - "cny" : { - "prefix" : "fa-cny", - "body" : "$0", - "description" : "cny", - "scope" : "" - }, - "code" : { - "prefix" : "fa-code", - "body" : "$0", - "description" : "code", - "scope" : "" - }, - "code-fork" : { - "prefix" : "fa-code-fork", - "body" : "$0", - "description" : "code-fork", - "scope" : "" - }, - "codepen" : { - "prefix" : "fa-codepen", - "body" : "$0", - "description" : "codepen", - "scope" : "" - }, - "codiepie" : { - "prefix" : "fa-codiepie", - "body" : "$0", - "description" : "codiepie", - "scope" : "" - }, - "coffee" : { - "prefix" : "fa-coffee", - "body" : "$0", - "description" : "coffee", - "scope" : "" - }, - "cog" : { - "prefix" : "fa-cog", - "body" : "$0", - "description" : "cog", - "scope" : "" - }, - "cogs" : { - "prefix" : "fa-cogs", - "body" : "$0", - "description" : "cogs", - "scope" : "" - }, - "columns" : { - "prefix" : "fa-columns", - "body" : "$0", - "description" : "columns", - "scope" : "" - }, - "comment" : { - "prefix" : "fa-comment", - "body" : "$0", - "description" : "comment", - "scope" : "" - }, - "commenting" : { - "prefix" : "fa-commenting", - "body" : "$0", - "description" : "commenting", - "scope" : "" - }, - "commenting-o" : { - "prefix" : "fa-commenting-o", - "body" : "$0", - "description" : "commenting-o", - "scope" : "" - }, - "comment-o" : { - "prefix" : "fa-comment-o", - "body" : "$0", - "description" : "comment-o", - "scope" : "" - }, - "comments" : { - "prefix" : "fa-comments", - "body" : "$0", - "description" : "comments", - "scope" : "" - }, - "comments-o" : { - "prefix" : "fa-comments-o", - "body" : "$0", - "description" : "comments-o", - "scope" : "" - }, - "compass" : { - "prefix" : "fa-compass", - "body" : "$0", - "description" : "compass", - "scope" : "" - }, - "compress" : { - "prefix" : "fa-compress", - "body" : "$0", - "description" : "compress", - "scope" : "" - }, - "connectdevelop" : { - "prefix" : "fa-connectdevelop", - "body" : "$0", - "description" : "connectdevelop", - "scope" : "" - }, - "contao" : { - "prefix" : "fa-contao", - "body" : "$0", - "description" : "contao", - "scope" : "" - }, - "copy" : { - "prefix" : "fa-copy", - "body" : "$0", - "description" : "copy", - "scope" : "" - }, - "copyright" : { - "prefix" : "fa-copyright", - "body" : "$0", - "description" : "copyright", - "scope" : "" - }, - "creative-commons" : { - "prefix" : "fa-creative-commons", - "body" : "$0", - "description" : "creative-commons", - "scope" : "" - }, - "credit-card" : { - "prefix" : "fa-credit-card", - "body" : "$0", - "description" : "credit-card", - "scope" : "" - }, - "credit-card-alt" : { - "prefix" : "fa-credit-card-alt", - "body" : "$0", - "description" : "credit-card-alt", - "scope" : "" - }, - "crop" : { - "prefix" : "fa-crop", - "body" : "$0", - "description" : "crop", - "scope" : "" - }, - "crosshairs" : { - "prefix" : "fa-crosshairs", - "body" : "$0", - "description" : "crosshairs", - "scope" : "" - }, - "css3" : { - "prefix" : "fa-css3", - "body" : "$0", - "description" : "css3", - "scope" : "" - }, - "cube" : { - "prefix" : "fa-cube", - "body" : "$0", - "description" : "cube", - "scope" : "" - }, - "cubes" : { - "prefix" : "fa-cubes", - "body" : "$0", - "description" : "cubes", - "scope" : "" - }, - "cut" : { - "prefix" : "fa-cut", - "body" : "$0", - "description" : "cut", - "scope" : "" - }, - "cutlery" : { - "prefix" : "fa-cutlery", - "body" : "$0", - "description" : "cutlery", - "scope" : "" - }, - "dashboard" : { - "prefix" : "fa-dashboard", - "body" : "$0", - "description" : "dashboard", - "scope" : "" - }, - "dashcube" : { - "prefix" : "fa-dashcube", - "body" : "$0", - "description" : "dashcube", - "scope" : "" - }, - "database" : { - "prefix" : "fa-database", - "body" : "$0", - "description" : "database", - "scope" : "" - }, - "deaf" : { - "prefix" : "fa-deaf", - "body" : "$0", - "description" : "deaf", - "scope" : "" - }, - "deafness" : { - "prefix" : "fa-deafness", - "body" : "$0", - "description" : "deafness", - "scope" : "" - }, - "dedent" : { - "prefix" : "fa-dedent", - "body" : "$0", - "description" : "dedent", - "scope" : "" - }, - "delicious" : { - "prefix" : "fa-delicious", - "body" : "$0", - "description" : "delicious", - "scope" : "" - }, - "desktop" : { - "prefix" : "fa-desktop", - "body" : "$0", - "description" : "desktop", - "scope" : "" - }, - "deviantart" : { - "prefix" : "fa-deviantart", - "body" : "$0", - "description" : "deviantart", - "scope" : "" - }, - "diamond" : { - "prefix" : "fa-diamond", - "body" : "$0", - "description" : "diamond", - "scope" : "" - }, - "digg" : { - "prefix" : "fa-digg", - "body" : "$0", - "description" : "digg", - "scope" : "" - }, - "dollar" : { - "prefix" : "fa-dollar", - "body" : "$0", - "description" : "dollar", - "scope" : "" - }, - "dot-circle-o" : { - "prefix" : "fa-dot-circle-o", - "body" : "$0", - "description" : "dot-circle-o", - "scope" : "" - }, - "download" : { - "prefix" : "fa-download", - "body" : "$0", - "description" : "download", - "scope" : "" - }, - "dribbble" : { - "prefix" : "fa-dribbble", - "body" : "$0", - "description" : "dribbble", - "scope" : "" - }, - "drivers-license" : { - "prefix" : "fa-drivers-license", - "body" : "$0", - "description" : "drivers-license", - "scope" : "" - }, - "drivers-license-o" : { - "prefix" : "fa-drivers-license-o", - "body" : "$0", - "description" : "drivers-license-o", - "scope" : "" - }, - "dropbox" : { - "prefix" : "fa-dropbox", - "body" : "$0", - "description" : "dropbox", - "scope" : "" - }, - "drupal" : { - "prefix" : "fa-drupal", - "body" : "$0", - "description" : "drupal", - "scope" : "" - }, - "edge" : { - "prefix" : "fa-edge", - "body" : "$0", - "description" : "edge", - "scope" : "" - }, - "edit" : { - "prefix" : "fa-edit", - "body" : "$0", - "description" : "edit", - "scope" : "" - }, - "eercast" : { - "prefix" : "fa-eercast", - "body" : "$0", - "description" : "eercast", - "scope" : "" - }, - "eject" : { - "prefix" : "fa-eject", - "body" : "$0", - "description" : "eject", - "scope" : "" - }, - "ellipsis-h" : { - "prefix" : "fa-ellipsis-h", - "body" : "$0", - "description" : "ellipsis-h", - "scope" : "" - }, - "ellipsis-v" : { - "prefix" : "fa-ellipsis-v", - "body" : "$0", - "description" : "ellipsis-v", - "scope" : "" - }, - "empire" : { - "prefix" : "fa-empire", - "body" : "$0", - "description" : "empire", - "scope" : "" - }, - "envelope" : { - "prefix" : "fa-envelope", - "body" : "$0", - "description" : "envelope", - "scope" : "" - }, - "envelope-o" : { - "prefix" : "fa-envelope-o", - "body" : "$0", - "description" : "envelope-o", - "scope" : "" - }, - "envelope-open" : { - "prefix" : "fa-envelope-open", - "body" : "$0", - "description" : "envelope-open", - "scope" : "" - }, - "envelope-open-o" : { - "prefix" : "fa-envelope-open-o", - "body" : "$0", - "description" : "envelope-open-o", - "scope" : "" - }, - "envelope-square" : { - "prefix" : "fa-envelope-square", - "body" : "$0", - "description" : "envelope-square", - "scope" : "" - }, - "envira" : { - "prefix" : "fa-envira", - "body" : "$0", - "description" : "envira", - "scope" : "" - }, - "eraser" : { - "prefix" : "fa-eraser", - "body" : "$0", - "description" : "eraser", - "scope" : "" - }, - "etsy" : { - "prefix" : "fa-etsy", - "body" : "$0", - "description" : "etsy", - "scope" : "" - }, - "eur" : { - "prefix" : "fa-eur", - "body" : "$0", - "description" : "eur", - "scope" : "" - }, - "euro" : { - "prefix" : "fa-euro", - "body" : "$0", - "description" : "euro", - "scope" : "" - }, - "exchange" : { - "prefix" : "fa-exchange", - "body" : "$0", - "description" : "exchange", - "scope" : "" - }, - "exclamation" : { - "prefix" : "fa-exclamation", - "body" : "$0", - "description" : "exclamation", - "scope" : "" - }, - "exclamation-circle" : { - "prefix" : "fa-exclamation-circle", - "body" : "$0", - "description" : "exclamation-circle", - "scope" : "" - }, - "exclamation-triangle" : { - "prefix" : "fa-exclamation-triangle", - "body" : "$0", - "description" : "exclamation-triangle", - "scope" : "" - }, - "expand" : { - "prefix" : "fa-expand", - "body" : "$0", - "description" : "expand", - "scope" : "" - }, - "expeditedssl" : { - "prefix" : "fa-expeditedssl", - "body" : "$0", - "description" : "expeditedssl", - "scope" : "" - }, - "external-link" : { - "prefix" : "fa-external-link", - "body" : "$0", - "description" : "external-link", - "scope" : "" - }, - "external-link-square" : { - "prefix" : "fa-external-link-square", - "body" : "$0", - "description" : "external-link-square", - "scope" : "" - }, - "eye" : { - "prefix" : "fa-eye", - "body" : "$0", - "description" : "eye", - "scope" : "" - }, - "eyedropper" : { - "prefix" : "fa-eyedropper", - "body" : "$0", - "description" : "eyedropper", - "scope" : "" - }, - "eye-slash" : { - "prefix" : "fa-eye-slash", - "body" : "$0", - "description" : "eye-slash", - "scope" : "" - }, - "fa" : { - "prefix" : "fa-fa", - "body" : "$0", - "description" : "fa", - "scope" : "" - }, - "facebook" : { - "prefix" : "fa-facebook", - "body" : "$0", - "description" : "facebook", - "scope" : "" - }, - "facebook-f" : { - "prefix" : "fa-facebook-f", - "body" : "$0", - "description" : "facebook-f", - "scope" : "" - }, - "facebook-official" : { - "prefix" : "fa-facebook-official", - "body" : "$0", - "description" : "facebook-official", - "scope" : "" - }, - "facebook-square" : { - "prefix" : "fa-facebook-square", - "body" : "$0", - "description" : "facebook-square", - "scope" : "" - }, - "fast-backward" : { - "prefix" : "fa-fast-backward", - "body" : "$0", - "description" : "fast-backward", - "scope" : "" - }, - "fast-forward" : { - "prefix" : "fa-fast-forward", - "body" : "$0", - "description" : "fast-forward", - "scope" : "" - }, - "fax" : { - "prefix" : "fa-fax", - "body" : "$0", - "description" : "fax", - "scope" : "" - }, - "feed" : { - "prefix" : "fa-feed", - "body" : "$0", - "description" : "feed", - "scope" : "" - }, - "female" : { - "prefix" : "fa-female", - "body" : "$0", - "description" : "female", - "scope" : "" - }, - "fighter-jet" : { - "prefix" : "fa-fighter-jet", - "body" : "$0", - "description" : "fighter-jet", - "scope" : "" - }, - "file" : { - "prefix" : "fa-file", - "body" : "$0", - "description" : "file", - "scope" : "" - }, - "file-archive-o" : { - "prefix" : "fa-file-archive-o", - "body" : "$0", - "description" : "file-archive-o", - "scope" : "" - }, - "file-audio-o" : { - "prefix" : "fa-file-audio-o", - "body" : "$0", - "description" : "file-audio-o", - "scope" : "" - }, - "file-code-o" : { - "prefix" : "fa-file-code-o", - "body" : "$0", - "description" : "file-code-o", - "scope" : "" - }, - "file-excel-o" : { - "prefix" : "fa-file-excel-o", - "body" : "$0", - "description" : "file-excel-o", - "scope" : "" - }, - "file-image-o" : { - "prefix" : "fa-file-image-o", - "body" : "$0", - "description" : "file-image-o", - "scope" : "" - }, - "file-movie-o" : { - "prefix" : "fa-file-movie-o", - "body" : "$0", - "description" : "file-movie-o", - "scope" : "" - }, - "file-o" : { - "prefix" : "fa-file-o", - "body" : "$0", - "description" : "file-o", - "scope" : "" - }, - "file-pdf-o" : { - "prefix" : "fa-file-pdf-o", - "body" : "$0", - "description" : "file-pdf-o", - "scope" : "" - }, - "file-photo-o" : { - "prefix" : "fa-file-photo-o", - "body" : "$0", - "description" : "file-photo-o", - "scope" : "" - }, - "file-picture-o" : { - "prefix" : "fa-file-picture-o", - "body" : "$0", - "description" : "file-picture-o", - "scope" : "" - }, - "file-powerpoint-o" : { - "prefix" : "fa-file-powerpoint-o", - "body" : "$0", - "description" : "file-powerpoint-o", - "scope" : "" - }, - "files-o" : { - "prefix" : "fa-files-o", - "body" : "$0", - "description" : "files-o", - "scope" : "" - }, - "file-sound-o" : { - "prefix" : "fa-file-sound-o", - "body" : "$0", - "description" : "file-sound-o", - "scope" : "" - }, - "file-text" : { - "prefix" : "fa-file-text", - "body" : "$0", - "description" : "file-text", - "scope" : "" - }, - "file-text-o" : { - "prefix" : "fa-file-text-o", - "body" : "$0", - "description" : "file-text-o", - "scope" : "" - }, - "file-video-o" : { - "prefix" : "fa-file-video-o", - "body" : "$0", - "description" : "file-video-o", - "scope" : "" - }, - "file-word-o" : { - "prefix" : "fa-file-word-o", - "body" : "$0", - "description" : "file-word-o", - "scope" : "" - }, - "file-zip-o" : { - "prefix" : "fa-file-zip-o", - "body" : "$0", - "description" : "file-zip-o", - "scope" : "" - }, - "film" : { - "prefix" : "fa-film", - "body" : "$0", - "description" : "film", - "scope" : "" - }, - "filter" : { - "prefix" : "fa-filter", - "body" : "$0", - "description" : "filter", - "scope" : "" - }, - "fire" : { - "prefix" : "fa-fire", - "body" : "$0", - "description" : "fire", - "scope" : "" - }, - "fire-extinguisher" : { - "prefix" : "fa-fire-extinguisher", - "body" : "$0", - "description" : "fire-extinguisher", - "scope" : "" - }, - "firefox" : { - "prefix" : "fa-firefox", - "body" : "$0", - "description" : "firefox", - "scope" : "" - }, - "first-order" : { - "prefix" : "fa-first-order", - "body" : "$0", - "description" : "first-order", - "scope" : "" - }, - "flag" : { - "prefix" : "fa-flag", - "body" : "$0", - "description" : "flag", - "scope" : "" - }, - "flag-checkered" : { - "prefix" : "fa-flag-checkered", - "body" : "$0", - "description" : "flag-checkered", - "scope" : "" - }, - "flag-o" : { - "prefix" : "fa-flag-o", - "body" : "$0", - "description" : "flag-o", - "scope" : "" - }, - "flash" : { - "prefix" : "fa-flash", - "body" : "$0", - "description" : "flash", - "scope" : "" - }, - "flask" : { - "prefix" : "fa-flask", - "body" : "$0", - "description" : "flask", - "scope" : "" - }, - "flickr" : { - "prefix" : "fa-flickr", - "body" : "$0", - "description" : "flickr", - "scope" : "" - }, - "floppy-o" : { - "prefix" : "fa-floppy-o", - "body" : "$0", - "description" : "floppy-o", - "scope" : "" - }, - "folder" : { - "prefix" : "fa-folder", - "body" : "$0", - "description" : "folder", - "scope" : "" - }, - "folder-o" : { - "prefix" : "fa-folder-o", - "body" : "$0", - "description" : "folder-o", - "scope" : "" - }, - "folder-open" : { - "prefix" : "fa-folder-open", - "body" : "$0", - "description" : "folder-open", - "scope" : "" - }, - "folder-open-o" : { - "prefix" : "fa-folder-open-o", - "body" : "$0", - "description" : "folder-open-o", - "scope" : "" - }, - "font" : { - "prefix" : "fa-font", - "body" : "$0", - "description" : "font", - "scope" : "" - }, - "font-awesome" : { - "prefix" : "fa-font-awesome", - "body" : "$0", - "description" : "font-awesome", - "scope" : "" - }, - "fonticons" : { - "prefix" : "fa-fonticons", - "body" : "$0", - "description" : "fonticons", - "scope" : "" - }, - "fort-awesome" : { - "prefix" : "fa-fort-awesome", - "body" : "$0", - "description" : "fort-awesome", - "scope" : "" - }, - "forumbee" : { - "prefix" : "fa-forumbee", - "body" : "$0", - "description" : "forumbee", - "scope" : "" - }, - "forward" : { - "prefix" : "fa-forward", - "body" : "$0", - "description" : "forward", - "scope" : "" - }, - "foursquare" : { - "prefix" : "fa-foursquare", - "body" : "$0", - "description" : "foursquare", - "scope" : "" - }, - "free-code-camp" : { - "prefix" : "fa-free-code-camp", - "body" : "$0", - "description" : "free-code-camp", - "scope" : "" - }, - "frown-o" : { - "prefix" : "fa-frown-o", - "body" : "$0", - "description" : "frown-o", - "scope" : "" - }, - "futbol-o" : { - "prefix" : "fa-futbol-o", - "body" : "$0", - "description" : "futbol-o", - "scope" : "" - }, - "gamepad" : { - "prefix" : "fa-gamepad", - "body" : "$0", - "description" : "gamepad", - "scope" : "" - }, - "gavel" : { - "prefix" : "fa-gavel", - "body" : "$0", - "description" : "gavel", - "scope" : "" - }, - "gbp" : { - "prefix" : "fa-gbp", - "body" : "$0", - "description" : "gbp", - "scope" : "" - }, - "ge" : { - "prefix" : "fa-ge", - "body" : "$0", - "description" : "ge", - "scope" : "" - }, - "gear" : { - "prefix" : "fa-gear", - "body" : "$0", - "description" : "gear", - "scope" : "" - }, - "gears" : { - "prefix" : "fa-gears", - "body" : "$0", - "description" : "gears", - "scope" : "" - }, - "genderless" : { - "prefix" : "fa-genderless", - "body" : "$0", - "description" : "genderless", - "scope" : "" - }, - "get-pocket" : { - "prefix" : "fa-get-pocket", - "body" : "$0", - "description" : "get-pocket", - "scope" : "" - }, - "gg" : { - "prefix" : "fa-gg", - "body" : "$0", - "description" : "gg", - "scope" : "" - }, - "gg-circle" : { - "prefix" : "fa-gg-circle", - "body" : "$0", - "description" : "gg-circle", - "scope" : "" - }, - "gift" : { - "prefix" : "fa-gift", - "body" : "$0", - "description" : "gift", - "scope" : "" - }, - "git" : { - "prefix" : "fa-git", - "body" : "$0", - "description" : "git", - "scope" : "" - }, - "github" : { - "prefix" : "fa-github", - "body" : "$0", - "description" : "github", - "scope" : "" - }, - "github-alt" : { - "prefix" : "fa-github-alt", - "body" : "$0", - "description" : "github-alt", - "scope" : "" - }, - "github-square" : { - "prefix" : "fa-github-square", - "body" : "$0", - "description" : "github-square", - "scope" : "" - }, - "gitlab" : { - "prefix" : "fa-gitlab", - "body" : "$0", - "description" : "gitlab", - "scope" : "" - }, - "git-square" : { - "prefix" : "fa-git-square", - "body" : "$0", - "description" : "git-square", - "scope" : "" - }, - "gittip" : { - "prefix" : "fa-gittip", - "body" : "$0", - "description" : "gittip", - "scope" : "" - }, - "glass" : { - "prefix" : "fa-glass", - "body" : "$0", - "description" : "glass", - "scope" : "" - }, - "glide" : { - "prefix" : "fa-glide", - "body" : "$0", - "description" : "glide", - "scope" : "" - }, - "glide-g" : { - "prefix" : "fa-glide-g", - "body" : "$0", - "description" : "glide-g", - "scope" : "" - }, - "globe" : { - "prefix" : "fa-globe", - "body" : "$0", - "description" : "globe", - "scope" : "" - }, - "google" : { - "prefix" : "fa-google", - "body" : "$0", - "description" : "google", - "scope" : "" - }, - "google-plus" : { - "prefix" : "fa-google-plus", - "body" : "$0", - "description" : "google-plus", - "scope" : "" - }, - "google-plus-circle" : { - "prefix" : "fa-google-plus-circle", - "body" : "$0", - "description" : "google-plus-circle", - "scope" : "" - }, - "google-plus-official" : { - "prefix" : "fa-google-plus-official", - "body" : "$0", - "description" : "google-plus-official", - "scope" : "" - }, - "google-plus-square" : { - "prefix" : "fa-google-plus-square", - "body" : "$0", - "description" : "google-plus-square", - "scope" : "" - }, - "google-wallet" : { - "prefix" : "fa-google-wallet", - "body" : "$0", - "description" : "google-wallet", - "scope" : "" - }, - "graduation-cap" : { - "prefix" : "fa-graduation-cap", - "body" : "$0", - "description" : "graduation-cap", - "scope" : "" - }, - "gratipay" : { - "prefix" : "fa-gratipay", - "body" : "$0", - "description" : "gratipay", - "scope" : "" - }, - "grav" : { - "prefix" : "fa-grav", - "body" : "$0", - "description" : "grav", - "scope" : "" - }, - "group" : { - "prefix" : "fa-group", - "body" : "$0", - "description" : "group", - "scope" : "" - }, - "hacker-news" : { - "prefix" : "fa-hacker-news", - "body" : "$0", - "description" : "hacker-news", - "scope" : "" - }, - "hand-grab-o" : { - "prefix" : "fa-hand-grab-o", - "body" : "$0", - "description" : "hand-grab-o", - "scope" : "" - }, - "hand-lizard-o" : { - "prefix" : "fa-hand-lizard-o", - "body" : "$0", - "description" : "hand-lizard-o", - "scope" : "" - }, - "hand-o-down" : { - "prefix" : "fa-hand-o-down", - "body" : "$0", - "description" : "hand-o-down", - "scope" : "" - }, - "hand-o-left" : { - "prefix" : "fa-hand-o-left", - "body" : "$0", - "description" : "hand-o-left", - "scope" : "" - }, - "hand-o-right" : { - "prefix" : "fa-hand-o-right", - "body" : "$0", - "description" : "hand-o-right", - "scope" : "" - }, - "hand-o-up" : { - "prefix" : "fa-hand-o-up", - "body" : "$0", - "description" : "hand-o-up", - "scope" : "" - }, - "hand-paper-o" : { - "prefix" : "fa-hand-paper-o", - "body" : "$0", - "description" : "hand-paper-o", - "scope" : "" - }, - "hand-peace-o" : { - "prefix" : "fa-hand-peace-o", - "body" : "$0", - "description" : "hand-peace-o", - "scope" : "" - }, - "hand-pointer-o" : { - "prefix" : "fa-hand-pointer-o", - "body" : "$0", - "description" : "hand-pointer-o", - "scope" : "" - }, - "hand-rock-o" : { - "prefix" : "fa-hand-rock-o", - "body" : "$0", - "description" : "hand-rock-o", - "scope" : "" - }, - "hand-scissors-o" : { - "prefix" : "fa-hand-scissors-o", - "body" : "$0", - "description" : "hand-scissors-o", - "scope" : "" - }, - "handshake-o" : { - "prefix" : "fa-handshake-o", - "body" : "$0", - "description" : "handshake-o", - "scope" : "" - }, - "hand-spock-o" : { - "prefix" : "fa-hand-spock-o", - "body" : "$0", - "description" : "hand-spock-o", - "scope" : "" - }, - "hand-stop-o" : { - "prefix" : "fa-hand-stop-o", - "body" : "$0", - "description" : "hand-stop-o", - "scope" : "" - }, - "hard-of-hearing" : { - "prefix" : "fa-hard-of-hearing", - "body" : "$0", - "description" : "hard-of-hearing", - "scope" : "" - }, - "hashtag" : { - "prefix" : "fa-hashtag", - "body" : "$0", - "description" : "hashtag", - "scope" : "" - }, - "hdd-o" : { - "prefix" : "fa-hdd-o", - "body" : "$0", - "description" : "hdd-o", - "scope" : "" - }, - "header" : { - "prefix" : "fa-header", - "body" : "$0", - "description" : "header", - "scope" : "" - }, - "headphones" : { - "prefix" : "fa-headphones", - "body" : "$0", - "description" : "headphones", - "scope" : "" - }, - "heart" : { - "prefix" : "fa-heart", - "body" : "$0", - "description" : "heart", - "scope" : "" - }, - "heartbeat" : { - "prefix" : "fa-heartbeat", - "body" : "$0", - "description" : "heartbeat", - "scope" : "" - }, - "heart-o" : { - "prefix" : "fa-heart-o", - "body" : "$0", - "description" : "heart-o", - "scope" : "" - }, - "history" : { - "prefix" : "fa-history", - "body" : "$0", - "description" : "history", - "scope" : "" - }, - "home" : { - "prefix" : "fa-home", - "body" : "$0", - "description" : "home", - "scope" : "" - }, - "hospital-o" : { - "prefix" : "fa-hospital-o", - "body" : "$0", - "description" : "hospital-o", - "scope" : "" - }, - "hotel" : { - "prefix" : "fa-hotel", - "body" : "$0", - "description" : "hotel", - "scope" : "" - }, - "hourglass" : { - "prefix" : "fa-hourglass", - "body" : "$0", - "description" : "hourglass", - "scope" : "" - }, - "hourglass-1" : { - "prefix" : "fa-hourglass-1", - "body" : "$0", - "description" : "hourglass-1", - "scope" : "" - }, - "hourglass-2" : { - "prefix" : "fa-hourglass-2", - "body" : "$0", - "description" : "hourglass-2", - "scope" : "" - }, - "hourglass-3" : { - "prefix" : "fa-hourglass-3", - "body" : "$0", - "description" : "hourglass-3", - "scope" : "" - }, - "hourglass-end" : { - "prefix" : "fa-hourglass-end", - "body" : "$0", - "description" : "hourglass-end", - "scope" : "" - }, - "hourglass-half" : { - "prefix" : "fa-hourglass-half", - "body" : "$0", - "description" : "hourglass-half", - "scope" : "" - }, - "hourglass-o" : { - "prefix" : "fa-hourglass-o", - "body" : "$0", - "description" : "hourglass-o", - "scope" : "" - }, - "hourglass-start" : { - "prefix" : "fa-hourglass-start", - "body" : "$0", - "description" : "hourglass-start", - "scope" : "" - }, - "houzz" : { - "prefix" : "fa-houzz", - "body" : "$0", - "description" : "houzz", - "scope" : "" - }, - "h-square" : { - "prefix" : "fa-h-square", - "body" : "$0", - "description" : "h-square", - "scope" : "" - }, - "html5" : { - "prefix" : "fa-html5", - "body" : "$0", - "description" : "html5", - "scope" : "" - }, - "i-cursor" : { - "prefix" : "fa-i-cursor", - "body" : "$0", - "description" : "i-cursor", - "scope" : "" - }, - "id-badge" : { - "prefix" : "fa-id-badge", - "body" : "$0", - "description" : "id-badge", - "scope" : "" - }, - "id-card" : { - "prefix" : "fa-id-card", - "body" : "$0", - "description" : "id-card", - "scope" : "" - }, - "id-card-o" : { - "prefix" : "fa-id-card-o", - "body" : "$0", - "description" : "id-card-o", - "scope" : "" - }, - "ils" : { - "prefix" : "fa-ils", - "body" : "$0", - "description" : "ils", - "scope" : "" - }, - "image" : { - "prefix" : "fa-image", - "body" : "$0", - "description" : "image", - "scope" : "" - }, - "imdb" : { - "prefix" : "fa-imdb", - "body" : "$0", - "description" : "imdb", - "scope" : "" - }, - "inbox" : { - "prefix" : "fa-inbox", - "body" : "$0", - "description" : "inbox", - "scope" : "" - }, - "indent" : { - "prefix" : "fa-indent", - "body" : "$0", - "description" : "indent", - "scope" : "" - }, - "industry" : { - "prefix" : "fa-industry", - "body" : "$0", - "description" : "industry", - "scope" : "" - }, - "info" : { - "prefix" : "fa-info", - "body" : "$0", - "description" : "info", - "scope" : "" - }, - "info-circle" : { - "prefix" : "fa-info-circle", - "body" : "$0", - "description" : "info-circle", - "scope" : "" - }, - "inr" : { - "prefix" : "fa-inr", - "body" : "$0", - "description" : "inr", - "scope" : "" - }, - "instagram" : { - "prefix" : "fa-instagram", - "body" : "$0", - "description" : "instagram", - "scope" : "" - }, - "institution" : { - "prefix" : "fa-institution", - "body" : "$0", - "description" : "institution", - "scope" : "" - }, - "internet-explorer" : { - "prefix" : "fa-internet-explorer", - "body" : "$0", - "description" : "internet-explorer", - "scope" : "" - }, - "intersex" : { - "prefix" : "fa-intersex", - "body" : "$0", - "description" : "intersex", - "scope" : "" - }, - "ioxhost" : { - "prefix" : "fa-ioxhost", - "body" : "$0", - "description" : "ioxhost", - "scope" : "" - }, - "italic" : { - "prefix" : "fa-italic", - "body" : "$0", - "description" : "italic", - "scope" : "" - }, - "joomla" : { - "prefix" : "fa-joomla", - "body" : "$0", - "description" : "joomla", - "scope" : "" - }, - "jpy" : { - "prefix" : "fa-jpy", - "body" : "$0", - "description" : "jpy", - "scope" : "" - }, - "jsfiddle" : { - "prefix" : "fa-jsfiddle", - "body" : "$0", - "description" : "jsfiddle", - "scope" : "" - }, - "key" : { - "prefix" : "fa-key", - "body" : "$0", - "description" : "key", - "scope" : "" - }, - "keyboard-o" : { - "prefix" : "fa-keyboard-o", - "body" : "$0", - "description" : "keyboard-o", - "scope" : "" - }, - "krw" : { - "prefix" : "fa-krw", - "body" : "$0", - "description" : "krw", - "scope" : "" - }, - "language" : { - "prefix" : "fa-language", - "body" : "$0", - "description" : "language", - "scope" : "" - }, - "laptop" : { - "prefix" : "fa-laptop", - "body" : "$0", - "description" : "laptop", - "scope" : "" - }, - "lastfm" : { - "prefix" : "fa-lastfm", - "body" : "$0", - "description" : "lastfm", - "scope" : "" - }, - "lastfm-square" : { - "prefix" : "fa-lastfm-square", - "body" : "$0", - "description" : "lastfm-square", - "scope" : "" - }, - "leaf" : { - "prefix" : "fa-leaf", - "body" : "$0", - "description" : "leaf", - "scope" : "" - }, - "leanpub" : { - "prefix" : "fa-leanpub", - "body" : "$0", - "description" : "leanpub", - "scope" : "" - }, - "legal" : { - "prefix" : "fa-legal", - "body" : "$0", - "description" : "legal", - "scope" : "" - }, - "lemon-o" : { - "prefix" : "fa-lemon-o", - "body" : "$0", - "description" : "lemon-o", - "scope" : "" - }, - "level-down" : { - "prefix" : "fa-level-down", - "body" : "$0", - "description" : "level-down", - "scope" : "" - }, - "level-up" : { - "prefix" : "fa-level-up", - "body" : "$0", - "description" : "level-up", - "scope" : "" - }, - "life-bouy" : { - "prefix" : "fa-life-bouy", - "body" : "$0", - "description" : "life-bouy", - "scope" : "" - }, - "life-buoy" : { - "prefix" : "fa-life-buoy", - "body" : "$0", - "description" : "life-buoy", - "scope" : "" - }, - "life-ring" : { - "prefix" : "fa-life-ring", - "body" : "$0", - "description" : "life-ring", - "scope" : "" - }, - "life-saver" : { - "prefix" : "fa-life-saver", - "body" : "$0", - "description" : "life-saver", - "scope" : "" - }, - "lightbulb-o" : { - "prefix" : "fa-lightbulb-o", - "body" : "$0", - "description" : "lightbulb-o", - "scope" : "" - }, - "line-chart" : { - "prefix" : "fa-line-chart", - "body" : "$0", - "description" : "line-chart", - "scope" : "" - }, - "link" : { - "prefix" : "fa-link", - "body" : "$0", - "description" : "link", - "scope" : "" - }, - "linkedin" : { - "prefix" : "fa-linkedin", - "body" : "$0", - "description" : "linkedin", - "scope" : "" - }, - "linkedin-square" : { - "prefix" : "fa-linkedin-square", - "body" : "$0", - "description" : "linkedin-square", - "scope" : "" - }, - "linode" : { - "prefix" : "fa-linode", - "body" : "$0", - "description" : "linode", - "scope" : "" - }, - "linux" : { - "prefix" : "fa-linux", - "body" : "$0", - "description" : "linux", - "scope" : "" - }, - "list" : { - "prefix" : "fa-list", - "body" : "$0", - "description" : "list", - "scope" : "" - }, - "list-alt" : { - "prefix" : "fa-list-alt", - "body" : "$0", - "description" : "list-alt", - "scope" : "" - }, - "list-ol" : { - "prefix" : "fa-list-ol", - "body" : "$0", - "description" : "list-ol", - "scope" : "" - }, - "list-ul" : { - "prefix" : "fa-list-ul", - "body" : "$0", - "description" : "list-ul", - "scope" : "" - }, - "location-arrow" : { - "prefix" : "fa-location-arrow", - "body" : "$0", - "description" : "location-arrow", - "scope" : "" - }, - "lock" : { - "prefix" : "fa-lock", - "body" : "$0", - "description" : "lock", - "scope" : "" - }, - "long-arrow-down" : { - "prefix" : "fa-long-arrow-down", - "body" : "$0", - "description" : "long-arrow-down", - "scope" : "" - }, - "long-arrow-left" : { - "prefix" : "fa-long-arrow-left", - "body" : "$0", - "description" : "long-arrow-left", - "scope" : "" - }, - "long-arrow-right" : { - "prefix" : "fa-long-arrow-right", - "body" : "$0", - "description" : "long-arrow-right", - "scope" : "" - }, - "long-arrow-up" : { - "prefix" : "fa-long-arrow-up", - "body" : "$0", - "description" : "long-arrow-up", - "scope" : "" - }, - "low-vision" : { - "prefix" : "fa-low-vision", - "body" : "$0", - "description" : "low-vision", - "scope" : "" - }, - "magic" : { - "prefix" : "fa-magic", - "body" : "$0", - "description" : "magic", - "scope" : "" - }, - "magnet" : { - "prefix" : "fa-magnet", - "body" : "$0", - "description" : "magnet", - "scope" : "" - }, - "mail-forward" : { - "prefix" : "fa-mail-forward", - "body" : "$0", - "description" : "mail-forward", - "scope" : "" - }, - "mail-reply" : { - "prefix" : "fa-mail-reply", - "body" : "$0", - "description" : "mail-reply", - "scope" : "" - }, - "mail-reply-all" : { - "prefix" : "fa-mail-reply-all", - "body" : "$0", - "description" : "mail-reply-all", - "scope" : "" - }, - "male" : { - "prefix" : "fa-male", - "body" : "$0", - "description" : "male", - "scope" : "" - }, - "map" : { - "prefix" : "fa-map", - "body" : "$0", - "description" : "map", - "scope" : "" - }, - "map-marker" : { - "prefix" : "fa-map-marker", - "body" : "$0", - "description" : "map-marker", - "scope" : "" - }, - "map-o" : { - "prefix" : "fa-map-o", - "body" : "$0", - "description" : "map-o", - "scope" : "" - }, - "map-pin" : { - "prefix" : "fa-map-pin", - "body" : "$0", - "description" : "map-pin", - "scope" : "" - }, - "map-signs" : { - "prefix" : "fa-map-signs", - "body" : "$0", - "description" : "map-signs", - "scope" : "" - }, - "mars" : { - "prefix" : "fa-mars", - "body" : "$0", - "description" : "mars", - "scope" : "" - }, - "mars-double" : { - "prefix" : "fa-mars-double", - "body" : "$0", - "description" : "mars-double", - "scope" : "" - }, - "mars-stroke" : { - "prefix" : "fa-mars-stroke", - "body" : "$0", - "description" : "mars-stroke", - "scope" : "" - }, - "mars-stroke-h" : { - "prefix" : "fa-mars-stroke-h", - "body" : "$0", - "description" : "mars-stroke-h", - "scope" : "" - }, - "mars-stroke-v" : { - "prefix" : "fa-mars-stroke-v", - "body" : "$0", - "description" : "mars-stroke-v", - "scope" : "" - }, - "maxcdn" : { - "prefix" : "fa-maxcdn", - "body" : "$0", - "description" : "maxcdn", - "scope" : "" - }, - "meanpath" : { - "prefix" : "fa-meanpath", - "body" : "$0", - "description" : "meanpath", - "scope" : "" - }, - "medium" : { - "prefix" : "fa-medium", - "body" : "$0", - "description" : "medium", - "scope" : "" - }, - "medkit" : { - "prefix" : "fa-medkit", - "body" : "$0", - "description" : "medkit", - "scope" : "" - }, - "meetup" : { - "prefix" : "fa-meetup", - "body" : "$0", - "description" : "meetup", - "scope" : "" - }, - "meh-o" : { - "prefix" : "fa-meh-o", - "body" : "$0", - "description" : "meh-o", - "scope" : "" - }, - "mercury" : { - "prefix" : "fa-mercury", - "body" : "$0", - "description" : "mercury", - "scope" : "" - }, - "microchip" : { - "prefix" : "fa-microchip", - "body" : "$0", - "description" : "microchip", - "scope" : "" - }, - "microphone" : { - "prefix" : "fa-microphone", - "body" : "$0", - "description" : "microphone", - "scope" : "" - }, - "microphone-slash" : { - "prefix" : "fa-microphone-slash", - "body" : "$0", - "description" : "microphone-slash", - "scope" : "" - }, - "minus" : { - "prefix" : "fa-minus", - "body" : "$0", - "description" : "minus", - "scope" : "" - }, - "minus-circle" : { - "prefix" : "fa-minus-circle", - "body" : "$0", - "description" : "minus-circle", - "scope" : "" - }, - "minus-square" : { - "prefix" : "fa-minus-square", - "body" : "$0", - "description" : "minus-square", - "scope" : "" - }, - "minus-square-o" : { - "prefix" : "fa-minus-square-o", - "body" : "$0", - "description" : "minus-square-o", - "scope" : "" - }, - "mixcloud" : { - "prefix" : "fa-mixcloud", - "body" : "$0", - "description" : "mixcloud", - "scope" : "" - }, - "mobile" : { - "prefix" : "fa-mobile", - "body" : "$0", - "description" : "mobile", - "scope" : "" - }, - "mobile-phone" : { - "prefix" : "fa-mobile-phone", - "body" : "$0", - "description" : "mobile-phone", - "scope" : "" - }, - "modx" : { - "prefix" : "fa-modx", - "body" : "$0", - "description" : "modx", - "scope" : "" - }, - "money" : { - "prefix" : "fa-money", - "body" : "$0", - "description" : "money", - "scope" : "" - }, - "moon-o" : { - "prefix" : "fa-moon-o", - "body" : "$0", - "description" : "moon-o", - "scope" : "" - }, - "mortar-board" : { - "prefix" : "fa-mortar-board", - "body" : "$0", - "description" : "mortar-board", - "scope" : "" - }, - "motorcycle" : { - "prefix" : "fa-motorcycle", - "body" : "$0", - "description" : "motorcycle", - "scope" : "" - }, - "mouse-pointer" : { - "prefix" : "fa-mouse-pointer", - "body" : "$0", - "description" : "mouse-pointer", - "scope" : "" - }, - "music" : { - "prefix" : "fa-music", - "body" : "$0", - "description" : "music", - "scope" : "" - }, - "navicon" : { - "prefix" : "fa-navicon", - "body" : "$0", - "description" : "navicon", - "scope" : "" - }, - "neuter" : { - "prefix" : "fa-neuter", - "body" : "$0", - "description" : "neuter", - "scope" : "" - }, - "newspaper-o" : { - "prefix" : "fa-newspaper-o", - "body" : "$0", - "description" : "newspaper-o", - "scope" : "" - }, - "object-group" : { - "prefix" : "fa-object-group", - "body" : "$0", - "description" : "object-group", - "scope" : "" - }, - "object-ungroup" : { - "prefix" : "fa-object-ungroup", - "body" : "$0", - "description" : "object-ungroup", - "scope" : "" - }, - "odnoklassniki" : { - "prefix" : "fa-odnoklassniki", - "body" : "$0", - "description" : "odnoklassniki", - "scope" : "" - }, - "odnoklassniki-square" : { - "prefix" : "fa-odnoklassniki-square", - "body" : "$0", - "description" : "odnoklassniki-square", - "scope" : "" - }, - "opencart" : { - "prefix" : "fa-opencart", - "body" : "$0", - "description" : "opencart", - "scope" : "" - }, - "openid" : { - "prefix" : "fa-openid", - "body" : "$0", - "description" : "openid", - "scope" : "" - }, - "opera" : { - "prefix" : "fa-opera", - "body" : "$0", - "description" : "opera", - "scope" : "" - }, - "optin-monster" : { - "prefix" : "fa-optin-monster", - "body" : "$0", - "description" : "optin-monster", - "scope" : "" - }, - "outdent" : { - "prefix" : "fa-outdent", - "body" : "$0", - "description" : "outdent", - "scope" : "" - }, - "pagelines" : { - "prefix" : "fa-pagelines", - "body" : "$0", - "description" : "pagelines", - "scope" : "" - }, - "paint-brush" : { - "prefix" : "fa-paint-brush", - "body" : "$0", - "description" : "paint-brush", - "scope" : "" - }, - "paperclip" : { - "prefix" : "fa-paperclip", - "body" : "$0", - "description" : "paperclip", - "scope" : "" - }, - "paper-plane" : { - "prefix" : "fa-paper-plane", - "body" : "$0", - "description" : "paper-plane", - "scope" : "" - }, - "paper-plane-o" : { - "prefix" : "fa-paper-plane-o", - "body" : "$0", - "description" : "paper-plane-o", - "scope" : "" - }, - "paragraph" : { - "prefix" : "fa-paragraph", - "body" : "$0", - "description" : "paragraph", - "scope" : "" - }, - "paste" : { - "prefix" : "fa-paste", - "body" : "$0", - "description" : "paste", - "scope" : "" - }, - "pause" : { - "prefix" : "fa-pause", - "body" : "$0", - "description" : "pause", - "scope" : "" - }, - "pause-circle" : { - "prefix" : "fa-pause-circle", - "body" : "$0", - "description" : "pause-circle", - "scope" : "" - }, - "pause-circle-o" : { - "prefix" : "fa-pause-circle-o", - "body" : "$0", - "description" : "pause-circle-o", - "scope" : "" - }, - "paw" : { - "prefix" : "fa-paw", - "body" : "$0", - "description" : "paw", - "scope" : "" - }, - "paypal" : { - "prefix" : "fa-paypal", - "body" : "$0", - "description" : "paypal", - "scope" : "" - }, - "pencil" : { - "prefix" : "fa-pencil", - "body" : "$0", - "description" : "pencil", - "scope" : "" - }, - "pencil-square" : { - "prefix" : "fa-pencil-square", - "body" : "$0", - "description" : "pencil-square", - "scope" : "" - }, - "pencil-square-o" : { - "prefix" : "fa-pencil-square-o", - "body" : "$0", - "description" : "pencil-square-o", - "scope" : "" - }, - "percent" : { - "prefix" : "fa-percent", - "body" : "$0", - "description" : "percent", - "scope" : "" - }, - "phone" : { - "prefix" : "fa-phone", - "body" : "$0", - "description" : "phone", - "scope" : "" - }, - "phone-square" : { - "prefix" : "fa-phone-square", - "body" : "$0", - "description" : "phone-square", - "scope" : "" - }, - "photo" : { - "prefix" : "fa-photo", - "body" : "$0", - "description" : "photo", - "scope" : "" - }, - "picture-o" : { - "prefix" : "fa-picture-o", - "body" : "$0", - "description" : "picture-o", - "scope" : "" - }, - "pie-chart" : { - "prefix" : "fa-pie-chart", - "body" : "$0", - "description" : "pie-chart", - "scope" : "" - }, - "pied-piper" : { - "prefix" : "fa-pied-piper", - "body" : "$0", - "description" : "pied-piper", - "scope" : "" - }, - "pied-piper-alt" : { - "prefix" : "fa-pied-piper-alt", - "body" : "$0", - "description" : "pied-piper-alt", - "scope" : "" - }, - "pied-piper-pp" : { - "prefix" : "fa-pied-piper-pp", - "body" : "$0", - "description" : "pied-piper-pp", - "scope" : "" - }, - "pinterest" : { - "prefix" : "fa-pinterest", - "body" : "$0", - "description" : "pinterest", - "scope" : "" - }, - "pinterest-p" : { - "prefix" : "fa-pinterest-p", - "body" : "$0", - "description" : "pinterest-p", - "scope" : "" - }, - "pinterest-square" : { - "prefix" : "fa-pinterest-square", - "body" : "$0", - "description" : "pinterest-square", - "scope" : "" - }, - "plane" : { - "prefix" : "fa-plane", - "body" : "$0", - "description" : "plane", - "scope" : "" - }, - "play" : { - "prefix" : "fa-play", - "body" : "$0", - "description" : "play", - "scope" : "" - }, - "play-circle" : { - "prefix" : "fa-play-circle", - "body" : "$0", - "description" : "play-circle", - "scope" : "" - }, - "play-circle-o" : { - "prefix" : "fa-play-circle-o", - "body" : "$0", - "description" : "play-circle-o", - "scope" : "" - }, - "plug" : { - "prefix" : "fa-plug", - "body" : "$0", - "description" : "plug", - "scope" : "" - }, - "plus" : { - "prefix" : "fa-plus", - "body" : "$0", - "description" : "plus", - "scope" : "" - }, - "plus-circle" : { - "prefix" : "fa-plus-circle", - "body" : "$0", - "description" : "plus-circle", - "scope" : "" - }, - "plus-square" : { - "prefix" : "fa-plus-square", - "body" : "$0", - "description" : "plus-square", - "scope" : "" - }, - "plus-square-o" : { - "prefix" : "fa-plus-square-o", - "body" : "$0", - "description" : "plus-square-o", - "scope" : "" - }, - "podcast" : { - "prefix" : "fa-podcast", - "body" : "$0", - "description" : "podcast", - "scope" : "" - }, - "power-off" : { - "prefix" : "fa-power-off", - "body" : "$0", - "description" : "power-off", - "scope" : "" - }, - "print" : { - "prefix" : "fa-print", - "body" : "$0", - "description" : "print", - "scope" : "" - }, - "product-hunt" : { - "prefix" : "fa-product-hunt", - "body" : "$0", - "description" : "product-hunt", - "scope" : "" - }, - "puzzle-piece" : { - "prefix" : "fa-puzzle-piece", - "body" : "$0", - "description" : "puzzle-piece", - "scope" : "" - }, - "qq" : { - "prefix" : "fa-qq", - "body" : "$0", - "description" : "qq", - "scope" : "" - }, - "qrcode" : { - "prefix" : "fa-qrcode", - "body" : "$0", - "description" : "qrcode", - "scope" : "" - }, - "question" : { - "prefix" : "fa-question", - "body" : "$0", - "description" : "question", - "scope" : "" - }, - "question-circle" : { - "prefix" : "fa-question-circle", - "body" : "$0", - "description" : "question-circle", - "scope" : "" - }, - "question-circle-o" : { - "prefix" : "fa-question-circle-o", - "body" : "$0", - "description" : "question-circle-o", - "scope" : "" - }, - "quora" : { - "prefix" : "fa-quora", - "body" : "$0", - "description" : "quora", - "scope" : "" - }, - "quote-left" : { - "prefix" : "fa-quote-left", - "body" : "$0", - "description" : "quote-left", - "scope" : "" - }, - "quote-right" : { - "prefix" : "fa-quote-right", - "body" : "$0", - "description" : "quote-right", - "scope" : "" - }, - "ra" : { - "prefix" : "fa-ra", - "body" : "$0", - "description" : "ra", - "scope" : "" - }, - "random" : { - "prefix" : "fa-random", - "body" : "$0", - "description" : "random", - "scope" : "" - }, - "ravelry" : { - "prefix" : "fa-ravelry", - "body" : "$0", - "description" : "ravelry", - "scope" : "" - }, - "rebel" : { - "prefix" : "fa-rebel", - "body" : "$0", - "description" : "rebel", - "scope" : "" - }, - "recycle" : { - "prefix" : "fa-recycle", - "body" : "$0", - "description" : "recycle", - "scope" : "" - }, - "reddit" : { - "prefix" : "fa-reddit", - "body" : "$0", - "description" : "reddit", - "scope" : "" - }, - "reddit-alien" : { - "prefix" : "fa-reddit-alien", - "body" : "$0", - "description" : "reddit-alien", - "scope" : "" - }, - "reddit-square" : { - "prefix" : "fa-reddit-square", - "body" : "$0", - "description" : "reddit-square", - "scope" : "" - }, - "refresh" : { - "prefix" : "fa-refresh", - "body" : "$0", - "description" : "refresh", - "scope" : "" - }, - "registered" : { - "prefix" : "fa-registered", - "body" : "$0", - "description" : "registered", - "scope" : "" - }, - "remove" : { - "prefix" : "fa-remove", - "body" : "$0", - "description" : "remove", - "scope" : "" - }, - "renren" : { - "prefix" : "fa-renren", - "body" : "$0", - "description" : "renren", - "scope" : "" - }, - "reorder" : { - "prefix" : "fa-reorder", - "body" : "$0", - "description" : "reorder", - "scope" : "" - }, - "repeat" : { - "prefix" : "fa-repeat", - "body" : "$0", - "description" : "repeat", - "scope" : "" - }, - "reply" : { - "prefix" : "fa-reply", - "body" : "$0", - "description" : "reply", - "scope" : "" - }, - "reply-all" : { - "prefix" : "fa-reply-all", - "body" : "$0", - "description" : "reply-all", - "scope" : "" - }, - "resistance" : { - "prefix" : "fa-resistance", - "body" : "$0", - "description" : "resistance", - "scope" : "" - }, - "retweet" : { - "prefix" : "fa-retweet", - "body" : "$0", - "description" : "retweet", - "scope" : "" - }, - "rmb" : { - "prefix" : "fa-rmb", - "body" : "$0", - "description" : "rmb", - "scope" : "" - }, - "road" : { - "prefix" : "fa-road", - "body" : "$0", - "description" : "road", - "scope" : "" - }, - "rocket" : { - "prefix" : "fa-rocket", - "body" : "$0", - "description" : "rocket", - "scope" : "" - }, - "rotate-left" : { - "prefix" : "fa-rotate-left", - "body" : "$0", - "description" : "rotate-left", - "scope" : "" - }, - "rotate-right" : { - "prefix" : "fa-rotate-right", - "body" : "$0", - "description" : "rotate-right", - "scope" : "" - }, - "rouble" : { - "prefix" : "fa-rouble", - "body" : "$0", - "description" : "rouble", - "scope" : "" - }, - "rss" : { - "prefix" : "fa-rss", - "body" : "$0", - "description" : "rss", - "scope" : "" - }, - "rss-square" : { - "prefix" : "fa-rss-square", - "body" : "$0", - "description" : "rss-square", - "scope" : "" - }, - "rub" : { - "prefix" : "fa-rub", - "body" : "$0", - "description" : "rub", - "scope" : "" - }, - "ruble" : { - "prefix" : "fa-ruble", - "body" : "$0", - "description" : "ruble", - "scope" : "" - }, - "rupee" : { - "prefix" : "fa-rupee", - "body" : "$0", - "description" : "rupee", - "scope" : "" - }, - "s15" : { - "prefix" : "fa-s15", - "body" : "$0", - "description" : "s15", - "scope" : "" - }, - "safari" : { - "prefix" : "fa-safari", - "body" : "$0", - "description" : "safari", - "scope" : "" - }, - "save" : { - "prefix" : "fa-save", - "body" : "$0", - "description" : "save", - "scope" : "" - }, - "scissors" : { - "prefix" : "fa-scissors", - "body" : "$0", - "description" : "scissors", - "scope" : "" - }, - "scribd" : { - "prefix" : "fa-scribd", - "body" : "$0", - "description" : "scribd", - "scope" : "" - }, - "search" : { - "prefix" : "fa-search", - "body" : "$0", - "description" : "search", - "scope" : "" - }, - "search-minus" : { - "prefix" : "fa-search-minus", - "body" : "$0", - "description" : "search-minus", - "scope" : "" - }, - "search-plus" : { - "prefix" : "fa-search-plus", - "body" : "$0", - "description" : "search-plus", - "scope" : "" - }, - "sellsy" : { - "prefix" : "fa-sellsy", - "body" : "$0", - "description" : "sellsy", - "scope" : "" - }, - "send" : { - "prefix" : "fa-send", - "body" : "$0", - "description" : "send", - "scope" : "" - }, - "send-o" : { - "prefix" : "fa-send-o", - "body" : "$0", - "description" : "send-o", - "scope" : "" - }, - "server" : { - "prefix" : "fa-server", - "body" : "$0", - "description" : "server", - "scope" : "" - }, - "share" : { - "prefix" : "fa-share", - "body" : "$0", - "description" : "share", - "scope" : "" - }, - "share-alt" : { - "prefix" : "fa-share-alt", - "body" : "$0", - "description" : "share-alt", - "scope" : "" - }, - "share-alt-square" : { - "prefix" : "fa-share-alt-square", - "body" : "$0", - "description" : "share-alt-square", - "scope" : "" - }, - "share-square" : { - "prefix" : "fa-share-square", - "body" : "$0", - "description" : "share-square", - "scope" : "" - }, - "share-square-o" : { - "prefix" : "fa-share-square-o", - "body" : "$0", - "description" : "share-square-o", - "scope" : "" - }, - "shekel" : { - "prefix" : "fa-shekel", - "body" : "$0", - "description" : "shekel", - "scope" : "" - }, - "sheqel" : { - "prefix" : "fa-sheqel", - "body" : "$0", - "description" : "sheqel", - "scope" : "" - }, - "shield" : { - "prefix" : "fa-shield", - "body" : "$0", - "description" : "shield", - "scope" : "" - }, - "ship" : { - "prefix" : "fa-ship", - "body" : "$0", - "description" : "ship", - "scope" : "" - }, - "shirtsinbulk" : { - "prefix" : "fa-shirtsinbulk", - "body" : "$0", - "description" : "shirtsinbulk", - "scope" : "" - }, - "shopping-bag" : { - "prefix" : "fa-shopping-bag", - "body" : "$0", - "description" : "shopping-bag", - "scope" : "" - }, - "shopping-basket" : { - "prefix" : "fa-shopping-basket", - "body" : "$0", - "description" : "shopping-basket", - "scope" : "" - }, - "shopping-cart" : { - "prefix" : "fa-shopping-cart", - "body" : "$0", - "description" : "shopping-cart", - "scope" : "" - }, - "shower" : { - "prefix" : "fa-shower", - "body" : "$0", - "description" : "shower", - "scope" : "" - }, - "signal" : { - "prefix" : "fa-signal", - "body" : "$0", - "description" : "signal", - "scope" : "" - }, - "sign-in" : { - "prefix" : "fa-sign-in", - "body" : "$0", - "description" : "sign-in", - "scope" : "" - }, - "signing" : { - "prefix" : "fa-signing", - "body" : "$0", - "description" : "signing", - "scope" : "" - }, - "sign-language" : { - "prefix" : "fa-sign-language", - "body" : "$0", - "description" : "sign-language", - "scope" : "" - }, - "sign-out" : { - "prefix" : "fa-sign-out", - "body" : "$0", - "description" : "sign-out", - "scope" : "" - }, - "simplybuilt" : { - "prefix" : "fa-simplybuilt", - "body" : "$0", - "description" : "simplybuilt", - "scope" : "" - }, - "sitemap" : { - "prefix" : "fa-sitemap", - "body" : "$0", - "description" : "sitemap", - "scope" : "" - }, - "skyatlas" : { - "prefix" : "fa-skyatlas", - "body" : "$0", - "description" : "skyatlas", - "scope" : "" - }, - "skype" : { - "prefix" : "fa-skype", - "body" : "$0", - "description" : "skype", - "scope" : "" - }, - "slack" : { - "prefix" : "fa-slack", - "body" : "$0", - "description" : "slack", - "scope" : "" - }, - "sliders" : { - "prefix" : "fa-sliders", - "body" : "$0", - "description" : "sliders", - "scope" : "" - }, - "slideshare" : { - "prefix" : "fa-slideshare", - "body" : "$0", - "description" : "slideshare", - "scope" : "" - }, - "smile-o" : { - "prefix" : "fa-smile-o", - "body" : "$0", - "description" : "smile-o", - "scope" : "" - }, - "snapchat" : { - "prefix" : "fa-snapchat", - "body" : "$0", - "description" : "snapchat", - "scope" : "" - }, - "snapchat-ghost" : { - "prefix" : "fa-snapchat-ghost", - "body" : "$0", - "description" : "snapchat-ghost", - "scope" : "" - }, - "snapchat-square" : { - "prefix" : "fa-snapchat-square", - "body" : "$0", - "description" : "snapchat-square", - "scope" : "" - }, - "snowflake-o" : { - "prefix" : "fa-snowflake-o", - "body" : "$0", - "description" : "snowflake-o", - "scope" : "" - }, - "soccer-ball-o" : { - "prefix" : "fa-soccer-ball-o", - "body" : "$0", - "description" : "soccer-ball-o", - "scope" : "" - }, - "sort" : { - "prefix" : "fa-sort", - "body" : "$0", - "description" : "sort", - "scope" : "" - }, - "sort-alpha-asc" : { - "prefix" : "fa-sort-alpha-asc", - "body" : "$0", - "description" : "sort-alpha-asc", - "scope" : "" - }, - "sort-alpha-desc" : { - "prefix" : "fa-sort-alpha-desc", - "body" : "$0", - "description" : "sort-alpha-desc", - "scope" : "" - }, - "sort-amount-asc" : { - "prefix" : "fa-sort-amount-asc", - "body" : "$0", - "description" : "sort-amount-asc", - "scope" : "" - }, - "sort-amount-desc" : { - "prefix" : "fa-sort-amount-desc", - "body" : "$0", - "description" : "sort-amount-desc", - "scope" : "" - }, - "sort-asc" : { - "prefix" : "fa-sort-asc", - "body" : "$0", - "description" : "sort-asc", - "scope" : "" - }, - "sort-desc" : { - "prefix" : "fa-sort-desc", - "body" : "$0", - "description" : "sort-desc", - "scope" : "" - }, - "sort-down" : { - "prefix" : "fa-sort-down", - "body" : "$0", - "description" : "sort-down", - "scope" : "" - }, - "sort-numeric-asc" : { - "prefix" : "fa-sort-numeric-asc", - "body" : "$0", - "description" : "sort-numeric-asc", - "scope" : "" - }, - "sort-numeric-desc" : { - "prefix" : "fa-sort-numeric-desc", - "body" : "$0", - "description" : "sort-numeric-desc", - "scope" : "" - }, - "sort-up" : { - "prefix" : "fa-sort-up", - "body" : "$0", - "description" : "sort-up", - "scope" : "" - }, - "soundcloud" : { - "prefix" : "fa-soundcloud", - "body" : "$0", - "description" : "soundcloud", - "scope" : "" - }, - "space-shuttle" : { - "prefix" : "fa-space-shuttle", - "body" : "$0", - "description" : "space-shuttle", - "scope" : "" - }, - "spinner" : { - "prefix" : "fa-spinner", - "body" : "$0", - "description" : "spinner", - "scope" : "" - }, - "spoon" : { - "prefix" : "fa-spoon", - "body" : "$0", - "description" : "spoon", - "scope" : "" - }, - "spotify" : { - "prefix" : "fa-spotify", - "body" : "$0", - "description" : "spotify", - "scope" : "" - }, - "square" : { - "prefix" : "fa-square", - "body" : "$0", - "description" : "square", - "scope" : "" - }, - "square-o" : { - "prefix" : "fa-square-o", - "body" : "$0", - "description" : "square-o", - "scope" : "" - }, - "stack-exchange" : { - "prefix" : "fa-stack-exchange", - "body" : "$0", - "description" : "stack-exchange", - "scope" : "" - }, - "stack-overflow" : { - "prefix" : "fa-stack-overflow", - "body" : "$0", - "description" : "stack-overflow", - "scope" : "" - }, - "star" : { - "prefix" : "fa-star", - "body" : "$0", - "description" : "star", - "scope" : "" - }, - "star-half" : { - "prefix" : "fa-star-half", - "body" : "$0", - "description" : "star-half", - "scope" : "" - }, - "star-half-empty" : { - "prefix" : "fa-star-half-empty", - "body" : "$0", - "description" : "star-half-empty", - "scope" : "" - }, - "star-half-full" : { - "prefix" : "fa-star-half-full", - "body" : "$0", - "description" : "star-half-full", - "scope" : "" - }, - "star-half-o" : { - "prefix" : "fa-star-half-o", - "body" : "$0", - "description" : "star-half-o", - "scope" : "" - }, - "star-o" : { - "prefix" : "fa-star-o", - "body" : "$0", - "description" : "star-o", - "scope" : "" - }, - "steam" : { - "prefix" : "fa-steam", - "body" : "$0", - "description" : "steam", - "scope" : "" - }, - "steam-square" : { - "prefix" : "fa-steam-square", - "body" : "$0", - "description" : "steam-square", - "scope" : "" - }, - "step-backward" : { - "prefix" : "fa-step-backward", - "body" : "$0", - "description" : "step-backward", - "scope" : "" - }, - "step-forward" : { - "prefix" : "fa-step-forward", - "body" : "$0", - "description" : "step-forward", - "scope" : "" - }, - "stethoscope" : { - "prefix" : "fa-stethoscope", - "body" : "$0", - "description" : "stethoscope", - "scope" : "" - }, - "sticky-note" : { - "prefix" : "fa-sticky-note", - "body" : "$0", - "description" : "sticky-note", - "scope" : "" - }, - "sticky-note-o" : { - "prefix" : "fa-sticky-note-o", - "body" : "$0", - "description" : "sticky-note-o", - "scope" : "" - }, - "stop" : { - "prefix" : "fa-stop", - "body" : "$0", - "description" : "stop", - "scope" : "" - }, - "stop-circle" : { - "prefix" : "fa-stop-circle", - "body" : "$0", - "description" : "stop-circle", - "scope" : "" - }, - "stop-circle-o" : { - "prefix" : "fa-stop-circle-o", - "body" : "$0", - "description" : "stop-circle-o", - "scope" : "" - }, - "street-view" : { - "prefix" : "fa-street-view", - "body" : "$0", - "description" : "street-view", - "scope" : "" - }, - "strikethrough" : { - "prefix" : "fa-strikethrough", - "body" : "$0", - "description" : "strikethrough", - "scope" : "" - }, - "stumbleupon" : { - "prefix" : "fa-stumbleupon", - "body" : "$0", - "description" : "stumbleupon", - "scope" : "" - }, - "stumbleupon-circle" : { - "prefix" : "fa-stumbleupon-circle", - "body" : "$0", - "description" : "stumbleupon-circle", - "scope" : "" - }, - "subscript" : { - "prefix" : "fa-subscript", - "body" : "$0", - "description" : "subscript", - "scope" : "" - }, - "subway" : { - "prefix" : "fa-subway", - "body" : "$0", - "description" : "subway", - "scope" : "" - }, - "suitcase" : { - "prefix" : "fa-suitcase", - "body" : "$0", - "description" : "suitcase", - "scope" : "" - }, - "sun-o" : { - "prefix" : "fa-sun-o", - "body" : "$0", - "description" : "sun-o", - "scope" : "" - }, - "superpowers" : { - "prefix" : "fa-superpowers", - "body" : "$0", - "description" : "superpowers", - "scope" : "" - }, - "superscript" : { - "prefix" : "fa-superscript", - "body" : "$0", - "description" : "superscript", - "scope" : "" - }, - "support" : { - "prefix" : "fa-support", - "body" : "$0", - "description" : "support", - "scope" : "" - }, - "table" : { - "prefix" : "fa-table", - "body" : "$0", - "description" : "table", - "scope" : "" - }, - "tablet" : { - "prefix" : "fa-tablet", - "body" : "$0", - "description" : "tablet", - "scope" : "" - }, - "tachometer" : { - "prefix" : "fa-tachometer", - "body" : "$0", - "description" : "tachometer", - "scope" : "" - }, - "tag" : { - "prefix" : "fa-tag", - "body" : "$0", - "description" : "tag", - "scope" : "" - }, - "tags" : { - "prefix" : "fa-tags", - "body" : "$0", - "description" : "tags", - "scope" : "" - }, - "tasks" : { - "prefix" : "fa-tasks", - "body" : "$0", - "description" : "tasks", - "scope" : "" - }, - "taxi" : { - "prefix" : "fa-taxi", - "body" : "$0", - "description" : "taxi", - "scope" : "" - }, - "telegram" : { - "prefix" : "fa-telegram", - "body" : "$0", - "description" : "telegram", - "scope" : "" - }, - "television" : { - "prefix" : "fa-television", - "body" : "$0", - "description" : "television", - "scope" : "" - }, - "tencent-weibo" : { - "prefix" : "fa-tencent-weibo", - "body" : "$0", - "description" : "tencent-weibo", - "scope" : "" - }, - "terminal" : { - "prefix" : "fa-terminal", - "body" : "$0", - "description" : "terminal", - "scope" : "" - }, - "text-height" : { - "prefix" : "fa-text-height", - "body" : "$0", - "description" : "text-height", - "scope" : "" - }, - "text-width" : { - "prefix" : "fa-text-width", - "body" : "$0", - "description" : "text-width", - "scope" : "" - }, - "th" : { - "prefix" : "fa-th", - "body" : "$0", - "description" : "th", - "scope" : "" - }, - "themeisle" : { - "prefix" : "fa-themeisle", - "body" : "$0", - "description" : "themeisle", - "scope" : "" - }, - "thermometer" : { - "prefix" : "fa-thermometer", - "body" : "$0", - "description" : "thermometer", - "scope" : "" - }, - "thermometer-0" : { - "prefix" : "fa-thermometer-0", - "body" : "$0", - "description" : "thermometer-0", - "scope" : "" - }, - "thermometer-1" : { - "prefix" : "fa-thermometer-1", - "body" : "$0", - "description" : "thermometer-1", - "scope" : "" - }, - "thermometer-2" : { - "prefix" : "fa-thermometer-2", - "body" : "$0", - "description" : "thermometer-2", - "scope" : "" - }, - "thermometer-3" : { - "prefix" : "fa-thermometer-3", - "body" : "$0", - "description" : "thermometer-3", - "scope" : "" - }, - "thermometer-4" : { - "prefix" : "fa-thermometer-4", - "body" : "$0", - "description" : "thermometer-4", - "scope" : "" - }, - "thermometer-empty" : { - "prefix" : "fa-thermometer-empty", - "body" : "$0", - "description" : "thermometer-empty", - "scope" : "" - }, - "thermometer-full" : { - "prefix" : "fa-thermometer-full", - "body" : "$0", - "description" : "thermometer-full", - "scope" : "" - }, - "thermometer-half" : { - "prefix" : "fa-thermometer-half", - "body" : "$0", - "description" : "thermometer-half", - "scope" : "" - }, - "thermometer-quarter" : { - "prefix" : "fa-thermometer-quarter", - "body" : "$0", - "description" : "thermometer-quarter", - "scope" : "" - }, - "thermometer-three-quarters" : { - "prefix" : "fa-thermometer-three-quarters", - "body" : "$0", - "description" : "thermometer-three-quarters", - "scope" : "" - }, - "th-large" : { - "prefix" : "fa-th-large", - "body" : "$0", - "description" : "th-large", - "scope" : "" - }, - "th-list" : { - "prefix" : "fa-th-list", - "body" : "$0", - "description" : "th-list", - "scope" : "" - }, - "thumbs-down" : { - "prefix" : "fa-thumbs-down", - "body" : "$0", - "description" : "thumbs-down", - "scope" : "" - }, - "thumbs-o-down" : { - "prefix" : "fa-thumbs-o-down", - "body" : "$0", - "description" : "thumbs-o-down", - "scope" : "" - }, - "thumbs-o-up" : { - "prefix" : "fa-thumbs-o-up", - "body" : "$0", - "description" : "thumbs-o-up", - "scope" : "" - }, - "thumbs-up" : { - "prefix" : "fa-thumbs-up", - "body" : "$0", - "description" : "thumbs-up", - "scope" : "" - }, - "thumb-tack" : { - "prefix" : "fa-thumb-tack", - "body" : "$0", - "description" : "thumb-tack", - "scope" : "" - }, - "ticket" : { - "prefix" : "fa-ticket", - "body" : "$0", - "description" : "ticket", - "scope" : "" - }, - "times" : { - "prefix" : "fa-times", - "body" : "$0", - "description" : "times", - "scope" : "" - }, - "times-circle" : { - "prefix" : "fa-times-circle", - "body" : "$0", - "description" : "times-circle", - "scope" : "" - }, - "times-circle-o" : { - "prefix" : "fa-times-circle-o", - "body" : "$0", - "description" : "times-circle-o", - "scope" : "" - }, - "times-rectangle" : { - "prefix" : "fa-times-rectangle", - "body" : "$0", - "description" : "times-rectangle", - "scope" : "" - }, - "times-rectangle-o" : { - "prefix" : "fa-times-rectangle-o", - "body" : "$0", - "description" : "times-rectangle-o", - "scope" : "" - }, - "tint" : { - "prefix" : "fa-tint", - "body" : "$0", - "description" : "tint", - "scope" : "" - }, - "toggle-down" : { - "prefix" : "fa-toggle-down", - "body" : "$0", - "description" : "toggle-down", - "scope" : "" - }, - "toggle-left" : { - "prefix" : "fa-toggle-left", - "body" : "$0", - "description" : "toggle-left", - "scope" : "" - }, - "toggle-off" : { - "prefix" : "fa-toggle-off", - "body" : "$0", - "description" : "toggle-off", - "scope" : "" - }, - "toggle-on" : { - "prefix" : "fa-toggle-on", - "body" : "$0", - "description" : "toggle-on", - "scope" : "" - }, - "toggle-right" : { - "prefix" : "fa-toggle-right", - "body" : "$0", - "description" : "toggle-right", - "scope" : "" - }, - "toggle-up" : { - "prefix" : "fa-toggle-up", - "body" : "$0", - "description" : "toggle-up", - "scope" : "" - }, - "trademark" : { - "prefix" : "fa-trademark", - "body" : "$0", - "description" : "trademark", - "scope" : "" - }, - "train" : { - "prefix" : "fa-train", - "body" : "$0", - "description" : "train", - "scope" : "" - }, - "transgender" : { - "prefix" : "fa-transgender", - "body" : "$0", - "description" : "transgender", - "scope" : "" - }, - "transgender-alt" : { - "prefix" : "fa-transgender-alt", - "body" : "$0", - "description" : "transgender-alt", - "scope" : "" - }, - "trash" : { - "prefix" : "fa-trash", - "body" : "$0", - "description" : "trash", - "scope" : "" - }, - "trash-o" : { - "prefix" : "fa-trash-o", - "body" : "$0", - "description" : "trash-o", - "scope" : "" - }, - "tree" : { - "prefix" : "fa-tree", - "body" : "$0", - "description" : "tree", - "scope" : "" - }, - "trello" : { - "prefix" : "fa-trello", - "body" : "$0", - "description" : "trello", - "scope" : "" - }, - "tripadvisor" : { - "prefix" : "fa-tripadvisor", - "body" : "$0", - "description" : "tripadvisor", - "scope" : "" - }, - "trophy" : { - "prefix" : "fa-trophy", - "body" : "$0", - "description" : "trophy", - "scope" : "" - }, - "truck" : { - "prefix" : "fa-truck", - "body" : "$0", - "description" : "truck", - "scope" : "" - }, - "try" : { - "prefix" : "fa-try", - "body" : "$0", - "description" : "try", - "scope" : "" - }, - "tty" : { - "prefix" : "fa-tty", - "body" : "$0", - "description" : "tty", - "scope" : "" - }, - "tumblr" : { - "prefix" : "fa-tumblr", - "body" : "$0", - "description" : "tumblr", - "scope" : "" - }, - "tumblr-square" : { - "prefix" : "fa-tumblr-square", - "body" : "$0", - "description" : "tumblr-square", - "scope" : "" - }, - "turkish-lira" : { - "prefix" : "fa-turkish-lira", - "body" : "$0", - "description" : "turkish-lira", - "scope" : "" - }, - "tv" : { - "prefix" : "fa-tv", - "body" : "$0", - "description" : "tv", - "scope" : "" - }, - "twitch" : { - "prefix" : "fa-twitch", - "body" : "$0", - "description" : "twitch", - "scope" : "" - }, - "twitter" : { - "prefix" : "fa-twitter", - "body" : "$0", - "description" : "twitter", - "scope" : "" - }, - "twitter-square" : { - "prefix" : "fa-twitter-square", - "body" : "$0", - "description" : "twitter-square", - "scope" : "" - }, - "umbrella" : { - "prefix" : "fa-umbrella", - "body" : "$0", - "description" : "umbrella", - "scope" : "" - }, - "underline" : { - "prefix" : "fa-underline", - "body" : "$0", - "description" : "underline", - "scope" : "" - }, - "undo" : { - "prefix" : "fa-undo", - "body" : "$0", - "description" : "undo", - "scope" : "" - }, - "universal-access" : { - "prefix" : "fa-universal-access", - "body" : "$0", - "description" : "universal-access", - "scope" : "" - }, - "university" : { - "prefix" : "fa-university", - "body" : "$0", - "description" : "university", - "scope" : "" - }, - "unlink" : { - "prefix" : "fa-unlink", - "body" : "$0", - "description" : "unlink", - "scope" : "" - }, - "unlock" : { - "prefix" : "fa-unlock", - "body" : "$0", - "description" : "unlock", - "scope" : "" - }, - "unlock-alt" : { - "prefix" : "fa-unlock-alt", - "body" : "$0", - "description" : "unlock-alt", - "scope" : "" - }, - "unsorted" : { - "prefix" : "fa-unsorted", - "body" : "$0", - "description" : "unsorted", - "scope" : "" - }, - "upload" : { - "prefix" : "fa-upload", - "body" : "$0", - "description" : "upload", - "scope" : "" - }, - "usb" : { - "prefix" : "fa-usb", - "body" : "$0", - "description" : "usb", - "scope" : "" - }, - "usd" : { - "prefix" : "fa-usd", - "body" : "$0", - "description" : "usd", - "scope" : "" - }, - "user" : { - "prefix" : "fa-user", - "body" : "$0", - "description" : "user", - "scope" : "" - }, - "user-circle" : { - "prefix" : "fa-user-circle", - "body" : "$0", - "description" : "user-circle", - "scope" : "" - }, - "user-circle-o" : { - "prefix" : "fa-user-circle-o", - "body" : "$0", - "description" : "user-circle-o", - "scope" : "" - }, - "user-md" : { - "prefix" : "fa-user-md", - "body" : "$0", - "description" : "user-md", - "scope" : "" - }, - "user-o" : { - "prefix" : "fa-user-o", - "body" : "$0", - "description" : "user-o", - "scope" : "" - }, - "user-plus" : { - "prefix" : "fa-user-plus", - "body" : "$0", - "description" : "user-plus", - "scope" : "" - }, - "users" : { - "prefix" : "fa-users", - "body" : "$0", - "description" : "users", - "scope" : "" - }, - "user-secret" : { - "prefix" : "fa-user-secret", - "body" : "$0", - "description" : "user-secret", - "scope" : "" - }, - "user-times" : { - "prefix" : "fa-user-times", - "body" : "$0", - "description" : "user-times", - "scope" : "" - }, - "vcard" : { - "prefix" : "fa-vcard", - "body" : "$0", - "description" : "vcard", - "scope" : "" - }, - "vcard-o" : { - "prefix" : "fa-vcard-o", - "body" : "$0", - "description" : "vcard-o", - "scope" : "" - }, - "venus" : { - "prefix" : "fa-venus", - "body" : "$0", - "description" : "venus", - "scope" : "" - }, - "venus-double" : { - "prefix" : "fa-venus-double", - "body" : "$0", - "description" : "venus-double", - "scope" : "" - }, - "venus-mars" : { - "prefix" : "fa-venus-mars", - "body" : "$0", - "description" : "venus-mars", - "scope" : "" - }, - "viacoin" : { - "prefix" : "fa-viacoin", - "body" : "$0", - "description" : "viacoin", - "scope" : "" - }, - "viadeo" : { - "prefix" : "fa-viadeo", - "body" : "$0", - "description" : "viadeo", - "scope" : "" - }, - "viadeo-square" : { - "prefix" : "fa-viadeo-square", - "body" : "$0", - "description" : "viadeo-square", - "scope" : "" - }, - "video-camera" : { - "prefix" : "fa-video-camera", - "body" : "$0", - "description" : "video-camera", - "scope" : "" - }, - "vimeo" : { - "prefix" : "fa-vimeo", - "body" : "$0", - "description" : "vimeo", - "scope" : "" - }, - "vimeo-square" : { - "prefix" : "fa-vimeo-square", - "body" : "$0", - "description" : "vimeo-square", - "scope" : "" - }, - "vine" : { - "prefix" : "fa-vine", - "body" : "$0", - "description" : "vine", - "scope" : "" - }, - "vk" : { - "prefix" : "fa-vk", - "body" : "$0", - "description" : "vk", - "scope" : "" - }, - "volume-control-phone" : { - "prefix" : "fa-volume-control-phone", - "body" : "$0", - "description" : "volume-control-phone", - "scope" : "" - }, - "volume-down" : { - "prefix" : "fa-volume-down", - "body" : "$0", - "description" : "volume-down", - "scope" : "" - }, - "volume-off" : { - "prefix" : "fa-volume-off", - "body" : "$0", - "description" : "volume-off", - "scope" : "" - }, - "volume-up" : { - "prefix" : "fa-volume-up", - "body" : "$0", - "description" : "volume-up", - "scope" : "" - }, - "warning" : { - "prefix" : "fa-warning", - "body" : "$0", - "description" : "warning", - "scope" : "" - }, - "wechat" : { - "prefix" : "fa-wechat", - "body" : "$0", - "description" : "wechat", - "scope" : "" - }, - "weibo" : { - "prefix" : "fa-weibo", - "body" : "$0", - "description" : "weibo", - "scope" : "" - }, - "weixin" : { - "prefix" : "fa-weixin", - "body" : "$0", - "description" : "weixin", - "scope" : "" - }, - "whatsapp" : { - "prefix" : "fa-whatsapp", - "body" : "$0", - "description" : "whatsapp", - "scope" : "" - }, - "wheelchair" : { - "prefix" : "fa-wheelchair", - "body" : "$0", - "description" : "wheelchair", - "scope" : "" - }, - "wheelchair-alt" : { - "prefix" : "fa-wheelchair-alt", - "body" : "$0", - "description" : "wheelchair-alt", - "scope" : "" - }, - "wifi" : { - "prefix" : "fa-wifi", - "body" : "$0", - "description" : "wifi", - "scope" : "" - }, - "wikipedia-w" : { - "prefix" : "fa-wikipedia-w", - "body" : "$0", - "description" : "wikipedia-w", - "scope" : "" - }, - "window-close" : { - "prefix" : "fa-window-close", - "body" : "$0", - "description" : "window-close", - "scope" : "" - }, - "window-close-o" : { - "prefix" : "fa-window-close-o", - "body" : "$0", - "description" : "window-close-o", - "scope" : "" - }, - "window-maximize" : { - "prefix" : "fa-window-maximize", - "body" : "$0", - "description" : "window-maximize", - "scope" : "" - }, - "window-minimize" : { - "prefix" : "fa-window-minimize", - "body" : "$0", - "description" : "window-minimize", - "scope" : "" - }, - "window-restore" : { - "prefix" : "fa-window-restore", - "body" : "$0", - "description" : "window-restore", - "scope" : "" - }, - "windows" : { - "prefix" : "fa-windows", - "body" : "$0", - "description" : "windows", - "scope" : "" - }, - "won" : { - "prefix" : "fa-won", - "body" : "$0", - "description" : "won", - "scope" : "" - }, - "wordpress" : { - "prefix" : "fa-wordpress", - "body" : "$0", - "description" : "wordpress", - "scope" : "" - }, - "wpbeginner" : { - "prefix" : "fa-wpbeginner", - "body" : "$0", - "description" : "wpbeginner", - "scope" : "" - }, - "wpexplorer" : { - "prefix" : "fa-wpexplorer", - "body" : "$0", - "description" : "wpexplorer", - "scope" : "" - }, - "wpforms" : { - "prefix" : "fa-wpforms", - "body" : "$0", - "description" : "wpforms", - "scope" : "" - }, - "wrench" : { - "prefix" : "fa-wrench", - "body" : "$0", - "description" : "wrench", - "scope" : "" - }, - "xing" : { - "prefix" : "fa-xing", - "body" : "$0", - "description" : "xing", - "scope" : "" - }, - "xing-square" : { - "prefix" : "fa-xing-square", - "body" : "$0", - "description" : "xing-square", - "scope" : "" - }, - "yahoo" : { - "prefix" : "fa-yahoo", - "body" : "$0", - "description" : "yahoo", - "scope" : "" - }, - "yc" : { - "prefix" : "fa-yc", - "body" : "$0", - "description" : "yc", - "scope" : "" - }, - "y-combinator" : { - "prefix" : "fa-y-combinator", - "body" : "$0", - "description" : "y-combinator", - "scope" : "" - }, - "y-combinator-square" : { - "prefix" : "fa-y-combinator-square", - "body" : "$0", - "description" : "y-combinator-square", - "scope" : "" - }, - "yc-square" : { - "prefix" : "fa-yc-square", - "body" : "$0", - "description" : "yc-square", - "scope" : "" - }, - "yelp" : { - "prefix" : "fa-yelp", - "body" : "$0", - "description" : "yelp", - "scope" : "" - }, - "yen" : { - "prefix" : "fa-yen", - "body" : "$0", - "description" : "yen", - "scope" : "" - }, - "yoast" : { - "prefix" : "fa-yoast", - "body" : "$0", - "description" : "yoast", - "scope" : "" - }, - "youtube" : { - "prefix" : "fa-youtube", - "body" : "$0", - "description" : "youtube", - "scope" : "" - }, - "youtube-play" : { - "prefix" : "fa-youtube-play", - "body" : "$0", - "description" : "youtube-play", - "scope" : "" - }, - "youtube-square" : { - "prefix" : "fa-youtube-square", - "body" : "$0", - "description" : "youtube-square", - "scope" : "" - } -} \ No newline at end of file diff --git a/my-snippets/html/javascript/javascript.json b/my-snippets/html/javascript/javascript.json deleted file mode 100644 index 1d07b07..0000000 --- a/my-snippets/html/javascript/javascript.json +++ /dev/null @@ -1,693 +0,0 @@ -{ - "setImmediate": { - "prefix": "sim", - "body": "setImmediate(() => {\n\t${0}\n})" - }, - "await": { - "prefix": "a", - "body": "await ${0}" - }, - "await Promise.all": { - "prefix": "apa", - "body": "await Promise.all(${1:value})" - }, - "await Promise.all with destructuring": { - "prefix": "apad", - "body": "const [${0}] = await Promise.all(${1:value})" - }, - "await Promise.all map": { - "prefix": "apm", - "body": "await Promise.all(${1:array}.map(async (${2:value}) => {\n\t${0}\n}))" - }, - "await sleep": { - "prefix": "ast", - "body": "await new Promise((r) => setTimeout(r, ${0}))" - }, - "Node callback": { - "prefix": "cb", - "body": "function (err, ${1:value}) {\n\tif (err) throw err\n\t${0}\n}" - }, - "process.env": { - "prefix": "pe", - "body": "process.env" - }, - "Promise.all": { - "prefix": "pa", - "body": "Promise.all(${1:value})" - }, - "Promise.resolve": { - "prefix": "prs", - "body": "Promise.resolve(${1:value})" - }, - "Promise.reject": { - "prefix": "prj", - "body": "Promise.reject(${1:value})" - }, - "Promise": { - "prefix": "p", - "body": "Promise" - }, - "new Promise": { - "prefix": "np", - "body": "new Promise((resolve, reject) => {\n\t${0}\n})" - }, - "Promise.then": { - "prefix": "pt", - "body": "${1:promise}.then((${2:value}) => {\n\t${0}\n})" - }, - "Promise.catch": { - "prefix": "pc", - "body": "${1:promise}.catch(error => {\n\t${0}\n})" - }, - "describe": { - "prefix": "desc", - "body": "describe('${1:description}', () => {\n\t${0}\n})" - }, - "describe top level": { - "prefix": "dt", - "body": "describe('${TM_FILENAME_BASE}', () => {\n\t${0}\n})" - }, - "it asynchronous": { - "prefix": "it", - "body": "it('${1:description}', async () => {\n\t${0}\n})" - }, - "it.todo": { - "prefix": "itt", - "body": "it.todo('${1:description}')" - }, - "it with a callback": { - "prefix": "itd", - "body": "it('${1:description}', (done) => {\n\t${0}\n})" - }, - "it synchronous": { - "prefix": "its", - "body": "it('${1:description}', () => {\n\t${0}\n})" - }, - "before": { - "prefix": "bf", - "body": "before(async () => {\n\t${0}\n})" - }, - "beforeAll": { - "prefix": "ba", - "body": "beforeAll(async () => {\n\t${0}\n})" - }, - "beforeEach": { - "prefix": "bfe", - "body": "beforeEach(async () => {\n\t${0}\n})" - }, - "after": { - "prefix": "aft", - "body": "after(() => {\n\t${0}\n})" - }, - "afterEach": { - "prefix": "afe", - "body": "afterEach(() => {\n\t${0}\n})" - }, - "require": { - "prefix": "rq", - "body": "require('${1:module}')" - }, - "const module = require('module')": { - "prefix": "cr", - "body": "const ${1:module} = require('${1:module}')" - }, - "exports.member": { - "prefix": "em", - "body": "exports.${1:member} = ${2:value}" - }, - "module.exports": { - "prefix": "me", - "body": "module.exports = ${1:name}" - }, - "module as class": { - "prefix": "mec", - "body": "class ${1:name} {\n\tconstructor (${2:arguments}) {\n\t\t${0}\n\t}\n}\n\nmodule.exports = ${1:name}\n" - }, - "event handler": { - "prefix": "on", - "body": "${1:emitter}.on('${2:event}', (${3:arguments}) => {\n\t${0}\n})" - }, - "dom event cancel default and propagation": { - "prefix": "evc", - "body": "ev.preventDefault()\nev.stopPropagation()\nreturn false" - }, - "addEventListener": { - "prefix": "ae", - "body": "${1:document}.addEventListener('${2:event}', ${3:ev} => {\n\t${0}\n})" - }, - "removeEventListener": { - "prefix": "rel", - "body": "${1:document}.removeEventListener('${2:event}', ${3:listener})" - }, - "getElementById": { - "prefix": "gi", - "body": "${1:document}.getElementById('${2:id}')" - }, - "getElementsByClassName": { - "prefix": "gc", - "body": "Array.from(${1:document}.getElementsByClassName('${2:class}'))" - }, - "getElementsByTagName": { - "prefix": "gt", - "body": "Array.from(${1:document}.getElementsByTagName('${2:tag}'))" - }, - "querySelector": { - "prefix": "qs", - "body": "${1:document}.querySelector('${2:selector}')" - }, - "querySelectorAll": { - "prefix": "qsa", - "body": "Array.from(${1:document}.querySelectorAll('${2:selector}'))" - }, - "createDocumentFragment": { - "prefix": "cdf", - "body": "${1:document}.createDocumentFragment(${2:elem})" - }, - "createElement": { - "prefix": "cel", - "body": "${1:document}.createElement(${2:elem})" - }, - "classList.add": { - "prefix": "hecla", - "body": "${1:el}.classList.add('${2:class}')" - }, - "classList.remove": { - "prefix": "heclr", - "body": "${1:el}.classList.remove('${2:class}')" - }, - "classList.toggle": { - "prefix": "hect", - "body": "${1:el}.classList.toggle('${2:class}')" - }, - "getAttribute": { - "prefix": "hega", - "body": "${1:el}.getAttribute('${2:attr}')" - }, - "removeAttribute": { - "prefix": "hera", - "body": "${1:el}.removeAttribute('${2:attr}')" - }, - "setAttribute": { - "prefix": "hesa", - "body": "${1:el}.setAttribute('${2:attr}', ${3:value})" - }, - "appendChild": { - "prefix": "heac", - "body": "${1:el}.appendChild(${2:elem})" - }, - "removeChild": { - "prefix": "herc", - "body": "${1:el}.removeChild(${2:elem})" - }, - "forEach loop": { - "prefix": "fe", - "body": "${1:iterable}.forEach((${2:item}) => {\n\t${0}\n})" - }, - "map": { - "prefix": "map", - "body": "${1:iterable}.map((${2:item}) => {\n\t${0}\n})" - }, - "reduce": { - "prefix": "reduce", - "body": "${1:iterable}.reduce((${2:previous}, ${3:current}) => {\n\t${0}\n}${4:, initial})" - }, - "filter": { - "prefix": "filter", - "body": "${1:iterable}.filter((${2:item}) => {\n\t${0}\n})" - }, - "find": { - "prefix": "find", - "body": "${1:iterable}.find((${2:item}) => {\n\t${0}\n})" - }, - "every": { - "prefix": "every", - "body": "${1:iterable}.every((${2:item}) => {\n\t${0}\n})" - }, - "some": { - "prefix": "some", - "body": "${1:iterable}.some((${2:item}) => {\n\t${0}\n})" - }, - "var statement": { - "prefix": "v", - "body": "var ${1:name}" - }, - "var assignment": { - "prefix": "va", - "body": "var ${1:name} = ${2:value}" - }, - "let statement": { - "prefix": "l", - "body": "let ${1:name}" - }, - "const statement": { - "prefix": "c", - "body": "const ${1:name}" - }, - "const statement from destructuring": { - "prefix": "cd", - "body": "const { ${2:prop} } = ${1:value}" - }, - "const statement from array destructuring": { - "prefix": "cad", - "body": "const [ ${2:prop} ] = ${1:value}" - }, - "const assignment awaited": { - "prefix": "ca", - "body": "const ${1:name} = await ${2:value}" - }, - "const destructuring assignment awaited": { - "prefix": "cda", - "body": "const { ${1:name} } = await ${2:value}" - }, - "const arrow function assignment": { - "prefix": "cf", - "body": "const ${1:name} = (${2:arguments}) => {\n\treturn ${0}\n}" - }, - "let assignment awaited": { - "prefix": "la", - "body": "let ${1:name} = await ${2:value}" - }, - "const assignment yielded": { - "prefix": "cy", - "body": "const ${1:name} = yield ${2:value}" - }, - "let assignment yielded": { - "prefix": "ly", - "body": "let ${1:name} = yield ${2:value}" - }, - "const object": { - "prefix": "co", - "body": "const ${1:name} = {\n\t${0}\n}" - }, - "const array": { - "prefix": "car", - "body": "const ${1:name} = [\n\t${0}\n]" - }, - "generate array of integers starting with 1": { - "prefix": "gari", - "body": "Array.from({ length: ${1:length} }, (v, k) => k + 1)" - }, - "generate array of integers starting with 0": { - "prefix": "gari0", - "body": "[...Array(${1:length}).keys()]" - }, - "class": { - "prefix": "cs", - "body": "class ${1:name} {\n\tconstructor (${2:arguments}) {\n\t\t${0}\n\t}\n}" - }, - "class extends": { - "prefix": "csx", - "body": "class ${1:name} extends ${2:base} {\n\tconstructor (${3:arguments}) {\n\t\tsuper(${3:arguments})\n\t\t${0}\n\t}\n}" - }, - "module export": { - "prefix": "e", - "body": "export ${1:member}" - }, - "module export const": { - "prefix": "ec", - "body": "export const ${1:member} = ${2:value}" - }, - "export named function": { - "prefix": "ef", - "body": "export function ${1:member} (${2:arguments}) {\n\t${0}\n}" - }, - "module default export": { - "prefix": "ed", - "body": "export default ${1:member}" - }, - "module default export function": { - "prefix": "edf", - "body": "export default function ${1:name} (${2:arguments}) {\n\t${0}\n}" - }, - "import module": { - "prefix": "im", - "body": "import ${2:*} from '${1:module}'" - }, - "import module as": { - "prefix": "ia", - "body": "import ${2:*} as ${3:name} from '${1:module}'" - }, - "import module destructured": { - "prefix": "id", - "body": "import {$2} from '${1:module}'" - }, - "typeof": { - "prefix": "to", - "body": "typeof ${1:source} === '${2:undefined}'" - }, - "this": { - "prefix": "t", - "body": "this." - }, - "instanceof": { - "prefix": "iof", - "body": "${1:source} instanceof ${2:Object}" - }, - "let and if statement": { - "prefix": "lif", - "body": "let ${0} \n if (${2:condition}) {\n\t${1}\n}" - }, - "else statement": { - "prefix": "el", - "body": "else {\n\t${0}\n}" - }, - "else if statement": { - "prefix": "ei", - "body": "else if (${1:condition}) {\n\t${0}\n}" - }, - "while iteration decrementing": { - "prefix": "wid", - "body": "let ${1:array}Index = ${1:array}.length\nwhile (${1:array}Index--) {\n\t${0}\n}" - }, - "throw new Error": { - "prefix": "tn", - "body": "throw new ${0:error}" - }, - "try/catch": { - "prefix": "tc", - "body": "try {\n\t${0}\n} catch (${1:err}) {\n\t\n}" - }, - "try/finally": { - "prefix": "tf", - "body": "try {\n\t${0}\n} finally {\n\t\n}" - }, - "try/catch/finally": { - "prefix": "tcf", - "body": "try {\n\t${0}\n} catch (${1:err}) {\n\t\n} finally {\n\t\n}" - }, - "anonymous function": { - "prefix": "fan", - "body": "function (${1:arguments}) {${0}}" - }, - "named function": { - "prefix": "fn", - "body": "function ${1:name} (${2:arguments}) {\n\t${0}\n}" - }, - "async function": { - "prefix": "asf", - "body": "async function (${1:arguments}) {\n\t${0}\n}" - }, - "async arrow function": { - "prefix": "aa", - "body": "async (${1:arguments}) => {\n\t${0}\n}" - }, - "immediately-invoked function expression": { - "prefix": "iife", - "body": ";(function (${1:arguments}) {\n\t${0}\n})(${2})" - }, - "async immediately-invoked function expression": { - "prefix": "aiife", - "body": ";(async (${1:arguments}) => {\n\t${0}\n})(${2})" - }, - "arrow function": { - "prefix": "af", - "body": "(${1:arguments}) => ${2:statement}" - }, - "arrow function with destructuring": { - "prefix": "fd", - "body": "({${1:arguments}}) => ${2:statement}" - }, - "arrow function with destructuring returning destructured": { - "prefix": "fdr", - "body": "({${1:arguments}}) => ${1:arguments}" - }, - "arrow function with body": { - "prefix": "f", - "body": "(${1:arguments}) => {\n\t${0}\n}" - }, - "arrow function with return": { - "prefix": "fr", - "body": "(${1:arguments}) => {\n\treturn ${0}\n}" - }, - "generator function": { - "prefix": "gf", - "body": "function* (${1:arguments}) {\n\t${0}\n}" - }, - "named generator": { - "prefix": "gfn", - "body": "function* ${1:name}(${2:arguments}) {\n\t${0}\n}" - }, - "console.log": { - "prefix": "cl", - "body": "console.log(${0})" - }, - "console.log a variable": { - "prefix": "cv", - "body": "console.log('${1}:', ${1})" - }, - "console.error": { - "prefix": "ce", - "body": "console.error(${0})" - }, - "console.warn": { - "prefix": "cw", - "body": "console.warn(${0})" - }, - "console.dir": { - "prefix": "cod", - "body": "console.dir('${1}:', ${1})" - }, - "constructor": { - "prefix": "cn", - "body": "constructor () {\n\t${0}\n}" - }, - "use strict": { - "prefix": "uss", - "body": "'use strict'" - }, - "JSON.stringify()": { - "prefix": "js", - "body": "JSON.stringify($0)" - }, - "JSON.parse()": { - "prefix": "jp", - "body": "JSON.parse($0)" - }, - "method": { - "prefix": "m", - "body": "${1:method} (${2:arguments}) {\n\t${0}\n}" - }, - "getter": { - "prefix": "get", - "body": "get ${1:property} () {\n\t${0}\n}" - }, - "setter": { - "prefix": "set", - "body": "set ${1:property} (${2:value}) {\n\t${0}\n}" - }, - "getter + setter": { - "prefix": "gs", - "body": "get ${1:property} () {\n\t${0}\n}\nset ${1:property} (${2:value}) {\n\t\n}" - }, - "prototype method": { - "prefix": "proto", - "body": "${1:Class}.prototype.${2:method} = function (${3:arguments}) {\n\t${0}\n}" - }, - "Object.assign": { - "prefix": "oa", - "body": "Object.assign(${1:dest}, ${2:source})" - }, - "Object.create": { - "prefix": "oc", - "body": "Object.create(${1:obj})" - }, - "Object.getOwnPropertyDescriptor": { - "prefix": "og", - "body": "Object.getOwnPropertyDescriptor(${1:obj}, '${2:prop}')" - }, - "ternary": { - "prefix": "te", - "body": "${1:cond} ? ${2:true} : ${3:false}" - }, - "ternary assignment": { - "prefix": "ta", - "body": "const ${0} = ${1:cond} ? ${2:true} : ${3:false}" - }, - "Object.defineProperty": { - "prefix": "od", - "body": "Object.defineProperty(${1:dest}, '${2:prop}', {\n\t${0}\n})" - }, - "Object.keys": { - "prefix": "ok", - "body": "Object.keys(${1:obj})" - }, - "Object.values": { - "prefix": "ov", - "body": "Object.values(${1:obj})" - }, - "Object.entries": { - "prefix": "oe", - "body": "Object.entries(${1:obj})" - }, - "return": { - "prefix": "r", - "body": "return ${0}" - }, - "return arrow function": { - "prefix": "rf", - "body": "return (${1:arguments}) => ${2:statement}" - }, - "yield": { - "prefix": "y", - "body": "yield ${0}" - }, - "return this": { - "prefix": "rt", - "body": "return ${0:this}" - }, - "return null": { - "prefix": "rn", - "body": "return null" - }, - "return new object": { - "prefix": "ro", - "body": "return {\n\t${0}\n}" - }, - "return new array": { - "prefix": "ra", - "body": "return [\n\t${0}\n]" - }, - "return promise": { - "prefix": "rp", - "body": "return new Promise((resolve, reject) => {\n\t${0}\n})" - }, - "wrap selection in arrow function": { - "prefix": "wrap selection in arrow function", - "body": "() => {\n\t{$TM_SELECTED_TEXT}\n}", - "description": "wraps text in arrow function" - }, - "wrap selection in async arrow function": { - "prefix": "wrap selection in async arrow function", - "body": "async () => {\n\t{$TM_SELECTED_TEXT}\n}", - "description": "wraps text in arrow function" - }, - "define module": { - "prefix": "define", - "body": [ - "define([", - "\t'require',", - "\t'${1:dependency}'", - "], function(require, ${2:factory}) {", - "\t'use strict';", - "\t$0", - "});" - ], - "description": "define module" - }, - "For Loop": { - "prefix": "for", - "body": [ - "for (let ${1:index} = 0; ${1:index} < ${2:array}.length; ${1:index}++) {", - "\tconst ${3:element} = ${2:array}[${1:index}];", - "\t$0", - "}" - ], - "description": "For Loop" - }, - "For-Each Loop": { - "prefix": "foreach", - "body": ["${1:array}.forEach(${2:element} => {", "\t$0", "});"], - "description": "For-Each Loop" - }, - "For-In Loop": { - "prefix": "forin", - "body": [ - "for (const ${1:key} in ${2:object}) {", - "\tif (${2:object}.hasOwnProperty(${1:key})) {", - "\t\tconst ${3:element} = ${2:object}[${1:key}];", - "\t\t$0", - "\t}", - "}" - ], - "description": "For-In Loop" - }, - "For-Of Loop": { - "prefix": "forof", - "body": ["for (const ${1:iterator} of ${2:object}) {", "\t$0", "}"], - "description": "For-Of Loop" - }, - "Function Statement": { - "prefix": "function", - "body": ["function ${1:name}(${2:params}) {", "\t$0", "}"], - "description": "Function Statement" - }, - "If Statement": { - "prefix": "if", - "body": ["if (${1:condition}) {", "\t$0", "}"], - "description": "If Statement" - }, - "If-Else Statement": { - "prefix": "ifelse", - "body": ["if (${1:condition}) {", "\t$0", "} else {", "\t", "}"], - "description": "If-Else Statement" - }, - "New Statement": { - "prefix": "new", - "body": ["const ${1:name} = new ${2:type}(${3:arguments});$0"], - "description": "New Statement" - }, - "Switch Statement": { - "prefix": "switch", - "body": [ - "switch (${1:key}) {", - "\tcase ${2:value}:", - "\t\t$0", - "\t\tbreak;", - "", - "\tdefault:", - "\t\tbreak;", - "}" - ], - "description": "Switch Statement" - }, - "While Statement": { - "prefix": "while", - "body": ["while (${1:condition}) {", "\t$0", "}"], - "description": "While Statement" - }, - "Do-While Statement": { - "prefix": "dowhile", - "body": ["do {", "\t$0", "} while (${1:condition});"], - "description": "Do-While Statement" - }, - "Try-Catch Statement": { - "prefix": "trycatch", - "body": ["try {", "\t$0", "} catch (${1:error}) {", "\t", "}"], - "description": "Try-Catch Statement" - }, - "Set Timeout Function": { - "prefix": "settimeout", - "body": ["setTimeout(() => {", "\t$0", "}, ${1:timeout});"], - "description": "Set Timeout Function" - }, - "Set Interval Function": { - "prefix": "setinterval", - "body": ["setInterval(() => {", "\t$0", "}, ${1:interval});"], - "description": "Set Interval Function" - }, - "Import external module.": { - "prefix": "import statement", - "body": ["import { $0 } from \"${1:module}\";"], - "description": "Import external module." - }, - "Region Start": { - "prefix": "#region", - "body": ["//#region $0"], - "description": "Folding Region Start" - }, - "Region End": { - "prefix": "#endregion", - "body": ["//#endregion"], - "description": "Folding Region End" - }, - "Log warning to console": { - "prefix": "warn", - "body": ["console.warn($1);", "$0"], - "description": "Log warning to the console" - }, - "Log error to console": { - "prefix": "error", - "body": ["console.error($1);", "$0"], - "description": "Log error to the console" - } -} diff --git a/my-snippets/html/javascript/jsdoc.json b/my-snippets/html/javascript/jsdoc.json deleted file mode 100644 index 6a06487..0000000 --- a/my-snippets/html/javascript/jsdoc.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "JSDoc Comment": { - "prefix": "/*", - "body": [ - "/**\n", - " * ${1:Comment}$0\n", - "*/" - ], - "description": "A JSDoc comment" - }, - "author email": { - "prefix": "@au", - "body": [ - "@author ${1:author_name} [${2:author_email}]" - ], - "description": "@author email (First Last)" - }, - "Lisense desc": { - "prefix": "@li", - "body": [ - "@license ${1:MIT}$0" - ], - "description": "@lisence Description" - }, - "Semantic version": { - "prefix": "@ver", - "body": [ - "@version ${1:0.1.0}$0" - ], - "description": "@version Semantic version" - }, - "File overview": { - "prefix": "@fileo", - "body": [ - "/**\n", - " * @fileoverview ${1:Description_of_the_file}$0", - "*/" - ], - "description": "@fileoverview Description" - }, - "Contructor": { - "prefix": "@constr", - "body": [ - "@contructor" - ], - "description": "@constructor" - }, - "varname": { - "prefix": "@p", - "body": [ - "@param ${1:Type} ${2:varname} ${3:Description}" - ], - "description": "@param {Type} varname Description" - }, - "return type desc": { - "prefix": "@ret", - "body": [ - "@return ${1:Type} ${2:Description}" - ], - "description": "@return {Type} Description" - }, - "private": { - "prefix": "@pri", - "body": [ - "@private" - ], - "description": "@private" - }, - "override": { - "prefix": "@over", - "body": [ - "@override" - ], - "description": "@override" - }, - "protected": { - "prefix": "@pro", - "body": [ - "@protected" - ], - "description": "@protected" - } -} diff --git a/my-snippets/html/javascript/next-ts.json b/my-snippets/html/javascript/next-ts.json deleted file mode 100644 index 492b2ba..0000000 --- a/my-snippets/html/javascript/next-ts.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "import Next.js GetStaticProps type": { - "prefix": "igsp", - "body": "import { GetStaticProps } from 'next';", - "description": "Next.js GetStaticProps type import" - }, - "import Next.js InferGetStaticPropsType": { - "prefix": "infg", - "body": "import { InferGetStaticPropsType } from 'next'", - "description": "Next.js InferGetStaticPropsType import" - }, - "use Next.js InferGetStaticPropsType": { - "prefix": "uifg", - "body": [ - "function ${1:${TM_FILENAME_BASE}}({ posts }: InferGetStaticPropsType) {", - "\treturn $2", - "}" - ], - "description": "use InferGetStaticPropsType snippet" - }, - "Next.js Get initial props outside Component": { - "prefix": "gip", - "body": [ - "${1:${TM_FILENAME_BASE}}.getInitialProps = async ({ req }) => {", - "\treturn $2", - "}" - ], - "description": "Next.js Get initial props outside Component" - }, - "Next.js getInitialProps() inside Class Component": { - "prefix": "cgip", - "body": ["static async getInitialProps() {", "\treturn { $1 };", "}"], - "description": "Next.js static async getInitialProps() inside Class Component" - }, - "Next.js getStaticProps() export": { - "prefix": "gsp", - "body": [ - "export const getStaticProps: GetStaticProps = async (context) => {", - "\treturn {", - "\t\tprops: {$1}", - "\t};", - "}" - ], - "description": "Next.js getStaticProps() export" - }, - "Next.js getStaticPaths() export": { - "prefix": "gspt", - "body": [ - "export const getStaticPaths: GetStaticPaths = async () => {", - "\treturn {", - "\t\tpaths: [", - "\t\t\t{ params: { $1 }}", - "\t\t],", - "\t\tfallback: $2", - "\t};", - "}" - ], - "description": "Next.js pre-renders all the static paths https://nextjs.org/docs/basic-features/data-fetching#getstaticpaths-static-generation" - }, - "import Next.js GetStaticPaths type": { - "prefix": "igspt", - "body": "import { GetStaticPaths } from 'next'", - "description": "Next.js GetStaticPaths type import" - }, - "Next.js getServerSideProps() export": { - "prefix": "gssp", - "body": [ - "export const getServerSideProps: GetServerSideProps = async (context) => {", - "\treturn {", - "\t\tprops: {$1}", - "\t};", - "}" - ], - "description": "Next.js getServerSideProps() export https://nextjs.org/docs/basic-features/data-fetching#getserversideprops-server-side-rendering" - }, - "import Next.js GetServerSideProps type": { - "prefix": "igss", - "body": "import { GetServerSideProps } from 'next'", - "description": "Next.js GetServerSideProps type import" - }, - "import Next.js InferGetServerSidePropsType": { - "prefix": "ifgss", - "body": "import { InferGetServerSidePropsType } from 'next'", - "description": "Next.js InferGetServerSidePropsType import" - }, - "use Next.js InferGetServerSidePropsType": { - "prefix": "ufgss", - "body": [ - "function ${1:${TM_FILENAME_BASE}}({ data }: InferGetServerSidePropsType) {", - "\treturn $2", - "}" - ], - "description": "use InferGetServerSidePropsType snippet" - } -} diff --git a/my-snippets/html/javascript/next.json b/my-snippets/html/javascript/next.json deleted file mode 100644 index e44633e..0000000 --- a/my-snippets/html/javascript/next.json +++ /dev/null @@ -1,125 +0,0 @@ -{ - "Next.js Get initial props outside Component": { - "prefix": "gip", - "body": "${1:${TM_FILENAME_BASE}}.getInitialProps = ({ req }) => {\treturn $2}", - "description": "Next.js Get initial props outside Component" - }, - "Next.js getInitialProps() inside Class Component": { - "prefix": "cgip", - "body": ["static async getInitialProps() {", "\treturn { $1 };", "}"], - "description": "Next.js static async getInitialProps() inside Class Component" - }, - "Next.js getStaticProps() export": { - "prefix": "gsp", - "body": [ - "export async function getStaticProps(context) {", - "\treturn {", - "\t\tprops: {$1}", - "\t};", - "}" - ], - "description": "Next.js getStaticProps() export" - }, - "Next.js getStaticPaths() export": { - "prefix": "gspt", - "body": [ - "export async function getStaticPaths() {", - "\treturn {", - "\t\tpaths: [", - "\t\t\t{ params: { $1 }}", - "\t\t],", - "\t\tfallback: $2", - "\t};", - "}" - ], - "description": "Next.js pre-renders all the static paths https://nextjs.org/docs/basic-features/data-fetching#getstaticpaths-static-generation" - }, - "Next.js getServerSideProps() export": { - "prefix": "gssp", - "body": [ - "export async function getServerSideProps(context) {", - "\treturn {", - "\t\tprops: {$1}", - "\t};", - "}" - ], - "description": "Next.js getServerSideProps() export https://nextjs.org/docs/basic-features/data-fetching#getserversideprops-server-side-rendering" - }, - "import Next.js Head": { - "prefix": "imh", - "body": "import Head from 'next/head';", - "description": "Next.js Head import" - }, - "import Next.js Link": { - "prefix": "iml", - "body": "import Link from 'next/link';", - "description": "Next.js Link import" - }, - "Use Next.js Link": { - "prefix": "usl", - "body": ["", "\t", "\t\t$0", "\t", ""], - "description": "Next.js Link Tag with " - }, - "Use Next.js Link With Pathname": { - "prefix": "uslp", - "body": [ - "", - "\t", - "\t\t$0", - "\t", - "" - ], - "description": "Next.js Link with Pathname" - }, - "Use Next.js LinkTagWithDynmicRoute": { - "prefix": "usld", - "body": [ - "", - "\t", - "\t\t$0", - "\t", - "" - ], - "description": "Next.js Link Tag with Dynamic Route" - }, - "importNextRouter": { - "prefix": "imro", - "body": "import Router from 'next/router';", - "description": "Next.js Router import" - }, - "Next.js Router from useRouter": { - "prefix": "usro", - "body": "const router = useRouter();", - "description": "Declare Next.js Router from useRouter" - }, - "Next.js query param from useRouter": { - "prefix": "nroq", - "body": "const { $1 } = router.query;", - "description": "Destructure Next.js query param from Router from useRouter" - }, - "importNextRouterWithRouter": { - "prefix": "imrow", - "body": "import Router, { withRouter } from 'next/router';", - "description": "Next.js Router and { withRouter } import" - }, - "importNextUseRouter": { - "prefix": "imuro", - "body": "import { useRouter } from 'next/router';", - "description": "Next.js { useRouter } import" - }, - "Import Next Image component": { - "prefix": "imni", - "body": "import Image from 'next/image';", - "description": "Next.js 10 Image component import" - }, - "Use sized Next Image component": { - "prefix": "usim", - "body": "\"$1\"", - "description": "Use sized Next Image component" - }, - "Use unsized Next Image component": { - "prefix": "usimu", - "body": "\"$1\"", - "description": "Use sized Next Image component" - } -} diff --git a/my-snippets/html/javascript/react-es7.json b/my-snippets/html/javascript/react-es7.json deleted file mode 100644 index 0de4285..0000000 --- a/my-snippets/html/javascript/react-es7.json +++ /dev/null @@ -1,1557 +0,0 @@ -{ - "exportType": { - "body": ["export type ${1:first} = {${2:second}}"], - "prefix": "exptp" - }, - "exportInterface": { - "prefix": "expint", - "body": ["export interface ${1:first} {${2:second}}"] - }, - "typescriptReactClassComponent": { - "prefix": "tsrcc", - "description": "Creates a React component class with ES7 module system and TypeScript interfaces", - "body": [ - "import React, { Component } from 'react'", - "", - "type Props = {}", - "", - "type State = {}", - "", - "export default class ${1:${TM_FILENAME_BASE}} extends Component {", - " state = {}", - "", - " render() {", - " return (", - "
    ${1:first}
    ", - " )", - " }", - "}" - ] - }, - "typescriptReactClassExportComponent": { - "prefix": "tsrce", - "body": [ - "import React, { Component } from 'react'", - "", - "type Props = {}", - "", - "type State = {}", - "", - "class ${1:${TM_FILENAME_BASE}} extends Component {", - " state = {}", - "", - " render() {", - " return (", - "
    ${1:first}
    ", - " )", - " }", - "}", - "", - "export default ${1:${TM_FILENAME_BASE}}" - ], - "description": "Creates a React component class with ES7 module system and TypeScript interfaces" - }, - "typescriptReactFunctionalExportComponent": { - "prefix": "tsrfce", - "body": [ - "import React from 'react'", - "", - "type Props = {}", - "", - "function ${1:${TM_FILENAME_BASE}}({}: Props) {", - " return (", - "
    ${1:first}
    ", - " )", - "}", - "", - "export default ${1:${TM_FILENAME_BASE}}" - ], - "description": "Creates a React Functional Component with ES7 module system and TypeScript interface" - }, - "typescriptReactFunctionalComponent": { - "prefix": "tsrfc", - "body": [ - "import React from 'react'", - "", - "type Props = {}", - "", - "export default function ${1:${TM_FILENAME_BASE}}({}: Props) {", - " return (", - "
    ${1:first}
    ", - " )", - "}" - ], - "description": "Creates a React Functional Component with ES7 module system and TypeScript interface" - }, - "typescriptReactArrowFunctionExportComponent": { - "prefix": "tsrafce", - "body": [ - "import React from 'react'", - "", - "type Props = {}", - "", - "const ${1:${TM_FILENAME_BASE}} = (props: Props) => {", - " return (", - "
    ${1:first}
    ", - " )", - "}", - "", - "export default ${1:${TM_FILENAME_BASE}}" - ], - "description": "Creates a React Arrow Function Component with ES7 module system and TypeScript interface" - }, - "typescriptReactArrowFunctionComponent": { - "prefix": "tsrafc", - "body": [ - "import React from 'react'", - "", - "type Props = {}", - "", - "const ${1:${TM_FILENAME_BASE}} = (props: Props) => {", - " return (", - "
    ${1:first}
    ", - " )", - "}" - ], - "description": "Creates a React Arrow Function Component with ES7 module system and TypeScript interface" - }, - "typescriptReactClassPureComponent": { - "prefix": "tsrpc", - "body": [ - "import React, { PureComponent } from 'react'", - "", - "type Props = {}", - "", - "export default class ${1:${TM_FILENAME_BASE}} extends PureComponent {", - " render() {", - " return (", - "
    ${1:first}
    ", - " )", - " }", - "}" - ], - "description": "Creates a React pure component class with ES7 module system and TypeScript interface" - }, - "typescriptReactClassExportPureComponent": { - "prefix": "tsrpce", - "body": [ - "import React, { PureComponent } from 'react'", - "", - "type Props = {}", - "", - "class ${1:${TM_FILENAME_BASE}} extends PureComponent {", - " render() {", - " return (", - "
    ${1:first}
    ", - " )", - " }", - "}", - "", - "export default ${1:${TM_FILENAME_BASE}}" - ], - "description": "Creates a React pure component class with ES7 module system and TypeScript interface" - }, - "typescriptReactClassComponentRedux": { - "prefix": "tsrcredux", - "body": [ - "import { connect } from 'react-redux'", - "import React, { Component } from 'react'", - "", - "type Props = {}", - "", - "type State = {}", - "", - "export class ${1:${TM_FILENAME_BASE}} extends Component {", - " state = {}", - "", - " render() {", - " return (", - "
    ${1:first}
    ", - " )", - " }", - "}", - "", - "const mapStateToProps = (state) => ({})", - "", - "const mapDispatchToProps = {}", - "", - "export default connect(mapStateToProps, mapDispatchToProps)(${1:${TM_FILENAME_BASE}})" - ], - "description": "Creates a React component class with connected redux and ES7 module system and TypeScript interfaces" - }, - "typescriptReactNativeArrowFunctionComponent": { - "prefix": "tsrnf", - "body": [ - "import { View, Text } from 'react-native'", - "import React from 'react'", - "", - "type Props = {}", - "", - "const ${1:${TM_FILENAME_BASE}} = (props: Props) => {", - " return (", - " ", - " ${1:first}", - " ", - " )", - "}", - "", - "export default ${1:${TM_FILENAME_BASE}}" - ], - "description": "Creates a React Native Arrow Function Component with ES7 module system in TypeScript" - }, - "typescriptReactNativeArrowFunctionComponentWithStyles": { - "prefix": "tsrnfs", - "body": [ - "import { StyleSheet, Text, View } from 'react-native'", - "import React from 'react'", - "", - "type Props = {}", - "", - "const ${1:${TM_FILENAME_BASE}} = (props: Props) => {", - " return (", - " ", - " ${1:first}", - " ", - " )", - "}", - "", - "export default ${1:${TM_FILENAME_BASE}}", - "", - "const styles = StyleSheet.create({})" - ], - "description": "Creates a React Native Arrow Function Component with ES7 module system, TypeScript interface and StyleSheet" - }, - "reactArrowFunctionComponent": { - "prefix": "rafc", - "body": [ - "import React from 'react'", - "", - "export const ${1:${TM_FILENAME_BASE}} = () => {", - " return (", - "
    ${1:first}
    ", - " )", - "}", - "" - ], - "description": "Creates a React Arrow Function Component with ES7 module system" - }, - "reactArrowFunctionComponentWithPropTypes": { - "prefix": "rafcp", - "body": [ - "import React from 'react'", - "import PropTypes from 'prop-types'", - "", - "const ${1:${TM_FILENAME_BASE}} = props => {", - " return (", - "
    ${1:first}
    ", - " )", - "}", - "", - "${1:${TM_FILENAME_BASE}}.propTypes = {}", - "", - "export default ${1:${TM_FILENAME_BASE}}" - ], - "description": "Creates a React Arrow Function Component with ES7 module system with PropTypes" - }, - "reactArrowFunctionExportComponent": { - "prefix": "rafce", - "body": [ - "import React from 'react'", - "", - "const ${1:${TM_FILENAME_BASE}} = () => {", - " return (", - "
    ${1:first}
    ", - " )", - "}", - "", - "export default ${1:${TM_FILENAME_BASE}}" - ], - "description": "Creates a React Arrow Function Component with ES7 module system" - }, - "reactClassComponent": { - "prefix": "rcc", - "body": [ - "import React, { Component } from 'react'", - "", - "export default class ${1:${TM_FILENAME_BASE}} extends Component {", - " render() {", - " return (", - "
    ${1:first}
    ", - " )", - " }", - "}", - "" - ], - "description": "Creates a React component class with ES7 module system" - }, - "reactClassComponentPropTypes": { - "prefix": "rccp", - "body": [ - "import PropTypes from 'prop-types'", - "import React, { Component } from 'react'", - "", - "export default class ${1:${TM_FILENAME_BASE}} extends Component {", - " static propTypes = {${2:second}: ${3:third}}", - "", - " render() {", - " return (", - "
    ${1:first}
    ", - " )", - " }", - "}", - "" - ], - "description": "Creates a React component class with PropTypes and ES7 module system" - }, - "reactClassComponentRedux": { - "prefix": "rcredux", - "body": [ - "import React, { Component } from 'react'", - "import { connect } from 'react-redux'", - "", - "export class ${1:${TM_FILENAME_BASE}} extends Component {", - " render() {", - " return (", - "
    ${1:first}
    ", - " )", - " }", - "}", - "", - "const mapStateToProps = (state) => ({})", - "", - "const mapDispatchToProps = {}", - "", - "export default connect(mapStateToProps, mapDispatchToProps)(${1:${TM_FILENAME_BASE}})" - ], - "description": "Creates a React component class with connected redux and ES7 module system" - }, - "reactClassComponentReduxPropTypes": { - "prefix": "rcreduxp", - "body": [ - "import PropTypes from 'prop-types'", - "import React, { Component } from 'react'", - "import { connect } from 'react-redux'", - "", - "export class ${1:${TM_FILENAME_BASE}} extends Component {", - " static propTypes = {", - " ${2:second}: ${3:third}", - " }", - "", - " render() {", - " return (", - "
    ${1:first}
    ", - " )", - " }", - "}", - "", - "const mapStateToProps = (state) => ({})", - "", - "const mapDispatchToProps = {}", - "", - "export default connect(mapStateToProps, mapDispatchToProps)(${1:${TM_FILENAME_BASE}})" - ], - "description": "Creates a React component class with PropTypes with connected redux and ES7 module system" - }, - "reactClassExportComponent": { - "prefix": "rce", - "body": [ - "import React, { Component } from 'react'", - "", - "export class ${1:${TM_FILENAME_BASE}} extends Component {", - " render() {", - " return (", - "
    ${1:first}
    ", - " )", - " }", - "}", - "", - "export default ${1:${TM_FILENAME_BASE}}" - ], - "description": "Creates a React component class with ES7 module system" - }, - "reactClassExportComponentWithPropTypes": { - "prefix": "rcep", - "body": [ - "import PropTypes from 'prop-types'", - "import React, { Component } from 'react'", - "", - "export class ${1:${TM_FILENAME_BASE}} extends Component {", - " static propTypes = {}", - "", - " render() {", - " return (", - "
    ${1:first}
    ", - " )", - " }", - "}", - "", - "export default ${1:${TM_FILENAME_BASE}}" - ], - "description": "Creates a React component class with ES7 module system" - }, - "reactClassExportPureComponent": { - "prefix": "rpce", - "body": [ - "import React, { PureComponent } from 'react'", - "", - "export class ${1:${TM_FILENAME_BASE}} extends PureComponent {", - " render() {", - " return (", - "
    ${1:first}
    ", - " )", - " }", - "}", - "", - "export default ${1:${TM_FILENAME_BASE}}" - ], - "description": "Creates a React pure component class with ES7 module system export" - }, - "reactClassPureComponent": { - "prefix": "rpc", - "body": [ - "import React, { PureComponent } from 'react'", - "", - "export default class ${1:${TM_FILENAME_BASE}} extends PureComponent {", - " render() {", - " return (", - "
    ${1:first}
    ", - " )", - " }", - "}", - "" - ], - "description": "Creates a React pure component class with ES7 module system" - }, - "reactClassPureComponentWithPropTypes": { - "prefix": "rpcp", - "body": [ - "import PropTypes from 'prop-types'", - "import React, { PureComponent } from 'react'", - "", - "export default class ${1:${TM_FILENAME_BASE}} extends PureComponent {", - " static propTypes = {}", - "", - " render() {", - " return (", - "
    ${1:first}
    ", - " )", - " }", - "}", - "" - ], - "description": "Creates a React component class with ES7 module system" - }, - "reactFunctionMemoComponent": { - "prefix": "rmc", - "body": [ - "import React, { memo } from 'react'", - "", - "const ${1:${TM_FILENAME_BASE}} = memo(() => {", - " return (", - "
    ${1:first}
    ", - " )", - "})", - "", - "export default ${1:${TM_FILENAME_BASE}}" - ], - "description": "Creates a React Memo Function Component with ES7 module system" - }, - "reactFunctionMemoComponentWithPropTypes": { - "prefix": "rmcp", - "body": [ - "import PropTypes from 'prop-types'", - "import React, { memo } from 'react'", - "", - "const ${1:${TM_FILENAME_BASE}} = memo((props) => {", - " return (", - "
    ${1:first}
    ", - " )", - "})", - "", - "${1:${TM_FILENAME_BASE}}.propTypes = {}", - "", - "export default ${1:${TM_FILENAME_BASE}}" - ], - "description": "Creates a React Memo Function Component with ES7 module system with PropTypes" - }, - "reactFunctionalComponent": { - "prefix": "rfc", - "body": [ - "import React from 'react'", - "", - "export default function ${1:${TM_FILENAME_BASE}}() {", - " return (", - "
    ${1:first}
    ", - " )", - "}", - "" - ], - "description": "Creates a React Functional Component with ES7 module system" - }, - "reactFunctionalComponentRedux": { - "prefix": "rfcredux", - "body": [ - "import React from 'react'", - "import { connect } from 'react-redux'", - "", - "export const ${1:${TM_FILENAME_BASE}} = (props) => {", - " return (", - "
    ${1:first}
    ", - " )", - "}", - "", - "const mapStateToProps = (state) => ({})", - "", - "const mapDispatchToProps = {}", - "", - "export default connect(mapStateToProps, mapDispatchToProps)(${1:${TM_FILENAME_BASE}})" - ], - "description": "Creates a React functional component with connected redux and ES7 module system" - }, - "reactFunctionalComponentReduxPropTypes": { - "prefix": "rfcreduxp", - "body": [ - "import PropTypes from 'prop-types'", - "import React from 'react'", - "import { connect } from 'react-redux'", - "", - "export const ${1:${TM_FILENAME_BASE}} = (props) => {", - " return (", - "
    ${1:first}
    ", - " )", - "}", - "", - "${1:${TM_FILENAME_BASE}}.propTypes = {", - " ${2:second}: PropTypes.${3:third}", - "}", - "", - "const mapStateToProps = (state) => ({})", - "", - "const mapDispatchToProps = {}", - "", - "export default connect(mapStateToProps, mapDispatchToProps)(${1:${TM_FILENAME_BASE}})" - ], - "description": "DEPRECATED: Creates a React functional component with PropTypes with connected redux and ES7 module system" - }, - "reactFunctionalComponentWithPropTypes": { - "prefix": "rfcp", - "body": [ - "import React from 'react'", - "import PropTypes from 'prop-types'", - "", - "function ${1:${TM_FILENAME_BASE}}(props) {", - " return (", - "
    ${1:first}
    ", - " )", - "}", - "", - "${1:${TM_FILENAME_BASE}}.propTypes = {}", - "", - "export default ${1:${TM_FILENAME_BASE}}", - "" - ], - "description": "Creates a React Functional Component with ES7 module system with PropTypes" - }, - "reactFunctionalExportComponent": { - "prefix": "rfce", - "body": [ - "import React from 'react'", - "", - "function ${1:${TM_FILENAME_BASE}}() {", - " return (", - "
    ${1:first}
    ", - " )", - "}", - "", - "export default ${1:${TM_FILENAME_BASE}}" - ], - "description": "Creates a React Functional Component with ES7 module system" - }, - "consoleAssert": { - "prefix": "cas", - "body": ["console.assert(${1:first}, ${2:second})"], - "description": "If the specified expression is false, the message is written to the console along with a stack trace" - }, - "consoleClear": { - "prefix": "ccl", - "body": ["console.clear()"], - "description": "Clears the console" - }, - "consoleCount": { - "prefix": "cco", - "body": ["console.count(${1:first})"], - "description": "Writes the the number of times that count() has been invoked at the same line and with the same label" - }, - "consoleDir": { - "prefix": "cdi", - "body": ["console.dir(${1:first})"], - "description": "Prints a JavaScript representation of the specified object" - }, - "consoleError": { - "prefix": "cer", - "body": ["console.error(${1:first})"], - "description": "Displays a message in the console and also includes a stack trace from where the method was called" - }, - "consoleGroup": { - "prefix": "cgr", - "body": ["console.group('${1:first}')"], - "description": "Groups and indents all following output by an additional level, until console.groupEnd() is called." - }, - "consoleGroupEnd": { - "prefix": "cge", - "body": ["console.groupEnd()"], - "description": "Closes out the corresponding console.group()." - }, - "consoleLog": { - "prefix": "clg", - "body": ["console.log(${1:first})"], - "description": "Displays a message in the console" - }, - "consoleTrace": { - "prefix": "ctr", - "body": ["console.trace(${1:first})"], - "description": "Prints a stack trace from the point where the method was called" - }, - "consoleLogObject": { - "prefix": "clo", - "body": ["console.log('${1:first}', ${1:first})"], - "description": "Logs property with name." - }, - "consoleLogJson": { - "prefix": "clj", - "body": ["console.log('${1:first}', JSON.stringify(${1:first}, null, 2))"], - "description": "Logs stringified JSON property with name." - }, - "consoleTime": { - "prefix": "ctm", - "body": ["console.time('${1:first}')"], - "description": "Console time wrapper" - }, - "consoleTimeEnd": { - "prefix": "cte", - "body": ["console.timeEnd('${1:first}')"], - "description": "Console time end wrapper" - }, - "consoleWarn": { - "prefix": "cwa", - "body": ["console.warn(${1:first})"], - "description": "Displays a message in the console but also displays a yellow warning icon along with the logged message" - }, - "consoleInfo": { - "prefix": "cin", - "body": ["console.info(${1:first})"], - "description": "Displays a message in the console but also displays a blue information icon along with the logged message" - }, - "consoleTable": { - "prefix": "ctl", - "body": ["console.table([${1:first}])"], - "description": "Logs table to console" - }, - "useCallback": { - "prefix": "useCallbackSnippet", - "body": [ - "useCallback(", - " () => {", - " ${1:first}", - " },", - " [${2:second}],", - ")", - "" - ] - }, - "useContext": { - "prefix": "useContextSnippet", - "body": ["const ${1:first} = useContext(${2:second})"] - }, - "useEffect": { - "prefix": "useEffectSnippet", - "body": [ - "useEffect(() => {", - " ${1:first}", - "", - " return () => {", - " ${2:second}", - " }", - "}, [${3:third}])", - "" - ] - }, - "useImperativeHandle": { - "prefix": "useImperativeHandleSnippet", - "body": [ - "useImperativeHandle(", - " ${1:first},", - " () => {", - " ${2:second}", - " },", - " [${3:third}],", - ")" - ] - }, - "useLayoutEffect": { - "prefix": "useLayoutEffectSnippet", - "body": [ - "useLayoutEffect(() => {", - " ${1:first}", - "", - " return () => {", - " ${2:second}", - " };", - "}, [${3:third}])" - ] - }, - "useMemo": { - "prefix": "useMemoSnippet", - "body": ["useMemo(() => ${1:first}, [${2:second}])"] - }, - "useReducer": { - "prefix": "useReducerSnippet", - "body": [ - "const [state, dispatch] = useReducer(${1:first}, ${2:second}, ${3:third})" - ] - }, - "useRef": { - "prefix": "useRefSnippet", - "body": ["const ${1:first} = useRef(${2:second})"] - }, - "useState": { - "prefix": "useStateSnippet", - "body": [ - "const [${1:first}, set${1/(.*)/${1:/capitalize}/}] = useState(${2:second})" - ] - }, - "importAs": { - "prefix": "ima", - "body": ["import { ${2:second} as ${3:third} } from '${1:first}'"] - }, - "importBrowserRouter": { - "prefix": "imbr", - "body": ["import { BrowserRouter as Router } from 'react-router-dom'"] - }, - "importBrowserRouterWithRouteAndNavLink": { - "prefix": "imrr", - "body": [ - "import { BrowserRouter as Router, Route, NavLink } from 'react-router-dom'", - "" - ] - }, - "importDestructing": { - "prefix": "imd", - "body": ["import { ${2:second} } from '${1:first}'"] - }, - "importEverything": { - "prefix": "ime", - "body": ["import * as ${2:second} from '${1:first}'"] - }, - "importNoModuleName": { - "prefix": "imn", - "body": ["import '${1:first}'"] - }, - "importPropTypes": { - "prefix": "impt", - "body": ["import PropTypes from 'prop-types'"] - }, - "importReact": { - "prefix": "imr", - "body": ["import React from 'react'"] - }, - "importReactDom": { - "prefix": "imrd", - "body": ["import ReactDOM from 'react-dom'"] - }, - "importReactWithComponent": { - "prefix": "imrc", - "body": ["import React, { Component } from 'react'"] - }, - "importReactWithComponentAndPropTypes": { - "prefix": "imrcp", - "body": [ - "import React, { Component } from 'react'", - "import PropTypes from 'prop-types'", - "" - ] - }, - "importReactWithMemo": { - "prefix": "imrm", - "body": ["import React, { memo } from 'react'"] - }, - "importReactWithMemoAndPropTypes": { - "prefix": "imrmp", - "body": [ - "import React, { memo } from 'react'", - "import PropTypes from 'prop-types'", - "" - ] - }, - "importReactWithPureComponent": { - "prefix": "imrpc", - "body": ["import React, { PureComponent } from 'react'"] - }, - "importReactWithPureComponentAndPropTypes": { - "prefix": "imrpcp", - "body": [ - "import React, { PureComponent } from 'react'", - "import PropTypes from 'prop-types'", - "" - ] - }, - "importRouterLink": { - "prefix": "imbrl", - "body": ["import { Link } from 'react-router-dom'"] - }, - "importRouterNavLink": { - "prefix": "imbrnl", - "body": ["import { NavLink } from 'react-router-dom'"] - }, - "importRouterSetup": { - "prefix": "imbrc", - "body": ["import { Route, Switch, NavLink, Link } from 'react-router-dom'"] - }, - "importRouterSwitch": { - "prefix": "imbrs", - "body": ["import { Switch } from 'react-router-dom'"] - }, - "import": { - "prefix": "imp", - "body": ["import ${2:second} from '${1:first}'"] - }, - "propTypeArray": { - "prefix": "pta", - "body": ["PropTypes.array"], - "description": "Array prop type" - }, - "propTypeArrayRequired": { - "prefix": "ptar", - "body": ["PropTypes.array.isRequired"], - "description": "Array prop type required" - }, - "propTypeBool": { - "prefix": "ptb", - "body": ["PropTypes.bool"], - "description": "Bool prop type" - }, - "propTypeBoolRequired": { - "prefix": "ptbr", - "body": ["PropTypes.bool.isRequired"], - "description": "Bool prop type required" - }, - "propTypeFunc": { - "prefix": "ptf", - "body": ["PropTypes.func"], - "description": "Func prop type" - }, - "propTypeFuncRequired": { - "prefix": "ptfr", - "body": ["PropTypes.func.isRequired"], - "description": "Func prop type required" - }, - "propTypeNumber": { - "prefix": "ptn", - "body": ["PropTypes.number"], - "description": "Number prop type" - }, - "propTypeNumberRequired": { - "prefix": "ptnr", - "body": ["PropTypes.number.isRequired"], - "description": "Number prop type required" - }, - "propTypeObject": { - "prefix": "pto", - "body": ["PropTypes.object"], - "description": "Object prop type" - }, - "propTypeObjectRequired": { - "prefix": "ptor", - "body": ["PropTypes.object.isRequired"], - "description": "Object prop type required" - }, - "propTypeString": { - "prefix": "pts", - "body": ["PropTypes.string"], - "description": "String prop type" - }, - "propTypeStringRequired": { - "prefix": "ptsr", - "body": ["PropTypes.string.isRequired"], - "description": "String prop type required" - }, - "propTypeNode": { - "prefix": "ptnd", - "body": ["PropTypes.node"], - "description": "Anything that can be rendered: numbers, strings, elements or an array" - }, - "propTypeNodeRequired": { - "prefix": "ptndr", - "body": ["PropTypes.node.isRequired"], - "description": "Anything that can be rendered: numbers, strings, elements or an array required" - }, - "propTypeElement": { - "prefix": "ptel", - "body": ["PropTypes.element"], - "description": "React element prop type" - }, - "propTypeElementRequired": { - "prefix": "ptelr", - "body": ["PropTypes.element.isRequired"], - "description": "React element prop type required" - }, - "propTypeInstanceOf": { - "prefix": "pti", - "body": ["PropTypes.instanceOf($0)"], - "description": "Is an instance of a class prop type" - }, - "propTypeInstanceOfRequired": { - "prefix": "ptir", - "body": ["PropTypes.instanceOf($0).isRequired"], - "description": "Is an instance of a class prop type required" - }, - "propTypeEnum": { - "prefix": "pte", - "body": ["PropTypes.oneOf(['$0'])"], - "description": "Prop type limited to specific values by treating it as an enum" - }, - "propTypeEnumRequired": { - "prefix": "pter", - "body": ["PropTypes.oneOf(['$0']).isRequired"], - "description": "Prop type limited to specific values by treating it as an enum required" - }, - "propTypeOneOfType": { - "prefix": "ptet", - "body": ["PropTypes.oneOfType([", " $0", "])"], - "description": "An object that could be one of many types" - }, - "propTypeOneOfTypeRequired": { - "prefix": "ptetr", - "body": ["PropTypes.oneOfType([", " $0", "]).isRequired"], - "description": "An object that could be one of many types required" - }, - "propTypeArrayOf": { - "prefix": "ptao", - "body": ["PropTypes.arrayOf($0)"], - "description": "An array of a certain type" - }, - "propTypeArrayOfRequired": { - "prefix": "ptaor", - "body": ["PropTypes.arrayOf($0).isRequired"], - "description": "An array of a certain type required" - }, - "propTypeObjectOf": { - "prefix": "ptoo", - "body": ["PropTypes.objectOf($0)"], - "description": "An object with property values of a certain type" - }, - "propTypeObjectOfRequired": { - "prefix": "ptoor", - "body": ["PropTypes.objectOf($0).isRequired"], - "description": "An object with property values of a certain type required" - }, - "propTypeShape": { - "prefix": "ptsh", - "body": ["PropTypes.shape({", " $0", "})"], - "description": "An object taking on a particular shape" - }, - "propTypeShapeRequired": { - "prefix": "ptshr", - "body": ["PropTypes.shape({", " $0", "}).isRequired"], - "description": "An object taking on a particular shape required" - }, - "propTypeExact": { - "prefix": "ptex", - "body": ["PropTypes.exact({", " $0", "})"], - "description": "An object with warnings on extra properties" - }, - "propTypeExactRequired": { - "prefix": "ptexr", - "body": ["PropTypes.exact({", " $0", "}).isRequired"], - "description": "An object with warnings on extra properties required" - }, - "propTypeAny": { - "prefix": "ptany", - "body": ["PropTypes.any"], - "description": "Any prop type" - }, - "reactNativeComponent": { - "prefix": "rnc", - "body": [ - "import { Text, View } from 'react-native'", - "import React, { Component } from 'react'", - "", - "export default class ${1:${TM_FILENAME_BASE}} extends Component {", - " render() {", - " return (", - " ", - " ${1:first}", - " ", - " )", - " }", - "}" - ] - }, - "reactNativeComponentExport": { - "prefix": "rnce", - "body": [ - "import { Text, View } from 'react-native'", - "import React, { Component } from 'react'", - "", - "export class ${1:${TM_FILENAME_BASE}} extends Component {", - " render() {", - " return (", - " ", - " ${1:first}", - " ", - " )", - " }", - "}", - "", - "export default ${1:${TM_FILENAME_BASE}}" - ] - }, - "reactNativeComponentWithStyles": { - "prefix": "rncs", - "body": [ - "import { Text, StyleSheet, View } from 'react-native'", - "import React, { Component } from 'react'", - "", - "export default class ${1:${TM_FILENAME_BASE}} extends Component {", - " render() {", - " return (", - " ", - " ${1:first}", - " ", - " )", - " }", - "}", - "", - "const styles = StyleSheet.create({})" - ] - }, - "reactNativeFunctionalComponent": { - "prefix": "rnf", - "body": [ - "import { View, Text } from 'react-native'", - "import React from 'react'", - "", - "export default function ${1:${TM_FILENAME_BASE}}() {", - " return (", - " ", - " ${1:first}", - " ", - " )", - "}" - ] - }, - "reactNativeFunctionalComponentWithStyles": { - "prefix": "rnfs", - "body": [ - "import { StyleSheet, Text, View } from 'react-native'", - "import React from 'react'", - "", - "export default function ${1:${TM_FILENAME_BASE}}() {", - " return (", - " ", - " ${1:first}", - " ", - " )", - "}", - "", - "const styles = StyleSheet.create({})" - ] - }, - "reactNativeFunctionalExportComponent": { - "prefix": "rnfe", - "body": [ - "import { View, Text } from 'react-native'", - "import React from 'react'", - "", - "const ${1:${TM_FILENAME_BASE}} = () => {", - " return (", - " ", - " ${1:first}", - " ", - " )", - "}", - "", - "export default ${1:${TM_FILENAME_BASE}}" - ] - }, - "reactNativeFunctionalExportComponentWithStyles": { - "prefix": "rnfes", - "body": [ - "import { StyleSheet, Text, View } from 'react-native'", - "import React from 'react'", - "", - "const ${1:${TM_FILENAME_BASE}} = () => {", - " return (", - " ", - " ${1:first}", - " ", - " )", - "}", - "", - "export default ${1:${TM_FILENAME_BASE}}", - "", - "const styles = StyleSheet.create({})" - ] - }, - "reactNativeImport": { - "prefix": "imrn", - "body": ["import { ${1:first} } from 'react-native'"] - }, - "reactNativePureComponent": { - "prefix": "rnpc", - "body": [ - "import { Text, View } from 'react-native'", - "import React, { PureComponent } from 'react'", - "", - "export default class ${1:${TM_FILENAME_BASE}} extends PureComponent {", - " render() {", - " return (", - " ", - " ${1:first}", - " ", - " )", - " }", - "}" - ] - }, - "reactNativePureComponentExport": { - "prefix": "rnpce", - "body": [ - "import { Text, View } from 'react-native'", - "import React, { PureComponent } from 'react'", - "", - "export class ${1:${TM_FILENAME_BASE}} extends PureComponent {", - " render() {", - " return (", - " ", - " ${1:first}", - " ", - " )", - " }", - "}", - "", - "export default ${1:${TM_FILENAME_BASE}}" - ] - }, - "reactNativeStyles": { - "prefix": "rnstyle", - "body": ["const styles = StyleSheet.create({${1:first}})"] - }, - "importReduxConnect": { - "prefix": "redux", - "body": ["import { connect } from 'react-redux'"] - }, - "reduxAction": { - "prefix": "rxaction", - "body": [ - "export const ${1:first} = (payload) => ({", - " type: ${2:second},", - " payload", - "})", - "" - ] - }, - "reduxConst": { - "prefix": "rxconst", - "body": ["export const ${1:first} = '${1:first}'"] - }, - "reduxReducer": { - "prefix": "rxreducer", - "body": [ - "const initialState = {}", - "", - "export default (state = initialState, { type, payload }) => {", - " switch (type) {", - "", - " case ${1:first}:", - " return { ...state, ...payload }", - "", - " default:", - " return state", - " }", - "}", - "" - ] - }, - "reduxSelector": { - "prefix": "rxselect", - "body": [ - "import { createSelector } from 'reselect'", - "", - "export const ${1:first} = state => state.${2:second}" - ] - }, - "reduxSlice": { - "prefix": "rxslice", - "body": [ - "import { createSlice } from '@reduxjs/toolkit'", - "", - "const initialState = {", - "", - "}", - "", - "const ${1:${TM_FILENAME_BASE}} = createSlice({", - " name: ${2:second},", - " initialState,", - " reducers: {}", - "});", - "", - "export const {} = ${1:${TM_FILENAME_BASE}}.actions", - "", - "export default ${1:${TM_FILENAME_BASE}}.reducer" - ] - }, - "mappingToProps": { - "prefix": "reduxmap", - "body": [ - "const mapStateToProps = (state) => ({})", - "", - "const mapDispatchToProps = {}" - ] - }, - "describeBlock": { - "prefix": "desc", - "body": ["describe('${1:first}', () => { ${2:second} })"], - "description": "Testing `describe` block" - }, - "itAsyncBlock": { - "prefix": "tita", - "body": ["it('should ${1:first}', async () => { ${2:second} })"], - "description": "Testing asynchronous `it` block" - }, - "itBlock": { - "prefix": "tit", - "body": ["it('should ${1:first}', () => { ${2:second} })"], - "description": "Testing `it` block" - }, - "setupReactComponentTestWithRedux": { - "prefix": "srtest", - "body": [ - "import React from 'react'", - "import renderer from 'react-test-renderer'", - "import { Provider } from 'react-redux'", - "", - "import store from '~/store'", - "import { ${1:${TM_FILENAME_BASE}} } from '../${1:${TM_FILENAME_BASE}}'", - "", - "describe('<${1:${TM_FILENAME_BASE}} />', () => {", - " const defaultProps = {}", - " const wrapper = renderer.create(", - " ", - " <${1:${TM_FILENAME_BASE}} {...defaultProps} />", - " ,", - " )", - "", - " test('render', () => {", - " expect(wrapper).toMatchSnapshot()", - " })", - "})" - ], - "description": "Create test component" - }, - "setupReactNativeTest": { - "prefix": "sntest", - "body": [ - "import 'react-native'", - "import React from 'react'", - "import renderer from 'react-test-renderer'", - "", - "import ${1:${TM_FILENAME_BASE}} from '../${1:${TM_FILENAME_BASE}}'", - "", - "describe('<${1:${TM_FILENAME_BASE}} />', () => {", - " const defaultProps = {}", - " const wrapper = renderer.create(<${1:${TM_FILENAME_BASE}} {...defaultProps} />)", - "", - " test('render', () => {", - " expect(wrapper).toMatchSnapshot()", - " })", - "})" - ] - }, - "setupReactNativeTestWithRedux": { - "prefix": "snrtest", - "body": [ - "import 'react-native'", - "import React from 'react'", - "import renderer from 'react-test-renderer'", - "import { Provider } from 'react-redux'", - "", - "import store from '~/store'", - "import ${1:${TM_FILENAME_BASE}} from '../${1:${TM_FILENAME_BASE}}'", - "", - "describe('<${1:${TM_FILENAME_BASE}} />', () => {", - " const defaultProps = {}", - " const wrapper = renderer.create(", - " ", - " <${1:${TM_FILENAME_BASE}} {...defaultProps} />", - " ,", - " )", - "", - " test('render', () => {", - " expect(wrapper).toMatchSnapshot()", - " })", - "})" - ] - }, - "setupReactTest": { - "prefix": "stest", - "body": [ - "import React from 'react'", - "import renderer from 'react-test-renderer'", - "", - "import { ${1:${TM_FILENAME_BASE}} } from '../${1:${TM_FILENAME_BASE}}'", - "", - "describe('<${1:${TM_FILENAME_BASE}} />', () => {", - " const defaultProps = {}", - " const wrapper = renderer.create(<${1:${TM_FILENAME_BASE}} {...defaultProps} />)", - "", - " test('render', () => {", - " expect(wrapper).toMatchSnapshot()", - " })", - "})" - ] - }, - "testAsyncBlock": { - "prefix": "testa", - "body": ["test('should ${1:first}', async () => { ${2:second} })"], - "description": "Testing `asynchronous test` block" - }, - "testBlock": { - "prefix": "test", - "body": ["test('should ${1:first}', () => { ${2:second} })"], - "description": "Testing `test` block" - }, - "exportDefault": { - "prefix": "exp", - "body": ["export default ${1:first}"] - }, - "exportDestructing": { - "prefix": "exd", - "body": ["export { ${2:second} } from '${1:first}'"] - }, - "exportAs": { - "prefix": "exa", - "body": ["export { ${2:second} as ${3:third} } from '${1:first}'"] - }, - "exportNamedFunction": { - "prefix": "enf", - "body": ["export const ${1:first} = (${2:second}) => {${3:third}}"], - "description": "Export named function" - }, - "exportDefaultFunction": { - "prefix": "edf", - "body": ["export default (${1:first}) => {${2:second}}"], - "description": "Export default function" - }, - "exportDefaultNamedFunction": { - "prefix": "ednf", - "body": ["export default function ${1:first}(${2:second}) {${3:third}}"], - "description": "Export default named function" - }, - "method": { - "prefix": "met", - "body": ["${1:first} = (${2:second}) => {${3:third}}"], - "description": "Creates a method inside a class" - }, - "propertyGet": { - "prefix": "pge", - "body": ["get ${1:first}() {", " return this.${2:second}", "}"], - "description": "Creates a getter property inside a class" - }, - "propertySet": { - "prefix": "pse", - "body": ["set ${1:first}(${2:second}) {${3:third}}"], - "description": "Creates a setter property inside a class" - }, - "forEach": { - "prefix": "fre", - "body": ["${1:first}.forEach(${2:second} => {${3:third}})"], - "description": "Creates a forEach statement" - }, - "forOf": { - "prefix": "fof", - "body": ["for(let ${1:first} of ${2:second}) {${3:third}}"], - "description": "Iterating over property names of iterable objects" - }, - "forIn": { - "prefix": "fin", - "body": ["for(let ${1:first} in ${2:second}) {${3:third}}"], - "description": "Iterating over property values of iterable objects" - }, - "anonymousFunction": { - "prefix": "anfn", - "body": ["(${1:first}) => { ${2:second} }"], - "description": "Creates an anonymous function" - }, - "namedFunction": { - "prefix": "nfn", - "body": ["const ${1:first} = (${2:second}) => { ${3:third} }"], - "description": "Creates a named function" - }, - "destructingObject": { - "prefix": "dob", - "body": ["const {${2:second}} = ${1:first}"], - "description": "Creates and assigns a local variable using object destructing" - }, - "destructingArray": { - "prefix": "dar", - "body": ["const [${2:second}] = ${1:first}"], - "description": "Creates and assigns a local variable using array destructing" - }, - "setInterval": { - "prefix": "sti", - "body": ["setInterval(() => { ${1:first} }, ${2:second})"], - "description": "Executes the given function at specified intervals" - }, - "setTimeOut": { - "prefix": "sto", - "body": ["setTimeout(() => { ${1:first} }, ${2:second})"], - "description": "Executes the given function after the specified delay" - }, - "promise": { - "prefix": "prom", - "body": ["return new Promise((resolve, reject) => { ${1:first} })"], - "description": "Creates and returns a new Promise in the standard ES7 syntax" - }, - "destructProps": { - "prefix": "cp", - "body": ["const { ${1:first} } = this.props"], - "description": "Creates and assigns a local variable using props destructing" - }, - "destructState": { - "prefix": "cs", - "body": ["const { ${1:first} } = this.state"], - "description": "Creates and assigns a local variable using state destructing" - }, - "classConstructor": { - "prefix": "rconst", - "body": [ - "constructor(props) {", - " super(props)", - "", - " this.state = {", - " ${1:first}", - " }", - "}" - ], - "description": "Adds a default constructor for it('', () => {})the class that contains props as arguments" - }, - "emptyState": { - "prefix": "est", - "body": ["state = { ${1:first} }"], - "description": "Creates empty state object. To be used in a constructor." - }, - "componentDidMount": { - "prefix": "cdm", - "body": ["componentDidMount() { ${1:first} }"], - "description": "Invoked once, only on the client (not on the server), immediately after the initial rendering occurs." - }, - "shouldComponentUpdate": { - "prefix": "scu", - "body": ["shouldComponentUpdate(nextProps, nextState) { ${1:first} }"], - "description": "Invoked before rendering when new props or state are being received. " - }, - "componentDidUpdate": { - "prefix": "cdup", - "body": ["componentDidUpdate(prevProps, prevState) { ${1:first}} "], - "description": "Invoked immediately after the component's updates are flushed to the DOM." - }, - "componentWillUnmount": { - "prefix": "cwun", - "body": ["componentWillUnmount() {${1:first} }"], - "description": "Invoked immediately before a component is unmounted from the DOM." - }, - "getDerivedStateFromProps": { - "prefix": "gdsfp", - "body": ["static getDerivedStateFromProps(props, state) {${1:first}}"], - "description": "Invoked right before calling the render method, both on the initial mount and on subsequent updates." - }, - "getSnapshotBeforeUpdate": { - "prefix": "gsbu", - "body": [ - "getSnapshotBeforeUpdate = (prevProps, prevState) => {${1:first}}" - ], - "description": "Called right before mutations are made (e.g. before the DOM is updated)" - }, - "createContext": { - "prefix": "rcontext", - "body": ["const ${1:first} = React.createContext()"], - "description": "Create React context" - }, - "createRef": { - "prefix": "cref", - "body": ["this.${1:first}Ref = React.createRef()"], - "description": "Create ref statement used inside constructor" - }, - "componentSetStateObject": { - "prefix": "sst", - "body": ["this.setState({${1:first}})"], - "description": "Performs a shallow merge of nextState into current state" - }, - "componentSetStateFunc": { - "prefix": "ssf", - "body": ["this.setState((state, props) => { return { ${1:first} }})"], - "description": "Performs a shallow merge of nextState into current state" - }, - "componentProps": { - "prefix": "props", - "body": ["this.props.${1:first}"], - "description": "Access component's props" - }, - "componentState": { - "prefix": "state", - "body": ["this.state.${1:first}"] - }, - "bindThis": { - "prefix": "bnd", - "body": ["this.${1:first} = this.${1:first}.bind(this)"], - "description": "Binds this to a method" - }, - "commentBigBlock": { - "prefix": "cmmb", - "body": ["/**", " * ${1:first}", " */"] - }, - "hocComponentWithRedux": { - "prefix": "hocredux", - "body": [ - "import React from 'react'", - "import { connect } from 'react-redux'", - "import PropTypes from 'prop-types'", - "", - "export const mapStateToProps = state => ({})", - "", - "export const mapDispatchToProps = {}", - "", - "export const ${1:first} = (WrappedComponent) => {", - " const hocComponent = ({ ...props }) => ", - "", - " hocComponent.propTypes = {}", - "", - " return hocComponent", - "}", - "", - "export default WrapperComponent => connect(mapStateToProps, mapDispatchToProps)(${1:first}(WrapperComponent))", - "" - ] - }, - "hocComponent": { - "prefix": "hoc", - "body": [ - "import React from 'react'", - "import PropTypes from 'prop-types'", - "", - "export default (WrappedComponent) => {", - " const hocComponent = ({ ...props }) => ", - "", - " hocComponent.propTypes = {}", - "", - " return hocComponent", - "}", - "" - ] - }, - "typeofSnippet": { - "prefix": "tpf", - "body": ["typeof ${1:first}"] - } -} diff --git a/my-snippets/html/javascript/react-native-ts.json b/my-snippets/html/javascript/react-native-ts.json deleted file mode 100644 index d3a1e95..0000000 --- a/my-snippets/html/javascript/react-native-ts.json +++ /dev/null @@ -1,445 +0,0 @@ -{ - "statefulComponent": { - "prefix": "rnc", - "body": [ - "import React, { Component } from 'react';", - "", - "import { View } from 'react-native';", - "", - "// import { Container } from './styles';", - "", - "export default class ${1:${TM_DIRECTORY/^.*(\\/|\\\\)([^(\\/|\\\\)]+)$/$2/}} extends Component {", - " render() {", - " return ;", - " }", - "}", - "" - ], - "description": "Create React Native Stateful Component" - }, - "statelessComponent": { - "prefix": "rnsc", - "body": [ - "import React from 'react';", - "", - "import { View } from 'react-native';", - "", - "// import { Container } from './styles';", - "", - "const ${1:${TM_DIRECTORY/^.*(\\/|\\\\)([^(\\/|\\\\)]+)$/$2/}} = () => ;", - "", - "export default ${1:${TM_DIRECTORY/^.*(\\/|\\\\)([^(\\/|\\\\)]+)$/$2/}};", - "" - ], - "description": "Create React Native Stateless Component" - }, - "componentFunctional": { - "prefix": "rnfc", - "body": [ - "import React from 'react';", - "import { View } from 'react-native';", - "", - "// import { Container } from './styles';", - "", - "export default function ${1:${TM_DIRECTORY/^.*(\\/|\\\\)([^(\\/|\\\\)]+)$/$2/}}() {", - " return (", - " ", - " );", - "}", - "" - ], - "description": "Create React Native Functional Component" - }, - "componentFunctionalTypescript": { - "prefix": "rnfcc", - "body": [ - "import React from 'react';", - "import { View } from 'react-native';", - "", - "// import { Container } from './styles';", - "", - "const ${1:${TM_DIRECTORY/^.*(\\/|\\\\)([^(\\/|\\\\)]+)$/$2/}}: React.FC = () => {", - " return ;", - "}", - "", - "export default ${1:${TM_DIRECTORY/^.*(\\/|\\\\)([^(\\/|\\\\)]+)$/$2/}};" - ], - "description": "Create React Native TypeScript Functional Component" - }, - "styles": { - "prefix": "styled-rn", - "body": [ - "import styled from 'styled-components/native';", - "", - "export const ${1:Container} = styled.${2:View}`", - " ${3}", - "`;", - "" - ], - "description": "Create React Native Styled Components file" - }, - "StyleSheet": { - "prefix": "rn-stylesheet", - "body": [ - "const ${1:styles} = StyleSheet.create({", - " ${2:container}: {", - " ${3}", - " },", - "});", - "" - ], - "description": "Create React Native Styled Components StyleSheet" - }, - "justifyContent": { - "prefix": "just", - "body": "justifyContent: '${1:center}',", - "description": "justifyContent" - }, - "alignItems": { - "prefix": "align", - "body": "alignItems: '${1:center}',", - "description": "alignItems" - }, - "alignSelf": { - "prefix": "align", - "body": "alignSelf: '${1:center}',", - "description": "alignSelf" - }, - "alignContent": { - "prefix": "align", - "body": "alignContent: '${1}',", - "description": "alignContent" - }, - "aspectRatio": { - "prefix": "as", - "body": "aspectRatio: '${1}',", - "description": "aspectRatio" - }, - "borderBottomWidth": { - "prefix": "bor", - "body": "borderBottomWidth: ${1},", - "description": "borderBottomWidth" - }, - "borderLeftWidth": { - "prefix": "bor", - "body": "borderLeftWidth: ${1},", - "description": "borderLeftWidth" - }, - "borderRightWidth": { - "prefix": "bor", - "body": "borderRightWidth: ${1},", - "description": "borderRightWidth" - }, - "borderTopWidth": { - "prefix": "bor", - "body": "borderTopWidth: ${1},", - "description": "borderTopWidth" - }, - "borderWidth": { - "prefix": "bor", - "body": "borderWidth: ${1},", - "description": "borderWidth" - }, - "borderColor": { - "prefix": "bor", - "body": "borderColor: ${1},", - "description": "borderColor" - }, - "borderRadius": { - "prefix": "bor", - "body": "borderRadius: ${1},", - "description": "borderRadius" - }, - "borderLeftColor": { - "prefix": "bor", - "body": "borderLeftColor: ${1},", - "description": "borderLeftColor" - }, - "borderRightColor": { - "prefix": "bor", - "body": "borderRightColor: ${1},", - "description": "borderRightColor" - }, - "borderTopColor": { - "prefix": "bor", - "body": "borderTopColor: ${1},", - "description": "borderTopColor" - }, - "borderBottomColor": { - "prefix": "bor", - "body": "borderBottomColor: ${1},", - "description": "borderBottomColor" - }, - "borderBottomLeftRadius": { - "prefix": "bor", - "body": "borderBottomLeftRadius: ${1},", - "description": "borderBottomLeftRadius" - }, - "borderBottomRightRadius": { - "prefix": "bor", - "body": "borderBottomRightRadius: ${1},", - "description": "borderBottomRightRadius" - }, - "borderTopLeftRadius": { - "prefix": "bor", - "body": "borderTopLeftRadius: ${1},", - "description": "borderTopLeftRadius" - }, - "borderTopRightRadius": { - "prefix": "bor", - "body": "borderTopRightRadius: ${1},", - "description": "borderTopRightRadius" - }, - "backgroundColor": { - "prefix": "bac", - "body": "backgroundColor: ${1},", - "description": "backgroundColor" - }, - "display": { - "prefix": "di", - "body": "display: '${1:none}',", - "description": "display" - }, - "opacity": { - "prefix": "op", - "body": "opacity: ${1},", - "description": "opacity" - }, - "shadowColor": { - "prefix": "sha", - "body": "shadowColor: '${1:none}',", - "description": "shadowColor" - }, - "shadowOffset": { - "prefix": "sha", - "body": "shadowOffset: ${1},", - "description": "shadowOffset" - }, - "shadowOpacity": { - "prefix": "sha", - "body": "shadowOpacity: ${1},", - "description": "shadowOpacity" - }, - "shadowRadius": { - "prefix": "sha", - "body": "shadowRadius: ${1},", - "description": "shadowRadius" - }, - "elevation": { - "prefix": "e", - "body": "elevation: ${1},", - "description": "elevation" - }, - "flex": { - "prefix": "flex", - "body": "flex: ${1},", - "description": "flex" - }, - "flexBasis": { - "prefix": "flex", - "body": "flexBasis: '${1}',", - "description": "flexBasis" - }, - "flexDirection": { - "prefix": "flex", - "body": "flexDirection: '${1:column}',", - "description": "flexDirection" - }, - "flexGrow": { - "prefix": "flex", - "body": "flexGrow: '${1}',", - "description": "flexGrow" - }, - "flexShrink": { - "prefix": "flex", - "body": "flexShrink: '${1}',", - "description": "flexShrink" - }, - "flexWrap": { - "prefix": "flex", - "body": "flexWrap: '${1}',", - "description": "flexWrap" - }, - "fontSize": { - "prefix": "fo", - "body": "fontSize: ${1},", - "description": "fontSize" - }, - "fontStyle": { - "prefix": "fo", - "body": "fontStyle: '${1:normal}',", - "description": "fontStyle" - }, - "fontFamily": { - "prefix": "fo", - "body": "fontFamily: '${1}',", - "description": "fontFamily" - }, - "fontWeight": { - "prefix": "fo", - "body": "fontWeight: '${1:normal}',", - "description": "fontWeight" - }, - "height": { - "prefix": "h", - "body": "height: ${1},", - "description": "height" - }, - "left": { - "prefix": "l", - "body": "left: ${1},", - "description": "left" - }, - "margin": { - "prefix": "mar", - "body": "margin: '${1}',", - "description": "margin" - }, - "marginBottom": { - "prefix": "mar", - "body": "marginBottom: ${1},", - "description": "marginBottom" - }, - "marginHorizontal": { - "prefix": "mar", - "body": "marginHorizontal: '${1}',", - "description": "marginHorizontal" - }, - "marginLeft": { - "prefix": "mar", - "body": "marginLeft: ${1},", - "description": "marginLeft" - }, - "marginRight": { - "prefix": "mar", - "body": "marginRight: ${1},", - "description": "marginRight" - }, - "marginTop": { - "prefix": "mar", - "body": "marginTop: ${1},", - "description": "marginTop" - }, - "marginVertical": { - "prefix": "mar", - "body": "marginVertical: '${1}',", - "description": "marginVertical" - }, - "maxHeight": { - "prefix": "max", - "body": "maxHeight: ${1},", - "description": "maxHeight" - }, - "maxWidth": { - "prefix": "max", - "body": "maxWidth: ${1},", - "description": "maxWidth" - }, - "minHeight": { - "prefix": "min", - "body": "minHeight: ${1},", - "description": "minHeight" - }, - "minWidth": { - "prefix": "min", - "body": "minWidth: ${1},", - "description": "minWidth" - }, - "overflow": { - "prefix": "over", - "body": "overflow: '${1}',", - "description": "overflow" - }, - "padding": { - "prefix": "padding", - "body": "padding: ${1},", - "description": "padding" - }, - "paddingBottom": { - "prefix": "padding", - "body": "paddingBottom: ${1},", - "description": "paddingBottom" - }, - "paddingHorizontal": { - "prefix": "padding", - "body": "paddingHorizontal: ${1},", - "description": "paddingHorizontal" - }, - "paddingLeft": { - "prefix": "padding", - "body": "paddingLeft: ${1},", - "description": "paddingLeft" - }, - "paddingRight": { - "prefix": "padding", - "body": "paddingRight: ${1},", - "description": "paddingRight" - }, - "paddingTop": { - "prefix": "padding", - "body": "paddingTop: ${1},", - "description": "paddingTop" - }, - "paddingVertical": { - "prefix": "padding", - "body": "paddingVertical: ${1},", - "description": "paddingVertical" - }, - "position": { - "prefix": "pos", - "body": "position: ${1},", - "description": "position" - }, - "right": { - "prefix": "ri", - "body": "right: ${1},", - "description": "right" - }, - "top": { - "prefix": "top", - "body": "top: ${1},", - "description": "top" - }, - "width": { - "prefix": "w", - "body": "width: ${1},", - "description": "width" - }, - "zIndex": { - "prefix": "z", - "body": "zIndex: ${1},", - "description": "zIndex" - }, - "api": { - "prefix": "api", - "body": [ - "import axios from 'axios';", - "", - "const api = axios.create({", - " baseURL: ${1},", - "});", - "", - "export default api;", - "" - ], - "description": "Create Axios Configuration file" - }, - "region": { - "prefix": "region", - "body": [ - "//#region ${1}", - "${2}", - "//#endregion" - ], - "description": "Create region" - }, - "regionStartEnd": { - "prefix": "#regionStartEnd", - "body": [ - "//#region ${1}", - "${2}", - "//#endregion" - ], - "description": "Create region" - } -} diff --git a/my-snippets/html/javascript/react-native.json b/my-snippets/html/javascript/react-native.json deleted file mode 100644 index 83e0e47..0000000 --- a/my-snippets/html/javascript/react-native.json +++ /dev/null @@ -1,476 +0,0 @@ -{ - "statefulComponent": { - "prefix": "rnc", - "body": [ - "import React, { Component } from 'react';", - "", - "import { View } from 'react-native';", - "", - "// import { Container } from './styles';", - "", - "export default class ${1:${TM_DIRECTORY/^.*(\\/|\\\\)([^(\\/|\\\\)]+)$/$2/}} extends Component {", - " render() {", - " return ;", - " }", - "}", - "" - ], - "description": "Create React Native Stateful Component" - }, - "statefulReduxComponent": { - "prefix": "rnrc", - "body": [ - "import React, { Component } from 'react';", - "", - "import { View } from 'react-native';", - "", - "import { bindActionCreators } from 'redux';", - "import { connect } from 'react-redux';", - "", - "// import { Container } from './styles';", - "", - "class ${1:${TM_DIRECTORY/^.*(\\/|\\\\)([^(\\/|\\\\)]+)$/$2/}} extends Component {", - " render() {", - " return ;", - " }", - "}", - "", - "const mapStateToProps = state => ({});", - "", - "// const mapDispatchToProps = dispatch =>", - "// bindActionCreators(Actions, dispatch);", - "", - "export default connect(", - " mapStateToProps,", - " // mapDispatchToProps", - ")(${1:${TM_DIRECTORY/^.*(\\/|\\\\)([^(\\/|\\\\)]+)$/$2/}});", - "" - ], - "description": "Create React Native Stateful Redux Component" - }, - "statelessComponent": { - "prefix": "rnsc", - "body": [ - "import React from 'react';", - "", - "import { View } from 'react-native';", - "", - "// import { Container } from './styles';", - "", - "const ${1:${TM_DIRECTORY/^.*(\\/|\\\\)([^(\\/|\\\\)]+)$/$2/}} = () => ;", - "", - "export default ${1:${TM_DIRECTORY/^.*(\\/|\\\\)([^(\\/|\\\\)]+)$/$2/}};", - "" - ], - "description": "Create React Native Stateless Component" - }, - "componentFunctional": { - "prefix": "rnfc", - "body": [ - "import React from 'react';", - "import { View } from 'react-native';", - "", - "// import { Container } from './styles';", - "", - "export default function ${1:${TM_DIRECTORY/^.*(\\/|\\\\)([^(\\/|\\\\)]+)$/$2/}}() {", - " return (", - " ", - " );", - "}", - "" - ], - "description": "Create React Native Functional Component" - }, - "componentFunctionalTypescript": { - "prefix": "rnfcc", - "body": [ - "import React from 'react';", - "import { View } from 'react-native';", - "", - "// import { Container } from './styles';", - "", - "const ${1:${TM_DIRECTORY/^.*(\\/|\\\\)([^(\\/|\\\\)]+)$/$2/}} = () => {", - " return ;", - "}", - "", - "export default ${1:${TM_DIRECTORY/^.*(\\/|\\\\)([^(\\/|\\\\)]+)$/$2/}};" - ], - "description": "Create React Native Functional Component" - }, - "styles": { - "prefix": "styled-rn", - "body": [ - "import styled from 'styled-components/native';", - "", - "export const ${1:Container} = styled.${2:View}`", - " ${3}", - "`;", - "" - ], - "description": "Create React Native Styled Components file" - }, - "StyleSheet": { - "prefix": "rn-stylesheet", - "body": [ - "const ${1:styles} = StyleSheet.create({", - " ${2:container}: {", - " ${3}", - " },", - "});", - "" - ], - "description": "Create React Native Styled Components StyleSheet" - }, - "justifyContent": { - "prefix": "just", - "body": "justifyContent: '${1:center}',", - "description": "justifyContent" - }, - "alignItems": { - "prefix": "align", - "body": "alignItems: '${1:center}',", - "description": "alignItems" - }, - "alignSelf": { - "prefix": "align", - "body": "alignSelf: '${1:center}',", - "description": "alignSelf" - }, - "alignContent": { - "prefix": "align", - "body": "alignContent: '${1}',", - "description": "alignContent" - }, - "aspectRatio": { - "prefix": "as", - "body": "aspectRatio: '${1}',", - "description": "aspectRatio" - }, - "borderBottomWidth": { - "prefix": "bor", - "body": "borderBottomWidth: ${1},", - "description": "borderBottomWidth" - }, - "borderLeftWidth": { - "prefix": "bor", - "body": "borderLeftWidth: ${1},", - "description": "borderLeftWidth" - }, - "borderRightWidth": { - "prefix": "bor", - "body": "borderRightWidth: ${1},", - "description": "borderRightWidth" - }, - "borderTopWidth": { - "prefix": "bor", - "body": "borderTopWidth: ${1},", - "description": "borderTopWidth" - }, - "borderWidth": { - "prefix": "bor", - "body": "borderWidth: ${1},", - "description": "borderWidth" - }, - "borderColor": { - "prefix": "bor", - "body": "borderColor: ${1},", - "description": "borderColor" - }, - "borderRadius": { - "prefix": "bor", - "body": "borderRadius: ${1},", - "description": "borderRadius" - }, - "borderLeftColor": { - "prefix": "bor", - "body": "borderLeftColor: ${1},", - "description": "borderLeftColor" - }, - "borderRightColor": { - "prefix": "bor", - "body": "borderRightColor: ${1},", - "description": "borderRightColor" - }, - "borderTopColor": { - "prefix": "bor", - "body": "borderTopColor: ${1},", - "description": "borderTopColor" - }, - "borderBottomColor": { - "prefix": "bor", - "body": "borderBottomColor: ${1},", - "description": "borderBottomColor" - }, - "borderBottomLeftRadius": { - "prefix": "bor", - "body": "borderBottomLeftRadius: ${1},", - "description": "borderBottomLeftRadius" - }, - "borderBottomRightRadius": { - "prefix": "bor", - "body": "borderBottomRightRadius: ${1},", - "description": "borderBottomRightRadius" - }, - "borderTopLeftRadius": { - "prefix": "bor", - "body": "borderTopLeftRadius: ${1},", - "description": "borderTopLeftRadius" - }, - "borderTopRightRadius": { - "prefix": "bor", - "body": "borderTopRightRadius: ${1},", - "description": "borderTopRightRadius" - }, - "backgroundColor": { - "prefix": "bac", - "body": "backgroundColor: ${1},", - "description": "backgroundColor" - }, - "display": { - "prefix": "di", - "body": "display: '${1:none}',", - "description": "display" - }, - "opacity": { - "prefix": "op", - "body": "opacity: ${1},", - "description": "opacity" - }, - "shadowColor": { - "prefix": "sha", - "body": "shadowColor: '${1:none}',", - "description": "shadowColor" - }, - "shadowOffset": { - "prefix": "sha", - "body": "shadowOffset: ${1},", - "description": "shadowOffset" - }, - "shadowOpacity": { - "prefix": "sha", - "body": "shadowOpacity: ${1},", - "description": "shadowOpacity" - }, - "shadowRadius": { - "prefix": "sha", - "body": "shadowRadius: ${1},", - "description": "shadowRadius" - }, - "elevation": { - "prefix": "e", - "body": "elevation: ${1},", - "description": "elevation" - }, - "flex": { - "prefix": "flex", - "body": "flex: ${1},", - "description": "flex" - }, - "flexBasis": { - "prefix": "flex", - "body": "flexBasis: '${1}',", - "description": "flexBasis" - }, - "flexDirection": { - "prefix": "flex", - "body": "flexDirection: '${1:column}',", - "description": "flexDirection" - }, - "flexGrow": { - "prefix": "flex", - "body": "flexGrow: '${1}',", - "description": "flexGrow" - }, - "flexShrink": { - "prefix": "flex", - "body": "flexShrink: '${1}',", - "description": "flexShrink" - }, - "flexWrap": { - "prefix": "flex", - "body": "flexWrap: '${1}',", - "description": "flexWrap" - }, - "fontSize": { - "prefix": "fo", - "body": "fontSize: ${1},", - "description": "fontSize" - }, - "fontStyle": { - "prefix": "fo", - "body": "fontStyle: '${1:normal}',", - "description": "fontStyle" - }, - "fontFamily": { - "prefix": "fo", - "body": "fontFamily: '${1}',", - "description": "fontFamily" - }, - "fontWeight": { - "prefix": "fo", - "body": "fontWeight: '${1:normal}',", - "description": "fontWeight" - }, - "height": { - "prefix": "h", - "body": "height: ${1},", - "description": "height" - }, - "left": { - "prefix": "l", - "body": "left: ${1},", - "description": "left" - }, - "margin": { - "prefix": "mar", - "body": "margin: '${1}',", - "description": "margin" - }, - "marginBottom": { - "prefix": "mar", - "body": "marginBottom: ${1},", - "description": "marginBottom" - }, - "marginHorizontal": { - "prefix": "mar", - "body": "marginHorizontal: '${1}',", - "description": "marginHorizontal" - }, - "marginLeft": { - "prefix": "mar", - "body": "marginLeft: ${1},", - "description": "marginLeft" - }, - "marginRight": { - "prefix": "mar", - "body": "marginRight: ${1},", - "description": "marginRight" - }, - "marginTop": { - "prefix": "mar", - "body": "marginTop: ${1},", - "description": "marginTop" - }, - "marginVertical": { - "prefix": "mar", - "body": "marginVertical: '${1}',", - "description": "marginVertical" - }, - "maxHeight": { - "prefix": "max", - "body": "maxHeight: ${1},", - "description": "maxHeight" - }, - "maxWidth": { - "prefix": "max", - "body": "maxWidth: ${1},", - "description": "maxWidth" - }, - "minHeight": { - "prefix": "min", - "body": "minHeight: ${1},", - "description": "minHeight" - }, - "minWidth": { - "prefix": "min", - "body": "minWidth: ${1},", - "description": "minWidth" - }, - "overflow": { - "prefix": "over", - "body": "overflow: '${1}',", - "description": "overflow" - }, - "padding": { - "prefix": "padding", - "body": "padding: ${1},", - "description": "padding" - }, - "paddingBottom": { - "prefix": "padding", - "body": "paddingBottom: ${1},", - "description": "paddingBottom" - }, - "paddingHorizontal": { - "prefix": "padding", - "body": "paddingHorizontal: ${1},", - "description": "paddingHorizontal" - }, - "paddingLeft": { - "prefix": "padding", - "body": "paddingLeft: ${1},", - "description": "paddingLeft" - }, - "paddingRight": { - "prefix": "padding", - "body": "paddingRight: ${1},", - "description": "paddingRight" - }, - "paddingTop": { - "prefix": "padding", - "body": "paddingTop: ${1},", - "description": "paddingTop" - }, - "paddingVertical": { - "prefix": "padding", - "body": "paddingVertical: ${1},", - "description": "paddingVertical" - }, - "position": { - "prefix": "pos", - "body": "position: ${1},", - "description": "position" - }, - "right": { - "prefix": "ri", - "body": "right: ${1},", - "description": "right" - }, - "top": { - "prefix": "top", - "body": "top: ${1},", - "description": "top" - }, - "width": { - "prefix": "w", - "body": "width: ${1},", - "description": "width" - }, - "zIndex": { - "prefix": "z", - "body": "zIndex: ${1},", - "description": "zIndex" - }, - "api": { - "prefix": "api", - "body": [ - "import axios from 'axios';", - "", - "const api = axios.create({", - " baseURL: ${1},", - "});", - "", - "export default api;", - "" - ], - "description": "Create Axios Configuration file" - }, - "region": { - "prefix": "region", - "body": [ - "//#region ${1}", - "${2}", - "//#endregion" - ], - "description": "Create region" - }, - "regionStartEnd": { - "prefix": "#regionStartEnd", - "body": [ - "//#region ${1}", - "${2}", - "//#endregion" - ], - "description": "Create region" - } -} diff --git a/my-snippets/html/javascript/react-ts.json b/my-snippets/html/javascript/react-ts.json deleted file mode 100644 index 80d3272..0000000 --- a/my-snippets/html/javascript/react-ts.json +++ /dev/null @@ -1,385 +0,0 @@ -{ - "destructuring of props": { - "prefix": "dp", - "body": ["const { ${1:name} } = this.props"] - }, - "destructuring of state": { - "prefix": "ds", - "body": ["const { ${1:name} } = this.state"] - }, - "reactClassCompoment": { - "prefix": "rcc", - "body": "import React, { Component } from 'react'\n\nclass ${TM_FILENAME_BASE} extends Component {\n\trender () {\n\t\treturn (\n\t\t\t
    \n\t\t\t\t$0\n\t\t\t
    \n\t\t)\n\t}\n}\n\nexport default ${1}", - "description": "Creates a React component class" - }, - "reactJustClassCompoment": { - "prefix": "rcjc", - "body": "class ${TM_FILENAME_BASE} extends Component {\n\trender () {\n\t\treturn (\n\t\t\t
    \n\t\t\t\t$0\n\t\t\t
    \n\t\t)\n\t}\n}\n", - "description": "Creates a React component class" - }, - "reactClassCompomentPropTypes": { - "prefix": "rccp", - "body": "import React, { Component, PropTypes } from 'react'\n\nclass ${TM_FILENAME_BASE} extends Component {\n\trender () {\n\t\treturn (\n\t\t\t
    \n\t\t\t\t$0\n\t\t\t
    \n\t\t)\n\t}\n}\n\n${1}.propTypes = {\n\n}\n\nexport default ${1}", - "description": "Creates a React component class with PropTypes" - }, - "reactClassCompomentWithMethods": { - "prefix": "rcfc", - "body": "import React, { Component, PropTypes } from 'react'\n\nclass ${TM_FILENAME_BASE} extends Component {\n\tconstructor(props) {\n\t\tsuper(props)\n\n\t}\n\n\tcomponentWillMount () {\n\n\t}\n\n\tcomponentDidMount () {\n\n\t}\n\n\tcomponentWillReceiveProps (nextProps) {\n\n\t}\n\n\tshouldComponentUpdate (nextProps, nextState) {\n\n\t}\n\n\tcomponentWillUpdate (nextProps, nextState) {\n\n\t}\n\n\tcomponentDidUpdate (prevProps, prevState) {\n\n\t}\n\n\tcomponentWillUnmount () {\n\n\t}\n\n\trender () {\n\t\treturn (\n\t\t\t
    \n\n\t\t\t
    \n\t\t)\n\t}\n}\n\n${1}.propTypes = {\n\n}\n\nexport default ${1}", - "description": "Creates a React component class with PropTypes and all lifecycle methods" - }, - "reactFunctionComponent": { - "prefix": "rfc", - "body": "import React from 'react'\n\nexport const ${TM_FILENAME_BASE} = (props : {}) => {\n\treturn (\n\t\t
    \n\t\t\t$0\n\t\t
    \n\t)\n}", - "description": "Creates a React functional component without PropTypes" - }, - "reactFunctionComponentWithEmotion": { - "prefix": "rfce", - "body": "import { css } from '@emotion/core'\nimport React from 'react'\n\nexport const ${TM_FILENAME_BASE} = (props: {}) => {\n\treturn (\n\t\t
    \n\t\t\t$0\n\t\t
    \n\t)\n}", - "description": "Creates a React functional component with emotion import" - }, - "classConstructor": { - "prefix": "con", - "body": "constructor (props) {\n\tsuper(props)\n\t$0\n}\n", - "description": "Adds a default constructor for the class that contains props as arguments" - }, - "classConstructorContext": { - "prefix": "conc", - "body": "constructor (props, context) {\n\tsuper(props, context)\n\t$0\n}\n", - "description": "Adds a default constructor for the class that contains props and context as arguments" - }, - "componentWillMount": { - "prefix": "cwm", - "body": "\ncomponentWillMount () {\n\t$0\n}\n", - "description": "Invoked once, both on the client and server, immediately before the initial rendering occurs" - }, - "componentDidMount": { - "prefix": "cdm", - "body": "componentDidMount () {\n\t$0\n}\n", - "description": "Invoked once, only on the client (not on the server), immediately after the initial rendering occurs." - }, - "componentWillReceiveProps": { - "prefix": "cwr", - "body": "componentWillReceiveProps (nextProps) {\n\t$0\n}\n", - "description": "Invoked when a component is receiving new props. This method is not called for the initial render." - }, - "componentGetDerivedStateFromProps": { - "prefix": "cgd", - "body": "\nstatic getDerivedStateFromProps(nextProps, prevState) {\n\t$0\n}\n", - "description": "Invoked after a component is instantiated as well as when it receives new props. It should return an object to update state, or null to indicate that the new props do not require any state updates." - }, - "shouldComponentUpdate": { - "prefix": "scu", - "body": "shouldComponentUpdate (nextProps, nextState) {\n\t$0\n}\n", - "description": "Invoked before rendering when new props or state are being received. " - }, - "componentWillUpdate": { - "prefix": "cwup", - "body": "componentWillUpdate (nextProps, nextState) {\n\t$0\n}\n", - "description": "Invoked immediately before rendering when new props or state are being received." - }, - "componentDidUpdate": { - "prefix": "cdup", - "body": "componentDidUpdate (prevProps, prevState) {\n\t$0\n}\n", - "description": "Invoked immediately after the component's updates are flushed to the DOM." - }, - "componentWillUnmount": { - "prefix": "cwun", - "body": "componentWillUnmount () {\n\t$0\n}\n", - "description": "Invoked immediately before a component is unmounted from the DOM." - }, - "componentRender": { - "prefix": "ren", - "body": "render () {\n\treturn (\n\t\t
    \n\t\t\t$0\n\t\t
    \n\t)\n}", - "description": "When called, it should examine this.props and this.state and return a single child element." - }, - "componentSetStateObject": { - "prefix": "sst", - "body": "this.setState($0)", - "description": "Performs a shallow merge of nextState into current state" - }, - "componentSetStateFunc": { - "prefix": "ssf", - "body": "this.setState((state, props) => { return { $0 }})\n", - "description": "Performs a shallow merge of nextState into current state" - }, - "componentProps": { - "prefix": "tp", - "body": "this.props.$0", - "description": "Access component's props" - }, - "componentState": { - "prefix": "ts", - "body": "this.state.$0", - "description": "Access component's state" - }, - "propTypes": { - "prefix": "rpt", - "body": "$1.propTypes = {\n\t$2\n}", - "description": "Creates empty propTypes declaration" - }, - "propTypeArray": { - "prefix": "pta", - "body": "PropTypes.array,", - "description": "Array prop type" - }, - "propTypeArrayRequired": { - "prefix": "ptar", - "body": "PropTypes.array.isRequired,", - "description": "Array prop type required" - }, - "propTypeBool": { - "prefix": "ptb", - "body": "PropTypes.bool,", - "description": "Bool prop type" - }, - "propTypeBoolRequired": { - "prefix": "ptbr", - "body": "PropTypes.bool.isRequired,", - "description": "Bool prop type required" - }, - "propTypeFunc": { - "prefix": "ptf", - "body": "PropTypes.func,", - "description": "Func prop type" - }, - "propTypeFuncRequired": { - "prefix": "ptfr", - "body": "PropTypes.func.isRequired,", - "description": "Func prop type required" - }, - "propTypeNumber": { - "prefix": "ptn", - "body": "PropTypes.number,", - "description": "Number prop type" - }, - "propTypeNumberRequired": { - "prefix": "ptnr", - "body": "PropTypes.number.isRequired,", - "description": "Number prop type required" - }, - "propTypeObject": { - "prefix": "pto", - "body": "PropTypes.object,", - "description": "Object prop type" - }, - "propTypeObjectRequired": { - "prefix": "ptor", - "body": "PropTypes.object.isRequired,", - "description": "Object prop type required" - }, - "propTypeString": { - "prefix": "pts", - "body": "PropTypes.string,", - "description": "String prop type" - }, - "propTypeStringRequired": { - "prefix": "ptsr", - "body": "PropTypes.string.isRequired,", - "description": "String prop type required" - }, - "propTypeNode": { - "prefix": "ptnd", - "body": "PropTypes.node,", - "description": "Anything that can be rendered: numbers, strings, elements or an array" - }, - "propTypeNodeRequired": { - "prefix": "ptndr", - "body": "PropTypes.node.isRequired,", - "description": "Anything that can be rendered: numbers, strings, elements or an array required" - }, - "propTypeElement": { - "prefix": "ptel", - "body": "PropTypes.element,", - "description": "React element prop type" - }, - "propTypeElementRequired": { - "prefix": "ptelr", - "body": "PropTypes.element.isRequired,", - "description": "React element prop type required" - }, - "propTypeInstanceOf": { - "prefix": "pti", - "body": "PropTypes.instanceOf($0),", - "description": "Is an instance of a class prop type" - }, - "propTypeInstanceOfRequired": { - "prefix": "ptir", - "body": "PropTypes.instanceOf($0).isRequired,", - "description": "Is an instance of a class prop type required" - }, - "propTypeEnum": { - "prefix": "pte", - "body": "PropTypes.oneOf(['$0']),", - "description": "Prop type limited to specific values by treating it as an enum" - }, - "propTypeEnumRequired": { - "prefix": "pter", - "body": "PropTypes.oneOf(['$0']).isRequired,", - "description": "Prop type limited to specific values by treating it as an enum required" - }, - "propTypeOneOfType": { - "prefix": "ptet", - "body": "PropTypes.oneOfType([\n\t$0\n]),", - "description": "An object that could be one of many types" - }, - "propTypeOneOfTypeRequired": { - "prefix": "ptetr", - "body": "PropTypes.oneOfType([\n\t$0\n]).isRequired,", - "description": "An object that could be one of many types required" - }, - "propTypeArrayOf": { - "prefix": "ptao", - "body": "PropTypes.arrayOf($0),", - "description": "An array of a certain type" - }, - "propTypeArrayOfRequired": { - "prefix": "ptaor", - "body": "PropTypes.arrayOf($0).isRequired,", - "description": "An array of a certain type required" - }, - "propTypeObjectOf": { - "prefix": "ptoo", - "body": "PropTypes.objectOf($0),", - "description": "An object with property values of a certain type" - }, - "propTypeObjectOfRequired": { - "prefix": "ptoor", - "body": "PropTypes.objectOf($0).isRequired,", - "description": "An object with property values of a certain type required" - }, - "propTypeShape": { - "prefix": "ptsh", - "body": "PropTypes.shape({\n\t$0\n}),", - "description": "An object taking on a particular shape" - }, - "propTypeShapeRequired": { - "prefix": "ptshr", - "body": "PropTypes.shape({\n\t$0\n}).isRequired,", - "description": "An object taking on a particular shape required" - }, - "jsx element": { - "prefix": "j", - "body": "<${1:elementName}>\n\t$0\n", - "description": "an element" - }, - "jsx element self closed": { - "prefix": "jc", - "body": "<${1:elementName} />", - "description": "an element self closed" - }, - "jsx elements map": { - "prefix": "jm", - "body": "{${1:array}.map((item) => <${2:elementName} key={item.id}>\n\t$0\n)}", - "description": "an element self closed" - }, - "jsx elements map with return": { - "prefix": "jmr", - "body": "{${1:array}.map((item) => {\n\treturn <${2:elementName} key={item.id}>\n\t$0\n\n})}", - "description": "an element self closed" - }, - "jsx element wrap selection": { - "prefix": "jsx wrap selection with element", - "body": "<${1:elementName}>\n\t{$TM_SELECTED_TEXT}\n", - "description": "an element" - }, - "useState": { - "prefix": "us", - "body": "const [${1:val}, set${2:setterName}] = useState(${3:defVal})", - "description": "use state hook" - }, - "useEffect": { - "prefix": "ue", - "body": ["useEffect(() => {", "\t$1", "}, [${3:dependencies}])$0"], - "description": "React useEffect() hook" - }, - "useEffect with cleanup": { - "prefix": "uec", - "body": [ - "useEffect(() => {", - "\t$1", - "\n\treturn () => {", - "\t\t$2", - "\t}", - "}, [${3:dependencies}])$0" - ], - "description": "React useEffect() hook with a cleanup function" - }, - "createContext": { - "prefix": "cc", - "body": [ - "export const $1 = createContext<$2>(", - "\t(null as any) as $2", - ")" - ], - "description": "creates a react context" - }, - "useContext": { - "prefix": "uc", - "body": ["const $1 = useContext($2)$0"], - "description": "React useContext() hook" - }, - "useRef": { - "prefix": "ur", - "body": ["const ${1:elName}El = useRef(null)$0"], - "description": "React useRef() hook" - }, - "useCallback": { - "prefix": "ucb", - "body": [ - "const ${1:memoizedCallback} = useCallback(", - "\t() => {", - "\t\t${2:doSomething}(${3:a}, ${4:b})", - "\t},", - "\t[${5:a}, ${6:b}],", - ")$0" - ], - "description": "React useCallback() hook" - }, - "useMemo": { - "prefix": "ume", - "body": [ - "const ${1:memoizedValue} = useMemo(() => ${2:computeExpensiveValue}(${3:a}, ${4:b}), [${5:a}, ${6:b}])$0" - ], - "description": "React useMemo() hook" - }, - "describeBlock": { - "prefix": "desc", - "body": [ - "describe('$1', () => {", - " $0", - "})", - "" - ], - "description": "Testing `describe` block" - }, - "testBlock": { - "prefix": "test", - "body": [ - "test('should $1', () => {", - " $0", - "})", - "" - ], - "description": "Testing `test` block" - }, - "itBlock": { - "prefix": "tit", - "body": [ - "it('should $1', () => {", - " $0", - "})", - "" - ], - "description": "Testing `it` block" - }, - "itAsyncBlock": { - "prefix": "tita", - "body": [ - "it('should $1', async () => {", - " $0", - "})", - "" - ], - "description": "Testing async `it` block" - } -} diff --git a/my-snippets/html/javascript/react.json b/my-snippets/html/javascript/react.json deleted file mode 100644 index 83587df..0000000 --- a/my-snippets/html/javascript/react.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "destructuring of props": { - "prefix": "dp", - "body": ["const { ${1:name} } = this.props"] - }, - "destructuring of state": { - "prefix": "ds", - "body": ["const { ${1:name} } = this.state"] - }, - "if falsy return null": { - "prefix": "ifr", - "body": "if (!${1:condition}) {\n\treturn null\n}" - }, - "reactClassCompoment": { - "prefix": "rcc", - "body": "import { Component } from 'react'\n\nclass ${TM_FILENAME_BASE} extends Component {\n\trender () {\n\t\treturn (\n\t\t\t
    \n\t\t\t\t$0\n\t\t\t
    \n\t\t)\n\t}\n}\n\nexport default ${1}", - "description": "Creates a React component class" - }, - "reactJustClassCompoment": { - "prefix": "rcjc", - "body": "class ${TM_FILENAME_BASE} extends Component {\n\trender () {\n\t\treturn (\n\t\t\t
    \n\t\t\t\t$0\n\t\t\t
    \n\t\t)\n\t}\n}\n", - "description": "Creates a React component class" - }, - "reactClassCompomentPropTypes": { - "prefix": "rccp", - "body": "import { Component, PropTypes } from 'react'\n\nclass ${TM_FILENAME_BASE} extends Component {\n\trender () {\n\t\treturn (\n\t\t\t
    \n\t\t\t\t$0\n\t\t\t
    \n\t\t)\n\t}\n}\n\n${1}.propTypes = {\n\n}\n\nexport default ${1}", - "description": "Creates a React component class with PropTypes" - }, - "reactClassCompomentWithMethods": { - "prefix": "rcfc", - "body": "import { Component, PropTypes } from 'react'\n\nclass ${TM_FILENAME_BASE} extends Component {\n\tconstructor(props) {\n\t\tsuper(props)\n\n\t}\n\n\tcomponentWillMount () {\n\n\t}\n\n\tcomponentDidMount () {\n\n\t}\n\n\tcomponentWillReceiveProps (nextProps) {\n\n\t}\n\n\tshouldComponentUpdate (nextProps, nextState) {\n\n\t}\n\n\tcomponentWillUpdate (nextProps, nextState) {\n\n\t}\n\n\tcomponentDidUpdate (prevProps, prevState) {\n\n\t}\n\n\tcomponentWillUnmount () {\n\n\t}\n\n\trender () {\n\t\treturn (\n\t\t\t
    \n\n\t\t\t
    \n\t\t)\n\t}\n}\n\n${1}.propTypes = {\n\n}\n\nexport default ${1}", - "description": "Creates a React component class with PropTypes and all lifecycle methods" - }, - "reactFunctionComponent": { - "prefix": "rfc", - "body": "\nconst ${TM_FILENAME_BASE} = () => {\n\treturn (\n\t\t
    \n\t\t\t$0\n\t\t
    \n\t)\n}\n\nexport default ${TM_FILENAME_BASE}", - "description": "Creates a React function component without PropTypes" - }, - "reactFunctionComponentWithCustomName": { - "prefix": "rfcn", - "body": "\nconst ${1:functionname} = () => {\n\treturn (\n\t\t
    \n\t\t\t$0\n\t\t
    \n\t)\n}\n\nexport default ${1:functionname}", - "description": "Creates a React function component with custom name" - }, - "reactFunctionComponentWithEmotion": { - "prefix": "rfce", - "body": "import { css } from '@emotion/core'\n\nexport const ${TM_FILENAME_BASE} = () => {\n\treturn (\n\t\t
    \n\t\t\t$0\n\t\t
    \n\t)\n}", - "description": "Creates a React functional component with emotion" - }, - "reactStatelessProps": { - "prefix": "rfcp", - "body": "import { PropTypes } from 'react'\n\nconst ${TM_FILENAME_BASE} = props => {\n\treturn (\n\t\t
    \n\t\t\t\n\t\t
    \n\t)\n}\n\n${1}.propTypes = {\n\t$0\n}\n\nexport default ${1}", - "description": "Creates a React function component with PropTypes" - }, - "classConstructor": { - "prefix": "con", - "body": "constructor (props) {\n\tsuper(props)\n\t$0\n}\n", - "description": "Adds a default constructor for the class that contains props as arguments" - }, - "classConstructorContext": { - "prefix": "conc", - "body": "constructor (props, context) {\n\tsuper(props, context)\n\t$0\n}\n", - "description": "Adds a default constructor for the class that contains props and context as arguments" - }, - "componentWillMount": { - "prefix": "cwm", - "body": "\ncomponentWillMount () {\n\t$0\n}\n", - "description": "Invoked once, both on the client and server, immediately before the initial rendering occurs" - }, - "componentDidMount": { - "prefix": "cdm", - "body": "componentDidMount () {\n\t$0\n}\n", - "description": "Invoked once, only on the client (not on the server), immediately after the initial rendering occurs." - }, - "componentWillReceiveProps": { - "prefix": "cwr", - "body": "componentWillReceiveProps (nextProps) {\n\t$0\n}\n", - "description": "Invoked when a component is receiving new props. This method is not called for the initial render." - }, - "componentGetDerivedStateFromProps": { - "prefix": "cgd", - "body": "\nstatic getDerivedStateFromProps(nextProps, prevState) {\n\t$0\n}\n", - "description": "Invoked after a component is instantiated as well as when it receives new props. It should return an object to update state, or null to indicate that the new props do not require any state updates." - }, - "shouldComponentUpdate": { - "prefix": "scu", - "body": "shouldComponentUpdate (nextProps, nextState) {\n\t$0\n}\n", - "description": "Invoked before rendering when new props or state are being received. " - }, - "componentWillUpdate": { - "prefix": "cwup", - "body": "componentWillUpdate (nextProps, nextState) {\n\t$0\n}\n", - "description": "Invoked immediately before rendering when new props or state are being received." - }, - "componentDidUpdate": { - "prefix": "cdup", - "body": "componentDidUpdate (prevProps, prevState) {\n\t$0\n}\n", - "description": "Invoked immediately after the component's updates are flushed to the DOM." - }, - "componentWillUnmount": { - "prefix": "cwun", - "body": "componentWillUnmount () {\n\t$0\n}\n", - "description": "Invoked immediately before a component is unmounted from the DOM." - }, - "componentRender": { - "prefix": "ren", - "body": "render () {\n\treturn (\n\t\t
    \n\t\t\t$0\n\t\t
    \n\t)\n}", - "description": "When called, it should examine this.props and this.state and return a single child element." - }, - "componentSetStateObject": { - "prefix": "sst", - "body": "this.setState($0)", - "description": "Performs a shallow merge of nextState into current state" - }, - "componentSetStateFunc": { - "prefix": "ssf", - "body": "this.setState((state, props) => { return { $0 }})\n", - "description": "Performs a shallow merge of nextState into current state" - }, - "componentProps": { - "prefix": "tp", - "body": "this.props.$0", - "description": "Access component's props" - }, - "componentState": { - "prefix": "ts", - "body": "this.state.$0", - "description": "Access component's state" - }, - "propTypes": { - "prefix": "rpt", - "body": "$1.propTypes = {\n\t$2\n}", - "description": "Creates empty propTypes declaration" - }, - "propTypeArray": { - "prefix": "pta", - "body": "PropTypes.array,", - "description": "Array prop type" - }, - "propTypeArrayRequired": { - "prefix": "ptar", - "body": "PropTypes.array.isRequired,", - "description": "Array prop type required" - }, - "propTypeBool": { - "prefix": "ptb", - "body": "PropTypes.bool,", - "description": "Bool prop type" - }, - "propTypeBoolRequired": { - "prefix": "ptbr", - "body": "PropTypes.bool.isRequired,", - "description": "Bool prop type required" - }, - "propTypeFunc": { - "prefix": "ptf", - "body": "PropTypes.func,", - "description": "Func prop type" - }, - "propTypeFuncRequired": { - "prefix": "ptfr", - "body": "PropTypes.func.isRequired,", - "description": "Func prop type required" - }, - "propTypeNumber": { - "prefix": "ptn", - "body": "PropTypes.number,", - "description": "Number prop type" - }, - "propTypeNumberRequired": { - "prefix": "ptnr", - "body": "PropTypes.number.isRequired,", - "description": "Number prop type required" - }, - "propTypeObject": { - "prefix": "pto", - "body": "PropTypes.object,", - "description": "Object prop type" - }, - "propTypeObjectRequired": { - "prefix": "ptor", - "body": "PropTypes.object.isRequired,", - "description": "Object prop type required" - }, - "propTypeString": { - "prefix": "pts", - "body": "PropTypes.string,", - "description": "String prop type" - }, - "propTypeStringRequired": { - "prefix": "ptsr", - "body": "PropTypes.string.isRequired,", - "description": "String prop type required" - }, - "propTypeNode": { - "prefix": "ptnd", - "body": "PropTypes.node,", - "description": "Anything that can be rendered: numbers, strings, elements or an array" - }, - "propTypeNodeRequired": { - "prefix": "ptndr", - "body": "PropTypes.node.isRequired,", - "description": "Anything that can be rendered: numbers, strings, elements or an array required" - }, - "propTypeElement": { - "prefix": "ptel", - "body": "PropTypes.element,", - "description": "React element prop type" - }, - "propTypeElementRequired": { - "prefix": "ptelr", - "body": "PropTypes.element.isRequired,", - "description": "React element prop type required" - }, - "propTypeInstanceOf": { - "prefix": "pti", - "body": "PropTypes.instanceOf($0),", - "description": "Is an instance of a class prop type" - }, - "propTypeInstanceOfRequired": { - "prefix": "ptir", - "body": "PropTypes.instanceOf($0).isRequired,", - "description": "Is an instance of a class prop type required" - }, - "propTypeEnum": { - "prefix": "pte", - "body": "PropTypes.oneOf(['$0']),", - "description": "Prop type limited to specific values by treating it as an enum" - }, - "propTypeEnumRequired": { - "prefix": "pter", - "body": "PropTypes.oneOf(['$0']).isRequired,", - "description": "Prop type limited to specific values by treating it as an enum required" - }, - "propTypeOneOfType": { - "prefix": "ptet", - "body": "PropTypes.oneOfType([\n\t$0\n]),", - "description": "An object that could be one of many types" - }, - "propTypeOneOfTypeRequired": { - "prefix": "ptetr", - "body": "PropTypes.oneOfType([\n\t$0\n]).isRequired,", - "description": "An object that could be one of many types required" - }, - "propTypeArrayOf": { - "prefix": "ptao", - "body": "PropTypes.arrayOf($0),", - "description": "An array of a certain type" - }, - "propTypeArrayOfRequired": { - "prefix": "ptaor", - "body": "PropTypes.arrayOf($0).isRequired,", - "description": "An array of a certain type required" - }, - "propTypeObjectOf": { - "prefix": "ptoo", - "body": "PropTypes.objectOf($0),", - "description": "An object with property values of a certain type" - }, - "propTypeObjectOfRequired": { - "prefix": "ptoor", - "body": "PropTypes.objectOf($0).isRequired,", - "description": "An object with property values of a certain type required" - }, - "propTypeShape": { - "prefix": "ptsh", - "body": "PropTypes.shape({\n\t$0\n}),", - "description": "An object taking on a particular shape" - }, - "propTypeShapeRequired": { - "prefix": "ptshr", - "body": "PropTypes.shape({\n\t$0\n}).isRequired,", - "description": "An object taking on a particular shape required" - }, - "jsx element": { - "prefix": "j", - "body": "<${1:elementName}>\n\t$0\n", - "description": "an element" - }, - "jsx element self closed": { - "prefix": "jc", - "body": "<${1:elementName} />", - "description": "an element self closed" - }, - "jsx elements map": { - "prefix": "jm", - "body": "{${1:array}.map((item) => <${2:elementName} key={item.id}>\n\t$0\n)}", - "description": "an element self closed" - }, - "jsx elements map with return": { - "prefix": "jmr", - "body": "{${1:array}.map((item) => {\n\treturn <${2:elementName} key={item.id}>\n\t$0\n\n})}", - "description": "an element self closed" - }, - "jsx element wrap selection": { - "prefix": "jsx wrap selection with element", - "body": "<${1:elementName}>\n\t{$TM_SELECTED_TEXT}\n", - "description": "an element" - }, - "useState": { - "prefix": "us", - "body": "const [${1:setterName}, set${1:setterName}] = useState(${2:defVal})$0", - "description": "use state hook" - }, - "useEffect": { - "prefix": "ue", - "body": [ - "useEffect(() => {", - "\t$1", - "}, [${3:dependencies}])$0" - ], - "description": "React useEffect() hook" - }, - "useEffect with return": { - "prefix": "uer", - "body": [ - "useEffect(() => {", - "\t$1", - "\n\treturn () => {", - "\t\t$2", - "\t}", - "}, [${3:dependencies}])$0" - ], - "description": "React useEffect() hook with return statement" - }, - "useContext": { - "prefix": "uc", - "body": ["const $1 = useContext($2)$0"], - "description": "React useContext() hook" - }, - "useRef": { - "prefix": "ur", - "body": ["const ${1:elName}El = useRef(null)$0"], - "description": "React useContext() hook" - }, - "useCallback": { - "prefix": "ucb", - "body": [ - "const ${1:memoizedCallback} = useCallback(", - "\t() => {", - "\t\t${2:doSomething}(${3:a}, ${4:b})", - "\t},", - "\t[${5:a}, ${6:b}],", - ")$0" - ], - "description": "React useCallback() hook" - }, - "useMemo": { - "prefix": "ume", - "body": [ - "const ${1:memoizedValue} = useMemo(() => ${2:computeExpensiveValue}(${3:a}, ${4:b}), [${5:a}, ${6:b}])$0" - ], - "description": "React useMemo() hook" - }, - "describeBlock": { - "prefix": "desc", - "body": [ - "describe('$1', () => {", - " $0", - "})", - "" - ], - "description": "Testing `describe` block" - }, - "testBlock": { - "prefix": "test", - "body": [ - "test('should $1', () => {", - " $0", - "})", - "" - ], - "description": "Testing `test` block" - }, - "itBlock": { - "prefix": "tit", - "body": [ - "it('should $1', () => {", - " $0", - "})", - "" - ], - "description": "Testing `it` block" - }, - "itAsyncBlock": { - "prefix": "tita", - "body": [ - "it('should $1', async () => {", - " $0", - "})", - "" - ], - "description": "Testing async `it` block" - } -} diff --git a/my-snippets/html/javascript/typescript.json b/my-snippets/html/javascript/typescript.json deleted file mode 100644 index a30a04f..0000000 --- a/my-snippets/html/javascript/typescript.json +++ /dev/null @@ -1,282 +0,0 @@ -{ - "Constructor": { - "prefix": "ctor", - "body": [ - "/**", - " *", - " */", - "constructor() {", - "\tsuper();", - "\t$0", - "}" - ], - "description": "Constructor" - }, - "Class Definition": { - "prefix": "class", - "body": [ - "class ${1:name} {", - "\tconstructor(${2:parameters}) {", - "\t\t$0", - "\t}", - "}" - ], - "description": "Class Definition" - }, - "Interface Definition": { - "prefix": "iface", - "body": [ - "interface ${1:name} {", - "\t$0", - "}" - ], - "description": "Interface Definition" - }, - "Public Method Definition": { - "prefix": "public method", - "body": [ - "/**", - " * ${1:name}", - " */", - "public ${1:name}() {", - "\t$0", - "}" - ], - "description": "Public Method Definition" - }, - "Private Method Definition": { - "prefix": "private method", - "body": [ - "private ${1:name}() {", - "\t$0", - "}" - ], - "description": "Private Method Definition" - }, - "Import external module.": { - "prefix": "import statement", - "body": [ - "import { $0 } from \"${1:module}\";" - ], - "description": "Import external module." - }, - "Property getter": { - "prefix": "get", - "body": [ - "", - "public get ${1:value}() : ${2:string} {", - "\t${3:return $0}", - "}", - "" - ], - "description": "Property getter" - }, - "Log to the console": { - "prefix": "log", - "body": [ - "console.log($1);", - "$0" - ], - "description": "Log to the console" - }, - "Log warning to console": { - "prefix": "warn", - "body": [ - "console.warn($1);", - "$0" - ], - "description": "Log warning to the console" - }, - "Log error to console": { - "prefix": "error", - "body": [ - "console.error($1);", - "$0" - ], - "description": "Log error to the console" - }, - "Define a full property": { - "prefix": "prop", - "body": [ - "", - "private _${1:value} : ${2:string};", - "public get ${1:value}() : ${2:string} {", - "\treturn this._${1:value};", - "}", - "public set ${1:value}(v : ${2:string}) {", - "\tthis._${1:value} = v;", - "}", - "" - ], - "description": "Define a full property" - }, - "Triple-slash reference": { - "prefix": "ref", - "body": [ - "/// ", - "$0" - ], - "description": "Triple-slash reference" - }, - "Property setter": { - "prefix": "set", - "body": [ - "", - "public set ${1:value}(v : ${2:string}) {", - "\tthis.$3 = v;", - "}", - "" - ], - "description": "Property setter" - }, - "Throw Exception": { - "prefix": "throw", - "body": [ - "throw \"$1\";", - "$0" - ], - "description": "Throw Exception" - }, - "For Loop": { - "prefix": "for", - "body": [ - "for (let ${1:index} = 0; ${1:index} < ${2:array}.length; ${1:index}++) {", - "\tconst ${3:element} = ${2:array}[${1:index}];", - "\t$0", - "}" - ], - "description": "For Loop" - }, - "For-Each Loop using =>": { - "prefix": "foreach =>", - "body": [ - "${1:array}.forEach(${2:element} => {", - "\t$0", - "});" - ], - "description": "For-Each Loop using =>" - }, - "For-In Loop": { - "prefix": "forin", - "body": [ - "for (const ${1:key} in ${2:object}) {", - "\tif (${2:object}.hasOwnProperty(${1:key})) {", - "\t\tconst ${3:element} = ${2:object}[${1:key}];", - "\t\t$0", - "\t}", - "}" - ], - "description": "For-In Loop" - }, - "For-Of Loop": { - "prefix": "forof", - "body": [ - "for (const ${1:iterator} of ${2:object}) {", - "\t$0", - "}" - ], - "description": "For-Of Loop" - }, - "Function Statement": { - "prefix": "function", - "body": [ - "function ${1:name}(${2:params}:${3:type}) {", - "\t$0", - "}" - ], - "description": "Function Statement" - }, - "If Statement": { - "prefix": "if", - "body": [ - "if (${1:condition}) {", - "\t$0", - "}" - ], - "description": "If Statement" - }, - "If-Else Statement": { - "prefix": "ifelse", - "body": [ - "if (${1:condition}) {", - "\t$0", - "} else {", - "\t", - "}" - ], - "description": "If-Else Statement" - }, - "New Statement": { - "prefix": "new", - "body": [ - "const ${1:name} = new ${2:type}(${3:arguments});$0" - ], - "description": "New Statement" - }, - "Switch Statement": { - "prefix": "switch", - "body": [ - "switch (${1:key}) {", - "\tcase ${2:value}:", - "\t\t$0", - "\t\tbreak;", - "", - "\tdefault:", - "\t\tbreak;", - "}" - ], - "description": "Switch Statement" - }, - "While Statement": { - "prefix": "while", - "body": [ - "while (${1:condition}) {", - "\t$0", - "}" - ], - "description": "While Statement" - }, - "Do-While Statement": { - "prefix": "dowhile", - "body": [ - "do {", - "\t$0", - "} while (${1:condition});" - ], - "description": "Do-While Statement" - }, - "Try-Catch Statement": { - "prefix": "trycatch", - "body": [ - "try {", - "\t$0", - "} catch (${1:error}) {", - "\t", - "}" - ], - "description": "Try-Catch Statement" - }, - "Set Timeout Function": { - "prefix": "settimeout", - "body": [ - "setTimeout(() => {", - "\t$0", - "}, ${1:timeout});" - ], - "description": "Set Timeout Function" - }, - "Region Start": { - "prefix": "#region", - "body": [ - "//#region $0" - ], - "description": "Folding Region Start" - }, - "Region End": { - "prefix": "#endregion", - "body": [ - "//#endregion" - ], - "description": "Folding Region End" - } -} \ No newline at end of file diff --git a/my-snippets/html/package.json b/my-snippets/html/package.json deleted file mode 100644 index 7bab8f0..0000000 --- a/my-snippets/html/package.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "name": "html-snippets", - "displayName": "HTML/CSS/JavaScript Snippets", - "description": "HTML/CSS/JavaScript/Jade/Pug/Less/Sass/Stylus/ES6 Snippets Support", - "version": "1.0.6", - "publisher": "wscats", - "icon": "images/logo.png", - "engines": { - "vscode": "^1.40.0" - }, - "keywords": [ - "html", - "html5", - "css", - "css3", - "javascript", - "typescript", - "ES6", - "ES7", - "snippets" - ], - "author": { - "name": "Eno Yao", - "email": "kalone.cool@gmail.com", - "url": "https://github.com/Wscats" - }, - "galleryBanner": { - "color": "#58bc58", - "theme": "light" - }, - "categories": [ - "Programming Languages", - "Snippets" - ], - "scripts": { - "build": "vsce package" - }, - "contributes": { - "snippets": [ - { - "language": "html", - "path": "./snippets/javascript.json" - }, - { - "language": "html", - "path": "./javascript/javascript.json" - }, - { - "language": "html", - "path": "./javascript/typescript.json" - } - ] - } -} \ No newline at end of file diff --git a/my-snippets/html/snippets/css.json b/my-snippets/html/snippets/css.json deleted file mode 100644 index 9362493..0000000 --- a/my-snippets/html/snippets/css.json +++ /dev/null @@ -1,651 +0,0 @@ -{ - "align-items": { - "prefix": "ai", - "body": "align-items: ${1|flex-start,flex-end,center,baseline,stretch,start,end,self-start,self-end|};", - "description": "initial value: stretch" - }, - "align-items: baseline": { - "prefix": "aib", - "body": "align-items: baseline;" - }, - "align-items: center": { - "prefix": "aic", - "body": "align-items: center;" - }, - "align-items: flex-start": { - "prefix": "aifs", - "body": "align-items: flex-start;" - }, - "align-items: flex-end": { - "prefix": "aife", - "body": "align-items: flex-end;" - }, - "align-items: stretch": { - "prefix": "ais", - "body": "align-items: stretch;" - }, - "align-self": { - "prefix": "as", - "body": "align-items: ${1|flex-start,flex-end,center,baseline,stretch,auto|};", - "description": "initial value: auto" - }, - "animation": { - "prefix": "ani", - "body": "animation: ${1:name} ${2:1s} ${3|linear,ease-in-out,ease,ease-in,ease-out,step-start,step-end,steps,cubic-bezier|};", - "description": "animation: name duration timing-function delay direction count fill-mode play-state" - }, - "animation-delay": { - "prefix": "anide", - "body": "animation-delay: ${0:1s};" - }, - "animation-direction": { - "prefix": "anidi", - "body": "animation-direction: ${1|alternate,alternate-reverse,reverse,normal|};", - "description": "initial value: normal" - }, - "animation-duratuion": { - "prefix": "anidu", - "body": "animation-duration: ${0:1s};" - }, - "animation-fill-mode": { - "prefix": "anifm", - "body": "animation-fill-mode: ${1|forwards,backwards,both,none|};", - "description": "initial value: none" - }, - "animation-iteration-count": { - "prefix": "aniic", - "body": "animation-iteration-count: ${0:infinite};", - "description": "initial value: 1" - }, - "animation-name": { - "prefix": "anin", - "body": "animation-name: ${0:name};" - }, - "animation-play-state": { - "prefix": "anips", - "body": "animation-play-state: ${1|paused,running|};", - "description": "initial value: running" - }, - "animation-timing-function": { - "prefix": "anitf", - "body": "animation-timing-function: ${1|linear,ease,ease-in-out,ease-in,ease-out,step-start,step-end,steps,cubic-bezier|};", - "description": "initial value: ease" - }, - "background": { - "prefix": "bg", - "body": "background: ${0:#fff};", - "description": "background: image position/size repeat attachment box box" - }, - "background-attachment": { - "prefix": "bga", - "body": "background-attachment: ${1|fixed,scroll,local|};", - "description": "initial value: scroll" - }, - "background-color": { - "prefix": "bgc", - "body": "background-color: ${0:#fff};" - }, - "background-clip": { - "prefix": "bgcl", - "body": "background-clip: ${1|border-box,padding-box,content-box,text|};", - "description": "initial value: border-box" - }, - "background-image": { - "prefix": "bgi", - "body": "background-image: url('${0:background.jpg}');" - }, - "background-origin": { - "prefix": "bgo", - "body": "background-origin: ${1|border-box,padding-box,content-box|};", - "description": "initial value: padding-box" - }, - "background-position": { - "prefix": "bgp", - "body": "background-position: ${1:left} ${2:top};" - }, - "background-repeat": { - "prefix": "bgr", - "body": "background-repeat: ${1|no-repeat,repeat-x,repeat-y,repeat,space,round|};", - "description": "initial value: repeat" - }, - "background-repeat: repeat": { - "prefix": "bgrr", - "body": "background-repeat: repeat;" - }, - "background-repeat: repeat-x": { - "prefix": "bgrx", - "body": "background-repeat: repeat-x;" - }, - "background-repeat: repeat-y": { - "prefix": "bgry", - "body": "background-repeat: repeat-y;" - }, - "background-repeat: no-repeat": { - "prefix": "bgrn", - "body": "background-repeat: no-repeat;" - }, - "background-size": { - "prefix": "bgs", - "body": "background-size: ${0:cover};" - }, - "border": { - "prefix": "bor", - "body": "border: ${1:1px} ${2|solid,dashed,dotted,double,groove,ridge,inset,outset,none,hidden|} ${0:#000};" - }, - "border: none": { - "prefix": "born", - "body": "border: none;" - }, - "border-color": { - "prefix": "borc", - "body": "border-color: ${0:#000};" - }, - "border-style": { - "prefix": "bors", - "body": "border-style: ${1|solid,dashed,dotted,double,groove,ridge,inset,outset,none,hidden|};" - }, - "border-width": { - "prefix": "borw", - "body": "border-width: ${0:1px};" - }, - "border-bottom": { - "prefix": "borb", - "body": "border-bottom: ${1:1px} ${2|solid,dashed,dotted,double,groove,ridge,inset,outset,none,hidden|} ${0:#000};" - }, - "border-left": { - "prefix": "borl", - "body": "border-left: ${1:1px} ${2|solid,dashed,dotted,double,groove,ridge,inset,outset,none,hidden|} ${0:#000};" - }, - "border-right": { - "prefix": "borr", - "body": "border-right: ${1:1px} ${2|solid,dashed,dotted,double,groove,ridge,inset,outset,none,hidden|} ${0:#000};" - }, - "border-top": { - "prefix": "bort", - "body": "border-top: ${1:1px} ${2|solid,dashed,dotted,double,groove,ridge,inset,outset,none,hidden|} ${0:#000};" - }, - "border-radius": { - "prefix": "br", - "body": "border-radius: ${0:2px};" - }, - "bottom": { - "prefix": "bot", - "body": "bottom: ${0:0};" - }, - "box-shadow": { - "prefix": "bos", - "body": "box-shadow: ${1:1px} ${2:1px} ${3:1px} ${4:1px} ${0:rgba(0, 0, 0, .5)};", - "description": "box-shadow: x-offset y-offset blur spread color" - }, - "box-sizing": { - "prefix": "boz", - "body": "box-sizing: ${1|border-box,content-box|};", - "description": "initial value: content-box" - }, - "clear": { - "prefix": "clr", - "body": "clear: ${1|both,left,right,none|};" - }, - "color": { - "prefix": "col", - "body": "color: ${0:#000};" - }, - "content": { - "prefix": "con", - "body": "content: '$0';" - }, - "cursor": { - "prefix": "cur", - "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|};", - "description": "initial value: auto" - }, - "cursor: pointer": { - "prefix": "curp", - "body": "cursor: pointer;" - }, - "cursor: default": { - "prefix": "curd", - "body": "cursor: default;" - }, - "display": { - "prefix": "dis", - "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|};" - }, - "display: block": { - "prefix": "disb", - "body": "display: block;" - }, - "display: inline-block": { - "prefix": "disi", - "body": "display: inline-block;" - }, - "display: none": { - "prefix": "disn", - "body": "display: none;" - }, - "display: flex": { - "prefix": "disf", - "body": "display: flex;" - }, - "flex": { - "prefix": "flex", - "body": "flex: ${1:1} ${2:1} ${3:auto};", - "description": "flex: grow shrink basis" - }, - "flex (alt)": { - "prefix": "fle", - "body": "flex: ${1:1} ${2:1} ${3:auto};" - }, - "flex-direction": { - "prefix": "fld", - "body": "flex-direction: ${1|row,row-reverse,column,column-reverse|};", - "description": "initial value: row" - }, - "flex-direction: row": { - "prefix": "fldr", - "body": "flex-direction: row;" - }, - "flex-direction: column": { - "prefix": "fldc", - "body": "flex-direction: column;" - }, - "flex-flow": { - "prefix": "flf", - "body": "flex-flow: ${1|row,row-reverse,column,column-reverse|} ${2|wrap,wrap-reverse,nowrap|};" - }, - "flex-wrap": { - "prefix": "flw", - "body": "flex-wrap: ${1|wrap,wrap-reverse,nowrap|};", - "description": "initial value: nowrap" - }, - "float": { - "prefix": "fl", - "body": "float: ${1|left,right,none|};" - }, - "float: left": { - "prefix": "fll", - "body": "float: left;" - }, - "float: right": { - "prefix": "flr", - "body": "float: right;" - }, - "float: none": { - "prefix": "fln", - "body": "float: none;" - }, - "font-family": { - "prefix": "ff", - "body": "font-family: ${0:arial};" - }, - "font-size": { - "prefix": "fz", - "body": "font-size: ${0:12px};" - }, - "font-style": { - "prefix": "fst", - "body": "font-style: ${1|italic,oblique,normal|};" - }, - "font-style: italic": { - "prefix": "fsti", - "body": "font-style: italic;" - }, - "font-style: normal": { - "prefix": "fstn", - "body": "font-style: normal;" - }, - "font-style: oblique": { - "prefix": "fsto", - "body": "font-style: oblique;" - }, - "font-weight": { - "prefix": "fw", - "body": "font-weight: ${0:bold};" - }, - "font-weight: bold": { - "prefix": "fwb", - "body": "font-weight: bold;" - }, - "font-weight: light": { - "prefix": "fwl", - "body": "font-weight: light;" - }, - "font-weight: normal": { - "prefix": "fwn", - "body": "font-weight: normal;" - }, - "font": { - "prefix": "ft", - "body": "font: ${0:12px/1.5};", - "description": "font: [weight style variant stretch] size/line-height family" - }, - "height": { - "prefix": "hei", - "body": "height: ${0:1px};" - }, - "justify-content": { - "prefix": "jc", - "body": "justify-content: ${1|flex-start,flex-end,center,space-between,space-around|};", - "description": "initial value: flex-start" - }, - "justify-content: flex-start": { - "prefix": "jcfs", - "body": "justify-content: flex-start;" - }, - "justify-content: flex-end": { - "prefix": "jcfe", - "body": "justify-content: flex-end;" - }, - "justify-content: center": { - "prefix": "jcc", - "body": "justify-content: center;" - }, - "justify-content: space-around": { - "prefix": "jcsa", - "body": "justify-content: space-around;" - }, - "justify-content: space-between": { - "prefix": "jcsb", - "body": "justify-content: space-between;" - }, - "list-style": { - "prefix": "lis", - "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|};", - "description": "list-style: type position image" - }, - "list-style-position": { - "prefix": "lisp", - "body": "${1|outside,inside|}", - "description": "initial value: outside" - }, - "list-style-type": { - "prefix": "list", - "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|};", - "description": "initial value: disc" - }, - "list-style-type: circle": { - "prefix": "listc", - "body": "list-style-type: circle;" - }, - "list-style-type: disc": { - "prefix": "listd", - "body": "list-style-type: disc;" - }, - "list-style-type: none": { - "prefix": "listn", - "body": "list-style-type: none;" - }, - "list-style-type: square": { - "prefix": "lists", - "body": "list-style-type: square;" - }, - "list-style-type: lower-roman": { - "prefix": "listlr", - "body": "list-style-type: lower-roman;" - }, - "list-style-type: upper-roman": { - "prefix": "listur", - "body": "list-style-type: upper-roman;" - }, - "left": { - "prefix": "lef", - "body": "left: ${0:0};" - }, - "line-height": { - "prefix": "lh", - "body": "line-height: ${0:1.5};" - }, - "letter-spacing": { - "prefix": "ls", - "body": "letter-spacing: ${0:2px};" - }, - "letter-spacing: normal": { - "prefix": "lsn", - "body": "letter-spacing: normal;" - }, - "margin": { - "prefix": "mar", - "body": "margin: ${0:0};" - }, - "margin-bottom": { - "prefix": "marb", - "body": "margin-bottom: ${0:0};" - }, - "margin-left": { - "prefix": "marl", - "body": "margin-left: ${0:0};" - }, - "margin-right": { - "prefix": "marr", - "body": "margin-right: ${0:0};" - }, - "margin-top": { - "prefix": "mart", - "body": "margin-top: ${0:0};" - }, - "margin: 0 auto": { - "prefix": "mara", - "body": "margin: 0 auto;" - }, - "min-height": { - "prefix": "mih", - "body": "min-height: ${0:1px};" - }, - "min-width": { - "prefix": "miw", - "body": "min-width: ${0:1px};" - }, - "max-height": { - "prefix": "mah", - "body": "max-height: ${0:1px};" - }, - "max-width": { - "prefix": "maw", - "body": "max-width: ${0:1px};" - }, - "opacity": { - "prefix": "opa", - "body": "opacity: ${0:0};" - }, - "overflow": { - "prefix": "ov", - "body": "overflow: ${1|visible,hidden,scroll,auto,clip|};" - }, - "overflow: auto": { - "prefix": "ova", - "body": "overflow: auto;" - }, - "overflow: hidden": { - "prefix": "ovh", - "body": "overflow: hidden;" - }, - "overflow: scroll": { - "prefix": "ovs", - "body": "overflow: scroll;" - }, - "overflow: visible": { - "prefix": "ovv", - "body": "overflow: visible;" - }, - "padding": { - "prefix": "pad", - "body": "padding: ${0:0};" - }, - "padding-bottom": { - "prefix": "padb", - "body": "padding-bottom: ${0:0};" - }, - "padding-left": { - "prefix": "padl", - "body": "padding-left: ${0:0};" - }, - "padding-right": { - "prefix": "padr", - "body": "padding-right: ${0:0};" - }, - "padding-top": { - "prefix": "padt", - "body": "padding-top: ${0:0};" - }, - "position": { - "prefix": "pos", - "body": "position: ${1|relative,absolute,fixed,sticky,static|};" - }, - "position absolute": { - "prefix": "posa", - "body": "position: absolute;" - }, - "position fixed": { - "prefix": "posf", - "body": "position: fixed;" - }, - "position relative": { - "prefix": "posr", - "body": "position: relative;" - }, - "position sticky": { - "prefix": "poss", - "body": "position: sticky;" - }, - "right": { - "prefix": "rig", - "body": "right: ${0:0};" - }, - "text-align": { - "prefix": "ta", - "body": "text-align: ${1|center,left,right,justify,start,end|};" - }, - "text-align: center": { - "prefix": "tac", - "body": "text-align: center;" - }, - "text-align: left": { - "prefix": "tal", - "body": "text-align: left;" - }, - "text-align: right": { - "prefix": "tar", - "body": "text-align: right;" - }, - "text-decoration": { - "prefix": "td", - "body": "text-decoration: ${1|none,underline,overline,line-through|};" - }, - "text-decoration: underline": { - "prefix": "tdu", - "body": "text-decoration: underline;" - }, - "text-decoration: none": { - "prefix": "tdn", - "body": "text-decoration: none;" - }, - "text-decoration: line-through": { - "prefix": "tdl", - "body": "text-decoration: line-through;" - }, - "text-indent": { - "prefix": "ti", - "body": "text-indent: ${0:2em};" - }, - "text-shadow": { - "prefix": "ts", - "body": "text-shadow: ${1:1px} ${2:1px} ${3:1px} ${4:1px} ${0:rgba(0, 0, 0, .5)};", - "description": "text-shadow: x-offset y-offset blur spread color" - }, - "text-transform": { - "prefix": "tt", - "body": "text-transform: ${1|capitalize,uppercase,lowercase,full-width,none|};" - }, - "top": { - "prefix": "top", - "body": "top: ${0:0};" - }, - "vertical-align": { - "prefix": "va", - "body": "vertical-align: ${1|baseline,middle,top,bottom,sub,super,text-top,text-bottom|};" - }, - "vertical-align: bottom": { - "prefix": "vab", - "body": "vertical-align: bottom;" - }, - "vertical-align: middle": { - "prefix": "vam", - "body": "vertical-align: middle;" - }, - "vertical-align: top": { - "prefix": "vat", - "body": "vertical-align: top;" - }, - "visibility": { - "prefix": "vis", - "body": "visibility: ${1|visible,hidden,collapse|};" - }, - "visibility: visible": { - "prefix": "visv", - "body": "visibility: visible;" - }, - "visibility: hidden": { - "prefix": "vish", - "body": "visibility: hidden;" - }, - "word-break": { - "prefix": "wb", - "body": "word-break: ${1|break-all,keep-all,break-word,normal|};" - }, - "width": { - "prefix": "wid", - "body": "width: ${0:0};" - }, - "width: auto": { - "prefix": "wida", - "body": "width: auto;" - }, - "white-space": { - "prefix": "ws", - "body": "white-space: ${1|nowrap,pre,pre-wrap,pre-line,normal|};" - }, - "white-space: nowrap": { - "prefix": "wsn", - "body": "white-space: nowrap;" - }, - "white-space: pre": { - "prefix": "wsp", - "body": "white-space: pre;" - }, - "word-wrap": { - "prefix": "ww", - "body": "word-wrap: ${1|break-word,break-spaces,normal|};" - }, - "z-index": { - "prefix": "zi", - "body": "z-index: ${0:-1};" - }, - "@import": { - "prefix": "imp", - "body": "@import '${0:filename}';" - }, - "@mixin": { - "prefix": "mix", - "body": "@mixin ${1:name} {\n $0\n}" - }, - "@include": { - "prefix": "inc", - "body": "@include ${0:mixin};" - }, - "@keyframes": { - "prefix": "key", - "body": "@keyframes ${1:name} {\n $0\n}" - }, - "@media": { - "prefix": "med", - "body": "@media screen and (${1:max-width: 300px}) {\n $0\n}" - }, - "!important": { - "prefix": "!", - "body": "!important" - }, - "!important (alt)": { - "prefix": "i", - "body": "!important" - } -} \ No newline at end of file diff --git a/my-snippets/html/snippets/html.json b/my-snippets/html/snippets/html.json deleted file mode 100644 index f62ad97..0000000 --- a/my-snippets/html/snippets/html.json +++ /dev/null @@ -1,860 +0,0 @@ -{ - "doctype": { - "prefix": "doctype", - "body": [ - "", - "$1" - ], - "description": "HTML - Defines the document type", - "scope": "text.html" - }, - "a": { - "prefix": "a", - "body": "$2$3", - "description": "HTML - Defines a hyperlink", - "scope": "text.html" - }, - "abbr": { - "prefix": "abbr", - "body": "$2$3", - "description": "HTML - Defines an abbreviation", - "scope": "text.html" - }, - "address": { - "prefix": "address", - "body": [ - "
    ", - "$1", - "
    " - ], - "description": "HTML - Defines an address element", - "scope": "text.html" - }, - "area": { - "prefix": "area", - "body": "\"$4\"$5", - "description": "HTML - Defines an area inside an image map", - "scope": "text.html" - }, - "article": { - "prefix": "article", - "body": [ - "
    ", - "\t$1", - "
    " - ], - "description": "HTML - Defines an article", - "scope": "text.html" - }, - "aside": { - "prefix": "aside", - "body": [ - "$2" - ], - "description": "HTML - Defines content aside from the page content", - "scope": "text.html" - }, - "audio": { - "prefix": "audio", - "body": [ - "" - ], - "description": "HTML - Defines sounds content", - "scope": "text.html" - }, - "b": { - "prefix": "b", - "body": "$1$2", - "description": "HTML - Defines bold text", - "scope": "text.html" - }, - "base": { - "prefix": "base", - "body": "$3", - "description": "HTML - Defines a base URL for all the links in a page", - "scope": "text.html" - }, - "bdi": { - "prefix": "bdi", - "body": "$1$2", - "description": "HTML - Used to isolate text that is of unknown directionality", - "scope": "text.html" - }, - "bdo": { - "prefix": "bdo", - "body": [ - "", - "$2", - "" - ], - "description": "HTML - Defines the direction of text display", - "scope": "text.html" - }, - "big": { - "prefix": "big", - "body": "$1$2", - "description": "HTML - Used to make text bigger", - "scope": "text.html" - }, - "blockquote": { - "prefix": "blockquote", - "body": [ - "
    ", - "\t$1", - "
    " - ], - "description": "HTML - Defines a long quotation", - "scope": "text.html" - }, - "body": { - "prefix": "body", - "body": [ - "", - "\t$1", - "" - ], - "description": "HTML - Defines the body element", - "scope": "text.html" - }, - "br": { - "prefix": "br", - "body": "
    ", - "description": "HTML - Inserts a single line break", - "scope": "text.html" - }, - "button": { - "prefix": "button", - "body": "$3", - "description": "HTML - Defines a push button", - "scope": "text.html" - }, - "canvas": { - "prefix": "canvas", - "body": "$2$3", - "description": "HTML - Defines graphics", - "scope": "text.html" - }, - "caption": { - "prefix": "caption", - "body": "$1$2", - "description": "HTML - Defines a table caption", - "scope": "text.html" - }, - "cite": { - "prefix": "cite", - "body": "$1$2", - "description": "HTML - Defines a citation", - "scope": "text.html" - }, - "code": { - "prefix": "code", - "body": "$1$2", - "description": "HTML - Defines computer code text", - "scope": "text.html" - }, - "col": { - "prefix": "col", - "body": "$2", - "description": "HTML - Defines attributes for table columns", - "scope": "text.html" - }, - "colgroup": { - "prefix": "colgroup", - "body": [ - "", - "\t$1", - "" - ], - "description": "HTML - Defines group of table columns", - "scope": "text.html" - }, - "command": { - "prefix": "command", - "body": "$1$2", - "description": "HTML - Defines a command button [not supported]", - "scope": "text.html" - }, - "datalist": { - "prefix": "datalist", - "body": [ - "", - "\t$1", - "" - ], - "description": "HTML - Defines a dropdown list", - "scope": "text.html" - }, - "dd": { - "prefix": "dd", - "body": "
    $1
    $2", - "description": "HTML - Defines a definition description", - "scope": "text.html" - }, - "del": { - "prefix": "del", - "body": "$1$2", - "description": "HTML - Defines deleted text", - "scope": "text.html" - }, - "details": { - "prefix": "details", - "body": [ - "
    ", - "\t$1", - "
    " - ], - "description": "HTML - Defines details of an element", - "scope": "text.html" - }, - "dialog": { - "prefix": "dialog", - "body": "$1$2", - "description": "HTML - Defines a dialog (conversation)", - "scope": "text.html" - }, - "dfn": { - "prefix": "dfn", - "body": "$1$2", - "description": "HTML - Defines a definition term", - "scope": "text.html" - }, - "div": { - "prefix": "div", - "body": [ - "
    ", - "\t$1", - "
    " - ], - "description": "HTML - Defines a section in a document", - "scope": "text.html" - }, - "dl": { - "prefix": "dl", - "body": [ - "
    ", - "\t$1", - "
    " - ], - "description": "HTML - Defines a definition list", - "scope": "text.html" - }, - "dt": { - "prefix": "dt", - "body": "
    $1
    $2", - "description": "HTML - Defines a definition term", - "scope": "text.html" - }, - "em": { - "prefix": "em", - "body": "$1$2", - "description": "HTML - Defines emphasized text", - "scope": "text.html" - }, - "embed": { - "prefix": "embed", - "body": "$2", - "description": "HTML - Defines external interactive content ot plugin", - "scope": "text.html" - }, - "fieldset": { - "prefix": "fieldset", - "body": [ - "
    ", - "\t$1", - "
    " - ], - "description": "HTML - Defines a fieldset", - "scope": "text.html" - }, - "figcaption": { - "prefix": "figcaption", - "body": "
    $1
    $2", - "description": "HTML - Defines a caption for a figure", - "scope": "text.html" - }, - "figure": { - "prefix": "figure", - "body": [ - "
    ", - "\t$1", - "
    " - ], - "description": "HTML - Defines a group of media content, and their caption", - "scope": "text.html" - }, - "footer": { - "prefix": "footer", - "body": [ - "
    ", - "\t$1", - "
    " - ], - "description": "HTML - Defines a footer for a section or page", - "scope": "text.html" - }, - "form": { - "prefix": "form", - "body": [ - "
    ", - "\t$1", - "
    " - ], - "description": "HTML - Defines a form", - "scope": "text.html" - }, - "h1": { - "prefix": "h1", - "body": "

    $1

    $2", - "description": "HTML - Defines header 1", - "scope": "text.html" - }, - "h2": { - "prefix": "h2", - "body": "

    $1

    $2", - "description": "HTML - Defines header 2", - "scope": "text.html" - }, - "h3": { - "prefix": "h3", - "body": "

    $1

    $2", - "description": "HTML - Defines header 3", - "scope": "text.html" - }, - "h4": { - "prefix": "h4", - "body": "

    $1

    $2", - "description": "HTML - Defines header 4", - "scope": "text.html" - }, - "h5": { - "prefix": "h5", - "body": "
    $1
    $2", - "description": "HTML - Defines header 5", - "scope": "text.html" - }, - "h6": { - "prefix": "h6", - "body": "
    $1
    $2", - "description": "HTML - Defines header 6", - "scope": "text.html" - }, - "head": { - "prefix": "head", - "body": [ - "", - "\t$1", - "" - ], - "description": "HTML - Defines information about the document", - "scope": "text.html" - }, - "header": { - "prefix": "header", - "body": [ - "
    ", - "\t$1", - "
    " - ], - "description": "HTML - Defines a header for a section of page", - "scope": "text.html" - }, - "hgroup": { - "prefix": "hgroup", - "body": [ - "
    ", - "\t$1", - "
    " - ], - "description": "HTML - Defines information about a section in a document", - "scope": "text.html" - }, - "hr": { - "prefix": "hr", - "body": "
    ", - "description": "HTML - Defines a horizontal rule", - "scope": "text.html" - }, - "html": { - "prefix": "html", - "body": [ - "", - "\t$1", - "" - ], - "description": "HTML - Defines an html document", - "scope": "text.html" - }, - "html5": { - "prefix": "html5", - "body": [ - "", - "", - "\t", - "\t\t$2", - "\t\t", - "\t\t", - "\t\t", - "\t", - "\t", - "\t$4", - "\t", - "" - ], - "description": "HTML - Defines a template for a html5 document", - "scope": "text.html" - }, - "i": { - "prefix": "i", - "body": "$1$2", - "description": "HTML - Defines italic text", - "scope": "text.html" - }, - "iframe": { - "prefix": "iframe", - "body": "$3", - "description": "HTML - Defines an inline sub window", - "scope": "text.html" - }, - "img": { - "prefix": "img", - "body": "\"$2\"$3", - "description": "HTML - Defines an image", - "scope": "text.html" - }, - "input": { - "prefix": "input", - "body": "$4", - "description": "HTML - Defines an input field", - "scope": "text.html" - }, - "ins": { - "prefix": "ins", - "body": "$1$2", - "description": "HTML - Defines inserted text", - "scope": "text.html" - }, - "keygen": { - "prefix": "keygen", - "body": "$2", - "description": "HTML - Defines a generated key in a form", - "scope": "text.html" - }, - "kbd": { - "prefix": "kbd", - "body": "$1$2", - "description": "HTML - Defines keyboard text", - "scope": "text.html" - }, - "label": { - "prefix": "label", - "body": "$3", - "description": "HTML - Defines an inline window", - "scope": "text.html" - }, - "legend": { - "prefix": "legend", - "body": "$1$2", - "description": "HTML - Defines a title in a fieldset", - "scope": "text.html" - }, - "li": { - "prefix": "li", - "body": "
  • $1
  • $2", - "description": "HTML - Defines a list item", - "scope": "text.html" - }, - "link": { - "prefix": "link", - "body": "$4", - "description": "HTML - Defines a resource reference", - "scope": "text.html" - }, - "main": { - "prefix": "main", - "body": [ - "
    ", - "\t$1", - "
    " - ], - "description": "HTML - Defines an image map", - "scope": "text.html" - }, - "map": { - "prefix": "map", - "body": [ - "", - "\t$2", - "" - ], - "description": "HTML - Defines an image map", - "scope": "text.html" - }, - "mark": { - "prefix": "mark", - "body": "$1$2", - "description": "HTML - Defines marked text", - "scope": "text.html" - }, - "menu": { - "prefix": "menu", - "body": [ - "", - "\t$1", - "" - ], - "description": "HTML - Defines a menu list", - "scope": "text.html" - }, - "menuitem": { - "prefix": "menuitem", - "body": "$1$2", - "description": "HTML - Defines a menu item [firefox only]", - "scope": "text.html" - }, - "meta": { - "prefix": "meta", - "body": "$3", - "description": "HTML - Defines meta information", - "scope": "text.html" - }, - "meter": { - "prefix": "meter", - "body": "$2$3", - "description": "HTML - Defines measurement within a predefined range", - "scope": "text.html" - }, - "nav": { - "prefix": "nav", - "body": [ - "" - ], - "description": "HTML - Defines navigation links", - "scope": "text.html" - }, - "noscript": { - "prefix": "noscript", - "body": [ - "" - ], - "description": "HTML - Defines a noscript section", - "scope": "text.html" - }, - "object": { - "prefix": "object", - "body": "$4$5", - "description": "HTML - Defines an embedded object", - "scope": "text.html" - }, - "ol": { - "prefix": "ol", - "body": [ - "
      ", - "\t$1", - "
    " - ], - "description": "HTML - Defines an ordered list", - "scope": "text.html" - }, - "optgroup": { - "prefix": "optgroup", - "body": [ - "", - "\t$1", - "" - ], - "description": "HTML - Defines an option group", - "scope": "text.html" - }, - "option": { - "prefix": "option", - "body": "$3", - "description": "HTML - Defines an option in a drop-down list", - "scope": "text.html" - }, - "output": { - "prefix": "output", - "body": "$3$4", - "description": "HTML - Defines some types of output", - "scope": "text.html" - }, - "p": { - "prefix": "p", - "body": "

    $1

    $2", - "description": "HTML - Defines a paragraph", - "scope": "text.html" - }, - "param": { - "prefix": "param", - "body": "$3", - "description": "HTML - Defines a parameter for an object", - "scope": "text.html" - }, - "pre": { - "prefix": "pre", - "body": [ - "
    $1
    " - ], - "description": "HTML - Defines preformatted text", - "scope": "text.html" - }, - "progress": { - "prefix": "progress", - "body": "$3$4", - "description": "HTML - Defines progress of a task of any kind", - "scope": "text.html" - }, - "q": { - "prefix": "q", - "body": "$1$2", - "description": "HTML - Defines a short quotation", - "scope": "text.html" - }, - "rp": { - "prefix": "rp", - "body": "$1$2", - "description": "HTML - Used in ruby annotations to define what to show browsers that do not support the ruby element", - "scope": "text.html" - }, - "rt": { - "prefix": "rt", - "body": "$1$2", - "description": "HTML - Defines explanation to ruby annotations", - "scope": "text.html" - }, - "ruby": { - "prefix": "ruby", - "body": [ - "", - "$1", - "" - ], - "description": "HTML - Defines ruby annotations", - "scope": "text.html" - }, - "s": { - "prefix": "s", - "body": "$1$2", - "description": "HTML - Used to define strikethrough text", - "scope": "text.html" - }, - "samp": { - "prefix": "samp", - "body": "$1$2", - "description": "HTML - Defines sample computer code", - "scope": "text.html" - }, - "script": { - "prefix": "script", - "body": [ - "" - ], - "description": "HTML - Defines a script", - "scope": "text.html" - }, - "section": { - "prefix": "section", - "body": [ - "
    ", - "\t$1", - "
    " - ], - "description": "HTML - Defines a section", - "scope": "text.html" - }, - "select": { - "prefix": "select", - "body": [ - "" - ], - "description": "HTML - Defines a selectable list", - "scope": "text.html" - }, - "small": { - "prefix": "small", - "body": "$1$2", - "description": "HTML - Defines small text", - "scope": "text.html" - }, - "source": { - "prefix": "source", - "body": "$3", - "description": "HTML - Defines media resource", - "scope": "text.html" - }, - "span": { - "prefix": "span", - "body": "$1$2", - "description": "HTML - Defines a section in a document", - "scope": "text.html" - }, - "strong": { - "prefix": "strong", - "body": "$1$2", - "description": "HTML - Defines strong text", - "scope": "text.html" - }, - "style": { - "prefix": "style", - "body": [ - "" - ], - "description": "HTML - Defines a style definition", - "scope": "text.html" - }, - "sub": { - "prefix": "sub", - "body": "$1$2", - "description": "HTML - Defines sub-scripted text", - "scope": "text.html" - }, - "sup": { - "prefix": "sup", - "body": "$1$2", - "description": "HTML - Defines super-scripted text", - "scope": "text.html" - }, - "summary": { - "prefix": "summary", - "body": "$1$2", - "description": "HTML - Defines a visible heading for the detail element [limited support]", - "scope": "text.html" - }, - "table": { - "prefix": "table", - "body": [ - "", - "\t$1", - "
    " - ], - "description": "HTML - Defines a table", - "scope": "text.html" - }, - "tbody": { - "prefix": "tbody", - "body": [ - "", - "\t$1", - "" - ], - "description": "HTML - Defines a table body", - "scope": "text.html" - }, - "td": { - "prefix": "td", - "body": "$1$2", - "description": "HTML - Defines a table cell", - "scope": "text.html" - }, - "textarea": { - "prefix": "textarea", - "body": "$4", - "description": "HTML - Defines a text area", - "scope": "text.html" - }, - "tfoot": { - "prefix": "tfoot", - "body": [ - "", - "\t$1", - "" - ], - "description": "HTML - Defines a table footer", - "scope": "text.html" - }, - "thead": { - "prefix": "thead", - "body": [ - "", - "$1", - "" - ], - "description": "HTML - Defines a table head", - "scope": "text.html" - }, - "th": { - "prefix": "th", - "body": "$1$2", - "description": "HTML - Defines a table header", - "scope": "text.html" - }, - "time": { - "prefix": "time", - "body": "$3", - "description": "HTML - Defines a date/time", - "scope": "text.html" - }, - "title": { - "prefix": "title", - "body": "$1$2", - "description": "HTML - Defines the document title", - "scope": "text.html" - }, - "tr": { - "prefix": "tr", - "body": "$1$2", - "description": "HTML - Defines a table row", - "scope": "text.html" - }, - "track": { - "prefix": "track", - "body": "$5", - "description": "HTML - Defines a table row", - "scope": "text.html" - }, - "u": { - "prefix": "u", - "body": "$1$2", - "description": "HTML - Used to define underlined text", - "scope": "text.html" - }, - "ul": { - "prefix": "ul", - "body": [ - "
      ", - "\t$1", - "
    " - ], - "description": "HTML - Defines an unordered list", - "scope": "text.html" - }, - "var": { - "prefix": "var", - "body": "$1$2", - "description": "HTML - Defines a variable", - "scope": "text.html" - }, - "video": { - "prefix": "video", - "body": [ - "" - ], - "description": "HTML - Defines a video", - "scope": "text.html" - }, - "consoleLog": { - "prefix": "console", - "body": "console.log(${1:object});", - "description": "Displays a message in the console" - }, - "alert": { - "prefix": "alert", - "body": "alert(${1:object});", - "description": "Displays a message in the Popup Alert" - } -} \ No newline at end of file diff --git a/my-snippets/javascript-snippet/package.json b/my-snippets/javascript-snippet/package.json deleted file mode 100644 index 81bbdd0..0000000 --- a/my-snippets/javascript-snippet/package.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "name": "vscode-javascript-snippet-pack", - "publisher": "akamud", - "displayName": "JavaScript Snippet Pack ", - "description": "A snippet pack to make you more productive working with JavaScript", - "icon": "art/js-icon.png", - "galleryBanner": { - "color": "#F0DB4F", - "theme": "dark" - }, - "license": "MIT", - "bugs": { - "url": "https://github.com/akamud/vscode-javascript-snippet-pack/issues" - }, - "homepage": "https://github.com/akamud/vscode-javascript-snippet-pack/", - "repository": { - "type": "git", - "url": "https://github.com/akamud/vscode-javascript-snippet-pack/blob/master/README.md" - }, - "version": "0.1.6", - "engines": { "vscode": "^0.11.x" }, - "categories": ["Snippets"], - "keywords": [ - "Javascript", - "Typescript" - ], - "contributes": { - "snippets": [ - { - "language": "javascript", - "path": "./snippets/javascript.json" - }, - { - "language": "typescript", - "path": "./snippets/javascript.json" - }, - { - "language": "javascriptreact", - "path": "./snippets/javascript.json" - }, - { - "language": "typescriptreact", - "path": "./snippets/javascript.json" - } - ] - } -} \ No newline at end of file diff --git a/my-snippets/javascript-snippet/snippets/javascript.json b/my-snippets/javascript-snippet/snippets/javascript.json deleted file mode 100644 index c7c27a9..0000000 --- a/my-snippets/javascript-snippet/snippets/javascript.json +++ /dev/null @@ -1,300 +0,0 @@ -{ - "console.dir": { - "prefix": "cd", - "body": [ - "console.dir($1);" - ], - "description": "Code snippet for \"console.dir\"" - }, - "console.error": { - "prefix": "ce", - "body": [ - "console.error($1);" - ], - "description": "Code snippet for \"console.error\"" - }, - "console.info": { - "prefix": "ci", - "body": [ - "console.info($1);" - ], - "description": "Code snippet for \"console.info\"" - }, - "console.log": { - "prefix": "cl", - "body": [ - "console.log($1);" - ], - "description": "Code snippet for \"console.log\"" - }, - "console.warn": { - "prefix": "cw", - "body": [ - "console.warn($1);" - ], - "description": "Code snippet for \"console.warn\"" - }, - "debugger": { - "prefix": "de", - "body": [ - "debugger;$1" - ], - "description": "Code snippet for \"debugger\"" - }, - "addEventListener": { - "prefix": "ae", - "body": [ - "${1:document}.addEventListener('${2:load}', function (e) {", - "\t${3:// body}", - "});" - ], - "description": "Code snippet for \"addEventListener\"" - }, - "appendChild": { - "prefix": "ac", - "body": [ - "${1:document}.appendChild(${2:elem});" - ], - "description": "Code snippet for \"appendChild\"" - }, - "removeChild": { - "prefix": "rc", - "body": [ - "${1:document}.removeChild(${2:elem});" - ], - "description": "Code snippet for \"removeChild\"" - }, - "createElement": { - "prefix": "cel", - "body": [ - "${1:document}.createElement(${2:elem});" - ], - "description": "Code snippet for \"createElement\"" - }, - "createDocumentFragment": { - "prefix": "cdf", - "body": [ - "${1:document}.createDocumentFragment();$2" - ], - "description": "Code snippet for \"createDocumentFragment\"" - }, - "classList.add": { - "prefix": "ca", - "body": [ - "${1:document}.classList.add('${2:class}');" - ], - "description": "Code snippet for \"classList.add\"" - }, - "classList.toggle": { - "prefix": "ct", - "body": [ - "${1:document}.classList.toggle('${2:class}');" - ], - "description": "Code snippet for \"classList.toggle\"" - }, - "classList.remove": { - "prefix": "cr", - "body": [ - "${1:document}.classList.remove('${2:class}');" - ], - "description": "Code snippet for \"classList.remove\"" - }, - "getElementById": { - "prefix": "gi", - "body": [ - "${1:document}.getElementById('${2:id}');" - ], - "description": "Code snippet for \"getElementById\"" - }, - "getElementsByClassName": { - "prefix": "gc", - "body": [ - "${1:document}.getElementsByClassName('${2:class}');" - ], - "description": "Code snippet for \"getElementsByClassName\"" - }, - "getElementsByTagName": { - "prefix": "gt", - "body": [ - "${1:document}.getElementsByTagName('${2:tag}');" - ], - "description": "Code snippet for \"getElementsByTagName\"" - }, - "getAttribute": { - "prefix": "ga", - "body": [ - "${1:document}.getAttribute('${2:attr}');" - ], - "description": "Code snippet for \"getAttribute\"" - }, - "setAttribute": { - "prefix": "sa", - "body": [ - "${1:document}.setAttribute('${2:attr}', ${3:value});" - ], - "description": "Code snippet for \"setAttribute\"" - }, - "removeAttribute": { - "prefix": "ra", - "body": [ - "${1:document}.removeAttribute('${2:attr}');" - ], - "description": "Code snippet for \"removeAttribute\"" - }, - "innerHTML": { - "prefix": "ih", - "body": [ - "${1:document}.innerHTML = '${2:elem}';" - ], - "description": "Code snippet for \"innerHTML\"" - }, - "textContent": { - "prefix": "tc", - "body": [ - "${1:document}.textContent = '${2:content}';" - ], - "description": "Code snippet for \"textContent\"" - }, - "querySelector": { - "prefix": "qs", - "body": [ - "${1:document}.querySelector('${2:selector}');" - ], - "description": "Code snippet for \"querySelector\"" - }, - "querySelectorAll": { - "prefix": "qsa", - "body": [ - "${1:document}.querySelectorAll('${2:selector}');" - ], - "description": "Code snippet for \"querySelectorAll\"" - }, - "forEach": { - "prefix": "fe", - "body": [ - "${1:array}.forEach(function(item) {", - "\t${2:// body}", - "});" - ], - "description": "Code snippet for \"forEach\"" - }, - "function": { - "prefix": "fn", - "body": [ - "function ${1:methodName} (${2:arguments}) {", - "\t${3:// body}", - "}" - ], - "description": "Code snippet for function" - }, - "anonymous function": { - "prefix": "afn", - "body": [ - "function(${1:arguments}) {", - "\t${2:// body}", - "}" - ], - "description": "Code snippet for anonymous function" - }, - "prototype": { - "prefix": "pr", - "body": [ - "${1:object}.prototype.${2:method} = function(${3:arguments}) {", - "\t${4:// body}", - "}" - ], - "description": "Code snippet for prototype" - }, - "immediately-invoked function expression": { - "prefix": "iife", - "body": [ - "(function(${1:window}, ${2:document}) {", - "\t${3:// body}", - "})(${1:window}, ${2:document});" - ], - "description": "Code snippet for immediately-invoked function expression" - }, - "function call": { - "prefix": "call", - "body": [ - "${1:method}.call(${2:context}, ${3:arguments});" - ], - "description": "Code snippet for function call" - }, - "function apply": { - "prefix": "apply", - "body": [ - "${1:method}.apply(${2:context}, [${3:arguments}]);" - ], - "description": "Code snippet for function apply" - }, - "function as a property of an object": { - "prefix": "ofn", - "body": [ - "${1:functionName}: function(${2:arguments}) {", - "\t${3:// body}", - "}" - ], - "description": "Code snippet for function as a property of an object" - }, - "JSON.parse": { - "prefix": "jp", - "body": [ - "JSON.parse(${1:obj});" - ], - "description": "Code snippet for 'JSON.parse'" - }, - "JSON.stringify": { - "prefix": "js", - "body": [ - "JSON.stringify(${1:obj});" - ], - "description": "Code snippet for 'JSON.stringify'" - }, - "setInterval": { - "prefix": "si", - "body": [ - "setInterval(function() {", - "\t${0:// body}", - "}, ${1:1000});" - ], - "description": "Code snippet for 'setInterval'" - }, - "setTimeout": { - "prefix": "st", - "body": [ - "setTimeout(function() {", - "\t${0:// body}", - "}, ${1:1000});" - ], - "description": "Code snippet for 'setTimeout'" - }, - "use strict": { - "prefix": "us", - "body": [ - "'use strict';" - ], - "description": "Code snippet for 'use strict'" - }, - "alert": { - "prefix": "al", - "body": [ - "alert('${1:msg}');" - ], - "description": "Code snippet for 'alert'" - }, - "confirm": { - "prefix": "co", - "body": [ - "confirm('${1:msg}');" - ], - "description": "Code snippet for 'confirm'" - }, - "prompt": { - "prefix": "pm", - "body": [ - "prompt('${1:msg}');" - ], - "description": "Code snippet for 'prompt'" - } -} \ No newline at end of file diff --git a/my-snippets/laravel-blade/.editorconfig b/my-snippets/laravel-blade/.editorconfig deleted file mode 100644 index cf54c52..0000000 --- a/my-snippets/laravel-blade/.editorconfig +++ /dev/null @@ -1,13 +0,0 @@ -root = true - -[*] -indent_style = space -indent_size = 4 -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -[*.json] -indent_style = space -indent_size = 2 diff --git a/my-snippets/laravel-blade/.gitignore b/my-snippets/laravel-blade/.gitignore deleted file mode 100644 index bed5a05..0000000 --- a/my-snippets/laravel-blade/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -out -node_modules -*.vsix -**/*.log -.vscode/tests/ -**/temp/ \ No newline at end of file diff --git a/my-snippets/laravel-blade/.vscode/launch.json b/my-snippets/laravel-blade/.vscode/launch.json deleted file mode 100644 index 04df8b8..0000000 --- a/my-snippets/laravel-blade/.vscode/launch.json +++ /dev/null @@ -1,19 +0,0 @@ -// A launch configuration that launches the extension inside a new window -{ - "version": "1.0.0", - "configurations": [ - { - "name": "Launch Extension", - "type": "extensionHost", - "request": "launch", - "runtimeExecutable": "${execPath}", - "args": [ - "--extensionDevelopmentPath=${workspaceRoot}" - ], - "outFiles": [ - "${workspaceRoot}/out/**/*.js" - ], - "preLaunchTask": "npm" - } - ] -} \ No newline at end of file diff --git a/my-snippets/laravel-blade/.vscode/settings.json b/my-snippets/laravel-blade/.vscode/settings.json deleted file mode 100644 index a57fbe6..0000000 --- a/my-snippets/laravel-blade/.vscode/settings.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "emmet.triggerExpansionOnTab": true, - "blade.format.enable": true -} \ No newline at end of file diff --git a/my-snippets/laravel-blade/.vscode/tasks.json b/my-snippets/laravel-blade/.vscode/tasks.json deleted file mode 100644 index 16951f8..0000000 --- a/my-snippets/laravel-blade/.vscode/tasks.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "version": "2.0.0", - "type": "shell", - "command": "npm", - // run the custom script "compile" as defined in package.json - "args": [ - "run", - "compile", - "--loglevel", - "silent" - ], - "isBackground": true, - // The tsc compiler is started in watching mode - "problemMatcher": "$tsc-watch" -} \ No newline at end of file diff --git a/my-snippets/laravel-blade/.vscodeignore b/my-snippets/laravel-blade/.vscodeignore deleted file mode 100644 index c7db4d8..0000000 --- a/my-snippets/laravel-blade/.vscodeignore +++ /dev/null @@ -1,18 +0,0 @@ -.vscode/**/* -.gitignore -tests/**/* -.vscode-test/** -out/test/** -test/** -src/** -**/*.map -tsconfig.json -vsc-extension-quickstart.md -server/src/** -server/lib/** -server/*.json -server/node_modules/.bin/ -webpack.config.js -node_modules/** -**/*.ts -**/tsconfig.json diff --git a/my-snippets/laravel-blade/CHANGELOG.md b/my-snippets/laravel-blade/CHANGELOG.md deleted file mode 100644 index 2fbf4c0..0000000 --- a/my-snippets/laravel-blade/CHANGELOG.md +++ /dev/null @@ -1,253 +0,0 @@ -## 1.32.0 - -- Add `@disabled` directive and `b:disabled` snippet ([@JustinByrne](https://github.com/JustinByrne) - [PR #151](https://github.com/onecentlin/laravel-blade-snippets-vscode/pull/151)) -- Add `b:class` snippet (PR #136 and PR #140 - Thanks to [@lakuapik](https://github.com/lakuapik) and [@wilsenhc](https://github.com/wilsenhc)) - -## 1.31.0 - -- Add `b:aware` and `b:js` snippet -- Add `@aware` directive ([Laravel 8.64](https://laravel-news.com/laravel-8-64-0)) -- Add `@js` directive ([Laravel 8.71](https://laravel-news.com/laravel-8-71-0)) -- Update `Blade::render` and `Blade::renderComponent` snippet - -## 1.30.0 - -Add Laravel 9 features - -- Add `b:checked` and `b:selected` snippet -- Add `@checked` and `@selected` directive syntax highlight -- Add `Blade::render` and `Blade::renderComponent` snippet - -## 1.29.0 - -Happy New Year 2022! - -- Add `b:canany` and `b:canany-cananyelse` snippet ([@JustinByrne](https://github.com/JustinByrne) - [PR #144](https://github.com/onecentlin/laravel-blade-snippets-vscode/pull/144)) -- Fix snippet -- Update blade syntaxes -- Update packages - -## 1.28.0 - -- Added support attribute expressions syntax highlighting ([@cpof-tea](https://github.com/cpof-tea) - [PR #138](https://github.com/onecentlin/laravel-blade-snippets-vscode/pull/138)) - -## 1.27.0 - -- Add `@class` directive syntax highlight -- Update blade syntaxes -- Fix snippet - -## 1.26.0 - -- Add `b:once` snippet ([@lakuapik](https://github.com/lakuapik) - [PR #137](https://github.com/onecentlin/laravel-blade-snippets-vscode/pull/137)) -- Add `Blade::stringable` snippet ([@lakuapik](https://github.com/lakuapik) - [PR #135](https://github.com/onecentlin/laravel-blade-snippets-vscode/pull/135)) -- Update packages - -## 1.25.0 - -- Add `@once` directive -- Fix ([#121](https://github.com/onecentlin/laravel-blade-snippets-vscode/issues/121) @php() highlighting -- Update blade syntaxes - -## 1.24.0 - -- Update blade syntaxes - -## 1.23.0 - -- Add `@livewireStyles`, `@livewireScripts`, `@livewire` directive (v8.x) -- Add `livewire:styles`, `livewire:scripts`, `livewire:component` snippets -- Cleanup snippets - -## 1.22.0 - -- Add `@includeUnless` directive (v6.x) -- Add environment directives: `@production`, `@env` (v7.x) -- Rename language mode using `Blade` instead of `Laravel Blade` -- Enable language feature in blade language mode -- Reduce extension package size - -## 1.21.0 - -- Add `b:error` snippets ([@CaddyDz](https://github.com/CaddyDz) - [PR #95](https://github.com/onecentlin/laravel-blade-snippets-vscode/pull/95)) -- Add `b:props` snippets -- Add blade extensions snippets - - `Blade::component` - - `Blade::include` - - `Blade::if` - - `Blade::directive` - -## 1.20.0 - -- Update blade formatter fixed for updated languageservice - -## 1.19.0 - -- Append html format options to html formatter ([@ayatkyo](https://github.com/ayatkyo) - [PR #87](https://github.com/onecentlin/laravel-blade-snippets-vscode/pull/87)) -- Update package dependencies - -## 1.18.0 - -- Add `b:csrf`, `b:method`, `b:dump` snipptes ([@HasanAlyazidi](https://github.com/HasanAlyazidi) - [PR #60](https://github.com/onecentlin/laravel-blade-snippets-vscode/pull/60)) -- Fix comment with extra spaces (#59) -- Fix formatting issue in url syntax (#57) -- Fix shorthand `@php()` for Roots/Sage WordPress Template with html tag syntax highlight (#53) - -## 1.17.0 - -- Syntax highlighting enhancement -- Add syntax highlighting for class static method -- Add `b:lang` snippet (#52) - -## 1.16.0 - -- Fix tag attributes completition (#24) -- Fix comment issue in `script`, `style`, `php` block with `Ctrl + /` or `โŒ˜ + /` keymap shortcut (#25, #34) - -## 1.15.0 - -- Support Envoy directives: `@setup`, `@servers`, `@task`, `@story`, `@finished`, `@slack` (#41) - -## 1.14.2 - -- Fix error in Blade Language Server (#46) -- Fix extensionPath of undefined (#47) -- Emmet setting changed (#48) -> Settings below for blade is no longer needed. ->```json ->"emmet.includeLanguages": { -> "blade": "html" ->}, ->``` - -## 1.14.0 - -- Fix blade syntax broken with VSCode 1.20.0 release (#42) -- Modify the highlight, add to the style and script autocomplete ([@tiansin](https://github.com/tiansin) - [PR #43](https://github.com/onecentlin/laravel-blade-snippets-vscode/pull/43)) -- Fix javascript autocompletion not working in script tag (#39) -- Add `b:unless` snippet - -## 1.13.0 - -- Fix spaces on format (#40) -- Enable format selection (#10) -- Enhance blade format (#32, #36) - -## 1.12.0 - -- Add `blade.format.enable` configuration setting for manual enable blade file format. (#30) -```json -"blade.format.enable": true, -``` -- Add `@includeFirst` directive -- Add `b:includeFirst` snippet -- Fix minor syntax issue - -## 1.11.0 - -- Fix indent issue #9, #35 ([@izcream](https://github.com/izcream) - [PR #38](https://github.com/onecentlin/laravel-blade-snippets-vscode/pull/38)) -- Fix minor whitespace inconsistencies ([@raniesantos](https://github.com/raniesantos) - [PR #28](https://github.com/onecentlin/laravel-blade-snippets-vscode/pull/28/files)) - -## 1.10.0 - -- Update syntax highlighting -- Added `Document Highlight Provider` and `Document Format Provider` ([@TheColorRed](https://github.com/TheColorRed) - [PR #17](https://github.com/onecentlin/laravel-blade-snippets-vscode/pull/17)) - -## 1.9.0 - -Laravel 5.4 blade directives & snippets: - -- Add `@isset`, `@empty`, `@includeWhen` directives -- Add `b:isset`, `b:empty`, `b:includeWhen` snippets - -Laravel 5.5 blade directives & snippets: - -- Add `@auth`, `@guest`, `@switch`, `@case`, `@default` directives -- Add `b:auth`, `b:guest`, `b:switch` snippets - -Syntax Enhancement - -- Change grammar of blade directive ([@mikebronner](https://github.com/mikebronner) - [PR #23](https://github.com/onecentlin/laravel-blade-snippets-vscode/pull/23)) - -## 1.8.2 - -- Update README ([#18](https://github.com/onecentlin/laravel-blade-snippets-vscode/issues/18), [#19](https://github.com/onecentlin/laravel-blade-snippets-vscode/pull/19)) - -## 1.8.1 - -- Fix syntax parse failed [#5](https://github.com/onecentlin/laravel-blade-snippets-vscode/issues/5) - -## 1.8.0 - -- Add `@can` and `@cannot` related directives ([#4](https://github.com/onecentlin/laravel-blade-snippets-vscode/issues/4)) -- Add `b:can`, `b:can-elsecan`, `b:cannot`, `b:cannot-elsecannot` authorizing snippets ([#4](https://github.com/onecentlin/laravel-blade-snippets-vscode/issues/4)) -- Add `lv:mix` helper -- Fix for loop snippet - -## 1.7.0 - -- Enhance blade syntax highlighting -- Fix loop snippets - -## 1.6.1 - -- Fix extra slashes in `lv:*` helper snippets - -## 1.6 - -- Support `@component` and `@slot` directive added in Laravel 5.4 -- Fix [#3](https://github.com/onecentlin/laravel-blade-snippets-vscode/issues/3) issue - -## 1.5 - -Support new directive added in Laravel 5.3 - -### PHP - -In some situations, it's useful to embed PHP code into your views. You can use the Blade `@php` directive to execute a block of plain PHP within your template: - -``` -@php - // -@endphp -``` - -### Include Sub-views - -If you attempt to `@include` a view which does not exist, Laravel will throw an error. If you would like to include a view that may or may not be present, you should use the `@includeIf` directive: - -``` -@includeIf('view.name', ['some' => 'data']) -``` - -## 1.4 - -Update language mode recognition and emmet setting for VS Code 1.5+ - -## 1.3 - -Support Laravel 5.3 blade syntax - -* `@verbatim` - displaying JavaScript variables in a large portion in template - -``` -@verbatim -
    - Hello, {{ name }}. -
    -@endverbatim -``` - -* `$loop` variable : index, remaining, count, first, last, depth, parent - -``` -$loop->index -$loop->remaining -$loop->count -$loop->first -$loop->last -$loop->depth -$loop->parent -``` - -* Add pagination links helper snippet: `lv:pagination-links` diff --git a/my-snippets/laravel-blade/LICENSE.md b/my-snippets/laravel-blade/LICENSE.md deleted file mode 100644 index fd5ad8c..0000000 --- a/my-snippets/laravel-blade/LICENSE.md +++ /dev/null @@ -1,9 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2016 Winnie Lin - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/my-snippets/laravel-blade/README.md b/my-snippets/laravel-blade/README.md deleted file mode 100644 index 89b66d5..0000000 --- a/my-snippets/laravel-blade/README.md +++ /dev/null @@ -1,149 +0,0 @@ -# [Laravel Blade Snippets](https://marketplace.visualstudio.com/items?itemName=onecentlin.laravel-blade) - -Laravel blade snippets and syntax highlight support for Visual Studio Code. - -> Suggest Laravel related extension: [Laravel Snippets](https://marketplace.visualstudio.com/items?itemName=onecentlin.laravel5-snippets) - -## Screenshot - -![Demo](https://github.com/onecentlin/laravel-blade-snippets-vscode/raw/master/images/screenshot.gif) - -## User Settings - -Open `Preferences` -> `Settings` - -```json -"emmet.triggerExpansionOnTab": true, // enable tab to expanse emmet tags -"blade.format.enable": true, // if you would like to enable blade format -``` - -Specific settings for blade language - -```json -"[blade]": { - "editor.autoClosingBrackets": "always" -}, -``` - -## Features - -- Blade syntax highlight -- Blade snippets -- Emmet works in blade template -- Blade formatting - -## Blade Syntax Hightlight - -- Auto detected with `.blade.php` extension -- Manually switch language mode to `Blade` (`Ctrl + K, M` or `โŒ˜ + K, M`) - -## Laravel Blade Snippets - -| Trigger | Snippet | -| ------------------- | ----------------------------------------- | -| b:extends | @extends | -| b:yield | @yield | -| b:section | @section...@endsection | -| b:section-show | @section...@show | -| b:if | @if...@endif | -| b:if-else | @if...@else...@endif | -| b:unless | @unless...@endunless | -| b:has-section | @hasSection...@else...@endif | -| b:for | @for...@endfor | -| b:foreach | @foreach...@endforeach | -| b:forelse | @forelse...@empty...@endforelse | -| b:while | @while...@endwhile | -| b:each | @each | -| b:push | @push...@endpush | -| b:stack | @stack | -| b:inject | @inject | -| b:comment | {{-- comment --}} (`Ctrl + /` or `โŒ˜ + /`) | -| b:echo | {{ $data }} | -| b:echo-html | {!! $html !!} | -| b:echo-raw | @{{ variable }} | -| b:can | @can...@endcan (v5.1) | -| b:can-elsecan | @can...@elsecan...@endcan (v5.1) | -| b:canany | @canany...@endcanany (v5.8) | -| b:canany-elsecanany | @canany...@elsecanany...@endcanany (v5.8) | -| b:cannot | @cannot...@endcannot (v5.3) | -| b:cannot-elsecannot | @cannot...@elsecannot...@endcannot (v5.3) | -| b:verbatim | @verbatim...@endverbatim (v5.3) | -| b:php | @php...@endphp (v5.3) | -| b:includeIf | @includeIf (v5.3) | -| b:includeWhen | @includeWhen (v5.4) | -| b:includeFirst | @includeFirst (v5.5) | -| b:includeUnless | @includeUnless (v6.x) | -| b:component | @component...@endcomponent (v5.4) | -| b:slot | @slot...@endslot (v5.4) | -| b:isset | @isset...@endisset (v5.4) | -| b:empty | @empty...@endempty (v5.4) | -| b:auth | @auth...@endauth (v5.5) | -| b:guest | @guest...@endguest (v5.5) | -| b:switch | @switch...@case...@endswitch (v5.5) | -| b:lang | @lang | -| b:csrf | @csrf (v5.6) | -| b:method | @method(...) (v5.6) | -| b:dump | @dump(...) (v5.6) | -| b:error | @error...@enderror (v5.8) | -| b:props | @props (v7.4) | -| b:production | @production...@endproduction | -| b:env | @env...@endenv | -| b:once | @once...@endonce | -| b:class | @class (v8.51) | -| b:aware | @aware (v8.64) | -| b:js | @js (v8.71) | -| b:checked | @checked (v9.x) | -| b:selected | @selected (v9.x) | -| b:disabled | @disabled (v9.x) | - -### $loop variable (Laravel v5.3+) - -| Trigger | Snippet | -| ------------ | ------------------------------------------------------ | -| b:loop | $loop->(index,remaining,count,first,last,depth,parent) | -| b:loop-first | @if($loop->first)...@endif | -| b:loop-last | @if($loop->last)...@endif | - -## Laravel Helper Snippets for Blade - -| Trigger | Laravel Helper | -| ------------------- | --------------------- | -| lv:elixir | elixir() - deprecated | -| lv:mix | mix() (v5.4) | -| lv:trans | trans() | -| lv:action | action() | -| lv:secure-asset | secure_asset() | -| lv:url | url() | -| lv:asset | asset() | -| lv:route | route() | -| lv:csrf-field | csrf_field() | -| lv:csrf-token | csrf_token() | -| lv:pagination-links | $collection->links() | - -## Blade extensions - -Register in the `boot` method of `ServiceProvider` - -- `Blade::component` -- `Blade::include` -- `Blade::if` -- `Blade::directive` -- `Blade::stringable` - -Rendering inline blade templates - -- `Blade::render` -- `Blade::renderComponent` - -## Contact - -Please file any [issues](https://github.com/onecentlin/laravel-blade-snippets-vscode/issues) or have a suggestion please tweet me [@onecentlin](https://twitter.com/onecentlin). - -## Credits - -- Blade language grammar is based on [Medalink syntax definition](https://github.com/Medalink/laravel-blade) for Sublime Text; Converted from [Blade templating support in Atom](https://github.com/jawee/language-blade) -- Textmate language format file is based on [Textmate bundle for Laravel 5](https://github.com/loranger/Laravel.tmbundle). - -## License - -Please read [License](https://github.com/onecentlin/laravel-blade-snippets-vscode/blob/master/LICENSE.md) for more information diff --git a/my-snippets/laravel-blade/blade.configuration.json b/my-snippets/laravel-blade/blade.configuration.json deleted file mode 100644 index 8eae4b7..0000000 --- a/my-snippets/laravel-blade/blade.configuration.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "comments": { - "blockComment": [ "{{--", "--}}" ] - }, - "brackets": [ - ["{", "}"], - ["[", "]"], - ["(", ")"] - ], - "autoClosingPairs": [ - ["{", "}"], - ["[", "]"], - ["(", ")"], - ["\"", "\""], - ["'", "'"] - ], - "surroundingPairs": [ - ["{", "}"], - ["[", "]"], - ["(", ")"], - ["\"", "\""], - ["'", "'"] - ] -} \ No newline at end of file diff --git a/my-snippets/laravel-blade/images/icon.png b/my-snippets/laravel-blade/images/icon.png deleted file mode 100644 index 57eb55f..0000000 Binary files a/my-snippets/laravel-blade/images/icon.png and /dev/null differ diff --git a/my-snippets/laravel-blade/images/language-mode.png b/my-snippets/laravel-blade/images/language-mode.png deleted file mode 100644 index 36a2c54..0000000 Binary files a/my-snippets/laravel-blade/images/language-mode.png and /dev/null differ diff --git a/my-snippets/laravel-blade/images/screenshot.gif b/my-snippets/laravel-blade/images/screenshot.gif deleted file mode 100644 index f0a8a46..0000000 Binary files a/my-snippets/laravel-blade/images/screenshot.gif and /dev/null differ diff --git a/my-snippets/laravel-blade/images/screenshots.png b/my-snippets/laravel-blade/images/screenshots.png deleted file mode 100644 index 5a481b9..0000000 Binary files a/my-snippets/laravel-blade/images/screenshots.png and /dev/null differ diff --git a/my-snippets/laravel-blade/package-lock.json b/my-snippets/laravel-blade/package-lock.json deleted file mode 100644 index f2467b5..0000000 --- a/my-snippets/laravel-blade/package-lock.json +++ /dev/null @@ -1,8539 +0,0 @@ -{ - "name": "laravel-blade", - "version": "1.31.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "laravel-blade", - "version": "1.31.0", - "dependencies": { - "vscode-css-languageservice": "^5.1.7", - "vscode-html-languageservice": "^4.1.0", - "vscode-languageclient": "^6.1.3", - "vscode-languageserver-types": "^3.16.0" - }, - "devDependencies": { - "@types/node": "^16.0.0", - "@types/vscode": "^1.46.0", - "ts-loader": "^7.0.5", - "typescript": "^3.9.5", - "webpack": "^4.43.0", - "webpack-cli": "^4.9.1" - }, - "engines": { - "vscode": "^1.46.0" - } - }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz", - "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==", - "dev": true, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@types/node": { - "version": "16.11.17", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.17.tgz", - "integrity": "sha512-C1vTZME8cFo8uxY2ui41xcynEotVkczIVI5AjLmy5pkpBv/FtG+jhtOlfcPysI8VRVwoOMv6NJm44LGnoMSWkw==", - "dev": true - }, - "node_modules/@types/vscode": { - "version": "1.46.0", - "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.46.0.tgz", - "integrity": "sha512-8m9wPEB2mcRqTWNKs9A9Eqs8DrQZt0qNFO8GkxBOnyW6xR//3s77SoMgb/nY1ctzACsZXwZj3YRTDsn4bAoaUw==", - "dev": true - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dev": true, - "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", - "dev": true, - "dependencies": { - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "node_modules/@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", - "dev": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", - "dev": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", - "dev": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "node_modules/@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webpack-cli/configtest": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.0.tgz", - "integrity": "sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg==", - "dev": true, - "peerDependencies": { - "webpack": "4.x.x || 5.x.x", - "webpack-cli": "4.x.x" - } - }, - "node_modules/@webpack-cli/info": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.0.tgz", - "integrity": "sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw==", - "dev": true, - "dependencies": { - "envinfo": "^7.7.3" - }, - "peerDependencies": { - "webpack-cli": "4.x.x" - } - }, - "node_modules/@webpack-cli/serve": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.0.tgz", - "integrity": "sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA==", - "dev": true, - "peerDependencies": { - "webpack-cli": "4.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "node_modules/acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true, - "peerDependencies": { - "ajv": ">=5.0.0" - } - }, - "node_modules/ajv-keywords": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.0.tgz", - "integrity": "sha512-eyoaac3btgU8eJlvh01En8OCKzRqlLe2G5jDsCr3RiE2uLGMEEB1aaGwVVpwR8M95956tGH6R+9edC++OvzaVw==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "optional": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "node_modules/arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", - "dev": true, - "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/asn1.js/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - }, - "node_modules/assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dev": true, - "dependencies": { - "object-assign": "^4.1.1", - "util": "0.10.3" - } - }, - "node_modules/assert/node_modules/inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "node_modules/assert/node_modules/util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "dependencies": { - "inherits": "2.0.1" - } - }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true, - "optional": true - }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true, - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "node_modules/base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "dependencies": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", - "dev": true - }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, - "optional": true, - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "node_modules/bn.js": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.2.tgz", - "integrity": "sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==", - "dev": true - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "node_modules/browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "dependencies": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "dependencies": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "node_modules/browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "dependencies": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" - } - }, - "node_modules/browserify-rsa/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - }, - "node_modules/browserify-sign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.0.tgz", - "integrity": "sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA==", - "dev": true, - "dependencies": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.2", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - } - }, - "node_modules/browserify-sign/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/browserify-sign/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, - "dependencies": { - "pako": "~1.0.5" - } - }, - "node_modules/buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "dev": true, - "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "node_modules/buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "node_modules/buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, - "node_modules/cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "dependencies": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "node_modules/cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "dependencies": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chokidar": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", - "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", - "dev": true, - "optional": true, - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "node_modules/chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/colorette": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", - "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", - "dev": true - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "node_modules/component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true - }, - "node_modules/constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, - "node_modules/copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "dependencies": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - } - }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "node_modules/create-ecdh": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" - } - }, - "node_modules/create-ecdh/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - }, - "node_modules/create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "node_modules/create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "dependencies": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - }, - "engines": { - "node": "*" - } - }, - "node_modules/cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true - }, - "node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "node_modules/diffie-hellman/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - }, - "node_modules/domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true, - "engines": { - "node": ">=0.4", - "npm": ">=1.2" - } - }, - "node_modules/duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/elliptic/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", - "dev": true, - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", - "dev": true, - "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" - } - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "dev": true, - "dependencies": { - "estraverse": "^4.1.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/events": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", - "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==", - "dev": true, - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "dependencies": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extend-shallow/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "dependencies": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fastest-levenshtein": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", - "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", - "dev": true - }, - "node_modules/figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "dev": true - }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "dependencies": { - "map-cache": "^0.2.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "node_modules/fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "optional": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "dev": true - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hash-base/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/hash-base/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", - "dev": true - }, - "node_modules/iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, - "node_modules/import-local": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.3.tgz", - "integrity": "sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==", - "dev": true, - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "optional": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "node_modules/is-core-module": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", - "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "optional": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "dependencies": { - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - }, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "dependencies": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "bin": { - "miller-rabin": "bin/miller-rabin" - } - }, - "node_modules/miller-rabin/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "node_modules/mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "dependencies": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mixin-deep/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, - "dependencies": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - } - }, - "node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/nan": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", - "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", - "dev": true, - "optional": true - }, - "node_modules/nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "node_modules/node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dev": true, - "dependencies": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - } - }, - "node_modules/node-libs-browser/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "dependencies": { - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true - }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "node_modules/parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "dev": true, - "dependencies": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - } - }, - "node_modules/parse-asn1": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", - "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", - "dev": true, - "dependencies": { - "asn1.js": "^4.0.0", - "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true - }, - "node_modules/path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true, - "optional": true - }, - "node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", - "dev": true, - "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true, - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, - "node_modules/public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/public-encrypt/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "dependencies": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - } - }, - "node_modules/pumpify/node_modules/pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "dependencies": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "optional": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/rechoir": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", - "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", - "dev": true, - "dependencies": { - "resolve": "^1.9.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true, - "optional": true - }, - "node_modules/repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "dev": true, - "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "deprecated": "https://github.com/lydell/resolve-url#deprecated", - "dev": true - }, - "node_modules/ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "node_modules/run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, - "dependencies": { - "aproba": "^1.1.1" - } - }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "dependencies": { - "ret": "~0.1.10" - } - }, - "node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true - }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/signal-exit": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", - "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", - "dev": true - }, - "node_modules/snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "dependencies": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "dependencies": { - "kind-of": "^3.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true - }, - "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "dev": true, - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true - }, - "node_modules/split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "dependencies": { - "extend-shallow": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", - "dev": true, - "dependencies": { - "figgy-pudding": "^3.5.1" - } - }, - "node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dev": true, - "dependencies": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "node_modules/stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "node_modules/stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "dev": true, - "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "node_modules/stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true - }, - "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "dev": true, - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "dev": true, - "dependencies": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/terser/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/timers-browserify": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", - "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", - "dev": true, - "dependencies": { - "setimmediate": "^1.0.4" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, - "node_modules/to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/ts-loader": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-7.0.5.tgz", - "integrity": "sha512-zXypEIT6k3oTc+OZNx/cqElrsbBtYqDknf48OZos0NQ3RTt045fBIU8RRSu+suObBzYB355aIPGOe/3kj9h7Ig==", - "dev": true, - "dependencies": { - "chalk": "^2.3.0", - "enhanced-resolve": "^4.0.0", - "loader-utils": "^1.0.2", - "micromatch": "^4.0.0", - "semver": "^6.0.0" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "typescript": "*" - } - }, - "node_modules/tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", - "dev": true - }, - "node_modules/tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true - }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "node_modules/typescript": { - "version": "3.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.5.tgz", - "integrity": "sha512-hSAifV3k+i6lEoCJ2k6R2Z/rp/H3+8sdmcn5NrS3/3kE7+RyZXm9aqvxWqjEXHAd8b0pShatpcdMTvEdvAJltQ==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, - "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "dependencies": { - "unique-slug": "^2.0.0" - } - }, - "node_modules/unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4" - } - }, - "node_modules/unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true, - "optional": true, - "engines": { - "node": ">=4", - "yarn": "*" - } - }, - "node_modules/uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "deprecated": "Please see https://github.com/lydell/urix#deprecated", - "dev": true - }, - "node_modules/url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - }, - "node_modules/use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dev": true, - "dependencies": { - "inherits": "2.0.3" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "node_modules/util/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "node_modules/vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, - "node_modules/vscode-css-languageservice": { - "version": "5.1.7", - "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-5.1.7.tgz", - "integrity": "sha512-h4oafcZaGFe2VtbNIlkZDmLEP0GQha3E5Ct2YMH4p/p9xYC8yWDNQ5CD+VF3UnSijKPSKmA+oc4cKjhJBowGKw==", - "dependencies": { - "vscode-languageserver-textdocument": "^1.0.1", - "vscode-languageserver-types": "^3.16.0", - "vscode-nls": "^5.0.0", - "vscode-uri": "^3.0.2" - } - }, - "node_modules/vscode-html-languageservice": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-4.1.0.tgz", - "integrity": "sha512-QQrEKfpfbeglD8Jcai4fQDQ7vOJrN6LyiOs47Y6qAxnhve+ervw1kP2UCt9ohHe/6teNWJDYTGxLDgs5iAvitw==", - "dependencies": { - "vscode-languageserver-textdocument": "^1.0.1", - "vscode-languageserver-types": "^3.16.0", - "vscode-nls": "^5.0.0", - "vscode-uri": "^3.0.2" - } - }, - "node_modules/vscode-jsonrpc": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-5.0.1.tgz", - "integrity": "sha512-JvONPptw3GAQGXlVV2utDcHx0BiY34FupW/kI6mZ5x06ER5DdPG/tXWMVHjTNULF5uKPOUUD0SaXg5QaubJL0A==", - "engines": { - "node": ">=8.0.0 || >=10.0.0" - } - }, - "node_modules/vscode-languageclient": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-6.1.4.tgz", - "integrity": "sha512-EUOU+bJu6axmt0RFNo3nrglQLPXMfanbYViJee3Fbn2VuQoX0ZOI4uTYhSRvYLP2vfwTP/juV62P/mksCdTZMA==", - "dependencies": { - "semver": "^6.3.0", - "vscode-languageserver-protocol": "3.15.3" - }, - "engines": { - "vscode": "^1.41.0" - } - }, - "node_modules/vscode-languageserver-protocol": { - "version": "3.15.3", - "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.15.3.tgz", - "integrity": "sha512-zrMuwHOAQRhjDSnflWdJG+O2ztMWss8GqUUB8dXLR/FPenwkiBNkMIJJYfSN6sgskvsF0rHAoBowNQfbyZnnvw==", - "dependencies": { - "vscode-jsonrpc": "^5.0.1", - "vscode-languageserver-types": "3.15.1" - } - }, - "node_modules/vscode-languageserver-protocol/node_modules/vscode-languageserver-types": { - "version": "3.15.1", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.15.1.tgz", - "integrity": "sha512-+a9MPUQrNGRrGU630OGbYVQ+11iOIovjCkqxajPa9w57Sd5ruK8WQNsslzpa0x/QJqC8kRc2DUxWjIFwoNm4ZQ==" - }, - "node_modules/vscode-languageserver-textdocument": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.1.tgz", - "integrity": "sha512-UIcJDjX7IFkck7cSkNNyzIz5FyvpQfY7sdzVy+wkKN/BLaD4DQ0ppXQrKePomCxTS7RrolK1I0pey0bG9eh8dA==" - }, - "node_modules/vscode-languageserver-types": { - "version": "3.16.0", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz", - "integrity": "sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==" - }, - "node_modules/vscode-nls": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.0.0.tgz", - "integrity": "sha512-u0Lw+IYlgbEJFF6/qAqG2d1jQmJl0eyAGJHoAJqr2HT4M2BNuQYSEiSE75f52pXHSJm8AlTjnLLbBFPrdz2hpA==" - }, - "node_modules/vscode-uri": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.2.tgz", - "integrity": "sha512-jkjy6pjU1fxUvI51P+gCsxg1u2n8LSt0W6KrCNQceaziKzff74GoWmjVG46KieVzybO1sttPQmYfrwSHey7GUA==" - }, - "node_modules/watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" - }, - "optionalDependencies": { - "chokidar": "^3.4.1", - "watchpack-chokidar2": "^2.0.1" - } - }, - "node_modules/watchpack-chokidar2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", - "dev": true, - "optional": true, - "dependencies": { - "chokidar": "^2.1.8" - } - }, - "node_modules/watchpack-chokidar2/node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "optional": true, - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "optional": true, - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "optional": true, - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "deprecated": "Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.", - "dev": true, - "optional": true, - "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "optionalDependencies": { - "fsevents": "^1.2.7" - } - }, - "node_modules/watchpack-chokidar2/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "optional": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "optional": true, - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "optional": true, - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "optional": true, - "dependencies": { - "binary-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "optional": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "optional": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "optional": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "optional": true, - "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/watchpack-chokidar2/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "optional": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", - "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=6.11.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - }, - "webpack-command": { - "optional": true - } - } - }, - "node_modules/webpack-cli": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz", - "integrity": "sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.1.0", - "@webpack-cli/info": "^1.4.0", - "@webpack-cli/serve": "^1.6.0", - "colorette": "^2.0.14", - "commander": "^7.0.0", - "execa": "^5.0.0", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^2.2.0", - "rechoir": "^0.7.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "peerDependencies": { - "webpack": "4.x.x || 5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "@webpack-cli/migrate": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/webpack-cli/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/webpack-merge": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", - "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", - "dev": true, - "dependencies": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "node_modules/webpack-sources/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "node_modules/webpack/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", - "dev": true - }, - "node_modules/worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "dev": true, - "dependencies": { - "errno": "~0.1.7" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true, - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", - "dev": true - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } - }, - "dependencies": { - "@discoveryjs/json-ext": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz", - "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==", - "dev": true - }, - "@types/node": { - "version": "16.11.17", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.17.tgz", - "integrity": "sha512-C1vTZME8cFo8uxY2ui41xcynEotVkczIVI5AjLmy5pkpBv/FtG+jhtOlfcPysI8VRVwoOMv6NJm44LGnoMSWkw==", - "dev": true - }, - "@types/vscode": { - "version": "1.46.0", - "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.46.0.tgz", - "integrity": "sha512-8m9wPEB2mcRqTWNKs9A9Eqs8DrQZt0qNFO8GkxBOnyW6xR//3s77SoMgb/nY1ctzACsZXwZj3YRTDsn4bAoaUw==", - "dev": true - }, - "@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", - "dev": true - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", - "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", - "dev": true - }, - "@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "@webpack-cli/configtest": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.0.tgz", - "integrity": "sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg==", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.0.tgz", - "integrity": "sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw==", - "dev": true, - "requires": { - "envinfo": "^7.7.3" - } - }, - "@webpack-cli/serve": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.0.tgz", - "integrity": "sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA==", - "dev": true, - "requires": {} - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", - "dev": true - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true, - "requires": {} - }, - "ajv-keywords": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.0.tgz", - "integrity": "sha512-eyoaac3btgU8eJlvh01En8OCKzRqlLe2G5jDsCr3RiE2uLGMEEB1aaGwVVpwR8M95956tGH6R+9edC++OvzaVw==", - "dev": true, - "requires": {} - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "optional": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dev": true, - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } - } - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true, - "optional": true - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", - "dev": true - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "optional": true - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, - "optional": true, - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "bn.js": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.2.tgz", - "integrity": "sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "browserify-sign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.0.tgz", - "integrity": "sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA==", - "dev": true, - "requires": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.2", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } - } - }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, - "requires": { - "pako": "~1.0.5" - } - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "chokidar": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", - "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", - "dev": true, - "optional": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "colorette": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", - "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", - "dev": true - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "create-ecdh": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, - "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true - }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - } - }, - "envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", - "dev": true - }, - "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", - "dev": true, - "requires": { - "prr": "~1.0.1" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "dev": true, - "requires": { - "estraverse": "^4.1.0" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "events": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", - "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==", - "dev": true - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fastest-levenshtein": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", - "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", - "dev": true - }, - "figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "dev": true - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "optional": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dev": true, - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", - "dev": true - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, - "import-local": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.3.tgz", - "integrity": "sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - } - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "dev": true - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "optional": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-core-module": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", - "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, - "optional": true - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "optional": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "nan": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", - "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", - "dev": true, - "optional": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dev": true, - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "optional": true - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "dev": true, - "requires": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - } - }, - "parse-asn1": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", - "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", - "dev": true, - "requires": { - "asn1.js": "^4.0.0", - "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true, - "optional": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", - "dev": true, - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "optional": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "rechoir": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", - "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", - "dev": true, - "requires": { - "resolve": "^1.9.0" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true, - "optional": true - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "dev": true, - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, - "requires": { - "aproba": "^1.1.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "signal-exit": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", - "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", - "dev": true - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "dev": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dev": true, - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "dev": true, - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true - }, - "terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "dev": true, - "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "timers-browserify": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", - "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", - "dev": true, - "requires": { - "setimmediate": "^1.0.4" - } - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "ts-loader": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-7.0.5.tgz", - "integrity": "sha512-zXypEIT6k3oTc+OZNx/cqElrsbBtYqDknf48OZos0NQ3RTt045fBIU8RRSu+suObBzYB355aIPGOe/3kj9h7Ig==", - "dev": true, - "requires": { - "chalk": "^2.3.0", - "enhanced-resolve": "^4.0.0", - "loader-utils": "^1.0.2", - "micromatch": "^4.0.0", - "semver": "^6.0.0" - } - }, - "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", - "dev": true - }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "typescript": { - "version": "3.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.5.tgz", - "integrity": "sha512-hSAifV3k+i6lEoCJ2k6R2Z/rp/H3+8sdmcn5NrS3/3kE7+RyZXm9aqvxWqjEXHAd8b0pShatpcdMTvEdvAJltQ==", - "dev": true - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - } - }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "requires": { - "unique-slug": "^2.0.0" - } - }, - "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - } - } - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true, - "optional": true - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } - } - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true - }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dev": true, - "requires": { - "inherits": "2.0.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, - "vscode-css-languageservice": { - "version": "5.1.7", - "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-5.1.7.tgz", - "integrity": "sha512-h4oafcZaGFe2VtbNIlkZDmLEP0GQha3E5Ct2YMH4p/p9xYC8yWDNQ5CD+VF3UnSijKPSKmA+oc4cKjhJBowGKw==", - "requires": { - "vscode-languageserver-textdocument": "^1.0.1", - "vscode-languageserver-types": "^3.16.0", - "vscode-nls": "^5.0.0", - "vscode-uri": "^3.0.2" - } - }, - "vscode-html-languageservice": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-4.1.0.tgz", - "integrity": "sha512-QQrEKfpfbeglD8Jcai4fQDQ7vOJrN6LyiOs47Y6qAxnhve+ervw1kP2UCt9ohHe/6teNWJDYTGxLDgs5iAvitw==", - "requires": { - "vscode-languageserver-textdocument": "^1.0.1", - "vscode-languageserver-types": "^3.16.0", - "vscode-nls": "^5.0.0", - "vscode-uri": "^3.0.2" - } - }, - "vscode-jsonrpc": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-5.0.1.tgz", - "integrity": "sha512-JvONPptw3GAQGXlVV2utDcHx0BiY34FupW/kI6mZ5x06ER5DdPG/tXWMVHjTNULF5uKPOUUD0SaXg5QaubJL0A==" - }, - "vscode-languageclient": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-6.1.4.tgz", - "integrity": "sha512-EUOU+bJu6axmt0RFNo3nrglQLPXMfanbYViJee3Fbn2VuQoX0ZOI4uTYhSRvYLP2vfwTP/juV62P/mksCdTZMA==", - "requires": { - "semver": "^6.3.0", - "vscode-languageserver-protocol": "3.15.3" - } - }, - "vscode-languageserver-protocol": { - "version": "3.15.3", - "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.15.3.tgz", - "integrity": "sha512-zrMuwHOAQRhjDSnflWdJG+O2ztMWss8GqUUB8dXLR/FPenwkiBNkMIJJYfSN6sgskvsF0rHAoBowNQfbyZnnvw==", - "requires": { - "vscode-jsonrpc": "^5.0.1", - "vscode-languageserver-types": "3.15.1" - }, - "dependencies": { - "vscode-languageserver-types": { - "version": "3.15.1", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.15.1.tgz", - "integrity": "sha512-+a9MPUQrNGRrGU630OGbYVQ+11iOIovjCkqxajPa9w57Sd5ruK8WQNsslzpa0x/QJqC8kRc2DUxWjIFwoNm4ZQ==" - } - } - }, - "vscode-languageserver-textdocument": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.1.tgz", - "integrity": "sha512-UIcJDjX7IFkck7cSkNNyzIz5FyvpQfY7sdzVy+wkKN/BLaD4DQ0ppXQrKePomCxTS7RrolK1I0pey0bG9eh8dA==" - }, - "vscode-languageserver-types": { - "version": "3.16.0", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz", - "integrity": "sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==" - }, - "vscode-nls": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.0.0.tgz", - "integrity": "sha512-u0Lw+IYlgbEJFF6/qAqG2d1jQmJl0eyAGJHoAJqr2HT4M2BNuQYSEiSE75f52pXHSJm8AlTjnLLbBFPrdz2hpA==" - }, - "vscode-uri": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.2.tgz", - "integrity": "sha512-jkjy6pjU1fxUvI51P+gCsxg1u2n8LSt0W6KrCNQceaziKzff74GoWmjVG46KieVzybO1sttPQmYfrwSHey7GUA==" - }, - "watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", - "dev": true, - "requires": { - "chokidar": "^3.4.1", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.1" - } - }, - "watchpack-chokidar2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", - "dev": true, - "optional": true, - "requires": { - "chokidar": "^2.1.8" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "optional": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "optional": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true, - "optional": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "optional": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "optional": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "optional": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "optional": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "optional": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "optional": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "optional": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "optional": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "optional": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "optional": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "optional": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "webpack": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", - "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "dependencies": { - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "webpack-cli": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz", - "integrity": "sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.1.0", - "@webpack-cli/info": "^1.4.0", - "@webpack-cli/serve": "^1.6.0", - "colorette": "^2.0.14", - "commander": "^7.0.0", - "execa": "^5.0.0", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^2.2.0", - "rechoir": "^0.7.0", - "webpack-merge": "^5.7.3" - }, - "dependencies": { - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true - } - } - }, - "webpack-merge": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", - "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - } - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", - "dev": true - }, - "worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "dev": true, - "requires": { - "errno": "~0.1.7" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true - }, - "y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } - } -} diff --git a/my-snippets/laravel-blade/package.json b/my-snippets/laravel-blade/package.json deleted file mode 100644 index ac93edb..0000000 --- a/my-snippets/laravel-blade/package.json +++ /dev/null @@ -1,120 +0,0 @@ -{ - "name": "laravel-blade", - "displayName": "Laravel Blade Snippets", - "description": "Laravel blade snippets and syntax highlight support", - "version": "1.32.0", - "publisher": "onecentlin", - "author": { - "name": "Winnie Lin", - "email": "onecentlin@gmail.com", - "url": "https://devmanna.blogspot.com" - }, - "homepage": "https://github.com/onecentlin/laravel-blade-snippets-vscode", - "repository": { - "type": "git", - "url": "https://github.com/onecentlin/laravel-blade-snippets-vscode" - }, - "bugs": { - "url": "https://github.com/onecentlin/laravel-blade-snippets-vscode/issues" - }, - "engines": { - "vscode": "^1.46.0" - }, - "keywords": [ - "laravel", - "blade", - "template", - "snippet", - "formatter" - ], - "icon": "images/icon.png", - "galleryBanner": { - "color": "#f66f62", - "theme": "dark" - }, - "categories": [ - "Programming Languages", - "Snippets", - "Formatters" - ], - "main": "./out/extension.js", - "scripts": { - "build-srv": "cd ./server && npm install && tsc -p ./", - "compile": "tsc -watch -p ./", - "vscode:prepublish": "webpack --mode production && pushd \"./\" && npm run build-srv && popd", - "webpack": "webpack --mode development", - "webpack-dev": "webpack --mode development --watch" - }, - "contributes": { - "languages": [ - { - "id": "blade", - "aliases": [ - "Blade", - "blade" - ], - "extensions": [ - ".blade.php" - ], - "configuration": "./blade.configuration.json" - } - ], - "grammars": [ - { - "language": "blade", - "scopeName": "text.html.php.blade", - "path": "./syntaxes/blade.tmLanguage.json", - "embeddedLanguages": { - "source.php": "php", - "source.css": "css", - "source.js": "javascript" - } - } - ], - "snippets": [ - { - "language": "blade", - "path": "./snippets/snippets.json" - }, - { - "language": "blade", - "path": "./snippets/helpers.json" - }, - { - "language": "blade", - "path": "./snippets/livewire.json" - }, - { - "language": "php", - "path": "./snippets/blade.json" - } - ], - "configuration": { - "title": "Blade Configuration", - "properties": { - "blade.format.enable": { - "type": "boolean", - "default": false, - "description": "Enable format blade file" - } - } - } - }, - "activationEvents": [ - "onLanguage:blade" - ], - "devDependencies": { - "@types/node": "^16.0.0", - "@types/vscode": "^1.46.0", - "ts-loader": "^7.0.5", - "typescript": "^3.9.5", - "webpack": "^4.43.0", - "webpack-cli": "^4.9.1" - }, - "dependencies": { - "vscode-css-languageservice": "^5.1.7", - "vscode-html-languageservice": "^4.1.0", - "vscode-languageclient": "^6.1.3", - "vscode-languageserver-types": "^3.16.0" - } -} diff --git a/my-snippets/laravel-blade/server/lib/OSSREADME.json b/my-snippets/laravel-blade/server/lib/OSSREADME.json deleted file mode 100644 index d167a0a..0000000 --- a/my-snippets/laravel-blade/server/lib/OSSREADME.json +++ /dev/null @@ -1,6 +0,0 @@ -// ATTENTION - THIS DIRECTORY CONTAINS THIRD PARTY OPEN SOURCE MATERIALS: -[{ - "name": "definitelytyped", - "repositoryURL": "https://github.com/DefinitelyTyped/DefinitelyTyped", - "license": "MIT" -}] \ No newline at end of file diff --git a/my-snippets/laravel-blade/server/lib/jquery.d.ts b/my-snippets/laravel-blade/server/lib/jquery.d.ts deleted file mode 100644 index 9495cd2..0000000 --- a/my-snippets/laravel-blade/server/lib/jquery.d.ts +++ /dev/null @@ -1,3759 +0,0 @@ -// Generated by typings -// Source: https://raw.githubusercontent.com/DefinitelyTyped/DefinitelyTyped/f4fdcaca9c94f90442dcedb0c8a84399c47e731f/jquery/index.d.ts -interface JQueryAjaxSettings { - /** - * The content type sent in the request header that tells the server what kind of response it will accept in return. If the accepts setting needs modification, it is recommended to do so once in the $.ajaxSetup() method. - */ - accepts?: any; - /** - * By default, all requests are sent asynchronously (i.e. this is set to true by default). If you need synchronous requests, set this option to false. Cross-domain requests and dataType: "jsonp" requests do not support synchronous operation. Note that synchronous requests may temporarily lock the browser, disabling any actions while the request is active. As of jQuery 1.8, the use of async: false with jqXHR ($.Deferred) is deprecated; you must use the success/error/complete callback options instead of the corresponding methods of the jqXHR object such as jqXHR.done() or the deprecated jqXHR.success(). - */ - async?: boolean; - /** - * A pre-request callback function that can be used to modify the jqXHR (in jQuery 1.4.x, XMLHTTPRequest) object before it is sent. Use this to set custom headers, etc. The jqXHR and settings objects are passed as arguments. This is an Ajax Event. Returning false in the beforeSend function will cancel the request. As of jQuery 1.5, the beforeSend option will be called regardless of the type of request. - */ - beforeSend? (jqXHR: JQueryXHR, settings: JQueryAjaxSettings): any; - /** - * If set to false, it will force requested pages not to be cached by the browser. Note: Setting cache to false will only work correctly with HEAD and GET requests. It works by appending "_={timestamp}" to the GET parameters. The parameter is not needed for other types of requests, except in IE8 when a POST is made to a URL that has already been requested by a GET. - */ - cache?: boolean; - /** - * A function to be called when the request finishes (after success and error callbacks are executed). The function gets passed two arguments: The jqXHR (in jQuery 1.4.x, XMLHTTPRequest) object and a string categorizing the status of the request ("success", "notmodified", "error", "timeout", "abort", or "parsererror"). As of jQuery 1.5, the complete setting can accept an array of functions. Each function will be called in turn. This is an Ajax Event. - */ - complete? (jqXHR: JQueryXHR, textStatus: string): any; - /** - * An object of string/regular-expression pairs that determine how jQuery will parse the response, given its content type. (version added: 1.5) - */ - contents?: { [key: string]: any; }; - //According to jQuery.ajax source code, ajax's option actually allows contentType to set to "false" - // https://github.com/DefinitelyTyped/DefinitelyTyped/issues/742 - /** - * When sending data to the server, use this content type. Default is "application/x-www-form-urlencoded; charset=UTF-8", which is fine for most cases. If you explicitly pass in a content-type to $.ajax(), then it is always sent to the server (even if no data is sent). The W3C XMLHttpRequest specification dictates that the charset is always UTF-8; specifying another charset will not force the browser to change the encoding. - */ - contentType?: any; - /** - * This object will be made the context of all Ajax-related callbacks. By default, the context is an object that represents the ajax settings used in the call ($.ajaxSettings merged with the settings passed to $.ajax). - */ - context?: any; - /** - * An object containing dataType-to-dataType converters. Each converter's value is a function that returns the transformed value of the response. (version added: 1.5) - */ - converters?: { [key: string]: any; }; - /** - * If you wish to force a crossDomain request (such as JSONP) on the same domain, set the value of crossDomain to true. This allows, for example, server-side redirection to another domain. (version added: 1.5) - */ - crossDomain?: boolean; - /** - * Data to be sent to the server. It is converted to a query string, if not already a string. It's appended to the url for GET-requests. See processData option to prevent this automatic processing. Object must be key-value pairs. If value is an Array, jQuery serializes multiple values with same key based on the value of the traditional setting (described below). - */ - data?: any; - /** - * A function to be used to handle the raw response data of XMLHttpRequest.This is a pre-filtering function to sanitize the response. You should return the sanitized data. The function accepts two arguments: The raw data returned from the server and the 'dataType' parameter. - */ - dataFilter? (data: any, ty: any): any; - /** - * The type of data that you're expecting back from the server. If none is specified, jQuery will try to infer it based on the MIME type of the response (an XML MIME type will yield XML, in 1.4 JSON will yield a JavaScript object, in 1.4 script will execute the script, and anything else will be returned as a string). - */ - dataType?: string; - /** - * A function to be called if the request fails. The function receives three arguments: The jqXHR (in jQuery 1.4.x, XMLHttpRequest) object, a string describing the type of error that occurred and an optional exception object, if one occurred. Possible values for the second argument (besides null) are "timeout", "error", "abort", and "parsererror". When an HTTP error occurs, errorThrown receives the textual portion of the HTTP status, such as "Not Found" or "Internal Server Error." As of jQuery 1.5, the error setting can accept an array of functions. Each function will be called in turn. Note: This handler is not called for cross-domain script and cross-domain JSONP requests. This is an Ajax Event. - */ - error? (jqXHR: JQueryXHR, textStatus: string, errorThrown: string): any; - /** - * Whether to trigger global Ajax event handlers for this request. The default is true. Set to false to prevent the global handlers like ajaxStart or ajaxStop from being triggered. This can be used to control various Ajax Events. - */ - global?: boolean; - /** - * An object of additional header key/value pairs to send along with requests using the XMLHttpRequest transport. The header X-Requested-With: XMLHttpRequest is always added, but its default XMLHttpRequest value can be changed here. Values in the headers setting can also be overwritten from within the beforeSend function. (version added: 1.5) - */ - headers?: { [key: string]: any; }; - /** - * Allow the request to be successful only if the response has changed since the last request. This is done by checking the Last-Modified header. Default value is false, ignoring the header. In jQuery 1.4 this technique also checks the 'etag' specified by the server to catch unmodified data. - */ - ifModified?: boolean; - /** - * Allow the current environment to be recognized as "local," (e.g. the filesystem), even if jQuery does not recognize it as such by default. The following protocols are currently recognized as local: file, *-extension, and widget. If the isLocal setting needs modification, it is recommended to do so once in the $.ajaxSetup() method. (version added: 1.5.1) - */ - isLocal?: boolean; - /** - * Override the callback function name in a jsonp request. This value will be used instead of 'callback' in the 'callback=?' part of the query string in the url. So {jsonp:'onJSONPLoad'} would result in 'onJSONPLoad=?' passed to the server. As of jQuery 1.5, setting the jsonp option to false prevents jQuery from adding the "?callback" string to the URL or attempting to use "=?" for transformation. In this case, you should also explicitly set the jsonpCallback setting. For example, { jsonp: false, jsonpCallback: "callbackName" } - */ - jsonp?: any; - /** - * Specify the callback function name for a JSONP request. This value will be used instead of the random name automatically generated by jQuery. It is preferable to let jQuery generate a unique name as it'll make it easier to manage the requests and provide callbacks and error handling. You may want to specify the callback when you want to enable better browser caching of GET requests. As of jQuery 1.5, you can also use a function for this setting, in which case the value of jsonpCallback is set to the return value of that function. - */ - jsonpCallback?: any; - /** - * The HTTP method to use for the request (e.g. "POST", "GET", "PUT"). (version added: 1.9.0) - */ - method?: string; - /** - * A MIME type to override the XHR MIME type. (version added: 1.5.1) - */ - mimeType?: string; - /** - * A password to be used with XMLHttpRequest in response to an HTTP access authentication request. - */ - password?: string; - /** - * By default, data passed in to the data option as an object (technically, anything other than a string) will be processed and transformed into a query string, fitting to the default content-type "application/x-www-form-urlencoded". If you want to send a DOMDocument, or other non-processed data, set this option to false. - */ - processData?: boolean; - /** - * Only applies when the "script" transport is used (e.g., cross-domain requests with "jsonp" or "script" dataType and "GET" type). Sets the charset attribute on the script tag used in the request. Used when the character set on the local page is not the same as the one on the remote script. - */ - scriptCharset?: string; - /** - * An object of numeric HTTP codes and functions to be called when the response has the corresponding code. f the request is successful, the status code functions take the same parameters as the success callback; if it results in an error (including 3xx redirect), they take the same parameters as the error callback. (version added: 1.5) - */ - statusCode?: { [key: string]: any; }; - /** - * A function to be called if the request succeeds. The function gets passed three arguments: The data returned from the server, formatted according to the dataType parameter; a string describing the status; and the jqXHR (in jQuery 1.4.x, XMLHttpRequest) object. As of jQuery 1.5, the success setting can accept an array of functions. Each function will be called in turn. This is an Ajax Event. - */ - success? (data: any, textStatus: string, jqXHR: JQueryXHR): any; - /** - * Set a timeout (in milliseconds) for the request. This will override any global timeout set with $.ajaxSetup(). The timeout period starts at the point the $.ajax call is made; if several other requests are in progress and the browser has no connections available, it is possible for a request to time out before it can be sent. In jQuery 1.4.x and below, the XMLHttpRequest object will be in an invalid state if the request times out; accessing any object members may throw an exception. In Firefox 3.0+ only, script and JSONP requests cannot be cancelled by a timeout; the script will run even if it arrives after the timeout period. - */ - timeout?: number; - /** - * Set this to true if you wish to use the traditional style of parameter serialization. - */ - traditional?: boolean; - /** - * The type of request to make ("POST" or "GET"), default is "GET". Note: Other HTTP request methods, such as PUT and DELETE, can also be used here, but they are not supported by all browsers. - */ - type?: string; - /** - * A string containing the URL to which the request is sent. - */ - url?: string; - /** - * A username to be used with XMLHttpRequest in response to an HTTP access authentication request. - */ - username?: string; - /** - * Callback for creating the XMLHttpRequest object. Defaults to the ActiveXObject when available (IE), the XMLHttpRequest otherwise. Override to provide your own implementation for XMLHttpRequest or enhancements to the factory. - */ - xhr?: any; - /** - * An object of fieldName-fieldValue pairs to set on the native XHR object. For example, you can use it to set withCredentials to true for cross-domain requests if needed. In jQuery 1.5, the withCredentials property was not propagated to the native XHR and thus CORS requests requiring it would ignore this flag. For this reason, we recommend using jQuery 1.5.1+ should you require the use of it. (version added: 1.5.1) - */ - xhrFields?: { [key: string]: any; }; -} - -/** - * Interface for the jqXHR object - * @see {@link https://api.jquery.com/jQuery.ajax/#jqXHR} - */ -interface JQueryXHR extends XMLHttpRequest, JQueryPromise { - /** - * The .overrideMimeType() method may be used in the beforeSend() callback function, for example, to modify the response content-type header. As of jQuery 1.5.1, the jqXHR object also contains the overrideMimeType() method (it was available in jQuery 1.4.x, as well, but was temporarily removed in jQuery 1.5). - */ - overrideMimeType(mimeType: string): any; - /** - * Cancel the request. - * - * @param statusText A string passed as the textStatus parameter for the done callback. Default value: "canceled" - */ - abort(statusText?: string): void; - /** - * Incorporates the functionality of the .done() and .fail() methods, allowing (as of jQuery 1.8) the underlying Promise to be manipulated. Refer to deferred.then() for implementation details. - */ - then(doneCallback: (data: any, textStatus: string, jqXHR: JQueryXHR) => R|JQueryPromise, failCallback?: (jqXHR: JQueryXHR, textStatus: string, errorThrown: any) => void): JQueryPromise; - /** - * Property containing the parsed response if the response content type is json - */ - responseJSON?: any; - /** - * A function to be called if the request fails. - */ - error(xhr: JQueryXHR, textStatus: string, errorThrown: string): void; -} - -/** - * Interface for the JQuery callback - * @see {@link https://api.jquery.com/category/callbacks-object/} - */ -interface JQueryCallback { - /** - * Add a callback or a collection of callbacks to a callback list. - * - * @param callbacks A function, or array of functions, that are to be added to the callback list. - * @see {@link https://api.jquery.com/callbacks.add/} - */ - add(callbacks: Function): JQueryCallback; - /** - * Add a callback or a collection of callbacks to a callback list. - * - * @param callbacks A function, or array of functions, that are to be added to the callback list. - * @see {@link https://api.jquery.com/callbacks.add/} - */ - add(callbacks: Function[]): JQueryCallback; - - /** - * Disable a callback list from doing anything more. - * @see {@link https://api.jquery.com/callbacks.disable/} - */ - disable(): JQueryCallback; - - /** - * Determine if the callbacks list has been disabled. - * @see {@link https://api.jquery.com/callbacks.disabled/} - */ - disabled(): boolean; - - /** - * Remove all of the callbacks from a list. - * @see {@link https://api.jquery.com/callbacks.empty/} - */ - empty(): JQueryCallback; - - /** - * Call all of the callbacks with the given arguments - * - * @param arguments The argument or list of arguments to pass back to the callback list. - * @see {@link https://api.jquery.com/callbacks.fire/} - */ - fire(...arguments: any[]): JQueryCallback; - - /** - * Determine if the callbacks have already been called at least once. - * @see {@link https://api.jquery.com/callbacks.fired/} - */ - fired(): boolean; - - /** - * Call all callbacks in a list with the given context and arguments. - * - * @param context A reference to the context in which the callbacks in the list should be fired. - * @param arguments An argument, or array of arguments, to pass to the callbacks in the list. - * @see {@link https://api.jquery.com/callbacks.fireWith/} - */ - fireWith(context?: any, args?: any[]): JQueryCallback; - - /** - * Determine whether a supplied callback is in a list - * - * @param callback The callback to search for. - * @see {@link https://api.jquery.com/callbacks.has/} - */ - has(callback: Function): boolean; - - /** - * Lock a callback list in its current state. - * @see {@link https://api.jquery.com/callbacks.lock/} - */ - lock(): JQueryCallback; - - /** - * Determine if the callbacks list has been locked. - * @see {@link https://api.jquery.com/callbacks.locked/} - */ - locked(): boolean; - - /** - * Remove a callback or a collection of callbacks from a callback list. - * - * @param callbacks A function, or array of functions, that are to be removed from the callback list. - * @see {@link https://api.jquery.com/callbacks.remove/} - */ - remove(callbacks: Function): JQueryCallback; - /** - * Remove a callback or a collection of callbacks from a callback list. - * - * @param callbacks A function, or array of functions, that are to be removed from the callback list. - * @see {@link https://api.jquery.com/callbacks.remove/} - */ - remove(callbacks: Function[]): JQueryCallback; -} - -/** - * Allows jQuery Promises to interop with non-jQuery promises - */ -interface JQueryGenericPromise { - /** - * Add handlers to be called when the Deferred object is resolved, rejected, or still in progress. - * - * @param doneFilter A function that is called when the Deferred is resolved. - * @param failFilter An optional function that is called when the Deferred is rejected. - * @see {@link https://api.jquery.com/deferred.then/#deferred-then-doneFilter-failFilter-progressFilter} - */ - then(doneFilter: (value?: T, ...values: any[]) => U|JQueryPromise, failFilter?: (...reasons: any[]) => any, progressFilter?: (...progression: any[]) => any): JQueryPromise; - - /** - * Add handlers to be called when the Deferred object is resolved, rejected, or still in progress. - * - * @param doneFilter A function that is called when the Deferred is resolved. - * @param failFilter An optional function that is called when the Deferred is rejected. - * @see {@link https://api.jquery.com/deferred.then/#deferred-then-doneFilter-failFilter-progressFilter} - */ - then(doneFilter: (value?: T, ...values: any[]) => void, failFilter?: (...reasons: any[]) => any, progressFilter?: (...progression: any[]) => any): JQueryPromise; -} - -/** - * Interface for the JQuery promise/deferred callbacks - */ -interface JQueryPromiseCallback { - (value?: T, ...args: any[]): void; -} - -interface JQueryPromiseOperator { - (callback1: JQueryPromiseCallback|JQueryPromiseCallback[], ...callbacksN: Array|JQueryPromiseCallback[]>): JQueryPromise; -} - -/** - * Interface for the JQuery promise, part of callbacks - * @see {@link https://api.jquery.com/category/deferred-object/} - */ -interface JQueryPromise extends JQueryGenericPromise { - /** - * Determine the current state of a Deferred object. - * @see {@link https://api.jquery.com/deferred.state/} - */ - state(): string; - /** - * Add handlers to be called when the Deferred object is either resolved or rejected. - * - * @param alwaysCallback1 A function, or array of functions, that is called when the Deferred is resolved or rejected. - * @param alwaysCallbackN Optional additional functions, or arrays of functions, that are called when the Deferred is resolved or rejected. - * @see {@link https://api.jquery.com/deferred.always/} - */ - always(alwaysCallback1?: JQueryPromiseCallback|JQueryPromiseCallback[], ...alwaysCallbackN: Array|JQueryPromiseCallback[]>): JQueryPromise; - /** - * Add handlers to be called when the Deferred object is resolved. - * - * @param doneCallback1 A function, or array of functions, that are called when the Deferred is resolved. - * @param doneCallbackN Optional additional functions, or arrays of functions, that are called when the Deferred is resolved. - * @see {@link https://api.jquery.com/deferred.done/} - */ - done(doneCallback1?: JQueryPromiseCallback|JQueryPromiseCallback[], ...doneCallbackN: Array|JQueryPromiseCallback[]>): JQueryPromise; - /** - * Add handlers to be called when the Deferred object is rejected. - * - * @param failCallback1 A function, or array of functions, that are called when the Deferred is rejected. - * @param failCallbackN Optional additional functions, or arrays of functions, that are called when the Deferred is rejected. - * @see {@link https://api.jquery.com/deferred.fail/} - */ - fail(failCallback1?: JQueryPromiseCallback|JQueryPromiseCallback[], ...failCallbackN: Array|JQueryPromiseCallback[]>): JQueryPromise; - /** - * Add handlers to be called when the Deferred object generates progress notifications. - * - * @param progressCallback1 A function, or array of functions, to be called when the Deferred generates progress notifications. - * @param progressCallbackN Optional additional functions, or arrays of functions, to be called when the Deferred generates progress notifications. - * @see {@link https://api.jquery.com/deferred.progress/} - */ - progress(progressCallback1?: JQueryPromiseCallback|JQueryPromiseCallback[], ...progressCallbackN: Array|JQueryPromiseCallback[]>): JQueryPromise; - - // Deprecated - given no typings - pipe(doneFilter?: (x: any) => any, failFilter?: (x: any) => any, progressFilter?: (x: any) => any): JQueryPromise; - - /** - * Return a Deferred's Promise object. - * - * @param target Object onto which the promise methods have to be attached - * @see {@link https://api.jquery.com/deferred.promise/} - */ - promise(target?: any): JQueryPromise; -} - -/** - * Interface for the JQuery deferred, part of callbacks - * @see {@link https://api.jquery.com/category/deferred-object/} - */ -interface JQueryDeferred extends JQueryGenericPromise { - /** - * Determine the current state of a Deferred object. - * @see {@link https://api.jquery.com/deferred.state/} - */ - state(): string; - /** - * Add handlers to be called when the Deferred object is either resolved or rejected. - * - * @param alwaysCallback1 A function, or array of functions, that is called when the Deferred is resolved or rejected. - * @param alwaysCallbackN Optional additional functions, or arrays of functions, that are called when the Deferred is resolved or rejected. - * @see {@link https://api.jquery.com/deferred.always/} - */ - always(alwaysCallback1?: JQueryPromiseCallback|JQueryPromiseCallback[], ...alwaysCallbackN: Array|JQueryPromiseCallback[]>): JQueryDeferred; - /** - * Add handlers to be called when the Deferred object is resolved. - * - * @param doneCallback1 A function, or array of functions, that are called when the Deferred is resolved. - * @param doneCallbackN Optional additional functions, or arrays of functions, that are called when the Deferred is resolved. - * @see {@link https://api.jquery.com/deferred.done/} - */ - done(doneCallback1?: JQueryPromiseCallback|JQueryPromiseCallback[], ...doneCallbackN: Array|JQueryPromiseCallback[]>): JQueryDeferred; - /** - * Add handlers to be called when the Deferred object is rejected. - * - * @param failCallback1 A function, or array of functions, that are called when the Deferred is rejected. - * @param failCallbackN Optional additional functions, or arrays of functions, that are called when the Deferred is rejected. - * @see {@link https://api.jquery.com/deferred.fail/} - */ - fail(failCallback1?: JQueryPromiseCallback|JQueryPromiseCallback[], ...failCallbackN: Array|JQueryPromiseCallback[]>): JQueryDeferred; - /** - * Add handlers to be called when the Deferred object generates progress notifications. - * - * @param progressCallback1 A function, or array of functions, to be called when the Deferred generates progress notifications. - * @param progressCallbackN Optional additional functions, or arrays of functions, to be called when the Deferred generates progress notifications. - * @see {@link https://api.jquery.com/deferred.progress/} - */ - progress(progressCallback1?: JQueryPromiseCallback|JQueryPromiseCallback[], ...progressCallbackN: Array|JQueryPromiseCallback[]>): JQueryDeferred; - - /** - * Call the progressCallbacks on a Deferred object with the given args. - * - * @param args Optional arguments that are passed to the progressCallbacks. - * @see {@link https://api.jquery.com/deferred.notify/} - */ - notify(value?: any, ...args: any[]): JQueryDeferred; - - /** - * Call the progressCallbacks on a Deferred object with the given context and args. - * - * @param context Context passed to the progressCallbacks as the this object. - * @param args Optional arguments that are passed to the progressCallbacks. - * @see {@link https://api.jquery.com/deferred.notifyWith/} - */ - notifyWith(context: any, args?: any[]): JQueryDeferred; - - /** - * Reject a Deferred object and call any failCallbacks with the given args. - * - * @param args Optional arguments that are passed to the failCallbacks. - * @see {@link https://api.jquery.com/deferred.reject/} - */ - reject(value?: any, ...args: any[]): JQueryDeferred; - /** - * Reject a Deferred object and call any failCallbacks with the given context and args. - * - * @param context Context passed to the failCallbacks as the this object. - * @param args An optional array of arguments that are passed to the failCallbacks. - * @see {@link https://api.jquery.com/deferred.rejectWith/} - */ - rejectWith(context: any, args?: any[]): JQueryDeferred; - - /** - * Resolve a Deferred object and call any doneCallbacks with the given args. - * - * @param value First argument passed to doneCallbacks. - * @param args Optional subsequent arguments that are passed to the doneCallbacks. - * @see {@link https://api.jquery.com/deferred.resolve/} - */ - resolve(value?: T, ...args: any[]): JQueryDeferred; - - /** - * Resolve a Deferred object and call any doneCallbacks with the given context and args. - * - * @param context Context passed to the doneCallbacks as the this object. - * @param args An optional array of arguments that are passed to the doneCallbacks. - * @see {@link https://api.jquery.com/deferred.resolveWith/} - */ - resolveWith(context: any, args?: T[]): JQueryDeferred; - - /** - * Return a Deferred's Promise object. - * - * @param target Object onto which the promise methods have to be attached - * @see {@link https://api.jquery.com/deferred.promise/} - */ - promise(target?: any): JQueryPromise; - - // Deprecated - given no typings - pipe(doneFilter?: (x: any) => any, failFilter?: (x: any) => any, progressFilter?: (x: any) => any): JQueryPromise; -} - -/** - * Interface of the JQuery extension of the W3C event object - * @see {@link https://api.jquery.com/category/events/event-object/} - */ -interface BaseJQueryEventObject extends Event { - /** - * The current DOM element within the event bubbling phase. - * @see {@link https://api.jquery.com/event.currentTarget/} - */ - currentTarget: Element; - /** - * An optional object of data passed to an event method when the current executing handler is bound. - * @see {@link https://api.jquery.com/event.data/} - */ - data: any; - /** - * The element where the currently-called jQuery event handler was attached. - * @see {@link https://api.jquery.com/event.delegateTarget/} - */ - delegateTarget: Element; - /** - * Returns whether event.preventDefault() was ever called on this event object. - * @see {@link https://api.jquery.com/event.isDefaultPrevented/} - */ - isDefaultPrevented(): boolean; - /** - * Returns whether event.stopImmediatePropagation() was ever called on this event object. - * @see {@link https://api.jquery.com/event.isImmediatePropagationStopped/} - */ - isImmediatePropagationStopped(): boolean; - /** - * Returns whether event.stopPropagation() was ever called on this event object. - * @see {@link https://api.jquery.com/event.isPropagationStopped/} - */ - isPropagationStopped(): boolean; - /** - * The namespace specified when the event was triggered. - * @see {@link https://api.jquery.com/event.namespace/} - */ - namespace: string; - /** - * The browser's original Event object. - * @see {@link https://api.jquery.com/category/events/event-object/} - */ - originalEvent: Event; - /** - * If this method is called, the default action of the event will not be triggered. - * @see {@link https://api.jquery.com/event.preventDefault/} - */ - preventDefault(): any; - /** - * The other DOM element involved in the event, if any. - * @see {@link https://api.jquery.com/event.relatedTarget/} - */ - relatedTarget: Element; - /** - * The last value returned by an event handler that was triggered by this event, unless the value was undefined. - * @see {@link https://api.jquery.com/event.result/} - */ - result: any; - /** - * Keeps the rest of the handlers from being executed and prevents the event from bubbling up the DOM tree. - * @see {@link https://api.jquery.com/event.stopImmediatePropagation/} - */ - stopImmediatePropagation(): void; - /** - * Prevents the event from bubbling up the DOM tree, preventing any parent handlers from being notified of the event. - * @see {@link https://api.jquery.com/event.stopPropagation/} - */ - stopPropagation(): void; - /** - * The DOM element that initiated the event. - * @see {@link https://api.jquery.com/event.target/} - */ - target: Element; - /** - * The mouse position relative to the left edge of the document. - * @see {@link https://api.jquery.com/event.pageX/} - */ - pageX: number; - /** - * The mouse position relative to the top edge of the document. - * @see {@link https://api.jquery.com/event.pageY/} - */ - pageY: number; - /** - * For key or mouse events, this property indicates the specific key or button that was pressed. - * @see {@link https://api.jquery.com/event.which/} - */ - which: number; - /** - * Indicates whether the META key was pressed when the event fired. - * @see {@link https://api.jquery.com/event.metaKey/} - */ - metaKey: boolean; -} - -interface JQueryInputEventObject extends BaseJQueryEventObject { - altKey: boolean; - ctrlKey: boolean; - metaKey: boolean; - shiftKey: boolean; -} - -interface JQueryMouseEventObject extends JQueryInputEventObject { - button: number; - clientX: number; - clientY: number; - offsetX: number; - offsetY: number; - pageX: number; - pageY: number; - screenX: number; - screenY: number; -} - -interface JQueryKeyEventObject extends JQueryInputEventObject { - char: any; - charCode: number; - key: any; - keyCode: number; -} - -interface JQueryEventObject extends BaseJQueryEventObject, JQueryInputEventObject, JQueryMouseEventObject, JQueryKeyEventObject{ -} - -/** - * A collection of properties that represent the presence of different browser features or bugs. - * - * Intended for jQuery's internal use; specific properties may be removed when they are no longer needed internally - * to improve page startup performance. For your own project's feature-detection needs, we strongly recommend the - * use of an external library such as {@link http://modernizr.com/|Modernizr} instead of dependency on properties - * in jQuery.support. - * - * @deprecated since version 1.9 - */ -interface JQuerySupport { - ajax?: boolean; - boxModel?: boolean; - changeBubbles?: boolean; - checkClone?: boolean; - checkOn?: boolean; - cors?: boolean; - cssFloat?: boolean; - hrefNormalized?: boolean; - htmlSerialize?: boolean; - leadingWhitespace?: boolean; - noCloneChecked?: boolean; - noCloneEvent?: boolean; - opacity?: boolean; - optDisabled?: boolean; - optSelected?: boolean; - scriptEval? (): boolean; - style?: boolean; - submitBubbles?: boolean; - tbody?: boolean; -} - -interface JQueryParam { - /** - * Create a serialized representation of an array or object, suitable for use in a URL query string or Ajax request. - * - * @param obj An array or object to serialize. - */ - (obj: any): string; - - /** - * Create a serialized representation of an array or object, suitable for use in a URL query string or Ajax request. - * - * @param obj An array or object to serialize. - * @param traditional A Boolean indicating whether to perform a traditional "shallow" serialization. - */ - (obj: any, traditional: boolean): string; -} - -/** - * The interface used to construct jQuery events (with $.Event). It is - * defined separately instead of inline in JQueryStatic to allow - * overriding the construction function with specific strings - * returning specific event objects. - */ -interface JQueryEventConstructor { - (name: string, eventProperties?: any): JQueryEventObject; - new (name: string, eventProperties?: any): JQueryEventObject; -} - -/** - * The interface used to specify coordinates. - */ -interface JQueryCoordinates { - left: number; - top: number; -} - -/** - * Elements in the array returned by serializeArray() - */ -interface JQuerySerializeArrayElement { - name: string; - value: string; -} - -/** - * @see {@link https://api.jquery.com/animate/} - */ -interface JQueryAnimationOptions { - /** - * A string or number determining how long the animation will run. - */ - duration?: any; - /** - * A string indicating which easing function to use for the transition. - */ - easing?: string; - /** - * A function to call once the animation is complete. - */ - complete?: Function; - /** - * A function to be called for each animated property of each animated element. This function provides an opportunity to modify the Tween object to change the value of the property before it is set. - */ - step?: (now: number, tween: any) => any; - /** - * A function to be called after each step of the animation, only once per animated element regardless of the number of animated properties. (version added: 1.8) - */ - progress?: (animation: JQueryPromise, progress: number, remainingMs: number) => any; - /** - * A function to call when the animation begins. (version added: 1.8) - */ - start?: (animation: JQueryPromise) => any; - /** - * A function to be called when the animation completes (its Promise object is resolved). (version added: 1.8) - */ - done?: (animation: JQueryPromise, jumpedToEnd: boolean) => any; - /** - * A function to be called when the animation fails to complete (its Promise object is rejected). (version added: 1.8) - */ - fail?: (animation: JQueryPromise, jumpedToEnd: boolean) => any; - /** - * A function to be called when the animation completes or stops without completing (its Promise object is either resolved or rejected). (version added: 1.8) - */ - always?: (animation: JQueryPromise, jumpedToEnd: boolean) => any; - /** - * A Boolean indicating whether to place the animation in the effects queue. If false, the animation will begin immediately. As of jQuery 1.7, the queue option can also accept a string, in which case the animation is added to the queue represented by that string. When a custom queue name is used the animation does not automatically start; you must call .dequeue("queuename") to start it. - */ - queue?: any; - /** - * A map of one or more of the CSS properties defined by the properties argument and their corresponding easing functions. (version added: 1.4) - */ - specialEasing?: Object; -} - -interface JQueryEasingFunction { - ( percent: number ): number; -} - -interface JQueryEasingFunctions { - [ name: string ]: JQueryEasingFunction; - linear: JQueryEasingFunction; - swing: JQueryEasingFunction; -} - -/** - * Static members of jQuery (those on $ and jQuery themselves) - * - * @see {@link https://api.jquery.com/Types/#jQuery} - */ -interface JQueryStatic { - - /** - * Perform an asynchronous HTTP (Ajax) request. - * - * @param settings A set of key/value pairs that configure the Ajax request. All settings are optional. A default can be set for any option with $.ajaxSetup(). - * @see {@link https://api.jquery.com/jQuery.ajax/#jQuery-ajax-settings} - */ - ajax(settings: JQueryAjaxSettings): JQueryXHR; - /** - * Perform an asynchronous HTTP (Ajax) request. - * - * @param url A string containing the URL to which the request is sent. - * @param settings A set of key/value pairs that configure the Ajax request. All settings are optional. A default can be set for any option with $.ajaxSetup(). - * @see {@link https://api.jquery.com/jQuery.ajax/#jQuery-ajax-url-settings} - */ - ajax(url: string, settings?: JQueryAjaxSettings): JQueryXHR; - - /** - * Handle custom Ajax options or modify existing options before each request is sent and before they are processed by $.ajax(). - * - * @param dataTypes An optional string containing one or more space-separated dataTypes - * @param handler A handler to set default values for future Ajax requests. - * @see {@link https://api.jquery.com/jQuery.ajaxPrefilter/} - */ - ajaxPrefilter(dataTypes: string, handler: (opts: any, originalOpts: JQueryAjaxSettings, jqXHR: JQueryXHR) => any): void; - /** - * Handle custom Ajax options or modify existing options before each request is sent and before they are processed by $.ajax(). - * - * @param handler A handler to set default values for future Ajax requests. - * @see {@link https://api.jquery.com/jQuery.ajaxPrefilter/} - */ - ajaxPrefilter(handler: (opts: any, originalOpts: JQueryAjaxSettings, jqXHR: JQueryXHR) => any): void; - - /** - * Creates an object that handles the actual transmission of Ajax data. - * - * @param dataType A string identifying the data type to use. - * @param handler A handler to return the new transport object to use with the data type provided in the first argument. - * @see {@link https://api.jquery.com/jQuery.ajaxTransport/} - */ - ajaxTransport(dataType: string, handler: (opts: any, originalOpts: JQueryAjaxSettings, jqXHR: JQueryXHR) => any): void; - - ajaxSettings: JQueryAjaxSettings; - - /** - * Set default values for future Ajax requests. Its use is not recommended. - * - * @param options A set of key/value pairs that configure the default Ajax request. All options are optional. - * @see {@link https://api.jquery.com/jQuery.ajaxSetup/} - */ - ajaxSetup(options: JQueryAjaxSettings): void; - - /** - * Load data from the server using a HTTP GET request. - * - * @param url A string containing the URL to which the request is sent. - * @param success A callback function that is executed if the request succeeds. - * @param dataType The type of data expected from the server. Default: Intelligent Guess (xml, json, script, or html). - * @see {@link https://api.jquery.com/jQuery.get/#jQuery-get-url-data-success-dataType} - */ - get(url: string, success?: (data: any, textStatus: string, jqXHR: JQueryXHR) => any, dataType?: string): JQueryXHR; - /** - * Load data from the server using a HTTP GET request. - * - * @param url A string containing the URL to which the request is sent. - * @param data A plain object or string that is sent to the server with the request. - * @param success A callback function that is executed if the request succeeds. - * @param dataType The type of data expected from the server. Default: Intelligent Guess (xml, json, script, or html). - * @see {@link https://api.jquery.com/jQuery.get/#jQuery-get-url-data-success-dataType} - */ - get(url: string, data?: Object|string, success?: (data: any, textStatus: string, jqXHR: JQueryXHR) => any, dataType?: string): JQueryXHR; - /** - * Load data from the server using a HTTP GET request. - * - * @param settings The JQueryAjaxSettings to be used for the request - * @see {@link https://api.jquery.com/jQuery.get/#jQuery-get-settings} - */ - get(settings : JQueryAjaxSettings): JQueryXHR; - /** - * Load JSON-encoded data from the server using a GET HTTP request. - * - * @param url A string containing the URL to which the request is sent. - * @param success A callback function that is executed if the request succeeds. - * @see {@link https://api.jquery.com/jQuery.getJSON/} - */ - getJSON(url: string, success?: (data: any, textStatus: string, jqXHR: JQueryXHR) => any): JQueryXHR; - /** - * Load JSON-encoded data from the server using a GET HTTP request. - * - * @param url A string containing the URL to which the request is sent. - * @param data A plain object or string that is sent to the server with the request. - * @param success A callback function that is executed if the request succeeds. - * @see {@link https://api.jquery.com/jQuery.getJSON/} - */ - getJSON(url: string, data?: Object|string, success?: (data: any, textStatus: string, jqXHR: JQueryXHR) => any): JQueryXHR; - /** - * Load a JavaScript file from the server using a GET HTTP request, then execute it. - * - * @param url A string containing the URL to which the request is sent. - * @param success A callback function that is executed if the request succeeds. - * @see {@link https://api.jquery.com/jQuery.getScript/} - */ - getScript(url: string, success?: (script: string, textStatus: string, jqXHR: JQueryXHR) => any): JQueryXHR; - - /** - * Create a serialized representation of an array or object, suitable for use in a URL query string or Ajax request. - * - * @see {@link https://api.jquery.com/jQuery.param/} - */ - param: JQueryParam; - - /** - * Load data from the server using a HTTP POST request. - * - * @param url A string containing the URL to which the request is sent. - * @param success A callback function that is executed if the request succeeds. Required if dataType is provided, but can be null in that case. - * @param dataType The type of data expected from the server. Default: Intelligent Guess (xml, json, script, text, html). - * @see {@link https://api.jquery.com/jQuery.post/#jQuery-post-url-data-success-dataType} - */ - post(url: string, success?: (data: any, textStatus: string, jqXHR: JQueryXHR) => any, dataType?: string): JQueryXHR; - /** - * Load data from the server using a HTTP POST request. - * - * @param url A string containing the URL to which the request is sent. - * @param data A plain object or string that is sent to the server with the request. - * @param success A callback function that is executed if the request succeeds. Required if dataType is provided, but can be null in that case. - * @param dataType The type of data expected from the server. Default: Intelligent Guess (xml, json, script, text, html). - * @see {@link https://api.jquery.com/jQuery.post/#jQuery-post-url-data-success-dataType} - */ - post(url: string, data?: Object|string, success?: (data: any, textStatus: string, jqXHR: JQueryXHR) => any, dataType?: string): JQueryXHR; - /** - * Load data from the server using a HTTP POST request. - * - * @param settings The JQueryAjaxSettings to be used for the request - * @see {@link https://api.jquery.com/jQuery.post/#jQuery-post-settings} - */ - post(settings : JQueryAjaxSettings): JQueryXHR; - /** - * A multi-purpose callbacks list object that provides a powerful way to manage callback lists. - * - * @param flags An optional list of space-separated flags that change how the callback list behaves. - * @see {@link https://api.jquery.com/jQuery.Callbacks/} - */ - Callbacks(flags?: string): JQueryCallback; - - /** - * Holds or releases the execution of jQuery's ready event. - * - * @param hold Indicates whether the ready hold is being requested or released - * @see {@link https://api.jquery.com/jQuery.holdReady/} - */ - holdReady(hold: boolean): void; - - /** - * Accepts a string containing a CSS selector which is then used to match a set of elements. - * - * @param selector A string containing a selector expression - * @param context A DOM Element, Document, or jQuery to use as context - * @see {@link https://api.jquery.com/jQuery/#jQuery-selector-context} - */ - (selector: string, context?: Element|JQuery): JQuery; - - /** - * Accepts a string containing a CSS selector which is then used to match a set of elements. - * - * @param element A DOM element to wrap in a jQuery object. - * @see {@link https://api.jquery.com/jQuery/#jQuery-element} - */ - (element: Element): JQuery; - - /** - * Accepts a string containing a CSS selector which is then used to match a set of elements. - * - * @param elementArray An array containing a set of DOM elements to wrap in a jQuery object. - * @see {@link https://api.jquery.com/jQuery/#jQuery-elementArray} - */ - (elementArray: Element[]): JQuery; - - /** - * Binds a function to be executed when the DOM has finished loading. - * - * @param callback A function to execute after the DOM is ready. - * @see {@link https://api.jquery.com/jQuery/#jQuery-callback} - */ - (callback: (jQueryAlias?: JQueryStatic) => any): JQuery; - - /** - * Accepts a string containing a CSS selector which is then used to match a set of elements. - * - * @param object A plain object to wrap in a jQuery object. - * @see {@link https://api.jquery.com/jQuery/#jQuery-object} - */ - (object: {}): JQuery; - - /** - * Accepts a string containing a CSS selector which is then used to match a set of elements. - * - * @param object An existing jQuery object to clone. - * @see {@link https://api.jquery.com/jQuery/#jQuery-object} - */ - (object: JQuery): JQuery; - - /** - * Specify a function to execute when the DOM is fully loaded. - * @see {@link https://api.jquery.com/jQuery/#jQuery} - */ - (): JQuery; - - /** - * Creates DOM elements on the fly from the provided string of raw HTML. - * - * @param html A string of HTML to create on the fly. Note that this parses HTML, not XML. - * @param ownerDocument A document in which the new elements will be created. - * @see {@link https://api.jquery.com/jQuery/#jQuery-html-ownerDocument} - */ - (html: string, ownerDocument?: Document): JQuery; - - /** - * Creates DOM elements on the fly from the provided string of raw HTML. - * - * @param html A string defining a single, standalone, HTML element (e.g.
    or
    ). - * @param attributes An object of attributes, events, and methods to call on the newly-created element. - * @see {@link https://api.jquery.com/jQuery/#jQuery-html-attributes} - */ - (html: string, attributes: Object): JQuery; - - /** - * Relinquish jQuery's control of the $ variable. - * - * @param removeAll A Boolean indicating whether to remove all jQuery variables from the global scope (including jQuery itself). - * @see {@link https://api.jquery.com/jQuery.noConflict/} - */ - noConflict(removeAll?: boolean): JQueryStatic; - - /** - * Provides a way to execute callback functions based on one or more objects, usually Deferred objects that represent asynchronous events. - * - * @param deferreds One or more Deferred objects, or plain JavaScript objects. - * @see {@link https://api.jquery.com/jQuery.when/} - */ - when(...deferreds: Array/* as JQueryDeferred */>): JQueryPromise; - - /** - * Hook directly into jQuery to override how particular CSS properties are retrieved or set, normalize CSS property naming, or create custom properties. - * @see {@link https://api.jquery.com/jQuery.cssHooks/} - */ - cssHooks: { [key: string]: any; }; - - /** - * An object containing all CSS properties that may be used without a unit. The .css() method uses this object to see if it may append px to unitless values. - * @see {@link https://api.jquery.com/jQuery.cssNumber/} - */ - cssNumber: any; - - /** - * Store arbitrary data associated with the specified element. Returns the value that was set. - * - * @param element The DOM element to associate with the data. - * @param key A string naming the piece of data to set. - * @param value The new data value. - * @see {@link https://api.jquery.com/jQuery.data/#jQuery-data-element-key-value} - */ - data(element: Element, key: string, value: T): T; - /** - * Returns value at named data store for the element, as set by jQuery.data(element, name, value), or the full data store for the element. - * - * @param element The DOM element to associate with the data. - * @param key A string naming the piece of data to set. - * @see {@link https://api.jquery.com/jQuery.data/#jQuery-data-element-key} - */ - data(element: Element, key: string): any; - /** - * Returns value at named data store for the element, as set by jQuery.data(element, name, value), or the full data store for the element. - * - * @param element The DOM element to associate with the data. - * @see {@link https://api.jquery.com/jQuery.data/#jQuery-data-element} - */ - data(element: Element): any; - - /** - * Execute the next function on the queue for the matched element. - * - * @param element A DOM element from which to remove and execute a queued function. - * @param queueName A string containing the name of the queue. Defaults to fx, the standard effects queue. - * @see {@link https://api.jquery.com/jQuery.dequeue/} - */ - dequeue(element: Element, queueName?: string): void; - - /** - * Determine whether an element has any jQuery data associated with it. - * - * @param element A DOM element to be checked for data. - * @see {@link https://api.jquery.com/jQuery.hasData/} - */ - hasData(element: Element): boolean; - - /** - * Show the queue of functions to be executed on the matched element. - * - * @param element A DOM element to inspect for an attached queue. - * @param queueName A string containing the name of the queue. Defaults to fx, the standard effects queue. - * @see {@link https://api.jquery.com/jQuery.queue/#jQuery-queue-element-queueName} - */ - queue(element: Element, queueName?: string): any[]; - /** - * Manipulate the queue of functions to be executed on the matched element. - * - * @param element A DOM element where the array of queued functions is attached. - * @param queueName A string containing the name of the queue. Defaults to fx, the standard effects queue. - * @param newQueue An array of functions to replace the current queue contents. - * @see {@link https://api.jquery.com/jQuery.queue/#jQuery-queue-element-queueName-newQueue} - */ - queue(element: Element, queueName: string, newQueue: Function[]): JQuery; - /** - * Manipulate the queue of functions to be executed on the matched element. - * - * @param element A DOM element on which to add a queued function. - * @param queueName A string containing the name of the queue. Defaults to fx, the standard effects queue. - * @param callback The new function to add to the queue. - * @see {@link https://api.jquery.com/jQuery.queue/#jQuery-queue-element-queueName-callback} - */ - queue(element: Element, queueName: string, callback: Function): JQuery; - - /** - * Remove a previously-stored piece of data. - * - * @param element A DOM element from which to remove data. - * @param name A string naming the piece of data to remove. - * @see {@link https://api.jquery.com/jQuery.removeData/} - */ - removeData(element: Element, name?: string): JQuery; - - /** - * A constructor function that returns a chainable utility object with methods to register multiple callbacks into callback queues, invoke callback queues, and relay the success or failure state of any synchronous or asynchronous function. - * - * @param beforeStart A function that is called just before the constructor returns. - * @see {@link https://api.jquery.com/jQuery.Deferred/} - */ - Deferred(beforeStart?: (deferred: JQueryDeferred) => any): JQueryDeferred; - - /** - * Effects - */ - - easing: JQueryEasingFunctions; - - fx: { - tick: () => void; - /** - * The rate (in milliseconds) at which animations fire. - * @see {@link https://api.jquery.com/jQuery.fx.interval/} - */ - interval: number; - stop: () => void; - speeds: { slow: number; fast: number; }; - /** - * Globally disable all animations. - * @see {@link https://api.jquery.com/jQuery.fx.off/} - */ - off: boolean; - step: any; - }; - - /** - * Takes a function and returns a new one that will always have a particular context. - * - * @param func The function whose context will be changed. - * @param context The object to which the context (this) of the function should be set. - * @param additionalArguments Any number of arguments to be passed to the function referenced in the function argument. - * @see {@link https://api.jquery.com/jQuery.proxy/#jQuery-proxy-function-context-additionalArguments} - */ - proxy(func: (...args: any[]) => any, context: Object, ...additionalArguments: any[]): any; - /** - * Takes a function and returns a new one that will always have a particular context. - * - * @param context The object to which the context (this) of the function should be set. - * @param name The name of the function whose context will be changed (should be a property of the context object). - * @param additionalArguments Any number of arguments to be passed to the function named in the name argument. - * @see {@link https://api.jquery.com/jQuery.proxy/#jQuery-proxy-context-name-additionalArguments} - */ - proxy(context: Object, name: string, ...additionalArguments: any[]): any; - - Event: JQueryEventConstructor; - - /** - * Takes a string and throws an exception containing it. - * - * @param message The message to send out. - * @see {@link https://api.jquery.com/jQuery.error/} - */ - error(message: any): JQuery; - - expr: any; - fn: any; //TODO: Decide how we want to type this - - isReady: boolean; - - // Properties - support: JQuerySupport; - - /** - * Check to see if a DOM element is a descendant of another DOM element. - * - * @param container The DOM element that may contain the other element. - * @param contained The DOM element that may be contained by (a descendant of) the other element. - * @see {@link https://api.jquery.com/jQuery.contains/} - */ - contains(container: Element, contained: Element): boolean; - - /** - * A generic iterator function, which can be used to seamlessly iterate over both objects and arrays. Arrays and array-like objects with a length property (such as a function's arguments object) are iterated by numeric index, from 0 to length-1. Other objects are iterated via their named properties. - * - * @param collection The object or array to iterate over. - * @param callback The function that will be executed on every object. Will break the loop by returning false. - * @returns the first argument, the object that is iterated. - * @see {@link https://api.jquery.com/jQuery.each/#jQuery-each-array-callback} - */ - each( - collection: T[], - callback: (indexInArray: number, valueOfElement: T) => boolean | void - ): T[]; - - /** - * A generic iterator function, which can be used to seamlessly iterate over both objects and arrays. Arrays and array-like objects with a length property (such as a function's arguments object) are iterated by numeric index, from 0 to length-1. Other objects are iterated via their named properties. - * - * @param collection The object or array to iterate over. - * @param callback The function that will be executed on every object. Will break the loop by returning false. - * @returns the first argument, the object that is iterated. - * @see {@link https://api.jquery.com/jQuery.each/#jQuery-each-object-callback} - */ - each( - collection: T, - // TODO: `(keyInObject: keyof T, valueOfElement: T[keyof T])`, when TypeScript 2.1 allowed in repository - callback: (keyInObject: string, valueOfElement: any) => boolean | void - ): T; - - /** - * Merge the contents of two or more objects together into the first object. - * - * @param target An object that will receive the new properties if additional objects are passed in or that will extend the jQuery namespace if it is the sole argument. - * @param object1 An object containing additional properties to merge in. - * @param objectN Additional objects containing properties to merge in. - * @see {@link https://api.jquery.com/jQuery.extend/#jQuery-extend-target-object1-objectN} - */ - extend(target: any, object1?: any, ...objectN: any[]): any; - /** - * Merge the contents of two or more objects together into the first object. - * - * @param deep If true, the merge becomes recursive (aka. deep copy). - * @param target The object to extend. It will receive the new properties. - * @param object1 An object containing additional properties to merge in. - * @param objectN Additional objects containing properties to merge in. - * @see {@link https://api.jquery.com/jQuery.extend/#jQuery-extend-deep-target-object1-objectN} - */ - extend(deep: boolean, target: any, object1?: any, ...objectN: any[]): any; - - /** - * Execute some JavaScript code globally. - * - * @param code The JavaScript code to execute. - * @see {@link https://api.jquery.com/jQuery.globalEval/} - */ - globalEval(code: string): any; - - /** - * Finds the elements of an array which satisfy a filter function. The original array is not affected. - * - * @param array The array to search through. - * @param func The function to process each item against. The first argument to the function is the item, and the second argument is the index. The function should return a Boolean value. this will be the global window object. - * @param invert If "invert" is false, or not provided, then the function returns an array consisting of all elements for which "callback" returns true. If "invert" is true, then the function returns an array consisting of all elements for which "callback" returns false. - * @see {@link https://api.jquery.com/jQuery.grep/} - */ - grep(array: T[], func: (elementOfArray?: T, indexInArray?: number) => boolean, invert?: boolean): T[]; - - /** - * Search for a specified value within an array and return its index (or -1 if not found). - * - * @param value The value to search for. - * @param array An array through which to search. - * @param fromIndex The index of the array at which to begin the search. The default is 0, which will search the whole array. - * @see {@link https://api.jquery.com/jQuery.inArray/} - */ - inArray(value: T, array: T[], fromIndex?: number): number; - - /** - * Determine whether the argument is an array. - * - * @param obj Object to test whether or not it is an array. - * @see {@link https://api.jquery.com/jQuery.isArray/} - */ - isArray(obj: any): obj is Array; - /** - * Check to see if an object is empty (contains no enumerable properties). - * - * @param obj The object that will be checked to see if it's empty. - * @see {@link https://api.jquery.com/jQuery.isEmptyObject/} - */ - isEmptyObject(obj: any): boolean; - /** - * Determine if the argument passed is a JavaScript function object. - * - * @param obj Object to test whether or not it is a function. - * @see {@link https://api.jquery.com/jQuery.isFunction/} - */ - isFunction(obj: any): obj is Function; - /** - * Determines whether its argument is a number. - * - * @param value The value to be tested. - * @see {@link https://api.jquery.com/jQuery.isNumeric/} - */ - isNumeric(value: any): boolean; - /** - * Check to see if an object is a plain object (created using "{}" or "new Object"). - * - * @param obj The object that will be checked to see if it's a plain object. - * @see {@link https://api.jquery.com/jQuery.isPlainObject/} - */ - isPlainObject(obj: any): boolean; - /** - * Determine whether the argument is a window. - * - * @param obj Object to test whether or not it is a window. - * @see {@link https://api.jquery.com/jQuery.isWindow/} - */ - isWindow(obj: any): obj is Window; - /** - * Check to see if a DOM node is within an XML document (or is an XML document). - * - * @param node The DOM node that will be checked to see if it's in an XML document. - * @see {@link https://api.jquery.com/jQuery.isXMLDoc/} - */ - isXMLDoc(node: Node): boolean; - - /** - * Convert an array-like object into a true JavaScript array. - * - * @param obj Any object to turn into a native Array. - * @see {@link https://api.jquery.com/jQuery.makeArray/} - */ - makeArray(obj: any): any[]; - - /** - * Translate all items in an array or object to new array of items. - * - * @param array The Array to translate. - * @param callback The function to process each item against. The first argument to the function is the array item, the second argument is the index in array The function can return any value. Within the function, this refers to the global (window) object. - * @see {@link https://api.jquery.com/jQuery.map/#jQuery-map-array-callback} - */ - map(array: T[], callback: (elementOfArray?: T, indexInArray?: number) => U): U[]; - /** - * Translate all items in an array or object to new array of items. - * - * @param arrayOrObject The Array or Object to translate. - * @param callback The function to process each item against. The first argument to the function is the value; the second argument is the index or key of the array or object property. The function can return any value to add to the array. A returned array will be flattened into the resulting array. Within the function, this refers to the global (window) object. - * @see {@link https://api.jquery.com/jQuery.map/#jQuery-map-object-callback} - */ - map(arrayOrObject: any, callback: (value?: any, indexOrKey?: any) => any): any; - - /** - * Merge the contents of two arrays together into the first array. - * - * @param first The first array to merge, the elements of second added. - * @param second The second array to merge into the first, unaltered. - * @see {@link https://api.jquery.com/jQuery.merge/} - */ - merge(first: T[], second: T[]): T[]; - - /** - * An empty function. - * @see {@link https://api.jquery.com/jQuery.noop/} - */ - noop(): any; - - /** - * Return a number representing the current time. - * @see {@link https://api.jquery.com/jQuery.now/} - */ - now(): number; - - /** - * Takes a well-formed JSON string and returns the resulting JavaScript object. - * - * @param json The JSON string to parse. - * @see {@link https://api.jquery.com/jQuery.parseJSON/} - */ - parseJSON(json: string): any; - - /** - * Parses a string into an XML document. - * - * @param data a well-formed XML string to be parsed - * @see {@link https://api.jquery.com/jQuery.parseXML/} - */ - parseXML(data: string): XMLDocument; - - /** - * Remove the whitespace from the beginning and end of a string. - * - * @param str Remove the whitespace from the beginning and end of a string. - * @see {@link https://api.jquery.com/jQuery.trim/} - */ - trim(str: string): string; - - /** - * Determine the internal JavaScript [[Class]] of an object. - * - * @param obj Object to get the internal JavaScript [[Class]] of. - * @see {@link https://api.jquery.com/jQuery.type/} - */ - type(obj: any): "array" | "boolean" | "date" | "error" | "function" | "null" | "number" | "object" | "regexp" | "string" | "symbol" | "undefined"; - - /** - * Sorts an array of DOM elements, in place, with the duplicates removed. Note that this only works on arrays of DOM elements, not strings or numbers. - * - * @param array The Array of DOM elements. - * @see {@link https://api.jquery.com/jQuery.unique/} - */ - unique(array: T[]): T[]; - - /** - * Parses a string into an array of DOM nodes. - * - * @param data HTML string to be parsed - * @param context DOM element to serve as the context in which the HTML fragment will be created - * @param keepScripts A Boolean indicating whether to include scripts passed in the HTML string - * @see {@link https://api.jquery.com/jQuery.parseHTML/} - */ - parseHTML(data: string, context?: HTMLElement, keepScripts?: boolean): any[]; - - /** - * Parses a string into an array of DOM nodes. - * - * @param data HTML string to be parsed - * @param context DOM element to serve as the context in which the HTML fragment will be created - * @param keepScripts A Boolean indicating whether to include scripts passed in the HTML string - * @see {@link https://api.jquery.com/jQuery.parseHTML/} - */ - parseHTML(data: string, context?: Document, keepScripts?: boolean): any[]; -} - -/** - * The jQuery instance members - * - * @see {@link https://api.jquery.com/Types/#jQuery} - */ -interface JQuery { - /** - * Register a handler to be called when Ajax requests complete. This is an AjaxEvent. - * - * @param handler The function to be invoked. - * @see {@link https://api.jquery.com/ajaxComplete/} - */ - ajaxComplete(handler: (event: JQueryEventObject, XMLHttpRequest: XMLHttpRequest, ajaxOptions: any) => any): JQuery; - /** - * Register a handler to be called when Ajax requests complete with an error. This is an Ajax Event. - * - * @param handler The function to be invoked. - * @see {@link https://api.jquery.com/ajaxError/} - */ - ajaxError(handler: (event: JQueryEventObject, jqXHR: JQueryXHR, ajaxSettings: JQueryAjaxSettings, thrownError: any) => any): JQuery; - /** - * Attach a function to be executed before an Ajax request is sent. This is an Ajax Event. - * - * @param handler The function to be invoked. - * @see {@link https://api.jquery.com/ajaxSend/} - */ - ajaxSend(handler: (event: JQueryEventObject, jqXHR: JQueryXHR, ajaxOptions: JQueryAjaxSettings) => any): JQuery; - /** - * Register a handler to be called when the first Ajax request begins. This is an Ajax Event. - * - * @param handler The function to be invoked. - * @see {@link https://api.jquery.com/ajaxStart/} - */ - ajaxStart(handler: () => any): JQuery; - /** - * Register a handler to be called when all Ajax requests have completed. This is an Ajax Event. - * - * @param handler The function to be invoked. - * @see {@link https://api.jquery.com/ajaxStop/} - */ - ajaxStop(handler: () => any): JQuery; - /** - * Attach a function to be executed whenever an Ajax request completes successfully. This is an Ajax Event. - * - * @param handler The function to be invoked. - * @see {@link https://api.jquery.com/ajaxSuccess/} - */ - ajaxSuccess(handler: (event: JQueryEventObject, XMLHttpRequest: XMLHttpRequest, ajaxOptions: JQueryAjaxSettings) => any): JQuery; - - /** - * Load data from the server and place the returned HTML into the matched element. - * - * @param url A string containing the URL to which the request is sent. - * @param data A plain object or string that is sent to the server with the request. - * @param complete A callback function that is executed when the request completes. - * @see {@link https://api.jquery.com/load/} - */ - load(url: string, data?: string|Object, complete?: (responseText: string, textStatus: string, XMLHttpRequest: XMLHttpRequest) => any): JQuery; - - /** - * Encode a set of form elements as a string for submission. - * @see {@link https://api.jquery.com/serialize/} - */ - serialize(): string; - /** - * Encode a set of form elements as an array of names and values. - * @see {@link https://api.jquery.com/serializeArray/} - */ - serializeArray(): JQuerySerializeArrayElement[]; - - /** - * Adds the specified class(es) to each of the set of matched elements. - * - * @param className One or more space-separated classes to be added to the class attribute of each matched element. - * @see {@link https://api.jquery.com/addClass/#addClass-className} - */ - addClass(className: string): JQuery; - /** - * Adds the specified class(es) to each of the set of matched elements. - * - * @param func A function returning one or more space-separated class names to be added to the existing class name(s). Receives the index position of the element in the set and the existing class name(s) as arguments. Within the function, this refers to the current element in the set. - * @see {@link https://api.jquery.com/addClass/#addClass-function} - */ - addClass(func: (index: number, className: string) => string): JQuery; - - /** - * Add the previous set of elements on the stack to the current set, optionally filtered by a selector. - * @see {@link https://api.jquery.com/addBack/} - */ - addBack(selector?: string): JQuery; - - /** - * Get the value of an attribute for the first element in the set of matched elements. - * - * @param attributeName The name of the attribute to get. - * @see {@link https://api.jquery.com/attr/#attr-attributeName} - */ - attr(attributeName: string): string; - /** - * Set one or more attributes for the set of matched elements. - * - * @param attributeName The name of the attribute to set. - * @param value A value to set for the attribute. If this is `null`, the attribute will be deleted. - * @see {@link https://api.jquery.com/attr/#attr-attributeName-value} - */ - attr(attributeName: string, value: string|number|null): JQuery; - /** - * Set one or more attributes for the set of matched elements. - * - * @param attributeName The name of the attribute to set. - * @param func A function returning the value to set. this is the current element. Receives the index position of the element in the set and the old attribute value as arguments. - * @see {@link https://api.jquery.com/attr/#attr-attributeName-function} - */ - attr(attributeName: string, func: (index: number, attr: string) => string|number): JQuery; - /** - * Set one or more attributes for the set of matched elements. - * - * @param attributes An object of attribute-value pairs to set. - * @see {@link https://api.jquery.com/attr/#attr-attributes} - */ - attr(attributes: Object): JQuery; - - /** - * Determine whether any of the matched elements are assigned the given class. - * - * @param className The class name to search for. - * @see {@link https://api.jquery.com/hasClass/} - */ - hasClass(className: string): boolean; - - /** - * Get the HTML contents of the first element in the set of matched elements. - * @see {@link https://api.jquery.com/html/#html} - */ - html(): string; - /** - * Set the HTML contents of each element in the set of matched elements. - * - * @param htmlString A string of HTML to set as the content of each matched element. - * @see {@link https://api.jquery.com/html/#html-htmlString} - */ - html(htmlString: string): JQuery; - /** - * Set the HTML contents of each element in the set of matched elements. - * - * @param func A function returning the HTML content to set. Receives the index position of the element in the set and the old HTML value as arguments. jQuery empties the element before calling the function; use the oldhtml argument to reference the previous content. Within the function, this refers to the current element in the set. - * @see {@link https://api.jquery.com/html/#html-function} - */ - html(func: (index: number, oldhtml: string) => string): JQuery; - - /** - * Get the value of a property for the first element in the set of matched elements. - * - * @param propertyName The name of the property to get. - * @see {@link https://api.jquery.com/prop/#prop-propertyName} - */ - prop(propertyName: string): any; - /** - * Set one or more properties for the set of matched elements. - * - * @param propertyName The name of the property to set. - * @param value A value to set for the property. - * @see {@link https://api.jquery.com/prop/#prop-propertyName-value} - */ - prop(propertyName: string, value: string|number|boolean): JQuery; - /** - * Set one or more properties for the set of matched elements. - * - * @param properties An object of property-value pairs to set. - * @see {@link https://api.jquery.com/prop/#prop-properties} - */ - prop(properties: Object): JQuery; - /** - * Set one or more properties for the set of matched elements. - * - * @param propertyName The name of the property to set. - * @param func A function returning the value to set. Receives the index position of the element in the set and the old property value as arguments. Within the function, the keyword this refers to the current element. - * @see {@link https://api.jquery.com/prop/#prop-propertyName-function} - */ - prop(propertyName: string, func: (index: number, oldPropertyValue: any) => any): JQuery; - - /** - * Remove an attribute from each element in the set of matched elements. - * - * @param attributeName An attribute to remove; as of version 1.7, it can be a space-separated list of attributes. - * @see {@link https://api.jquery.com/removeAttr/} - */ - removeAttr(attributeName: string): JQuery; - - /** - * Remove a single class, multiple classes, or all classes from each element in the set of matched elements. - * - * @param className One or more space-separated classes to be removed from the class attribute of each matched element. - * @see {@link https://api.jquery.com/removeClass/#removeClass-className} - */ - removeClass(className?: string): JQuery; - /** - * Remove a single class, multiple classes, or all classes from each element in the set of matched elements. - * - * @param func A function returning one or more space-separated class names to be removed. Receives the index position of the element in the set and the old class value as arguments. - * @see {@link https://api.jquery.com/removeClass/#removeClass-function} - */ - removeClass(func: (index: number, className: string) => string): JQuery; - - /** - * Remove a property for the set of matched elements. - * - * @param propertyName The name of the property to remove. - * @see {@link https://api.jquery.com/removeProp/} - */ - removeProp(propertyName: string): JQuery; - - /** - * Add or remove one or more classes from each element in the set of matched elements, depending on either the class's presence or the value of the switch argument. - * - * @param className One or more class names (separated by spaces) to be toggled for each element in the matched set. - * @param swtch A Boolean (not just truthy/falsy) value to determine whether the class should be added or removed. - * @see {@link https://api.jquery.com/toggleClass/#toggleClass-className} - */ - toggleClass(className: string, swtch?: boolean): JQuery; - /** - * Add or remove one or more classes from each element in the set of matched elements, depending on either the class's presence or the value of the switch argument. - * - * @param swtch A boolean value to determine whether the class should be added or removed. - * @see {@link https://api.jquery.com/toggleClass/#toggleClass-state} - */ - toggleClass(swtch?: boolean): JQuery; - /** - * Add or remove one or more classes from each element in the set of matched elements, depending on either the class's presence or the value of the switch argument. - * - * @param func A function that returns class names to be toggled in the class attribute of each element in the matched set. Receives the index position of the element in the set, the old class value, and the switch as arguments. - * @param swtch A boolean value to determine whether the class should be added or removed. - * @see {@link https://api.jquery.com/toggleClass/#toggleClass-function-state} - */ - toggleClass(func: (index: number, className: string, swtch: boolean) => string, swtch?: boolean): JQuery; - - /** - * Get the current value of the first element in the set of matched elements. - * @see {@link https://api.jquery.com/val/#val} - */ - val(): any; - /** - * Set the value of each element in the set of matched elements. - * - * @param value A string of text, an array of strings or number corresponding to the value of each matched element to set as selected/checked. - * @see {@link https://api.jquery.com/val/#val-value} - */ - val(value: string|string[]|number): JQuery; - /** - * Set the value of each element in the set of matched elements. - * - * @param func A function returning the value to set. this is the current element. Receives the index position of the element in the set and the old value as arguments. - * @see {@link https://api.jquery.com/val/#val-function} - */ - val(func: (index: number, value: string) => string): JQuery; - - /** - * Get the value of style properties for the first element in the set of matched elements. - * - * @param propertyName A CSS property. - * @see {@link https://api.jquery.com/css/#css-propertyName} - */ - css(propertyName: string): string; - /** - * Set one or more CSS properties for the set of matched elements. - * - * @param propertyName A CSS property name. - * @param value A value to set for the property. - * @see {@link https://api.jquery.com/css/#css-propertyName-value} - */ - css(propertyName: string, value: string|number): JQuery; - /** - * Set one or more CSS properties for the set of matched elements. - * - * @param propertyName A CSS property name. - * @param value A function returning the value to set. this is the current element. Receives the index position of the element in the set and the old value as arguments. - * @see {@link https://api.jquery.com/css/#css-propertyName-function} - */ - css(propertyName: string, value: (index: number, value: string) => string|number): JQuery; - /** - * Set one or more CSS properties for the set of matched elements. - * - * @param properties An object of property-value pairs to set. - * @see {@link https://api.jquery.com/css/#css-properties} - */ - css(properties: Object): JQuery; - - /** - * Get the current computed height for the first element in the set of matched elements. - * @see {@link https://api.jquery.com/height/#height} - */ - height(): number; - /** - * Set the CSS height of every matched element. - * - * @param value An integer representing the number of pixels, or an integer with an optional unit of measure appended (as a string). - * @see {@link https://api.jquery.com/height/#height-value} - */ - height(value: number|string): JQuery; - /** - * Set the CSS height of every matched element. - * - * @param func A function returning the height to set. Receives the index position of the element in the set and the old height as arguments. Within the function, this refers to the current element in the set. - * @see {@link https://api.jquery.com/height/#height-function} - */ - height(func: (index: number, height: number) => number|string): JQuery; - - /** - * Get the current computed height for the first element in the set of matched elements, including padding but not border. - * @see {@link https://api.jquery.com/innerHeight/#innerHeight} - */ - innerHeight(): number; - - /** - * Sets the inner height on elements in the set of matched elements, including padding but not border. - * - * @param value An integer representing the number of pixels, or an integer along with an optional unit of measure appended (as a string). - * @see {@link https://api.jquery.com/innerHeight/#innerHeight-value} - */ - innerHeight(value: number|string): JQuery; - - /** - * Get the current computed width for the first element in the set of matched elements, including padding but not border. - * @see {@link https://api.jquery.com/innerWidth/#innerWidth} - */ - innerWidth(): number; - - /** - * Sets the inner width on elements in the set of matched elements, including padding but not border. - * - * @param value An integer representing the number of pixels, or an integer along with an optional unit of measure appended (as a string). - * @see {@link https://api.jquery.com/innerWidth/#innerWidth-value} - */ - innerWidth(value: number|string): JQuery; - - /** - * Get the current coordinates of the first element in the set of matched elements, relative to the document. - * @see {@link https://api.jquery.com/offset/#offset} - */ - offset(): JQueryCoordinates; - /** - * An object containing the properties top and left, which are integers indicating the new top and left coordinates for the elements. - * - * @param coordinates An object containing the properties top and left, which are integers indicating the new top and left coordinates for the elements. - * @see {@link https://api.jquery.com/offset/#offset-coordinates} - */ - offset(coordinates: JQueryCoordinates): JQuery; - /** - * An object containing the properties top and left, which are integers indicating the new top and left coordinates for the elements. - * - * @param func A function to return the coordinates to set. Receives the index of the element in the collection as the first argument and the current coordinates as the second argument. The function should return an object with the new top and left properties. - * @see {@link https://api.jquery.com/offset/#offset-function} - */ - offset(func: (index: number, coords: JQueryCoordinates) => JQueryCoordinates): JQuery; - - /** - * Get the current computed height for the first element in the set of matched elements, including padding, border, and optionally margin. Returns an integer (without "px") representation of the value or null if called on an empty set of elements. - * - * @param includeMargin A Boolean indicating whether to include the element's margin in the calculation. - * @see {@link https://api.jquery.com/outerHeight/#outerHeight-includeMargin} - */ - outerHeight(includeMargin?: boolean): number; - - /** - * Sets the outer height on elements in the set of matched elements, including padding and border. - * - * @param value An integer representing the number of pixels, or an integer along with an optional unit of measure appended (as a string). - * @see {@link https://api.jquery.com/outerHeight/#outerHeight-value} - */ - outerHeight(value: number|string): JQuery; - - /** - * Get the current computed width for the first element in the set of matched elements, including padding and border. - * - * @param includeMargin A Boolean indicating whether to include the element's margin in the calculation. - * @see {@link https://api.jquery.com/outerWidth/#outerWidth-includeMargin} - */ - outerWidth(includeMargin?: boolean): number; - - /** - * Sets the outer width on elements in the set of matched elements, including padding and border. - * - * @param value An integer representing the number of pixels, or an integer along with an optional unit of measure appended (as a string). - * @see {@link https://api.jquery.com/outerWidth/#outerWidth-value} - */ - outerWidth(value: number|string): JQuery; - - /** - * Get the current coordinates of the first element in the set of matched elements, relative to the offset parent. - * @see {@link https://api.jquery.com/position/} - */ - position(): JQueryCoordinates; - - /** - * Get the current horizontal position of the scroll bar for the first element in the set of matched elements or set the horizontal position of the scroll bar for every matched element. - * @see {@link https://api.jquery.com/scrollLeft/#scrollLeft} - */ - scrollLeft(): number; - /** - * Set the current horizontal position of the scroll bar for each of the set of matched elements. - * - * @param value An integer indicating the new position to set the scroll bar to. - * @see {@link https://api.jquery.com/scrollLeft/#scrollLeft-value} - */ - scrollLeft(value: number): JQuery; - - /** - * Get the current vertical position of the scroll bar for the first element in the set of matched elements or set the vertical position of the scroll bar for every matched element. - * @see {@link https://api.jquery.com/scrollTop/#scrollTop} - */ - scrollTop(): number; - /** - * Set the current vertical position of the scroll bar for each of the set of matched elements. - * - * @param value An integer indicating the new position to set the scroll bar to. - * @see {@link https://api.jquery.com/scrollTop/#scrollTop-value} - */ - scrollTop(value: number): JQuery; - - /** - * Get the current computed width for the first element in the set of matched elements. - * @see {@link https://api.jquery.com/width/#width} - */ - width(): number; - /** - * Set the CSS width of each element in the set of matched elements. - * - * @param value An integer representing the number of pixels, or an integer along with an optional unit of measure appended (as a string). - * @see {@link https://api.jquery.com/width/#width-value} - */ - width(value: number|string): JQuery; - /** - * Set the CSS width of each element in the set of matched elements. - * - * @param func A function returning the width to set. Receives the index position of the element in the set and the old width as arguments. Within the function, this refers to the current element in the set. - * @see {@link https://api.jquery.com/width/#width-function} - */ - width(func: (index: number, width: number) => number|string): JQuery; - - /** - * Remove from the queue all items that have not yet been run. - * - * @param queueName A string containing the name of the queue. Defaults to fx, the standard effects queue. - * @see {@link https://api.jquery.com/clearQueue/} - */ - clearQueue(queueName?: string): JQuery; - - /** - * Store arbitrary data associated with the matched elements. - * - * @param key A string naming the piece of data to set. - * @param value The new data value; it can be any JavaScript type including Array or Object. - * @see {@link https://api.jquery.com/data/#data-key-value} - */ - data(key: string, value: any): JQuery; - /** - * Return the value at the named data store for the first element in the jQuery collection, as set by data(name, value) or by an HTML5 data-* attribute. - * - * @param key Name of the data stored. - * @see {@link https://api.jquery.com/data/#data-key} - */ - data(key: string): any; - /** - * Store arbitrary data associated with the matched elements. - * - * @param obj An object of key-value pairs of data to update. - * @see {@link https://api.jquery.com/data/#data-obj} - */ - data(obj: { [key: string]: any; }): JQuery; - /** - * Return the value at the named data store for the first element in the jQuery collection, as set by data(name, value) or by an HTML5 data-* attribute. - * @see {@link https://api.jquery.com/data/#data} - */ - data(): any; - - /** - * Execute the next function on the queue for the matched elements. - * - * @param queueName A string containing the name of the queue. Defaults to fx, the standard effects queue. - * @see {@link https://api.jquery.com/dequeue/} - */ - dequeue(queueName?: string): JQuery; - - /** - * Remove a previously-stored piece of data. - * - * @param name A string naming the piece of data to delete or space-separated string naming the pieces of data to delete. - * @see {@link https://api.jquery.com/removeData/#removeData-name} - */ - removeData(name: string): JQuery; - /** - * Remove a previously-stored piece of data. - * - * @param list An array of strings naming the pieces of data to delete. - * @see {@link https://api.jquery.com/removeData/#removeData-list} - */ - removeData(list: string[]): JQuery; - /** - * Remove all previously-stored piece of data. - * @see {@link https://api.jquery.com/removeData/} - */ - removeData(): JQuery; - - /** - * Return a Promise object to observe when all actions of a certain type bound to the collection, queued or not, have finished. - * - * @param type The type of queue that needs to be observed. (default: fx) - * @param target Object onto which the promise methods have to be attached - * @see {@link https://api.jquery.com/promise/} - */ - promise(type?: string, target?: Object): JQueryPromise; - - /** - * Perform a custom animation of a set of CSS properties. - * - * @param properties An object of CSS properties and values that the animation will move toward. - * @param duration A string or number determining how long the animation will run. - * @param complete A function to call once the animation is complete. - * @see {@link https://api.jquery.com/animate/#animate-properties-duration-easing-complete} - */ - animate(properties: Object, duration?: string|number, complete?: Function): JQuery; - /** - * Perform a custom animation of a set of CSS properties. - * - * @param properties An object of CSS properties and values that the animation will move toward. - * @param duration A string or number determining how long the animation will run. - * @param easing A string indicating which easing function to use for the transition. (default: swing) - * @param complete A function to call once the animation is complete. - * @see {@link https://api.jquery.com/animate/#animate-properties-duration-easing-complete} - */ - animate(properties: Object, duration?: string|number, easing?: string, complete?: Function): JQuery; - /** - * Perform a custom animation of a set of CSS properties. - * - * @param properties An object of CSS properties and values that the animation will move toward. - * @param options A map of additional options to pass to the method. - * @see {@link https://api.jquery.com/animate/#animate-properties-options} - */ - animate(properties: Object, options: JQueryAnimationOptions): JQuery; - - /** - * Set a timer to delay execution of subsequent items in the queue. - * - * @param duration An integer indicating the number of milliseconds to delay execution of the next item in the queue. - * @param queueName A string containing the name of the queue. Defaults to fx, the standard effects queue. - * @see {@link https://api.jquery.com/delay/} - */ - delay(duration: number, queueName?: string): JQuery; - - /** - * Display the matched elements by fading them to opaque. - * - * @param duration A string or number determining how long the animation will run. - * @param complete A function to call once the animation is complete. - * @see {@link https://api.jquery.com/fadeIn/#fadeIn-duration-complete} - */ - fadeIn(duration?: number|string, complete?: Function): JQuery; - /** - * Display the matched elements by fading them to opaque. - * - * @param duration A string or number determining how long the animation will run. - * @param easing A string indicating which easing function to use for the transition. - * @param complete A function to call once the animation is complete. - * @see {@link https://api.jquery.com/fadeIn/#fadeIn-duration-easing-complete} - */ - fadeIn(duration?: number|string, easing?: string, complete?: Function): JQuery; - /** - * Display the matched elements by fading them to opaque. - * - * @param options A map of additional options to pass to the method. - * @see {@link https://api.jquery.com/fadeIn/#fadeIn-options} - */ - fadeIn(options: JQueryAnimationOptions): JQuery; - - /** - * Hide the matched elements by fading them to transparent. - * - * @param duration A string or number determining how long the animation will run. - * @param complete A function to call once the animation is complete. - * @see {@link https://api.jquery.com/fadeOut/#fadeOut-duration-complete} - */ - fadeOut(duration?: number|string, complete?: Function): JQuery; - /** - * Hide the matched elements by fading them to transparent. - * - * @param duration A string or number determining how long the animation will run. - * @param easing A string indicating which easing function to use for the transition. - * @param complete A function to call once the animation is complete. - * @see {@link https://api.jquery.com/fadeOut/#fadeOut-duration-easing-complete} - */ - fadeOut(duration?: number|string, easing?: string, complete?: Function): JQuery; - /** - * Hide the matched elements by fading them to transparent. - * - * @param options A map of additional options to pass to the method. - * @see {@link https://api.jquery.com/fadeOut/#fadeOut-options} - */ - fadeOut(options: JQueryAnimationOptions): JQuery; - - /** - * Adjust the opacity of the matched elements. - * - * @param duration A string or number determining how long the animation will run. - * @param opacity A number between 0 and 1 denoting the target opacity. - * @param complete A function to call once the animation is complete. - * @see {@link https://api.jquery.com/fadeTo/#fadeTo-duration-opacity-complete} - */ - fadeTo(duration: string|number, opacity: number, complete?: Function): JQuery; - /** - * Adjust the opacity of the matched elements. - * - * @param duration A string or number determining how long the animation will run. - * @param opacity A number between 0 and 1 denoting the target opacity. - * @param easing A string indicating which easing function to use for the transition. - * @param complete A function to call once the animation is complete. - * @see {@link https://api.jquery.com/fadeTo/#fadeTo-duration-opacity-easing-complete} - */ - fadeTo(duration: string|number, opacity: number, easing?: string, complete?: Function): JQuery; - - /** - * Display or hide the matched elements by animating their opacity. - * - * @param duration A string or number determining how long the animation will run. - * @param complete A function to call once the animation is complete. - * @see {@link https://api.jquery.com/fadeToggle/#fadeToggle-duration-easing-complete} - */ - fadeToggle(duration?: number|string, complete?: Function): JQuery; - /** - * Display or hide the matched elements by animating their opacity. - * - * @param duration A string or number determining how long the animation will run. - * @param easing A string indicating which easing function to use for the transition. - * @param complete A function to call once the animation is complete. - * @see {@link https://api.jquery.com/fadeToggle/#fadeToggle-duration-easing-complete} - */ - fadeToggle(duration?: number|string, easing?: string, complete?: Function): JQuery; - /** - * Display or hide the matched elements by animating their opacity. - * - * @param options A map of additional options to pass to the method. - * @see {@link https://api.jquery.com/fadeToggle/#fadeToggle-options} - */ - fadeToggle(options: JQueryAnimationOptions): JQuery; - - /** - * Stop the currently-running animation, remove all queued animations, and complete all animations for the matched elements. - * - * @param queue The name of the queue in which to stop animations. - * @see {@link https://api.jquery.com/finish/} - */ - finish(queue?: string): JQuery; - - /** - * Hide the matched elements. - * - * @param duration A string or number determining how long the animation will run. - * @param complete A function to call once the animation is complete. - * @see {@link https://api.jquery.com/hide/#hide} - */ - hide(duration?: number|string, complete?: Function): JQuery; - /** - * Hide the matched elements. - * - * @param duration A string or number determining how long the animation will run. - * @param easing A string indicating which easing function to use for the transition. - * @param complete A function to call once the animation is complete. - * @see {@link https://api.jquery.com/hide/#hide-duration-easing-complete} - */ - hide(duration?: number|string, easing?: string, complete?: Function): JQuery; - /** - * Hide the matched elements. - * - * @param options A map of additional options to pass to the method. - * @see {@link https://api.jquery.com/hide/#hide-options} - */ - hide(options: JQueryAnimationOptions): JQuery; - - /** - * Display the matched elements. - * - * @param duration A string or number determining how long the animation will run. - * @param complete A function to call once the animation is complete. - * @see {@link https://api.jquery.com/show/#show} - */ - show(duration?: number|string, complete?: Function): JQuery; - /** - * Display the matched elements. - * - * @param duration A string or number determining how long the animation will run. - * @param easing A string indicating which easing function to use for the transition. - * @param complete A function to call once the animation is complete. - * @see {@link https://api.jquery.com/show/#show-duration-easing-complete} - */ - show(duration?: number|string, easing?: string, complete?: Function): JQuery; - /** - * Display the matched elements. - * - * @param options A map of additional options to pass to the method. - * @see {@link https://api.jquery.com/show/#show-options} - */ - show(options: JQueryAnimationOptions): JQuery; - - /** - * Display the matched elements with a sliding motion. - * - * @param duration A string or number determining how long the animation will run. - * @param complete A function to call once the animation is complete. - * @see {@link https://api.jquery.com/slideDown/#slideDown-duration-complete} - */ - slideDown(duration?: number|string, complete?: Function): JQuery; - /** - * Display the matched elements with a sliding motion. - * - * @param duration A string or number determining how long the animation will run. - * @param easing A string indicating which easing function to use for the transition. - * @param complete A function to call once the animation is complete. - * @see {@link https://api.jquery.com/slideDown/#slideDown-duration-easing-complete} - */ - slideDown(duration?: number|string, easing?: string, complete?: Function): JQuery; - /** - * Display the matched elements with a sliding motion. - * - * @param options A map of additional options to pass to the method. - * @see {@link https://api.jquery.com/slideDown/#slideDown-options} - */ - slideDown(options: JQueryAnimationOptions): JQuery; - - /** - * Display or hide the matched elements with a sliding motion. - * - * @param duration A string or number determining how long the animation will run. - * @param complete A function to call once the animation is complete. - * @see {@link https://api.jquery.com/slideToggle/#slideToggle-duration-complete} - */ - slideToggle(duration?: number|string, complete?: Function): JQuery; - /** - * Display or hide the matched elements with a sliding motion. - * - * @param duration A string or number determining how long the animation will run. - * @param easing A string indicating which easing function to use for the transition. - * @param complete A function to call once the animation is complete. - * @see {@link https://api.jquery.com/slideToggle/#slideToggle-duration-easing-complete} - */ - slideToggle(duration?: number|string, easing?: string, complete?: Function): JQuery; - /** - * Display or hide the matched elements with a sliding motion. - * - * @param options A map of additional options to pass to the method. - * @see {@link https://api.jquery.com/slideToggle/#slideToggle-options} - */ - slideToggle(options: JQueryAnimationOptions): JQuery; - - /** - * Hide the matched elements with a sliding motion. - * - * @param duration A string or number determining how long the animation will run. - * @param complete A function to call once the animation is complete. - * @see {@link https://api.jquery.com/slideUp/#slideUp-duration-complete} - */ - slideUp(duration?: number|string, complete?: Function): JQuery; - /** - * Hide the matched elements with a sliding motion. - * - * @param duration A string or number determining how long the animation will run. - * @param easing A string indicating which easing function to use for the transition. - * @param complete A function to call once the animation is complete. - * @see {@link https://api.jquery.com/slideUp/#slideUp-duration-easing-complete} - */ - slideUp(duration?: number|string, easing?: string, complete?: Function): JQuery; - /** - * Hide the matched elements with a sliding motion. - * - * @param options A map of additional options to pass to the method. - * @see {@link https://api.jquery.com/slideUp/#slideUp-options} - */ - slideUp(options: JQueryAnimationOptions): JQuery; - - /** - * Stop the currently-running animation on the matched elements. - * - * @param clearQueue A Boolean indicating whether to remove queued animation as well. Defaults to false. - * @param jumpToEnd A Boolean indicating whether to complete the current animation immediately. Defaults to false. - * @see {@link https://api.jquery.com/stop/#stop-clearQueue-jumpToEnd} - */ - stop(clearQueue?: boolean, jumpToEnd?: boolean): JQuery; - /** - * Stop the currently-running animation on the matched elements. - * - * @param queue The name of the queue in which to stop animations. - * @param clearQueue A Boolean indicating whether to remove queued animation as well. Defaults to false. - * @param jumpToEnd A Boolean indicating whether to complete the current animation immediately. Defaults to false. - * @see {@link https://api.jquery.com/stop/#stop-queue-clearQueue-jumpToEnd} - */ - stop(queue?: string, clearQueue?: boolean, jumpToEnd?: boolean): JQuery; - - /** - * Display or hide the matched elements. - * - * @param duration A string or number determining how long the animation will run. - * @param complete A function to call once the animation is complete. - * @see {@link https://api.jquery.com/toggle/#toggle-duration-complete} - */ - toggle(duration?: number|string, complete?: Function): JQuery; - /** - * Display or hide the matched elements. - * - * @param duration A string or number determining how long the animation will run. - * @param easing A string indicating which easing function to use for the transition. - * @param complete A function to call once the animation is complete. - * @see {@link https://api.jquery.com/toggle/#toggle-duration-easing-complete} - */ - toggle(duration?: number|string, easing?: string, complete?: Function): JQuery; - /** - * Display or hide the matched elements. - * - * @param options A map of additional options to pass to the method. - * @see {@link https://api.jquery.com/toggle/#toggle-options} - */ - toggle(options: JQueryAnimationOptions): JQuery; - /** - * Display or hide the matched elements. - * - * @param showOrHide A Boolean indicating whether to show or hide the elements. - * @see {@link https://api.jquery.com/toggle/#toggle-display} - */ - toggle(showOrHide: boolean): JQuery; - - /** - * Attach a handler to an event for the elements. - * - * @param eventType A string containing one or more DOM event types, such as "click" or "submit," or custom event names. - * @param eventData An object containing data that will be passed to the event handler. - * @param handler A function to execute each time the event is triggered. - * @see {@link https://api.jquery.com/bind/#bind-eventType-eventData-handler} - */ - bind(eventType: string, eventData: any, handler: (eventObject: JQueryEventObject) => any): JQuery; - /** - * Attach a handler to an event for the elements. - * - * @param eventType A string containing one or more DOM event types, such as "click" or "submit," or custom event names. - * @param handler A function to execute each time the event is triggered. - * @see {@link https://api.jquery.com/bind/#bind-eventType-eventData-handler} - */ - bind(eventType: string, handler: (eventObject: JQueryEventObject) => any): JQuery; - /** - * Attach a handler to an event for the elements. - * - * @param eventType A string containing one or more DOM event types, such as "click" or "submit," or custom event names. - * @param eventData An object containing data that will be passed to the event handler. - * @param preventBubble Setting the third argument to false will attach a function that prevents the default action from occurring and stops the event from bubbling. The default is true. - * @see {@link https://api.jquery.com/bind/#bind-eventType-eventData-preventBubble} - */ - bind(eventType: string, eventData: any, preventBubble: boolean): JQuery; - /** - * Attach a handler to an event for the elements. - * - * @param eventType A string containing one or more DOM event types, such as "click" or "submit," or custom event names. - * @param preventBubble Setting the third argument to false will attach a function that prevents the default action from occurring and stops the event from bubbling. The default is true. - * @see {@link https://api.jquery.com/bind/#bind-eventType-eventData-preventBubble} - */ - bind(eventType: string, preventBubble: boolean): JQuery; - /** - * Attach a handler to an event for the elements. - * - * @param events An object containing one or more DOM event types and functions to execute for them. - * @see {@link https://api.jquery.com/bind/#bind-events} - */ - bind(events: any): JQuery; - - /** - * Trigger the "blur" event on an element - * @see {@link https://api.jquery.com/blur/#blur} - */ - blur(): JQuery; - /** - * Bind an event handler to the "blur" JavaScript event - * - * @param handler A function to execute each time the event is triggered. - * @see {@link https://api.jquery.com/blur/#blur-handler} - */ - blur(handler: (eventObject: JQueryEventObject) => any): JQuery; - /** - * Bind an event handler to the "blur" JavaScript event - * - * @param eventData An object containing data that will be passed to the event handler. - * @param handler A function to execute each time the event is triggered. - * @see {@link https://api.jquery.com/blur/#blur-eventData-handler} - */ - blur(eventData?: any, handler?: (eventObject: JQueryEventObject) => any): JQuery; - - /** - * Trigger the "change" event on an element. - * @see {@link https://api.jquery.com/change/#change} - */ - change(): JQuery; - /** - * Bind an event handler to the "change" JavaScript event - * - * @param handler A function to execute each time the event is triggered. - * @see {@link https://api.jquery.com/change/#change-handler} - */ - change(handler: (eventObject: JQueryEventObject) => any): JQuery; - /** - * Bind an event handler to the "change" JavaScript event - * - * @param eventData An object containing data that will be passed to the event handler. - * @param handler A function to execute each time the event is triggered. - * @see {@link https://api.jquery.com/change/#change-eventData-handler} - */ - change(eventData?: any, handler?: (eventObject: JQueryEventObject) => any): JQuery; - - /** - * Trigger the "click" event on an element. - * @see {@link https://api.jquery.com/click/#click} - */ - click(): JQuery; - /** - * Bind an event handler to the "click" JavaScript event - * - * @param handler A function to execute each time the event is triggered. - * @see {@link https://api.jquery.com/click/#click-handler} - */ - click(handler: (eventObject: JQueryEventObject) => any): JQuery; - /** - * Bind an event handler to the "click" JavaScript event - * - * @param eventData An object containing data that will be passed to the event handler. - * @param handler A function to execute each time the event is triggered. - * @see {@link https://api.jquery.com/click/#click-eventData-handler} - */ - click(eventData?: any, handler?: (eventObject: JQueryEventObject) => any): JQuery; - - /** - * Trigger the "contextmenu" event on an element. - * @see {@link https://api.jquery.com/contextmenu/#contextmenu} - */ - contextmenu(): JQuery; - /** - * Bind an event handler to the "contextmenu" JavaScript event. - * - * @param handler A function to execute when the event is triggered. - * @see {@link https://api.jquery.com/contextmenu/#contextmenu-handler} - */ - contextmenu(handler: (eventObject: JQueryMouseEventObject) => any): JQuery; - /** - * Bind an event handler to the "contextmenu" JavaScript event. - * - * @param eventData An object containing data that will be passed to the event handler. - * @param handler A function to execute when the event is triggered. - * @see {@link https://api.jquery.com/contextmenu/#contextmenu-eventData-handler} - */ - contextmenu(eventData: Object, handler: (eventObject: JQueryMouseEventObject) => any): JQuery; - - /** - * Trigger the "dblclick" event on an element. - * @see {@link https://api.jquery.com/dblclick/#dblclick} - */ - dblclick(): JQuery; - /** - * Bind an event handler to the "dblclick" JavaScript event - * - * @param handler A function to execute each time the event is triggered. - * @see {@link https://api.jquery.com/dblclick/#dblclick-handler} - */ - dblclick(handler: (eventObject: JQueryEventObject) => any): JQuery; - /** - * Bind an event handler to the "dblclick" JavaScript event - * - * @param eventData An object containing data that will be passed to the event handler. - * @param handler A function to execute each time the event is triggered. - * @see {@link https://api.jquery.com/dblclick/#dblclick-eventData-handler} - */ - dblclick(eventData?: any, handler?: (eventObject: JQueryEventObject) => any): JQuery; - - /** - * Attach a handler to one or more events for all elements that match the selector, now or in the future, based on a specific set of root elements. - * @see {@link https://api.jquery.com/delegate/#delegate-selector-eventType-handler} - */ - delegate(selector: any, eventType: string, handler: (eventObject: JQueryEventObject) => any): JQuery; - /** - * Attach a handler to one or more events for all elements that match the selector, now or in the future, based on a specific set of root elements. - * @see {@link https://api.jquery.com/delegate/#delegate-selector-eventType-eventData-handler} - */ - delegate(selector: any, eventType: string, eventData: any, handler: (eventObject: JQueryEventObject) => any): JQuery; - - /** - * Trigger the "focus" event on an element. - * @see {@link https://api.jquery.com/focus/#focus} - */ - focus(): JQuery; - /** - * Bind an event handler to the "focus" JavaScript event - * - * @param handler A function to execute each time the event is triggered. - * @see {@link https://api.jquery.com/focus/#focus-handler} - */ - focus(handler: (eventObject: JQueryEventObject) => any): JQuery; - /** - * Bind an event handler to the "focus" JavaScript event - * - * @param eventData An object containing data that will be passed to the event handler. - * @param handler A function to execute each time the event is triggered. - * @see {@link https://api.jquery.com/focus/#focus-eventData-handler} - */ - focus(eventData?: any, handler?: (eventObject: JQueryEventObject) => any): JQuery; - - /** - * Trigger the "focusin" event on an element. - * @see {@link https://api.jquery.com/focusin/#focusin} - */ - focusin(): JQuery; - /** - * Bind an event handler to the "focusin" JavaScript event - * - * @param handler A function to execute each time the event is triggered. - * @see {@link https://api.jquery.com/focusin/#focusin-handler} - */ - focusin(handler: (eventObject: JQueryEventObject) => any): JQuery; - /** - * Bind an event handler to the "focusin" JavaScript event - * - * @param eventData An object containing data that will be passed to the event handler. - * @param handler A function to execute each time the event is triggered. - * @see {@link https://api.jquery.com/focusin/#focusin-eventData-handler} - */ - focusin(eventData: Object, handler: (eventObject: JQueryEventObject) => any): JQuery; - - /** - * Trigger the "focusout" event on an element. - * @see {@link https://api.jquery.com/focusout/#focusout} - */ - focusout(): JQuery; - /** - * Bind an event handler to the "focusout" JavaScript event - * - * @param handler A function to execute each time the event is triggered. - * @see {@link https://api.jquery.com/focusout/#focusout-handler} - */ - focusout(handler: (eventObject: JQueryEventObject) => any): JQuery; - /** - * Bind an event handler to the "focusout" JavaScript event - * - * @param eventData An object containing data that will be passed to the event handler. - * @param handler A function to execute each time the event is triggered. - * @see {@link https://api.jquery.com/focusout/#focusout-eventData-handler} - */ - focusout(eventData: Object, handler: (eventObject: JQueryEventObject) => any): JQuery; - - /** - * Bind two handlers to the matched elements, to be executed when the mouse pointer enters and leaves the elements. - * - * @param handlerIn A function to execute when the mouse pointer enters the element. - * @param handlerOut A function to execute when the mouse pointer leaves the element. - * @see {@link https://api.jquery.com/hover/#hover-handlerIn-handlerOut} - */ - hover(handlerIn: (eventObject: JQueryEventObject) => any, handlerOut: (eventObject: JQueryEventObject) => any): JQuery; - /** - * Bind a single handler to the matched elements, to be executed when the mouse pointer enters or leaves the elements. - * - * @param handlerInOut A function to execute when the mouse pointer enters or leaves the element. - * @see {@link https://api.jquery.com/hover/#hover-handlerInOut} - */ - hover(handlerInOut: (eventObject: JQueryEventObject) => any): JQuery; - - /** - * Trigger the "keydown" event on an element. - * @see {@link https://api.jquery.com/keydown/#keydown} - */ - keydown(): JQuery; - /** - * Bind an event handler to the "keydown" JavaScript event - * - * @param handler A function to execute each time the event is triggered. - * @see {@link https://api.jquery.com/keydown/#keydown-handler} - */ - keydown(handler: (eventObject: JQueryKeyEventObject) => any): JQuery; - /** - * Bind an event handler to the "keydown" JavaScript event - * - * @param eventData An object containing data that will be passed to the event handler. - * @param handler A function to execute each time the event is triggered. - * @see {@link https://api.jquery.com/keydown/#keydown-eventData-handler} - */ - keydown(eventData?: any, handler?: (eventObject: JQueryKeyEventObject) => any): JQuery; - - /** - * Trigger the "keypress" event on an element. - * @see {@link https://api.jquery.com/keypress/#keypress} - */ - keypress(): JQuery; - /** - * Bind an event handler to the "keypress" JavaScript event - * - * @param handler A function to execute each time the event is triggered. - * @see {@link https://api.jquery.com/keypress/#keypress-handler} - */ - keypress(handler: (eventObject: JQueryKeyEventObject) => any): JQuery; - /** - * Bind an event handler to the "keypress" JavaScript event - * - * @param eventData An object containing data that will be passed to the event handler. - * @param handler A function to execute each time the event is triggered. - * @see {@link https://api.jquery.com/keypress/#keypress-eventData-handler} - */ - keypress(eventData?: any, handler?: (eventObject: JQueryKeyEventObject) => any): JQuery; - - /** - * Trigger the "keyup" event on an element. - * @see {@link https://api.jquery.com/keyup/#keyup} - */ - keyup(): JQuery; - /** - * Bind an event handler to the "keyup" JavaScript event - * - * @param handler A function to execute each time the event is triggered. - * @see {@link https://api.jquery.com/keyup/#keyup-handler} - */ - keyup(handler: (eventObject: JQueryKeyEventObject) => any): JQuery; - /** - * Bind an event handler to the "keyup" JavaScript event - * - * @param eventData An object containing data that will be passed to the event handler. - * @param handler A function to execute each time the event is triggered. - * @see {@link https://api.jquery.com/keyup/#keyup-eventData-handler} - */ - keyup(eventData?: any, handler?: (eventObject: JQueryKeyEventObject) => any): JQuery; - - /** - * Bind an event handler to the "load" JavaScript event. - * - * @param handler A function to execute when the event is triggered. - * @see {@link https://api.jquery.com/load/} - */ - load(handler: (eventObject: JQueryEventObject) => any): JQuery; - /** - * Bind an event handler to the "load" JavaScript event. - * - * @param eventData An object containing data that will be passed to the event handler. - * @param handler A function to execute when the event is triggered. - * @see {@link https://api.jquery.com/load/} - */ - load(eventData?: any, handler?: (eventObject: JQueryEventObject) => any): JQuery; - - /** - * Trigger the "mousedown" event on an element. - * @see {@link https://api.jquery.com/mousedown/#mousedown} - */ - mousedown(): JQuery; - /** - * Bind an event handler to the "mousedown" JavaScript event. - * - * @param handler A function to execute when the event is triggered. - * @see {@link https://api.jquery.com/mousedown/#mousedown-handler} - */ - mousedown(handler: (eventObject: JQueryMouseEventObject) => any): JQuery; - /** - * Bind an event handler to the "mousedown" JavaScript event. - * - * @param eventData An object containing data that will be passed to the event handler. - * @param handler A function to execute when the event is triggered. - * @see {@link https://api.jquery.com/mousedown/#mousedown-eventData-handler} - */ - mousedown(eventData: Object, handler: (eventObject: JQueryMouseEventObject) => any): JQuery; - - /** - * Trigger the "mouseenter" event on an element. - * @see {@link https://api.jquery.com/mouseenter/#mouseenter} - */ - mouseenter(): JQuery; - /** - * Bind an event handler to be fired when the mouse enters an element. - * - * @param handler A function to execute when the event is triggered. - * @see {@link https://api.jquery.com/mouseenter/#mouseenter-handler} - */ - mouseenter(handler: (eventObject: JQueryMouseEventObject) => any): JQuery; - /** - * Bind an event handler to be fired when the mouse enters an element. - * - * @param eventData An object containing data that will be passed to the event handler. - * @param handler A function to execute when the event is triggered. - * @see {@link https://api.jquery.com/mouseenter/#mouseenter-eventData-handler} - */ - mouseenter(eventData: Object, handler: (eventObject: JQueryMouseEventObject) => any): JQuery; - - /** - * Trigger the "mouseleave" event on an element. - * @see {@link https://api.jquery.com/mouseleave/#mouseleave} - */ - mouseleave(): JQuery; - /** - * Bind an event handler to be fired when the mouse leaves an element. - * - * @param handler A function to execute when the event is triggered. - * @see {@link https://api.jquery.com/mouseleave/#mouseleave-handler} - */ - mouseleave(handler: (eventObject: JQueryMouseEventObject) => any): JQuery; - /** - * Bind an event handler to be fired when the mouse leaves an element. - * - * @param eventData An object containing data that will be passed to the event handler. - * @param handler A function to execute when the event is triggered. - * @see {@link https://api.jquery.com/mouseleave/#mouseleave-eventData-handler} - */ - mouseleave(eventData: Object, handler: (eventObject: JQueryMouseEventObject) => any): JQuery; - - /** - * Trigger the "mousemove" event on an element. - * @see {@link https://api.jquery.com/mousemove/#mousemove} - */ - mousemove(): JQuery; - /** - * Bind an event handler to the "mousemove" JavaScript event. - * - * @param handler A function to execute when the event is triggered. - * @see {@link https://api.jquery.com/mousemove/#mousemove-handler} - */ - mousemove(handler: (eventObject: JQueryMouseEventObject) => any): JQuery; - /** - * Bind an event handler to the "mousemove" JavaScript event. - * - * @param eventData An object containing data that will be passed to the event handler. - * @param handler A function to execute when the event is triggered. - * @see {@link https://api.jquery.com/mousemove/#mousemove-eventData-handler} - */ - mousemove(eventData: Object, handler: (eventObject: JQueryMouseEventObject) => any): JQuery; - - /** - * Trigger the "mouseout" event on an element. - * @see {@link https://api.jquery.com/mouseout/#mouseout} - */ - mouseout(): JQuery; - /** - * Bind an event handler to the "mouseout" JavaScript event. - * - * @param handler A function to execute when the event is triggered. - * @see {@link https://api.jquery.com/mouseout/#mouseout-handler} - */ - mouseout(handler: (eventObject: JQueryMouseEventObject) => any): JQuery; - /** - * Bind an event handler to the "mouseout" JavaScript event. - * - * @param eventData An object containing data that will be passed to the event handler. - * @param handler A function to execute when the event is triggered. - * @see {@link https://api.jquery.com/mouseout/#mouseout-eventData-handler} - */ - mouseout(eventData: Object, handler: (eventObject: JQueryMouseEventObject) => any): JQuery; - - /** - * Trigger the "mouseover" event on an element. - * @see {@link https://api.jquery.com/mouseover/#mouseover} - */ - mouseover(): JQuery; - /** - * Bind an event handler to the "mouseover" JavaScript event. - * - * @param handler A function to execute when the event is triggered. - * @see {@link https://api.jquery.com/mouseover/#mouseover-handler} - */ - mouseover(handler: (eventObject: JQueryMouseEventObject) => any): JQuery; - /** - * Bind an event handler to the "mouseover" JavaScript event. - * - * @param eventData An object containing data that will be passed to the event handler. - * @param handler A function to execute when the event is triggered. - * @see {@link https://api.jquery.com/mouseover/#mouseover-eventData-handler} - */ - mouseover(eventData: Object, handler: (eventObject: JQueryMouseEventObject) => any): JQuery; - - /** - * Trigger the "mouseup" event on an element. - * @see {@link https://api.jquery.com/mouseup/#mouseup} - */ - mouseup(): JQuery; - /** - * Bind an event handler to the "mouseup" JavaScript event. - * - * @param handler A function to execute when the event is triggered. - * @see {@link https://api.jquery.com/mouseup/#mouseup-handler} - */ - mouseup(handler: (eventObject: JQueryMouseEventObject) => any): JQuery; - /** - * Bind an event handler to the "mouseup" JavaScript event. - * - * @param eventData An object containing data that will be passed to the event handler. - * @param handler A function to execute when the event is triggered. - * @see {@link https://api.jquery.com/mouseup/#mouseup-eventData-handler} - */ - mouseup(eventData: Object, handler: (eventObject: JQueryMouseEventObject) => any): JQuery; - - /** - * Remove an event handler. - * @see {@link https://api.jquery.com/off/#off} - */ - off(): JQuery; - /** - * Remove an event handler. - * - * @param events One or more space-separated event types and optional namespaces, or just namespaces, such as "click", "keydown.myPlugin", or ".myPlugin". - * @param selector A selector which should match the one originally passed to .on() when attaching event handlers. - * @param handler A handler function previously attached for the event(s), or the special value false. - * @see {@link https://api.jquery.com/off/#off-events-selector-handler} - */ - off(events: string, selector?: string, handler?: (eventObject: JQueryEventObject) => any): JQuery; - /** - * Remove an event handler. - * - * @param events One or more space-separated event types and optional namespaces, or just namespaces, such as "click", "keydown.myPlugin", or ".myPlugin". - * @param handler A handler function previously attached for the event(s), or the special value false. Takes handler with extra args that can be attached with on(). - * @see {@link https://api.jquery.com/off/#off-events-selector-handler} - */ - off(events: string, handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery; - /** - * Remove an event handler. - * - * @param events One or more space-separated event types and optional namespaces, or just namespaces, such as "click", "keydown.myPlugin", or ".myPlugin". - * @param handler A handler function previously attached for the event(s), or the special value false. - * @see {@link https://api.jquery.com/off/#off-events-selector-handler} - */ - off(events: string, handler: (eventObject: JQueryEventObject) => any): JQuery; - /** - * Remove an event handler. - * - * @param events An object where the string keys represent one or more space-separated event types and optional namespaces, and the values represent handler functions previously attached for the event(s). - * @param selector A selector which should match the one originally passed to .on() when attaching event handlers. - * @see {@link https://api.jquery.com/off/#off-events-selector} - */ - off(events: { [key: string]: any; }, selector?: string): JQuery; - - /** - * Attach an event handler function for one or more events to the selected elements. - * - * @param events One or more space-separated event types and optional namespaces, such as "click" or "keydown.myPlugin". - * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. Rest parameter args is for optional parameters passed to jQuery.trigger(). Note that the actual parameters on the event handler function must be marked as optional (? syntax). - * @see {@link https://api.jquery.com/on/#on-events-selector-data-handler} - */ - on(events: string, handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery; - /** - * Attach an event handler function for one or more events to the selected elements. - * - * @param events One or more space-separated event types and optional namespaces, such as "click" or "keydown.myPlugin". - * @param data Data to be passed to the handler in event.data when an event is triggered. - * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. - * @see {@link https://api.jquery.com/on/#on-events-selector-data-handler} - */ - on(events: string, data : any, handler: (eventObject: JQueryEventObject, ...args: any[]) => any): JQuery; - /** - * Attach an event handler function for one or more events to the selected elements. - * - * @param events One or more space-separated event types and optional namespaces, such as "click" or "keydown.myPlugin". - * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. - * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. - * @see {@link https://api.jquery.com/on/#on-events-selector-data-handler} - */ - on(events: string, selector: string, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery; - /** - * Attach an event handler function for one or more events to the selected elements. - * - * @param events One or more space-separated event types and optional namespaces, such as "click" or "keydown.myPlugin". - * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. - * @param data Data to be passed to the handler in event.data when an event is triggered. - * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. - * @see {@link https://api.jquery.com/on/#on-events-selector-data-handler} - */ - on(events: string, selector: string, data: any, handler: (eventObject: JQueryEventObject, ...eventData: any[]) => any): JQuery; - /** - * Attach an event handler function for one or more events to the selected elements. - * - * @param events An object in which the string keys represent one or more space-separated event types and optional namespaces, and the values represent a handler function to be called for the event(s). - * @param selector A selector string to filter the descendants of the selected elements that will call the handler. If the selector is null or omitted, the handler is always called when it reaches the selected element. - * @param data Data to be passed to the handler in event.data when an event occurs. - * @see {@link https://api.jquery.com/on/#on-events-selector-data} - */ - on(events: { [key: string]: any; }, selector?: string, data?: any): JQuery; - /** - * Attach an event handler function for one or more events to the selected elements. - * - * @param events An object in which the string keys represent one or more space-separated event types and optional namespaces, and the values represent a handler function to be called for the event(s). - * @param data Data to be passed to the handler in event.data when an event occurs. - * @see {@link https://api.jquery.com/on/#on-events-selector-data} - */ - on(events: { [key: string]: any; }, data?: any): JQuery; - - /** - * Attach a handler to an event for the elements. The handler is executed at most once per element per event type. - * - * @param events A string containing one or more JavaScript event types, such as "click" or "submit," or custom event names. - * @param handler A function to execute at the time the event is triggered. - * @see {@link https://api.jquery.com/one/#one-events-data-handler} - */ - one(events: string, handler: (eventObject: JQueryEventObject) => any): JQuery; - /** - * Attach a handler to an event for the elements. The handler is executed at most once per element per event type. - * - * @param events A string containing one or more JavaScript event types, such as "click" or "submit," or custom event names. - * @param data An object containing data that will be passed to the event handler. - * @param handler A function to execute at the time the event is triggered. - * @see {@link https://api.jquery.com/one/#one-events-data-handler} - */ - one(events: string, data: Object, handler: (eventObject: JQueryEventObject) => any): JQuery; - - /** - * Attach a handler to an event for the elements. The handler is executed at most once per element per event type. - * - * @param events One or more space-separated event types and optional namespaces, such as "click" or "keydown.myPlugin". - * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. - * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. - * @see {@link https://api.jquery.com/one/#one-events-selector-data-handler} - */ - one(events: string, selector: string, handler: (eventObject: JQueryEventObject) => any): JQuery; - /** - * Attach a handler to an event for the elements. The handler is executed at most once per element per event type. - * - * @param events One or more space-separated event types and optional namespaces, such as "click" or "keydown.myPlugin". - * @param selector A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. - * @param data Data to be passed to the handler in event.data when an event is triggered. - * @param handler A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. - * @see {@link https://api.jquery.com/one/#one-events-selector-data-handler} - */ - one(events: string, selector: string, data: any, handler: (eventObject: JQueryEventObject) => any): JQuery; - - /** - * Attach a handler to an event for the elements. The handler is executed at most once per element per event type. - * - * @param events An object in which the string keys represent one or more space-separated event types and optional namespaces, and the values represent a handler function to be called for the event(s). - * @param selector A selector string to filter the descendants of the selected elements that will call the handler. If the selector is null or omitted, the handler is always called when it reaches the selected element. - * @param data Data to be passed to the handler in event.data when an event occurs. - * @see {@link https://api.jquery.com/one/#one-events-selector-data} - */ - one(events: { [key: string]: any; }, selector?: string, data?: any): JQuery; - - /** - * Attach a handler to an event for the elements. The handler is executed at most once per element per event type. - * - * @param events An object in which the string keys represent one or more space-separated event types and optional namespaces, and the values represent a handler function to be called for the event(s). - * @param data Data to be passed to the handler in event.data when an event occurs. - * @see {@link https://api.jquery.com/one/#one-events-selector-data} - */ - one(events: { [key: string]: any; }, data?: any): JQuery; - - - /** - * Specify a function to execute when the DOM is fully loaded. - * - * @param handler A function to execute after the DOM is ready. - * @see {@link https://api.jquery.com/ready/} - */ - ready(handler: (jQueryAlias?: JQueryStatic) => any): JQuery; - - /** - * Trigger the "resize" event on an element. - * @see {@link https://api.jquery.com/resize/#resize} - */ - resize(): JQuery; - /** - * Bind an event handler to the "resize" JavaScript event. - * - * @param handler A function to execute each time the event is triggered. - * @see {@link https://api.jquery.com/resize/#resize-handler} - */ - resize(handler: (eventObject: JQueryEventObject) => any): JQuery; - /** - * Bind an event handler to the "resize" JavaScript event. - * - * @param eventData An object containing data that will be passed to the event handler. - * @param handler A function to execute each time the event is triggered. - * @see {@link https://api.jquery.com/resize/#resize-eventData-handler} - */ - resize(eventData: Object, handler: (eventObject: JQueryEventObject) => any): JQuery; - - /** - * Trigger the "scroll" event on an element. - * @see {@link https://api.jquery.com/scroll/#scroll} - */ - scroll(): JQuery; - /** - * Bind an event handler to the "scroll" JavaScript event. - * - * @param handler A function to execute each time the event is triggered. - * @see {@link https://api.jquery.com/scroll/#scroll-handler} - */ - scroll(handler: (eventObject: JQueryEventObject) => any): JQuery; - /** - * Bind an event handler to the "scroll" JavaScript event. - * - * @param eventData An object containing data that will be passed to the event handler. - * @param handler A function to execute each time the event is triggered. - * @see {@link https://api.jquery.com/scroll/#scroll-eventData-handler} - */ - scroll(eventData: Object, handler: (eventObject: JQueryEventObject) => any): JQuery; - - /** - * Trigger the "select" event on an element. - * @see {@link https://api.jquery.com/select/#select} - */ - select(): JQuery; - /** - * Bind an event handler to the "select" JavaScript event. - * - * @param handler A function to execute each time the event is triggered. - * @see {@link https://api.jquery.com/select/#select-handler} - */ - select(handler: (eventObject: JQueryEventObject) => any): JQuery; - /** - * Bind an event handler to the "select" JavaScript event. - * - * @param eventData An object containing data that will be passed to the event handler. - * @param handler A function to execute each time the event is triggered. - * @see {@link https://api.jquery.com/select/#select-eventData-handler} - */ - select(eventData: Object, handler: (eventObject: JQueryEventObject) => any): JQuery; - - /** - * Trigger the "submit" event on an element. - * @see {@link https://api.jquery.com/submit/#submit} - */ - submit(): JQuery; - /** - * Bind an event handler to the "submit" JavaScript event - * - * @param handler A function to execute each time the event is triggered. - * @see {@link https://api.jquery.com/submit/#submit-handler} - */ - submit(handler: (eventObject: JQueryEventObject) => any): JQuery; - /** - * Bind an event handler to the "submit" JavaScript event - * - * @param eventData An object containing data that will be passed to the event handler. - * @param handler A function to execute each time the event is triggered. - * @see {@link https://api.jquery.com/submit/#submit-eventData-handler} - */ - submit(eventData?: any, handler?: (eventObject: JQueryEventObject) => any): JQuery; - - /** - * Execute all handlers and behaviors attached to the matched elements for the given event type. - * - * @param eventType A string containing a JavaScript event type, such as click or submit. - * @param extraParameters Additional parameters to pass along to the event handler. - * @see {@link https://api.jquery.com/trigger/#trigger-eventType-extraParameters} - */ - trigger(eventType: string, extraParameters?: any[]|Object): JQuery; - /** - * Execute all handlers and behaviors attached to the matched elements for the given event type. - * - * @param event A jQuery.Event object. - * @param extraParameters Additional parameters to pass along to the event handler. - * @see {@link https://api.jquery.com/trigger/#trigger-event-extraParameters} - */ - trigger(event: JQueryEventObject, extraParameters?: any[]|Object): JQuery; - - /** - * Execute all handlers attached to an element for an event. - * - * @param eventType A string containing a JavaScript event type, such as click or submit. - * @param extraParameters An array of additional parameters to pass along to the event handler. - * @see {@link https://api.jquery.com/triggerHandler/#triggerHandler-eventType-extraParameters} - */ - triggerHandler(eventType: string, ...extraParameters: any[]): Object; - - /** - * Execute all handlers attached to an element for an event. - * - * @param event A jQuery.Event object. - * @param extraParameters An array of additional parameters to pass along to the event handler. - * @see {@link https://api.jquery.com/triggerHandler/#triggerHandler-event-extraParameters} - */ - triggerHandler(event: JQueryEventObject, ...extraParameters: any[]): Object; - - /** - * Remove a previously-attached event handler from the elements. - * - * @param eventType A string containing a JavaScript event type, such as click or submit. - * @param handler The function that is to be no longer executed. - * @see {@link https://api.jquery.com/unbind/#unbind-eventType-handler} - */ - unbind(eventType?: string, handler?: (eventObject: JQueryEventObject) => any): JQuery; - /** - * Remove a previously-attached event handler from the elements. - * - * @param eventType A string containing a JavaScript event type, such as click or submit. - * @param fls Unbinds the corresponding 'return false' function that was bound using .bind( eventType, false ). - * @see {@link https://api.jquery.com/unbind/#unbind-eventType-false} - */ - unbind(eventType: string, fls: boolean): JQuery; - /** - * Remove a previously-attached event handler from the elements. - * - * @param evt A JavaScript event object as passed to an event handler. - * @see {@link https://api.jquery.com/unbind/#unbind-event} - */ - unbind(evt: any): JQuery; - - /** - * Remove a handler from the event for all elements which match the current selector, based upon a specific set of root elements. - * @see {@link https://api.jquery.com/undelegate/#undelegate} - */ - undelegate(): JQuery; - /** - * Remove a handler from the event for all elements which match the current selector, based upon a specific set of root elements. - * - * @param selector A selector which will be used to filter the event results. - * @param eventType A string containing a JavaScript event type, such as "click" or "keydown" - * @param handler A function to execute at the time the event is triggered. - * @see {@link https://api.jquery.com/undelegate/#undelegate-selector-eventType} - */ - undelegate(selector: string, eventType: string, handler?: (eventObject: JQueryEventObject) => any): JQuery; - /** - * Remove a handler from the event for all elements which match the current selector, based upon a specific set of root elements. - * - * @param selector A selector which will be used to filter the event results. - * @param events An object of one or more event types and previously bound functions to unbind from them. - * @see {@link https://api.jquery.com/undelegate/#undelegate-selector-events} - */ - undelegate(selector: string, events: Object): JQuery; - /** - * Remove a handler from the event for all elements which match the current selector, based upon a specific set of root elements. - * - * @param namespace A string containing a namespace to unbind all events from. - * @see {@link https://api.jquery.com/undelegate/#undelegate-namespace} - */ - undelegate(namespace: string): JQuery; - - /** - * Bind an event handler to the "unload" JavaScript event. (DEPRECATED from v1.8) - * - * @param handler A function to execute when the event is triggered. - * @see {@link https://api.jquery.com/unload/#unload-handler} - */ - unload(handler: (eventObject: JQueryEventObject) => any): JQuery; - /** - * Bind an event handler to the "unload" JavaScript event. (DEPRECATED from v1.8) - * - * @param eventData A plain object of data that will be passed to the event handler. - * @param handler A function to execute when the event is triggered. - * @see {@link https://api.jquery.com/unload/#unload-eventData-handler} - */ - unload(eventData?: any, handler?: (eventObject: JQueryEventObject) => any): JQuery; - - /** - * The DOM node context originally passed to jQuery(); if none was passed then context will likely be the document. (DEPRECATED from v1.10) - * @see {@link https://api.jquery.com/context/} - */ - context: Element; - - jquery: string; - - /** - * Bind an event handler to the "error" JavaScript event. (DEPRECATED from v1.8) - * - * @param handler A function to execute when the event is triggered. - * @see {@link https://api.jquery.com/error/#error-handler} - */ - error(handler: (eventObject: JQueryEventObject) => any): JQuery; - /** - * Bind an event handler to the "error" JavaScript event. (DEPRECATED from v1.8) - * - * @param eventData A plain object of data that will be passed to the event handler. - * @param handler A function to execute when the event is triggered. - * @see {@link https://api.jquery.com/error/#error-eventData-handler} - */ - error(eventData: any, handler: (eventObject: JQueryEventObject) => any): JQuery; - - /** - * Add a collection of DOM elements onto the jQuery stack. - * - * @param elements An array of elements to push onto the stack and make into a new jQuery object. - * @see {@link https://api.jquery.com/pushStack/#pushStack-elements} - */ - pushStack(elements: any[]): JQuery; - /** - * Add a collection of DOM elements onto the jQuery stack. - * - * @param elements An array of elements to push onto the stack and make into a new jQuery object. - * @param name The name of a jQuery method that generated the array of elements. - * @param arguments The arguments that were passed in to the jQuery method (for serialization). - * @see {@link https://api.jquery.com/pushStack/#pushStack-elements-name-arguments} - */ - pushStack(elements: any[], name: string, arguments: any[]): JQuery; - - /** - * Insert content, specified by the parameter, after each element in the set of matched elements. - * - * @param content1 HTML string, DOM element, DocumentFragment, array of elements, or jQuery object to insert after each element in the set of matched elements. - * @param content2 One or more additional DOM elements, arrays of elements, HTML strings, or jQuery objects to insert after each element in the set of matched elements. - * @see {@link https://api.jquery.com/after/#after-content-content} - */ - after(content1: JQuery|any[]|Element|DocumentFragment|Text|string, ...content2: any[]): JQuery; - /** - * Insert content, specified by the parameter, after each element in the set of matched elements. - * - * @param func A function that returns an HTML string, DOM element(s), or jQuery object to insert after each element in the set of matched elements. Receives the index position of the element in the set as an argument. Within the function, this refers to the current element in the set. - * @see {@link https://api.jquery.com/after/#after-function} - */ - after(func: (index: number, html: string) => string|Element|JQuery): JQuery; - - /** - * Insert content, specified by the parameter, to the end of each element in the set of matched elements. - * - * @param content1 DOM element, DocumentFragment, array of elements, HTML string, or jQuery object to insert at the end of each element in the set of matched elements. - * @param content2 One or more additional DOM elements, arrays of elements, HTML strings, or jQuery objects to insert at the end of each element in the set of matched elements. - * @see {@link https://api.jquery.com/append/#append-content-content} - */ - append(content1: JQuery|any[]|Element|DocumentFragment|Text|string, ...content2: any[]): JQuery; - /** - * Insert content, specified by the parameter, to the end of each element in the set of matched elements. - * - * @param func A function that returns an HTML string, DOM element(s), or jQuery object to insert at the end of each element in the set of matched elements. Receives the index position of the element in the set and the old HTML value of the element as arguments. Within the function, this refers to the current element in the set. - * @see {@link https://api.jquery.com/append/#append-function} - */ - append(func: (index: number, html: string) => string|Element|JQuery): JQuery; - - /** - * Insert every element in the set of matched elements to the end of the target. - * - * @param target A selector, element, HTML string, array of elements, or jQuery object; the matched set of elements will be inserted at the end of the element(s) specified by this parameter. - * @see {@link https://api.jquery.com/appendTo/} - */ - appendTo(target: JQuery|any[]|Element|string): JQuery; - - /** - * Insert content, specified by the parameter, before each element in the set of matched elements. - * - * @param content1 HTML string, DOM element, DocumentFragment, array of elements, or jQuery object to insert before each element in the set of matched elements. - * @param content2 One or more additional DOM elements, arrays of elements, HTML strings, or jQuery objects to insert before each element in the set of matched elements. - * @see {@link https://api.jquery.com/before/#before-content-content} - */ - before(content1: JQuery|any[]|Element|DocumentFragment|Text|string, ...content2: any[]): JQuery; - /** - * Insert content, specified by the parameter, before each element in the set of matched elements. - * - * @param func A function that returns an HTML string, DOM element(s), or jQuery object to insert before each element in the set of matched elements. Receives the index position of the element in the set as an argument. Within the function, this refers to the current element in the set. - * @see {@link https://api.jquery.com/before/#before-function} - */ - before(func: (index: number, html: string) => string|Element|JQuery): JQuery; - - /** - * Create a deep copy of the set of matched elements. - * - * @param withDataAndEvents A Boolean indicating whether event handlers and data should be copied along with the elements. The default value is false. - * @param deepWithDataAndEvents A Boolean indicating whether event handlers and data for all children of the cloned element should be copied. By default its value matches the first argument's value (which defaults to false). - * @see {@link https://api.jquery.com/clone/} - */ - clone(withDataAndEvents?: boolean, deepWithDataAndEvents?: boolean): JQuery; - - /** - * Remove the set of matched elements from the DOM. - * - * @param selector A selector expression that filters the set of matched elements to be removed. - * @see {@link https://api.jquery.com/detach/} - */ - detach(selector?: string): JQuery; - - /** - * Remove all child nodes of the set of matched elements from the DOM. - * @see {@link https://api.jquery.com/empty/} - */ - empty(): JQuery; - - /** - * Insert every element in the set of matched elements after the target. - * - * @param target A selector, element, array of elements, HTML string, or jQuery object; the matched set of elements will be inserted after the element(s) specified by this parameter. - * @see {@link https://api.jquery.com/insertAfter/} - */ - insertAfter(target: JQuery|any[]|Element|Text|string): JQuery; - - /** - * Insert every element in the set of matched elements before the target. - * - * @param target A selector, element, array of elements, HTML string, or jQuery object; the matched set of elements will be inserted before the element(s) specified by this parameter. - * @see {@link https://api.jquery.com/insertBefore/} - */ - insertBefore(target: JQuery|any[]|Element|Text|string): JQuery; - - /** - * Insert content, specified by the parameter, to the beginning of each element in the set of matched elements. - * - * @param content1 DOM element, DocumentFragment, array of elements, HTML string, or jQuery object to insert at the beginning of each element in the set of matched elements. - * @param content2 One or more additional DOM elements, arrays of elements, HTML strings, or jQuery objects to insert at the beginning of each element in the set of matched elements. - * @see {@link https://api.jquery.com/prepend/#prepend-content-content} - */ - prepend(content1: JQuery|any[]|Element|DocumentFragment|Text|string, ...content2: any[]): JQuery; - /** - * Insert content, specified by the parameter, to the beginning of each element in the set of matched elements. - * - * @param func A function that returns an HTML string, DOM element(s), or jQuery object to insert at the beginning of each element in the set of matched elements. Receives the index position of the element in the set and the old HTML value of the element as arguments. Within the function, this refers to the current element in the set. - * @see {@link https://api.jquery.com/prepend/#prepend-function} - */ - prepend(func: (index: number, html: string) => string|Element|JQuery): JQuery; - - /** - * Insert every element in the set of matched elements to the beginning of the target. - * - * @param target A selector, element, HTML string, array of elements, or jQuery object; the matched set of elements will be inserted at the beginning of the element(s) specified by this parameter. - * @see {@link https://api.jquery.com/prependTo/} - */ - prependTo(target: JQuery|any[]|Element|string): JQuery; - - /** - * Remove the set of matched elements from the DOM. - * - * @param selector A selector expression that filters the set of matched elements to be removed. - * @see {@link https://api.jquery.com/remove/} - */ - remove(selector?: string): JQuery; - - /** - * Replace each target element with the set of matched elements. - * - * @param target A selector string, jQuery object, DOM element, or array of elements indicating which element(s) to replace. - * @see {@link https://api.jquery.com/replaceAll/} - */ - replaceAll(target: JQuery|any[]|Element|string): JQuery; - - /** - * Replace each element in the set of matched elements with the provided new content and return the set of elements that was removed. - * - * @param newContent The content to insert. May be an HTML string, DOM element, array of DOM elements, or jQuery object. - * @see {@link https://api.jquery.com/replaceWith/#replaceWith-newContent} - */ - replaceWith(newContent: JQuery|any[]|Element|Text|string): JQuery; - /** - * Replace each element in the set of matched elements with the provided new content and return the set of elements that was removed. - * - * @param func A function that returns content with which to replace the set of matched elements. - * @see {@link https://api.jquery.com/replaceWith/#replaceWith-function} - */ - replaceWith(func: () => Element|JQuery): JQuery; - - /** - * Get the combined text contents of each element in the set of matched elements, including their descendants. - * @see {@link https://api.jquery.com/text/#text} - */ - text(): string; - /** - * Set the content of each element in the set of matched elements to the specified text. - * - * @param text The text to set as the content of each matched element. When Number or Boolean is supplied, it will be converted to a String representation. - * @see {@link https://api.jquery.com/text/#text-text} - */ - text(text: string|number|boolean): JQuery; - /** - * Set the content of each element in the set of matched elements to the specified text. - * - * @param func A function returning the text content to set. Receives the index position of the element in the set and the old text value as arguments. - * @see {@link https://api.jquery.com/text/#text-function} - */ - text(func: (index: number, text: string) => string): JQuery; - - /** - * Retrieve all the elements contained in the jQuery set, as an array. - * @name toArray - * @see {@link https://api.jquery.com/toArray/} - */ - toArray(): HTMLElement[]; - - /** - * Remove the parents of the set of matched elements from the DOM, leaving the matched elements in their place. - * @see {@link https://api.jquery.com/unwrap/} - */ - unwrap(): JQuery; - - /** - * Wrap an HTML structure around each element in the set of matched elements. - * - * @param wrappingElement A selector, element, HTML string, or jQuery object specifying the structure to wrap around the matched elements. - * @see {@link https://api.jquery.com/wrap/#wrap-wrappingElement} - */ - wrap(wrappingElement: JQuery|Element|string): JQuery; - /** - * Wrap an HTML structure around each element in the set of matched elements. - * - * @param func A callback function returning the HTML content or jQuery object to wrap around the matched elements. Receives the index position of the element in the set as an argument. Within the function, this refers to the current element in the set. - * @see {@link https://api.jquery.com/wrap/#wrap-function} - */ - wrap(func: (index: number) => string|JQuery): JQuery; - - /** - * Wrap an HTML structure around all elements in the set of matched elements. - * - * @param wrappingElement A selector, element, HTML string, or jQuery object specifying the structure to wrap around the matched elements. - * @see {@link https://api.jquery.com/wrapAll/#wrapAll-wrappingElement} - */ - wrapAll(wrappingElement: JQuery|Element|string): JQuery; - /** - * Wrap an HTML structure around all elements in the set of matched elements. - * - * @param func A callback function returning the HTML content or jQuery object to wrap around all the matched elements. Within the function, this refers to the first element in the set. - * @see {@link https://api.jquery.com/wrapAll/#wrapAll-function} - */ - wrapAll(func: (index: number) => string): JQuery; - - /** - * Wrap an HTML structure around the content of each element in the set of matched elements. - * - * @param wrappingElement An HTML snippet, selector expression, jQuery object, or DOM element specifying the structure to wrap around the content of the matched elements. - * @see {@link https://api.jquery.com/wrapInner/#wrapInner-wrappingElement} - */ - wrapInner(wrappingElement: JQuery|Element|string): JQuery; - /** - * Wrap an HTML structure around the content of each element in the set of matched elements. - * - * @param func A callback function which generates a structure to wrap around the content of the matched elements. Receives the index position of the element in the set as an argument. Within the function, this refers to the current element in the set. - * @see {@link https://api.jquery.com/wrapInner/#wrapInner-function} - */ - wrapInner(func: (index: number) => string): JQuery; - - /** - * Iterate over a jQuery object, executing a function for each matched element. - * - * @param func A function to execute for each matched element. Can stop the loop by returning false. - * @see {@link https://api.jquery.com/each/} - */ - each(func: (index: number, elem: Element) => boolean | void): JQuery; - - /** - * Retrieve one of the elements matched by the jQuery object. - * - * @param index A zero-based integer indicating which element to retrieve. - * @see {@link https://api.jquery.com/get/#get-index} - */ - get(index: number): HTMLElement; - /** - * Retrieve the elements matched by the jQuery object. - * @alias toArray - * @see {@link https://api.jquery.com/get/#get} - */ - get(): HTMLElement[]; - - /** - * Search for a given element from among the matched elements. - * @see {@link https://api.jquery.com/index/#index} - */ - index(): number; - /** - * Search for a given element from among the matched elements. - * - * @param selector A selector representing a jQuery collection in which to look for an element. - * @see {@link https://api.jquery.com/index/#index-selector} - */ - index(selector: string|JQuery|Element): number; - - /** - * The number of elements in the jQuery object. - * @see {@link https://api.jquery.com/length/} - */ - length: number; - /** - * A selector representing selector passed to jQuery(), if any, when creating the original set. - * version deprecated: 1.7, removed: 1.9 - * @see {@link https://api.jquery.com/selector/} - */ - selector: string; - [index: string]: any; - [index: number]: HTMLElement; - - /** - * Add elements to the set of matched elements. - * - * @param selector A string representing a selector expression to find additional elements to add to the set of matched elements. - * @param context The point in the document at which the selector should begin matching; similar to the context argument of the $(selector, context) method. - * @see {@link https://api.jquery.com/add/#add-selector} - */ - add(selector: string, context?: Element): JQuery; - /** - * Add elements to the set of matched elements. - * - * @param elements One or more elements to add to the set of matched elements. - * @see {@link https://api.jquery.com/add/#add-elements} - */ - add(...elements: Element[]): JQuery; - /** - * Add elements to the set of matched elements. - * - * @param html An HTML fragment to add to the set of matched elements. - * @see {@link https://api.jquery.com/add/#add-html} - */ - add(html: string): JQuery; - /** - * Add elements to the set of matched elements. - * - * @param obj An existing jQuery object to add to the set of matched elements. - * @see {@link https://api.jquery.com/add/#add-selection} - */ - add(obj: JQuery): JQuery; - - /** - * Get the children of each element in the set of matched elements, optionally filtered by a selector. - * - * @param selector A string containing a selector expression to match elements against. - * @see {@link https://api.jquery.com/children/} - */ - children(selector?: string): JQuery; - - /** - * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree. - * - * @param selector A string containing a selector expression to match elements against. - * @see {@link https://api.jquery.com/closest/#closest-selector} - */ - closest(selector: string): JQuery; - /** - * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree. - * - * @param selector A string containing a selector expression to match elements against. - * @param context A DOM element within which a matching element may be found. If no context is passed in then the context of the jQuery set will be used instead. - * @see {@link https://api.jquery.com/closest/#closest-selector-context} - */ - closest(selector: string, context?: Element): JQuery; - /** - * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree. - * - * @param obj A jQuery object to match elements against. - * @see {@link https://api.jquery.com/closest/#closest-selection} - */ - closest(obj: JQuery): JQuery; - /** - * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree. - * - * @param element An element to match elements against. - * @see {@link https://api.jquery.com/closest/#closest-element} - */ - closest(element: Element): JQuery; - - /** - * Get an array of all the elements and selectors matched against the current element up through the DOM tree. - * - * @param selectors An array or string containing a selector expression to match elements against (can also be a jQuery object). - * @param context A DOM element within which a matching element may be found. If no context is passed in then the context of the jQuery set will be used instead. - * @see {@link https://api.jquery.com/closest/#closest-selectors-context} - */ - closest(selectors: any, context?: Element): any[]; - - /** - * Get the children of each element in the set of matched elements, including text and comment nodes. - * @see {@link https://api.jquery.com/contents/} - */ - contents(): JQuery; - - /** - * End the most recent filtering operation in the current chain and return the set of matched elements to its previous state. - * @see {@link https://api.jquery.com/end/} - */ - end(): JQuery; - - /** - * Reduce the set of matched elements to the one at the specified index. - * - * @param index An integer indicating the 0-based position of the element. OR An integer indicating the position of the element, counting backwards from the last element in the set. - * @see {@link https://api.jquery.com/eq/} - */ - eq(index: number): JQuery; - - /** - * Reduce the set of matched elements to those that match the selector or pass the function's test. - * - * @param selector A string containing a selector expression to match the current set of elements against. - * @see {@link https://api.jquery.com/filter/#filter-selector} - */ - filter(selector: string): JQuery; - /** - * Reduce the set of matched elements to those that match the selector or pass the function's test. - * - * @param func A function used as a test for each element in the set. this is the current DOM element. - * @see {@link https://api.jquery.com/filter/#filter-function} - */ - filter(func: (index: number, element: Element) => boolean): JQuery; - /** - * Reduce the set of matched elements to those that match the selector or pass the function's test. - * - * @param element An element to match the current set of elements against. - * @see {@link https://api.jquery.com/filter/#filter-elements} - */ - filter(element: Element): JQuery; - /** - * Reduce the set of matched elements to those that match the selector or pass the function's test. - * - * @param obj An existing jQuery object to match the current set of elements against. - * @see {@link https://api.jquery.com/filter/#filter-selection} - */ - filter(obj: JQuery): JQuery; - - /** - * Get the descendants of each element in the current set of matched elements, filtered by a selector, jQuery object, or element. - * - * @param selector A string containing a selector expression to match elements against. - * @see {@link https://api.jquery.com/find/#find-selector} - */ - find(selector: string): JQuery; - /** - * Get the descendants of each element in the current set of matched elements, filtered by a selector, jQuery object, or element. - * - * @param element An element to match elements against. - * @see {@link https://api.jquery.com/find/#find-element} - */ - find(element: Element): JQuery; - /** - * Get the descendants of each element in the current set of matched elements, filtered by a selector, jQuery object, or element. - * - * @param obj A jQuery object to match elements against. - * @see {@link https://api.jquery.com/find/#find-element} - */ - find(obj: JQuery): JQuery; - - /** - * Reduce the set of matched elements to the first in the set. - * @see {@link https://api.jquery.com/first/} - */ - first(): JQuery; - - /** - * Reduce the set of matched elements to those that have a descendant that matches the selector or DOM element. - * - * @param selector A string containing a selector expression to match elements against. - * @see {@link https://api.jquery.com/has/#has-selector} - */ - has(selector: string): JQuery; - /** - * Reduce the set of matched elements to those that have a descendant that matches the selector or DOM element. - * - * @param contained A DOM element to match elements against. - * @see {@link https://api.jquery.com/has/#has-contained} - */ - has(contained: Element): JQuery; - - /** - * Check the current matched set of elements against a selector, element, or jQuery object and return true if at least one of these elements matches the given arguments. - * - * @param selector A string containing a selector expression to match elements against. - * @see {@link https://api.jquery.com/is/#is-selector} - */ - is(selector: string): boolean; - /** - * Check the current matched set of elements against a selector, element, or jQuery object and return true if at least one of these elements matches the given arguments. - * - * @param func A function used as a test for the set of elements. It accepts one argument, index, which is the element's index in the jQuery collection.Within the function, this refers to the current DOM element. - * @see {@link https://api.jquery.com/is/#is-function} - */ - is(func: (index: number, element: Element) => boolean): boolean; - /** - * Check the current matched set of elements against a selector, element, or jQuery object and return true if at least one of these elements matches the given arguments. - * - * @param obj An existing jQuery object to match the current set of elements against. - * @see {@link https://api.jquery.com/is/#is-selection} - */ - is(obj: JQuery): boolean; - /** - * Check the current matched set of elements against a selector, element, or jQuery object and return true if at least one of these elements matches the given arguments. - * - * @param elements One or more elements to match the current set of elements against. - * @see {@link https://api.jquery.com/is/#is-elements} - */ - is(elements: any): boolean; - - /** - * Reduce the set of matched elements to the final one in the set. - * @see {@link https://api.jquery.com/last/} - */ - last(): JQuery; - - /** - * Pass each element in the current matched set through a function, producing a new jQuery object containing the return values. - * - * @param callback A function object that will be invoked for each element in the current set. - * @see {@link https://api.jquery.com/map/} - */ - map(callback: (index: number, domElement: Element) => any): JQuery; - - /** - * Get the immediately following sibling of each element in the set of matched elements. If a selector is provided, it retrieves the next sibling only if it matches that selector. - * - * @param selector A string containing a selector expression to match elements against. - * @see {@link https://api.jquery.com/next/} - */ - next(selector?: string): JQuery; - - /** - * Get all following siblings of each element in the set of matched elements, optionally filtered by a selector. - * - * @param selector A string containing a selector expression to match elements against. - * @see {@link https://api.jquery.com/nextAll/} - */ - nextAll(selector?: string): JQuery; - - /** - * Get all following siblings of each element up to but not including the element matched by the selector, DOM node, or jQuery object passed. - * - * @param selector A string containing a selector expression to indicate where to stop matching following sibling elements. - * @param filter A string containing a selector expression to match elements against. - * @see {@link https://api.jquery.com/nextUntil/#nextUntil-selector-filter} - */ - nextUntil(selector?: string, filter?: string): JQuery; - /** - * Get all following siblings of each element up to but not including the element matched by the selector, DOM node, or jQuery object passed. - * - * @param element A DOM node or jQuery object indicating where to stop matching following sibling elements. - * @param filter A string containing a selector expression to match elements against. - * @see {@link https://api.jquery.com/nextUntil/#nextUntil-element-filter} - */ - nextUntil(element?: Element, filter?: string): JQuery; - /** - * Get all following siblings of each element up to but not including the element matched by the selector, DOM node, or jQuery object passed. - * - * @param obj A DOM node or jQuery object indicating where to stop matching following sibling elements. - * @param filter A string containing a selector expression to match elements against. - * @see {@link https://api.jquery.com/nextUntil/#nextUntil-element-filter} - */ - nextUntil(obj?: JQuery, filter?: string): JQuery; - - /** - * Remove elements from the set of matched elements. - * - * @param selector A string containing a selector expression to match elements against. - * @see {@link https://api.jquery.com/not/#not-selector} - */ - not(selector: string): JQuery; - /** - * Remove elements from the set of matched elements. - * - * @param func A function used as a test for each element in the set. this is the current DOM element. - * @see {@link https://api.jquery.com/not/#not-function} - */ - not(func: (index: number, element: Element) => boolean): JQuery; - /** - * Remove elements from the set of matched elements. - * - * @param elements One or more DOM elements to remove from the matched set. - * @see {@link https://api.jquery.com/not/#not-selection} - */ - not(elements: Element|Element[]): JQuery; - /** - * Remove elements from the set of matched elements. - * - * @param obj An existing jQuery object to match the current set of elements against. - * @see {@link https://api.jquery.com/not/#not-selection} - */ - not(obj: JQuery): JQuery; - - /** - * Get the closest ancestor element that is positioned. - * @see {@link https://api.jquery.com/offsetParent/} - */ - offsetParent(): JQuery; - - /** - * Get the parent of each element in the current set of matched elements, optionally filtered by a selector. - * - * @param selector A string containing a selector expression to match elements against. - * @see {@link https://api.jquery.com/parent/} - */ - parent(selector?: string): JQuery; - - /** - * Get the ancestors of each element in the current set of matched elements, optionally filtered by a selector. - * - * @param selector A string containing a selector expression to match elements against. - * @see {@link https://api.jquery.com/parents/} - */ - parents(selector?: string): JQuery; - - /** - * Get the ancestors of each element in the current set of matched elements, up to but not including the element matched by the selector, DOM node, or jQuery object. - * - * @param selector A string containing a selector expression to indicate where to stop matching ancestor elements. - * @param filter A string containing a selector expression to match elements against. - * @see {@link https://api.jquery.com/parentsUntil/#parentsUntil-selector-filter} - */ - parentsUntil(selector?: string, filter?: string): JQuery; - /** - * Get the ancestors of each element in the current set of matched elements, up to but not including the element matched by the selector, DOM node, or jQuery object. - * - * @param element A DOM node or jQuery object indicating where to stop matching ancestor elements. - * @param filter A string containing a selector expression to match elements against. - * @see {@link https://api.jquery.com/parentsUntil/#parentsUntil-element-filter} - */ - parentsUntil(element?: Element, filter?: string): JQuery; - /** - * Get the ancestors of each element in the current set of matched elements, up to but not including the element matched by the selector, DOM node, or jQuery object. - * - * @param obj A DOM node or jQuery object indicating where to stop matching ancestor elements. - * @param filter A string containing a selector expression to match elements against. - * @see {@link https://api.jquery.com/parentsUntil/#parentsUntil-element-filter} - */ - parentsUntil(obj?: JQuery, filter?: string): JQuery; - - /** - * Get the immediately preceding sibling of each element in the set of matched elements, optionally filtered by a selector. - * - * @param selector A string containing a selector expression to match elements against. - * @see {@link https://api.jquery.com/prev/} - */ - prev(selector?: string): JQuery; - - /** - * Get all preceding siblings of each element in the set of matched elements, optionally filtered by a selector. - * - * @param selector A string containing a selector expression to match elements against. - * @see {@link https://api.jquery.com/prevAll/} - */ - prevAll(selector?: string): JQuery; - - /** - * Get all preceding siblings of each element up to but not including the element matched by the selector, DOM node, or jQuery object. - * - * @param selector A string containing a selector expression to indicate where to stop matching preceding sibling elements. - * @param filter A string containing a selector expression to match elements against. - * @see {@link https://api.jquery.com/prevUntil/#prevUntil-selector-filter} - */ - prevUntil(selector?: string, filter?: string): JQuery; - /** - * Get all preceding siblings of each element up to but not including the element matched by the selector, DOM node, or jQuery object. - * - * @param element A DOM node or jQuery object indicating where to stop matching preceding sibling elements. - * @param filter A string containing a selector expression to match elements against. - * @see {@link https://api.jquery.com/prevUntil/#prevUntil-element-filter} - */ - prevUntil(element?: Element, filter?: string): JQuery; - /** - * Get all preceding siblings of each element up to but not including the element matched by the selector, DOM node, or jQuery object. - * - * @param obj A DOM node or jQuery object indicating where to stop matching preceding sibling elements. - * @param filter A string containing a selector expression to match elements against. - * @see {@link https://api.jquery.com/prevUntil/#prevUntil-element-filter} - */ - prevUntil(obj?: JQuery, filter?: string): JQuery; - - /** - * Get the siblings of each element in the set of matched elements, optionally filtered by a selector. - * - * @param selector A string containing a selector expression to match elements against. - * @see {@link https://api.jquery.com/siblings/} - */ - siblings(selector?: string): JQuery; - - /** - * Reduce the set of matched elements to a subset specified by a range of indices. - * - * @param start An integer indicating the 0-based position at which the elements begin to be selected. If negative, it indicates an offset from the end of the set. - * @param end An integer indicating the 0-based position at which the elements stop being selected. If negative, it indicates an offset from the end of the set. If omitted, the range continues until the end of the set. - * @see {@link https://api.jquery.com/slice/} - */ - slice(start: number, end?: number): JQuery; - - /** - * Show the queue of functions to be executed on the matched elements. - * - * @param queueName A string containing the name of the queue. Defaults to fx, the standard effects queue. - * @see {@link https://api.jquery.com/queue/#queue-queueName} - */ - queue(queueName?: string): any[]; - /** - * Manipulate the queue of functions to be executed, once for each matched element. - * - * @param newQueue An array of functions to replace the current queue contents. - * @see {@link https://api.jquery.com/queue/#queue-queueName-newQueue} - */ - queue(newQueue: Function[]): JQuery; - /** - * Manipulate the queue of functions to be executed, once for each matched element. - * - * @param callback The new function to add to the queue, with a function to call that will dequeue the next item. - * @see {@link https://api.jquery.com/queue/#queue-queueName-callback} - */ - queue(callback: Function): JQuery; - /** - * Manipulate the queue of functions to be executed, once for each matched element. - * - * @param queueName A string containing the name of the queue. Defaults to fx, the standard effects queue. - * @param newQueue An array of functions to replace the current queue contents. - * @see {@link https://api.jquery.com/queue/#queue-queueName-newQueue} - */ - queue(queueName: string, newQueue: Function[]): JQuery; - /** - * Manipulate the queue of functions to be executed, once for each matched element. - * - * @param queueName A string containing the name of the queue. Defaults to fx, the standard effects queue. - * @param callback The new function to add to the queue, with a function to call that will dequeue the next item. - * @see {@link https://api.jquery.com/queue/#queue-queueName-callback} - */ - queue(queueName: string, callback: Function): JQuery; -} -declare module "jquery" { - export = $; -} -declare var jQuery: JQueryStatic; -declare var $: JQueryStatic; diff --git a/my-snippets/laravel-blade/server/package-lock.json b/my-snippets/laravel-blade/server/package-lock.json deleted file mode 100644 index dc8aec7..0000000 --- a/my-snippets/laravel-blade/server/package-lock.json +++ /dev/null @@ -1,300 +0,0 @@ -{ - "name": "vscode-html-languageserver", - "version": "1.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "vscode-html-languageserver", - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "typescript": "^2.7.1", - "vscode-css-languageservice": "^4.0.2", - "vscode-emmet-helper": "^1.2.15", - "vscode-html-languageservice": "^3.0.2", - "vscode-languageserver": "^4.0.0-next.4", - "vscode-languageserver-types": "^3.14.0", - "vscode-nls": "^4.1.1", - "vscode-uri": "^1.0.6" - }, - "devDependencies": { - "@types/mocha": "2.2.33", - "@types/node": "7.0.43" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@emmetio/extract-abbreviation": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/@emmetio/extract-abbreviation/-/extract-abbreviation-0.1.6.tgz", - "integrity": "sha512-Ce3xE2JvTSEbASFbRbA1gAIcMcZWdS2yUYRaQbeM0nbOzaZrUYfa3ePtcriYRZOZmr+CkKA+zbjhvTpIOAYVcw==" - }, - "node_modules/@types/mocha": { - "version": "2.2.33", - "resolved": "http://registry.npm.taobao.org/@types/mocha/download/@types/mocha-2.2.33.tgz", - "integrity": "sha1-15oAYewnA3n02eIl9AlvtDZmne8=", - "dev": true - }, - "node_modules/@types/node": { - "version": "7.0.43", - "resolved": "http://registry.npm.taobao.org/@types/node/download/@types/node-7.0.43.tgz", - "integrity": "sha1-oYfghJWgdfIAypRgeckU4aX+liw=", - "dev": true - }, - "node_modules/jsonc-parser": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-1.0.3.tgz", - "integrity": "sha512-hk/69oAeaIzchq/v3lS50PXuzn5O2ynldopMC+SWBql7J2WtdptfB9dy8Y7+Og5rPkTCpn83zTiO8FMcqlXJ/g==" - }, - "node_modules/typescript": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.7.1.tgz", - "integrity": "sha512-bqB1yS6o9TNA9ZC/MJxM0FZzPnZdtHj0xWK/IZ5khzVqdpGul/R/EIiHRgFXlwTD7PSIaYVnGKq1QgMCu2mnqw==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/vscode-css-languageservice": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-4.0.2.tgz", - "integrity": "sha512-pTnfXbsME3pl+yDfhUp/mtvPyIJk0Le4zqJxDn56s9GY9LqY0RmkSEh0oHH6D0HXR3Ni6wKosIaqu8a2G0+jdw==", - "dependencies": { - "vscode-languageserver-types": "^3.15.0-next.2", - "vscode-nls": "^4.1.1" - } - }, - "node_modules/vscode-css-languageservice/node_modules/vscode-languageserver-types": { - "version": "3.15.0-next.2", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.15.0-next.2.tgz", - "integrity": "sha512-2JkrMWWUi2rlVLSo9OFR2PIGUzdiowEM8NgNYiwLKnXTjpwpjjIrJbNNxDik7Rv4oo9KtikcFQZKXbrKilL/MQ==" - }, - "node_modules/vscode-css-languageservice/node_modules/vscode-nls": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-4.1.1.tgz", - "integrity": "sha512-4R+2UoUUU/LdnMnFjePxfLqNhBS8lrAFyX7pjb2ud/lqDkrUavFUTcG7wR0HBZFakae0Q6KLBFjMS6W93F403A==" - }, - "node_modules/vscode-emmet-helper": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/vscode-emmet-helper/-/vscode-emmet-helper-1.2.15.tgz", - "integrity": "sha512-JplvmMMWSvm/6/dZezix2ADPM49u6YahPYjs/QToohUpomW/2Eb27ecCrkCyOGBPfKLKGiOPHCssss8TSDA9ag==", - "deprecated": "This package has been renamed to @vscode/emmet-helper, please update to the new name", - "dependencies": { - "@emmetio/extract-abbreviation": "0.1.6", - "jsonc-parser": "^1.0.0", - "vscode-languageserver-types": "^3.6.0-next.1" - } - }, - "node_modules/vscode-html-languageservice": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-3.0.2.tgz", - "integrity": "sha512-MP9al7nk1SqQwW4GdDy6Ec3UU1GKy0Wf4pzo3nQ5lgdScb2pajV7iyXZIGJk7jQbifkZWnG0jB7CKecTNFynJw==", - "dependencies": { - "vscode-languageserver-types": "^3.15.0-next.2", - "vscode-nls": "^4.1.1", - "vscode-uri": "^2.0.1" - } - }, - "node_modules/vscode-html-languageservice/node_modules/vscode-languageserver-types": { - "version": "3.15.0-next.2", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.15.0-next.2.tgz", - "integrity": "sha512-2JkrMWWUi2rlVLSo9OFR2PIGUzdiowEM8NgNYiwLKnXTjpwpjjIrJbNNxDik7Rv4oo9KtikcFQZKXbrKilL/MQ==" - }, - "node_modules/vscode-html-languageservice/node_modules/vscode-nls": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-4.1.1.tgz", - "integrity": "sha512-4R+2UoUUU/LdnMnFjePxfLqNhBS8lrAFyX7pjb2ud/lqDkrUavFUTcG7wR0HBZFakae0Q6KLBFjMS6W93F403A==" - }, - "node_modules/vscode-html-languageservice/node_modules/vscode-uri": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.0.3.tgz", - "integrity": "sha512-4D3DI3F4uRy09WNtDGD93H9q034OHImxiIcSq664Hq1Y1AScehlP3qqZyTkX/RWxeu0MRMHGkrxYqm2qlDF/aw==" - }, - "node_modules/vscode-jsonrpc": { - "version": "3.6.0-next.1", - "resolved": "http://registry.npm.taobao.org/vscode-jsonrpc/download/vscode-jsonrpc-3.6.0-next.1.tgz", - "integrity": "sha1-PLRj3/5YQtauwWcYypJScIzWqr4=", - "engines": { - "node": ">=4.0.0 || >=6.0.0" - } - }, - "node_modules/vscode-languageserver": { - "version": "4.0.0-next.4", - "resolved": "http://registry.npm.taobao.org/vscode-languageserver/download/vscode-languageserver-4.0.0-next.4.tgz", - "integrity": "sha1-FiRAsVvtqrB+FnbwRuTZuFeLPZI=", - "dependencies": { - "vscode-languageserver-protocol": "^3.6.0-next.5", - "vscode-uri": "^1.0.1" - }, - "bin": { - "installServerIntoExtension": "bin/installServerIntoExtension" - } - }, - "node_modules/vscode-languageserver-protocol": { - "version": "3.6.0-next.5", - "resolved": "http://registry.npm.taobao.org/vscode-languageserver-protocol/download/vscode-languageserver-protocol-3.6.0-next.5.tgz", - "integrity": "sha1-7S7C23WYJvdTwKE5d9+yvtxNMbM=", - "dependencies": { - "vscode-jsonrpc": "^3.6.0-next.1", - "vscode-languageserver-types": "^3.6.0-next.1" - } - }, - "node_modules/vscode-languageserver-types": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.14.0.tgz", - "integrity": "sha512-lTmS6AlAlMHOvPQemVwo3CezxBp0sNB95KNPkqp3Nxd5VFEnuG1ByM0zlRWos0zjO3ZWtkvhal0COgiV1xIA4A==" - }, - "node_modules/vscode-languageserver/node_modules/vscode-uri": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-1.0.8.tgz", - "integrity": "sha512-obtSWTlbJ+a+TFRYGaUumtVwb+InIUVI0Lu0VBUAPmj2cU5JutEXg3xUE0c2J5Tcy7h2DEKVJBFi+Y9ZSFzzPQ==" - }, - "node_modules/vscode-nls": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-4.1.1.tgz", - "integrity": "sha512-4R+2UoUUU/LdnMnFjePxfLqNhBS8lrAFyX7pjb2ud/lqDkrUavFUTcG7wR0HBZFakae0Q6KLBFjMS6W93F403A==" - }, - "node_modules/vscode-uri": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-1.0.8.tgz", - "integrity": "sha512-obtSWTlbJ+a+TFRYGaUumtVwb+InIUVI0Lu0VBUAPmj2cU5JutEXg3xUE0c2J5Tcy7h2DEKVJBFi+Y9ZSFzzPQ==" - } - }, - "dependencies": { - "@emmetio/extract-abbreviation": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/@emmetio/extract-abbreviation/-/extract-abbreviation-0.1.6.tgz", - "integrity": "sha512-Ce3xE2JvTSEbASFbRbA1gAIcMcZWdS2yUYRaQbeM0nbOzaZrUYfa3ePtcriYRZOZmr+CkKA+zbjhvTpIOAYVcw==" - }, - "@types/mocha": { - "version": "2.2.33", - "resolved": "http://registry.npm.taobao.org/@types/mocha/download/@types/mocha-2.2.33.tgz", - "integrity": "sha1-15oAYewnA3n02eIl9AlvtDZmne8=", - "dev": true - }, - "@types/node": { - "version": "7.0.43", - "resolved": "http://registry.npm.taobao.org/@types/node/download/@types/node-7.0.43.tgz", - "integrity": "sha1-oYfghJWgdfIAypRgeckU4aX+liw=", - "dev": true - }, - "jsonc-parser": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-1.0.3.tgz", - "integrity": "sha512-hk/69oAeaIzchq/v3lS50PXuzn5O2ynldopMC+SWBql7J2WtdptfB9dy8Y7+Og5rPkTCpn83zTiO8FMcqlXJ/g==" - }, - "typescript": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.7.1.tgz", - "integrity": "sha512-bqB1yS6o9TNA9ZC/MJxM0FZzPnZdtHj0xWK/IZ5khzVqdpGul/R/EIiHRgFXlwTD7PSIaYVnGKq1QgMCu2mnqw==" - }, - "vscode-css-languageservice": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-4.0.2.tgz", - "integrity": "sha512-pTnfXbsME3pl+yDfhUp/mtvPyIJk0Le4zqJxDn56s9GY9LqY0RmkSEh0oHH6D0HXR3Ni6wKosIaqu8a2G0+jdw==", - "requires": { - "vscode-languageserver-types": "^3.15.0-next.2", - "vscode-nls": "^4.1.1" - }, - "dependencies": { - "vscode-languageserver-types": { - "version": "3.15.0-next.2", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.15.0-next.2.tgz", - "integrity": "sha512-2JkrMWWUi2rlVLSo9OFR2PIGUzdiowEM8NgNYiwLKnXTjpwpjjIrJbNNxDik7Rv4oo9KtikcFQZKXbrKilL/MQ==" - }, - "vscode-nls": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-4.1.1.tgz", - "integrity": "sha512-4R+2UoUUU/LdnMnFjePxfLqNhBS8lrAFyX7pjb2ud/lqDkrUavFUTcG7wR0HBZFakae0Q6KLBFjMS6W93F403A==" - } - } - }, - "vscode-emmet-helper": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/vscode-emmet-helper/-/vscode-emmet-helper-1.2.15.tgz", - "integrity": "sha512-JplvmMMWSvm/6/dZezix2ADPM49u6YahPYjs/QToohUpomW/2Eb27ecCrkCyOGBPfKLKGiOPHCssss8TSDA9ag==", - "requires": { - "@emmetio/extract-abbreviation": "0.1.6", - "jsonc-parser": "^1.0.0", - "vscode-languageserver-types": "^3.6.0-next.1" - } - }, - "vscode-html-languageservice": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-3.0.2.tgz", - "integrity": "sha512-MP9al7nk1SqQwW4GdDy6Ec3UU1GKy0Wf4pzo3nQ5lgdScb2pajV7iyXZIGJk7jQbifkZWnG0jB7CKecTNFynJw==", - "requires": { - "vscode-languageserver-types": "^3.15.0-next.2", - "vscode-nls": "^4.1.1", - "vscode-uri": "^2.0.1" - }, - "dependencies": { - "vscode-languageserver-types": { - "version": "3.15.0-next.2", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.15.0-next.2.tgz", - "integrity": "sha512-2JkrMWWUi2rlVLSo9OFR2PIGUzdiowEM8NgNYiwLKnXTjpwpjjIrJbNNxDik7Rv4oo9KtikcFQZKXbrKilL/MQ==" - }, - "vscode-nls": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-4.1.1.tgz", - "integrity": "sha512-4R+2UoUUU/LdnMnFjePxfLqNhBS8lrAFyX7pjb2ud/lqDkrUavFUTcG7wR0HBZFakae0Q6KLBFjMS6W93F403A==" - }, - "vscode-uri": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.0.3.tgz", - "integrity": "sha512-4D3DI3F4uRy09WNtDGD93H9q034OHImxiIcSq664Hq1Y1AScehlP3qqZyTkX/RWxeu0MRMHGkrxYqm2qlDF/aw==" - } - } - }, - "vscode-jsonrpc": { - "version": "3.6.0-next.1", - "resolved": "http://registry.npm.taobao.org/vscode-jsonrpc/download/vscode-jsonrpc-3.6.0-next.1.tgz", - "integrity": "sha1-PLRj3/5YQtauwWcYypJScIzWqr4=" - }, - "vscode-languageserver": { - "version": "4.0.0-next.4", - "resolved": "http://registry.npm.taobao.org/vscode-languageserver/download/vscode-languageserver-4.0.0-next.4.tgz", - "integrity": "sha1-FiRAsVvtqrB+FnbwRuTZuFeLPZI=", - "requires": { - "vscode-languageserver-protocol": "^3.6.0-next.5", - "vscode-uri": "^1.0.1" - }, - "dependencies": { - "vscode-uri": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-1.0.8.tgz", - "integrity": "sha512-obtSWTlbJ+a+TFRYGaUumtVwb+InIUVI0Lu0VBUAPmj2cU5JutEXg3xUE0c2J5Tcy7h2DEKVJBFi+Y9ZSFzzPQ==" - } - } - }, - "vscode-languageserver-protocol": { - "version": "3.6.0-next.5", - "resolved": "http://registry.npm.taobao.org/vscode-languageserver-protocol/download/vscode-languageserver-protocol-3.6.0-next.5.tgz", - "integrity": "sha1-7S7C23WYJvdTwKE5d9+yvtxNMbM=", - "requires": { - "vscode-jsonrpc": "^3.6.0-next.1", - "vscode-languageserver-types": "^3.6.0-next.1" - } - }, - "vscode-languageserver-types": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.14.0.tgz", - "integrity": "sha512-lTmS6AlAlMHOvPQemVwo3CezxBp0sNB95KNPkqp3Nxd5VFEnuG1ByM0zlRWos0zjO3ZWtkvhal0COgiV1xIA4A==" - }, - "vscode-nls": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-4.1.1.tgz", - "integrity": "sha512-4R+2UoUUU/LdnMnFjePxfLqNhBS8lrAFyX7pjb2ud/lqDkrUavFUTcG7wR0HBZFakae0Q6KLBFjMS6W93F403A==" - }, - "vscode-uri": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-1.0.8.tgz", - "integrity": "sha512-obtSWTlbJ+a+TFRYGaUumtVwb+InIUVI0Lu0VBUAPmj2cU5JutEXg3xUE0c2J5Tcy7h2DEKVJBFi+Y9ZSFzzPQ==" - } - } -} diff --git a/my-snippets/laravel-blade/server/package.json b/my-snippets/laravel-blade/server/package.json deleted file mode 100644 index 661025e..0000000 --- a/my-snippets/laravel-blade/server/package.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "vscode-html-languageserver", - "description": "HTML language server", - "version": "1.0.0", - "author": "Microsoft Corporation", - "license": "MIT", - "engines": { - "node": "*" - }, - "dependencies": { - "typescript": "^2.7.1", - "vscode-css-languageservice": "^4.0.2", - "vscode-html-languageservice": "^3.0.2", - "vscode-emmet-helper": "^1.2.15", - "vscode-languageserver": "^4.0.0-next.4", - "vscode-languageserver-types": "^3.14.0", - "vscode-nls": "^4.1.1", - "vscode-uri": "^1.0.6" - }, - "devDependencies": { - "@types/mocha": "2.2.33", - "@types/node": "7.0.43" - }, - "scripts": { - "compile": "gulp compile-extension:html-server", - "watch": "gulp watch-extension:html-server", - "install-service-next": "yarn add vscode-css-languageservice@next && yarn add vscode-html-languageservice@next", - "install-service-local": "npm install ../../../../vscode-css-languageservice -f && npm install ../../../../vscode-html-languageservice -f", - "install-server-next": "yarn add vscode-languageserver@next", - "install-server-local": "npm install ../../../../vscode-languageserver-node/server -f" - } -} diff --git a/my-snippets/laravel-blade/server/src/htmlServerMain.ts b/my-snippets/laravel-blade/server/src/htmlServerMain.ts deleted file mode 100644 index 4c29ab1..0000000 --- a/my-snippets/laravel-blade/server/src/htmlServerMain.ts +++ /dev/null @@ -1,452 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -'use strict'; - -import { createConnection, IConnection, TextDocuments, InitializeParams, InitializeResult, RequestType, DocumentRangeFormattingRequest, Disposable, DocumentSelector, TextDocumentPositionParams, ServerCapabilities, Position, CompletionTriggerKind } from 'vscode-languageserver'; -import { TextDocument, Diagnostic, DocumentLink, SymbolInformation, CompletionList } from 'vscode-languageserver-types'; -import { getLanguageModes, LanguageModes, Settings } from './modes/languageModes'; - -import { ConfigurationRequest, ConfigurationParams } from 'vscode-languageserver-protocol/lib/protocol.configuration.proposed'; -import { DocumentColorRequest, ServerCapabilities as CPServerCapabilities, ColorInformation, ColorPresentationRequest } from 'vscode-languageserver-protocol/lib/protocol.colorProvider.proposed'; -import { DidChangeWorkspaceFoldersNotification, WorkspaceFolder } from 'vscode-languageserver-protocol/lib/protocol.workspaceFolders.proposed'; - -import { format } from './modes/formatting'; -import { pushAll } from './utils/arrays'; -import { getDocumentContext } from './utils/documentContext'; -import uri from 'vscode-uri'; -import { formatError, runSafe } from './utils/errors'; -import { doComplete as emmetDoComplete, updateExtensionsPath as updateEmmetExtensionsPath, getEmmetCompletionParticipants } from 'vscode-emmet-helper'; - -namespace TagCloseRequest { - export const type: RequestType = new RequestType('html/tag'); -} - -// Create a connection for the server -let connection: IConnection = createConnection(); - -console.log = connection.console.log.bind(connection.console); -console.error = connection.console.error.bind(connection.console); - -process.on('unhandledRejection', (e: any) => { - connection.console.error(formatError(`Unhandled exception`, e)); -}); - -// Create a simple text document manager. The text document manager -// supports full document sync only -let documents: TextDocuments = new TextDocuments(); -// Make the text document manager listen on the connection -// for open, change and close text document events -documents.listen(connection); - -let workspaceFolders: WorkspaceFolder[] | undefined; - -var languageModes: LanguageModes; - -let clientSnippetSupport = false; -let clientDynamicRegisterSupport = false; -let scopedSettingsSupport = false; -let workspaceFoldersSupport = false; - -var globalSettings: Settings = {}; -let documentSettings: { [key: string]: Thenable } = {}; -// remove document settings on close -documents.onDidClose(e => { - delete documentSettings[e.document.uri]; -}); - -function getDocumentSettings(textDocument: TextDocument, needsDocumentSettings: () => boolean): Thenable { - if (scopedSettingsSupport && needsDocumentSettings()) { - let promise = documentSettings[textDocument.uri]; - if (!promise) { - let scopeUri = textDocument.uri; - let configRequestParam: ConfigurationParams = { items: [{ scopeUri, section: 'css' }, { scopeUri, section: 'html' }, { scopeUri, section: 'javascript' }] }; - promise = connection.sendRequest(ConfigurationRequest.type, configRequestParam).then(s => ({ css: s[0], html: s[1], javascript: s[2] })); - documentSettings[textDocument.uri] = promise; - } - return promise; - } - return Promise.resolve(void 0); -} - -let emmetSettings = {}; -let currentEmmetExtensionsPath: string; -const emmetTriggerCharacters = ['!', '.', '}', ':', '*', '$', ']', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; - -// After the server has started the client sends an initilize request. The server receives -// in the passed params the rootPath of the workspace plus the client capabilites -connection.onInitialize((params: InitializeParams): InitializeResult => { - let initializationOptions = params.initializationOptions; - - workspaceFolders = (params).workspaceFolders; - if (!Array.isArray(workspaceFolders)) { - workspaceFolders = []; - if (params.rootPath) { - workspaceFolders.push({ name: '', uri: uri.file(params.rootPath).toString() }); - } - } - - languageModes = getLanguageModes(initializationOptions ? initializationOptions.embeddedLanguages : { css: true, javascript: true }); - documents.onDidClose(e => { - languageModes.onDocumentRemoved(e.document); - }); - connection.onShutdown(() => { - languageModes.dispose(); - }); - - function hasClientCapability(...keys: string[]) { - let c = params.capabilities; - for (let i = 0; c && i < keys.length; i++) { - c = c[keys[i]]; - } - return !!c; - } - - clientSnippetSupport = hasClientCapability('textDocument', 'completion', 'completionItem', 'snippetSupport'); - clientDynamicRegisterSupport = hasClientCapability('workspace', 'symbol', 'dynamicRegistration'); - scopedSettingsSupport = hasClientCapability('workspace', 'configuration'); - workspaceFoldersSupport = hasClientCapability('workspace', 'workspaceFolders'); - let capabilities: ServerCapabilities & CPServerCapabilities = { - // Tell the client that the server works in FULL text document sync mode - textDocumentSync: documents.syncKind, - completionProvider: clientSnippetSupport ? { resolveProvider: true, triggerCharacters: [...emmetTriggerCharacters, '.', ':', '<', '"', '=', '/'] } : undefined, - hoverProvider: true, - documentHighlightProvider: true, - documentRangeFormattingProvider: false, - documentSymbolProvider: true, - definitionProvider: true, - signatureHelpProvider: { triggerCharacters: ['('] }, - referencesProvider: true, - colorProvider: true - }; - return { capabilities }; -}); - -connection.onInitialized((p) => { - if (workspaceFoldersSupport) { - connection.client.register(DidChangeWorkspaceFoldersNotification.type); - - connection.onNotification(DidChangeWorkspaceFoldersNotification.type, e => { - let toAdd = e.event.added; - let toRemove = e.event.removed; - let updatedFolders = []; - if (workspaceFolders) { - for (let folder of workspaceFolders) { - if (!toRemove.some(r => r.uri === folder.uri) && !toAdd.some(r => r.uri === folder.uri)) { - updatedFolders.push(folder); - } - } - } - workspaceFolders = updatedFolders.concat(toAdd); - }); - } -}); - -let formatterRegistration: Thenable | null = null; - -// The settings have changed. Is send on server activation as well. -connection.onDidChangeConfiguration((change) => { - globalSettings = change.settings; - - documentSettings = {}; // reset all document settings - languageModes.getAllModes().forEach(m => { - if (m.configure) { - m.configure(change.settings); - } - }); - documents.all().forEach(triggerValidation); - - // dynamically enable & disable the formatter - if (clientDynamicRegisterSupport) { - let enableFormatter = globalSettings && globalSettings.html && globalSettings.html.format && globalSettings.html.format.enable; - if (enableFormatter) { - if (!formatterRegistration) { - let documentSelector: DocumentSelector = [{ language: 'html' }, { language: 'handlebars' }]; // don't register razor, the formatter does more harm than good - formatterRegistration = connection.client.register(DocumentRangeFormattingRequest.type, { documentSelector }); - } - } else if (formatterRegistration) { - formatterRegistration.then(r => r.dispose()); - formatterRegistration = null; - } - } - - emmetSettings = globalSettings.emmet; - if (currentEmmetExtensionsPath !== emmetSettings['extensionsPath']) { - currentEmmetExtensionsPath = emmetSettings['extensionsPath']; - const workspaceUri = (workspaceFolders && workspaceFolders.length === 1) ? uri.parse(workspaceFolders[0].uri) : null; - updateEmmetExtensionsPath(currentEmmetExtensionsPath, workspaceUri ? workspaceUri.fsPath : null); - } -}); - -let pendingValidationRequests: { [uri: string]: NodeJS.Timer } = {}; -const validationDelayMs = 500; - -// The content of a text document has changed. This event is emitted -// when the text document first opened or when its content has changed. -documents.onDidChangeContent(change => { - triggerValidation(change.document); -}); - -// a document has closed: clear all diagnostics -documents.onDidClose(event => { - cleanPendingValidation(event.document); - connection.sendDiagnostics({ uri: event.document.uri, diagnostics: [] }); -}); - -function cleanPendingValidation(textDocument: TextDocument): void { - let request = pendingValidationRequests[textDocument.uri]; - if (request) { - clearTimeout(request); - delete pendingValidationRequests[textDocument.uri]; - } -} - -function triggerValidation(textDocument: TextDocument): void { - cleanPendingValidation(textDocument); - pendingValidationRequests[textDocument.uri] = setTimeout(() => { - delete pendingValidationRequests[textDocument.uri]; - validateTextDocument(textDocument); - }, validationDelayMs); -} - -function isValidationEnabled(languageId: string, settings: Settings = globalSettings) { - let validationSettings = settings && settings.html && settings.html.validate; - if (validationSettings) { - return languageId === 'css' && validationSettings.styles !== false || languageId === 'javascript' && validationSettings.scripts !== false; - } - return true; -} - -async function validateTextDocument(textDocument: TextDocument) { - try { - let diagnostics: Diagnostic[] = []; - if (textDocument.languageId === 'html') { - let modes = languageModes.getAllModesInDocument(textDocument); - let settings = await getDocumentSettings(textDocument, () => modes.some(m => !!m.doValidation)); - modes.forEach(mode => { - if (mode.doValidation && isValidationEnabled(mode.getId(), settings)) { - pushAll(diagnostics, mode.doValidation(textDocument, settings)); - } - }); - } - connection.sendDiagnostics({ uri: textDocument.uri, diagnostics }); - } catch (e) { - connection.console.error(formatError(`Error while validating ${textDocument.uri}`, e)); - } -} - -let cachedCompletionList: CompletionList; -const hexColorRegex = /^#[\d,a-f,A-F]{1,6}$/; -connection.onCompletion(async textDocumentPosition => { - return runSafe(async () => { - let document = documents.get(textDocumentPosition.textDocument.uri); - let mode = languageModes.getModeAtPosition(document, textDocumentPosition.position); - if (!mode || !mode.doComplete) { - return { isIncomplete: true, items: [] }; - } - - if (cachedCompletionList - && !cachedCompletionList.isIncomplete - && (mode.getId() === 'html' || mode.getId() === 'css') - && textDocumentPosition.context - && textDocumentPosition.context.triggerKind === CompletionTriggerKind.TriggerForIncompleteCompletions - ) { - let result: CompletionList = emmetDoComplete(document, textDocumentPosition.position, mode.getId(), emmetSettings); - if (result && result.items) { - result.items.push(...cachedCompletionList.items); - } else { - result = cachedCompletionList; - cachedCompletionList = null; - } - return result; - } - - if (mode.getId() !== 'html') { - connection.telemetry.logEvent({ key: 'html.embbedded.complete', value: { languageId: mode.getId() } }); - } - - cachedCompletionList = null; - let emmetCompletionList: CompletionList = { - isIncomplete: true, - items: undefined - }; - if (mode.setCompletionParticipants) { - const emmetCompletionParticipant = getEmmetCompletionParticipants(document, textDocumentPosition.position, mode.getId(), emmetSettings, emmetCompletionList); - mode.setCompletionParticipants([emmetCompletionParticipant]); - } - - let settings = await getDocumentSettings(document, () => mode.doComplete.length > 2); - let result = mode.doComplete(document, textDocumentPosition.position, settings); - if (emmetCompletionList && emmetCompletionList.items) { - cachedCompletionList = result; - if (emmetCompletionList.items.length && hexColorRegex.test(emmetCompletionList.items[0].label) && result.items.some(x => x.label === emmetCompletionList.items[0].label)) { - emmetCompletionList.items.shift(); - } - return { isIncomplete: true, items: [...emmetCompletionList.items, ...result.items] }; - } - return result; - }, null, `Error while computing completions for ${textDocumentPosition.textDocument.uri}`); -}); - -connection.onCompletionResolve(item => { - return runSafe(() => { - let data = item.data; - if (data && data.languageId && data.uri) { - let mode = languageModes.getMode(data.languageId); - let document = documents.get(data.uri); - if (mode && mode.doResolve && document) { - return mode.doResolve(document, item); - } - } - return item; - }, null, `Error while resolving completion proposal`); -}); - -connection.onHover(textDocumentPosition => { - return runSafe(() => { - let document = documents.get(textDocumentPosition.textDocument.uri); - let mode = languageModes.getModeAtPosition(document, textDocumentPosition.position); - if (mode && mode.doHover) { - return mode.doHover(document, textDocumentPosition.position); - } - return null; - }, null, `Error while computing hover for ${textDocumentPosition.textDocument.uri}`); -}); - -connection.onDocumentHighlight(documentHighlightParams => { - return runSafe(() => { - let document = documents.get(documentHighlightParams.textDocument.uri); - let mode = languageModes.getModeAtPosition(document, documentHighlightParams.position); - if (mode && mode.findDocumentHighlight) { - return mode.findDocumentHighlight(document, documentHighlightParams.position); - } - return []; - }, [], `Error while computing document highlights for ${documentHighlightParams.textDocument.uri}`); -}); - -connection.onDefinition(definitionParams => { - return runSafe(() => { - let document = documents.get(definitionParams.textDocument.uri); - let mode = languageModes.getModeAtPosition(document, definitionParams.position); - if (mode && mode.findDefinition) { - return mode.findDefinition(document, definitionParams.position); - } - return []; - }, null, `Error while computing definitions for ${definitionParams.textDocument.uri}`); -}); - -connection.onReferences(referenceParams => { - return runSafe(() => { - let document = documents.get(referenceParams.textDocument.uri); - let mode = languageModes.getModeAtPosition(document, referenceParams.position); - if (mode && mode.findReferences) { - return mode.findReferences(document, referenceParams.position); - } - return []; - }, [], `Error while computing references for ${referenceParams.textDocument.uri}`); -}); - -connection.onSignatureHelp(signatureHelpParms => { - return runSafe(() => { - let document = documents.get(signatureHelpParms.textDocument.uri); - let mode = languageModes.getModeAtPosition(document, signatureHelpParms.position); - if (mode && mode.doSignatureHelp) { - return mode.doSignatureHelp(document, signatureHelpParms.position); - } - return null; - }, null, `Error while computing signature help for ${signatureHelpParms.textDocument.uri}`); -}); - -connection.onDocumentRangeFormatting(async formatParams => { - return runSafe(async () => { - let document = documents.get(formatParams.textDocument.uri); - let settings = await getDocumentSettings(document, () => true); - if (!settings) { - settings = globalSettings; - } - let unformattedTags: string = settings && settings.html && settings.html.format && settings.html.format.unformatted || ''; - let enabledModes = { css: !unformattedTags.match(/\bstyle\b/), javascript: !unformattedTags.match(/\bscript\b/) }; - - return format(languageModes, document, formatParams.range, formatParams.options, settings, enabledModes); - }, [], `Error while formatting range for ${formatParams.textDocument.uri}`); -}); - -connection.onDocumentLinks(documentLinkParam => { - return runSafe(() => { - let document = documents.get(documentLinkParam.textDocument.uri); - let links: DocumentLink[] = []; - if (document) { - let documentContext = getDocumentContext(document.uri, workspaceFolders); - languageModes.getAllModesInDocument(document).forEach(m => { - if (m.findDocumentLinks) { - pushAll(links, m.findDocumentLinks(document, documentContext)); - } - }); - } - return links; - }, [], `Error while document links for ${documentLinkParam.textDocument.uri}`); -}); - - - -connection.onDocumentSymbol(documentSymbolParms => { - return runSafe(() => { - let document = documents.get(documentSymbolParms.textDocument.uri); - let symbols: SymbolInformation[] = []; - languageModes.getAllModesInDocument(document).forEach(m => { - if (m.findDocumentSymbols) { - pushAll(symbols, m.findDocumentSymbols(document)); - } - }); - return symbols; - }, [], `Error while computing document symbols for ${documentSymbolParms.textDocument.uri}`); -}); - -connection.onRequest(DocumentColorRequest.type, params => { - return runSafe(() => { - let infos: ColorInformation[] = []; - let document = documents.get(params.textDocument.uri); - if (document) { - languageModes.getAllModesInDocument(document).forEach(m => { - if (m.findDocumentColors) { - pushAll(infos, m.findDocumentColors(document)); - } - }); - } - return infos; - }, [], `Error while computing document colors for ${params.textDocument.uri}`); -}); - -connection.onRequest(ColorPresentationRequest.type, params => { - return runSafe(() => { - let document = documents.get(params.textDocument.uri); - if (document) { - let mode = languageModes.getModeAtPosition(document, params.range.start); - if (mode && mode.getColorPresentations) { - return mode.getColorPresentations(document, params.color, params.range); - } - } - return []; - }, [], `Error while computing color presentations for ${params.textDocument.uri}`); -}); - -connection.onRequest(TagCloseRequest.type, params => { - return runSafe(() => { - let document = documents.get(params.textDocument.uri); - if (document) { - let pos = params.position; - if (pos.character > 0) { - let mode = languageModes.getModeAtPosition(document, Position.create(pos.line, pos.character - 1)); - if (mode && mode.doAutoClose) { - return mode.doAutoClose(document, pos); - } - } - } - return null; - }, null, `Error while computing tag close actions for ${params.textDocument.uri}`); -}); - - -// Listen on the connection -connection.listen(); \ No newline at end of file diff --git a/my-snippets/laravel-blade/server/src/languageModelCache.ts b/my-snippets/laravel-blade/server/src/languageModelCache.ts deleted file mode 100644 index b759228..0000000 --- a/my-snippets/laravel-blade/server/src/languageModelCache.ts +++ /dev/null @@ -1,83 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -'use strict'; - -import { TextDocument } from 'vscode-languageserver'; - -export interface LanguageModelCache { - get(document: TextDocument): T; - onDocumentRemoved(document: TextDocument): void; - dispose(): void; -} - -export function getLanguageModelCache(maxEntries: number, cleanupIntervalTimeInSec: number, parse: (document: TextDocument) => T): LanguageModelCache { - let languageModels: { [uri: string]: { version: number, languageId: string, cTime: number, languageModel: T } } = {}; - let nModels = 0; - - let cleanupInterval: NodeJS.Timer | undefined = void 0; - if (cleanupIntervalTimeInSec > 0) { - cleanupInterval = setInterval(() => { - let cutoffTime = Date.now() - cleanupIntervalTimeInSec * 1000; - let uris = Object.keys(languageModels); - for (let uri of uris) { - let languageModelInfo = languageModels[uri]; - if (languageModelInfo.cTime < cutoffTime) { - delete languageModels[uri]; - nModels--; - } - } - }, cleanupIntervalTimeInSec * 1000); - } - - return { - get(document: TextDocument): T { - let version = document.version; - let languageId = document.languageId; - let languageModelInfo = languageModels[document.uri]; - if (languageModelInfo && languageModelInfo.version === version && languageModelInfo.languageId === languageId) { - languageModelInfo.cTime = Date.now(); - return languageModelInfo.languageModel; - } - let languageModel = parse(document); - languageModels[document.uri] = { languageModel, version, languageId, cTime: Date.now() }; - if (!languageModelInfo) { - nModels++; - } - - if (nModels === maxEntries) { - let oldestTime = Number.MAX_VALUE; - let oldestUri = null; - for (let uri in languageModels) { - let languageModelInfo = languageModels[uri]; - if (languageModelInfo.cTime < oldestTime) { - oldestUri = uri; - oldestTime = languageModelInfo.cTime; - } - } - if (oldestUri) { - delete languageModels[oldestUri]; - nModels--; - } - } - return languageModel; - - }, - onDocumentRemoved(document: TextDocument) { - let uri = document.uri; - if (languageModels[uri]) { - delete languageModels[uri]; - nModels--; - } - }, - dispose() { - if (typeof cleanupInterval !== 'undefined') { - clearInterval(cleanupInterval); - cleanupInterval = void 0; - languageModels = {}; - nModels = 0; - } - } - }; -} \ No newline at end of file diff --git a/my-snippets/laravel-blade/server/src/modes/cssMode.ts b/my-snippets/laravel-blade/server/src/modes/cssMode.ts deleted file mode 100644 index 4f7a2c8..0000000 --- a/my-snippets/laravel-blade/server/src/modes/cssMode.ts +++ /dev/null @@ -1,74 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -'use strict'; - -import { LanguageModelCache, getLanguageModelCache } from '../languageModelCache'; -import { TextDocument, Position, Range } from 'vscode-languageserver-types'; -import { getCSSLanguageService, Stylesheet, ICompletionParticipant } from 'vscode-css-languageservice'; -import { LanguageMode, Settings } from './languageModes'; -import { HTMLDocumentRegions, CSS_STYLE_RULE } from './embeddedSupport'; -import { Color } from 'vscode-languageserver-protocol/lib/protocol.colorProvider.proposed'; - -export function getCSSMode(documentRegions: LanguageModelCache): LanguageMode { - let cssLanguageService = getCSSLanguageService(); - let embeddedCSSDocuments = getLanguageModelCache(10, 60, document => documentRegions.get(document).getEmbeddedDocument('css')); - let cssStylesheets = getLanguageModelCache(10, 60, document => cssLanguageService.parseStylesheet(document)); - - return { - getId() { - return 'css'; - }, - configure(options: any) { - cssLanguageService.configure(options && options.css); - }, - doValidation(document: TextDocument, settings?: Settings) { - let embedded = embeddedCSSDocuments.get(document); - return cssLanguageService.doValidation(embedded, cssStylesheets.get(embedded), settings && settings.css); - }, - doComplete(document: TextDocument, position: Position) { - let embedded = embeddedCSSDocuments.get(document); - return cssLanguageService.doComplete(embedded, position, cssStylesheets.get(embedded)); - }, - setCompletionParticipants(registeredCompletionParticipants: ICompletionParticipant[]) { - cssLanguageService.setCompletionParticipants(registeredCompletionParticipants); - }, - doHover(document: TextDocument, position: Position) { - let embedded = embeddedCSSDocuments.get(document); - return cssLanguageService.doHover(embedded, position, cssStylesheets.get(embedded)); - }, - findDocumentHighlight(document: TextDocument, position: Position) { - let embedded = embeddedCSSDocuments.get(document); - return cssLanguageService.findDocumentHighlights(embedded, position, cssStylesheets.get(embedded)); - }, - findDocumentSymbols(document: TextDocument) { - let embedded = embeddedCSSDocuments.get(document); - return cssLanguageService.findDocumentSymbols(embedded, cssStylesheets.get(embedded)).filter(s => s.name !== CSS_STYLE_RULE); - }, - findDefinition(document: TextDocument, position: Position) { - let embedded = embeddedCSSDocuments.get(document); - return cssLanguageService.findDefinition(embedded, position, cssStylesheets.get(embedded)); - }, - findReferences(document: TextDocument, position: Position) { - let embedded = embeddedCSSDocuments.get(document); - return cssLanguageService.findReferences(embedded, position, cssStylesheets.get(embedded)); - }, - findDocumentColors(document: TextDocument) { - let embedded = embeddedCSSDocuments.get(document); - return cssLanguageService.findDocumentColors(embedded, cssStylesheets.get(embedded)); - }, - getColorPresentations(document: TextDocument, color: Color, range: Range) { - let embedded = embeddedCSSDocuments.get(document); - return cssLanguageService.getColorPresentations(embedded, cssStylesheets.get(embedded), color, range); - }, - onDocumentRemoved(document: TextDocument) { - embeddedCSSDocuments.onDocumentRemoved(document); - cssStylesheets.onDocumentRemoved(document); - }, - dispose() { - embeddedCSSDocuments.dispose(); - cssStylesheets.dispose(); - } - }; -} \ No newline at end of file diff --git a/my-snippets/laravel-blade/server/src/modes/embeddedSupport.ts b/my-snippets/laravel-blade/server/src/modes/embeddedSupport.ts deleted file mode 100644 index 23f79ea..0000000 --- a/my-snippets/laravel-blade/server/src/modes/embeddedSupport.ts +++ /dev/null @@ -1,233 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -'use strict'; - - -import { TextDocument, Position, LanguageService, TokenType, Range } from 'vscode-html-languageservice'; - -export interface LanguageRange extends Range { - languageId: string | undefined; - attributeValue?: boolean; -} - -export interface HTMLDocumentRegions { - getEmbeddedDocument(languageId: string, ignoreAttributeValues?: boolean): TextDocument; - getLanguageRanges(range: Range): LanguageRange[]; - getLanguageAtPosition(position: Position): string | undefined; - getLanguagesInDocument(): string[]; - getImportedScripts(): string[]; -} - -export var CSS_STYLE_RULE = '__'; - -interface EmbeddedRegion { languageId: string | undefined; start: number; end: number; attributeValue?: boolean; } - - -export function getDocumentRegions(languageService: LanguageService, document: TextDocument): HTMLDocumentRegions { - let regions: EmbeddedRegion[] = []; - let scanner = languageService.createScanner(document.getText()); - let lastTagName: string = ''; - let lastAttributeName: string | null = null; - let languageIdFromType: string | undefined = undefined; - let importedScripts: string[] = []; - - let token = scanner.scan(); - while (token !== TokenType.EOS) { - switch (token) { - case TokenType.StartTag: - lastTagName = scanner.getTokenText(); - lastAttributeName = null; - languageIdFromType = 'javascript'; - break; - case TokenType.Styles: - regions.push({ languageId: 'css', start: scanner.getTokenOffset(), end: scanner.getTokenEnd() }); - break; - case TokenType.Script: - regions.push({ languageId: languageIdFromType, start: scanner.getTokenOffset(), end: scanner.getTokenEnd() }); - break; - case TokenType.AttributeName: - lastAttributeName = scanner.getTokenText(); - break; - case TokenType.AttributeValue: - if (lastAttributeName === 'src' && lastTagName.toLowerCase() === 'script') { - let value = scanner.getTokenText(); - if (value[0] === '\'' || value[0] === '"') { - value = value.substr(1, value.length - 1); - } - importedScripts.push(value); - } else if (lastAttributeName === 'type' && lastTagName.toLowerCase() === 'script') { - if (/["'](module|(text|application)\/(java|ecma)script)["']/.test(scanner.getTokenText())) { - languageIdFromType = 'javascript'; - } else { - languageIdFromType = void 0; - } - } else { - let attributeLanguageId = getAttributeLanguage(lastAttributeName!); - if (attributeLanguageId) { - let start = scanner.getTokenOffset(); - let end = scanner.getTokenEnd(); - let firstChar = document.getText()[start]; - if (firstChar === '\'' || firstChar === '"') { - start++; - end--; - } - regions.push({ languageId: attributeLanguageId, start, end, attributeValue: true }); - } - } - lastAttributeName = null; - break; - } - token = scanner.scan(); - } - return { - getLanguageRanges: (range: Range) => getLanguageRanges(document, regions, range), - getEmbeddedDocument: (languageId: string, ignoreAttributeValues: boolean) => getEmbeddedDocument(document, regions, languageId, ignoreAttributeValues), - getLanguageAtPosition: (position: Position) => getLanguageAtPosition(document, regions, position), - getLanguagesInDocument: () => getLanguagesInDocument(document, regions), - getImportedScripts: () => importedScripts - }; -} - - -function getLanguageRanges(document: TextDocument, regions: EmbeddedRegion[], range: Range): LanguageRange[] { - let result: LanguageRange[] = []; - let currentPos = range ? range.start : Position.create(0, 0); - let currentOffset = range ? document.offsetAt(range.start) : 0; - let endOffset = range ? document.offsetAt(range.end) : document.getText().length; - for (let region of regions) { - if (region.end > currentOffset && region.start < endOffset) { - let start = Math.max(region.start, currentOffset); - let startPos = document.positionAt(start); - if (currentOffset < region.start) { - result.push({ - start: currentPos, - end: startPos, - languageId: 'html' - }); - } - let end = Math.min(region.end, endOffset); - let endPos = document.positionAt(end); - if (end > region.start) { - result.push({ - start: startPos, - end: endPos, - languageId: region.languageId, - attributeValue: region.attributeValue - }); - } - currentOffset = end; - currentPos = endPos; - } - } - if (currentOffset < endOffset) { - let endPos = range ? range.end : document.positionAt(endOffset); - result.push({ - start: currentPos, - end: endPos, - languageId: 'html' - }); - } - return result; -} - -function getLanguagesInDocument(document: TextDocument, regions: EmbeddedRegion[]): string[] { - let result = []; - for (let region of regions) { - if (region.languageId && result.indexOf(region.languageId) === -1) { - result.push(region.languageId); - if (result.length === 3) { - return result; - } - } - } - result.push('html'); - return result; -} - -function getLanguageAtPosition(document: TextDocument, regions: EmbeddedRegion[], position: Position): string | undefined { - let offset = document.offsetAt(position); - for (let region of regions) { - if (region.start <= offset) { - if (offset <= region.end) { - return region.languageId; - } - } else { - break; - } - } - return 'html'; -} - -function getEmbeddedDocument(document: TextDocument, contents: EmbeddedRegion[], languageId: string, ignoreAttributeValues: boolean): TextDocument { - let currentPos = 0; - let oldContent = document.getText(); - let result = ''; - let lastSuffix = ''; - for (let c of contents) { - if (c.languageId === languageId && (!ignoreAttributeValues || !c.attributeValue)) { - result = substituteWithWhitespace(result, currentPos, c.start, oldContent, lastSuffix, getPrefix(c)); - result += oldContent.substring(c.start, c.end); - currentPos = c.end; - lastSuffix = getSuffix(c); - } - } - result = substituteWithWhitespace(result, currentPos, oldContent.length, oldContent, lastSuffix, ''); - return TextDocument.create(document.uri, languageId, document.version, result); -} - -function getPrefix(c: EmbeddedRegion) { - if (c.attributeValue) { - switch (c.languageId) { - case 'css': return CSS_STYLE_RULE + '{'; - } - } - return ''; -} -function getSuffix(c: EmbeddedRegion) { - if (c.attributeValue) { - switch (c.languageId) { - case 'css': return '}'; - case 'javascript': return ';'; - } - } - return ''; -} - -function substituteWithWhitespace(result: string, start: number, end: number, oldContent: string, before: string, after: string) { - let accumulatedWS = 0; - result += before; - for (let i = start + before.length; i < end; i++) { - let ch = oldContent[i]; - if (ch === '\n' || ch === '\r') { - // only write new lines, skip the whitespace - accumulatedWS = 0; - result += ch; - } else { - accumulatedWS++; - } - } - result = append(result, ' ', accumulatedWS - after.length); - result += after; - return result; -} - -function append(result: string, str: string, n: number): string { - while (n > 0) { - if (n & 1) { - result += str; - } - n >>= 1; - str += str; - } - return result; -} - -function getAttributeLanguage(attributeName: string): string | null { - let match = attributeName.match(/^(style)$|^(on\w+)$/i); - if (!match) { - return null; - } - return match[1] ? 'css' : 'javascript'; -} \ No newline at end of file diff --git a/my-snippets/laravel-blade/server/src/modes/formatting.ts b/my-snippets/laravel-blade/server/src/modes/formatting.ts deleted file mode 100644 index 839cd86..0000000 --- a/my-snippets/laravel-blade/server/src/modes/formatting.ts +++ /dev/null @@ -1,95 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -'use strict'; - -import { applyEdits } from '../utils/edits'; -import { TextDocument, Range, TextEdit, FormattingOptions, Position } from 'vscode-languageserver-types'; -import { LanguageModes, Settings, LanguageModeRange } from './languageModes'; -import { pushAll } from '../utils/arrays'; -import { isEOL } from '../utils/strings'; - -export function format(languageModes: LanguageModes, document: TextDocument, formatRange: Range, formattingOptions: FormattingOptions, settings: Settings | undefined, enabledModes: { [mode: string]: boolean }) { - let result: TextEdit[] = []; - - let endPos = formatRange.end; - let endOffset = document.offsetAt(endPos); - let content = document.getText(); - if (endPos.character === 0 && endPos.line > 0 && endOffset !== content.length) { - // if selection ends after a new line, exclude that new line - let prevLineStart = document.offsetAt(Position.create(endPos.line - 1, 0)); - while (isEOL(content, endOffset - 1) && endOffset > prevLineStart) { - endOffset--; - } - formatRange = Range.create(formatRange.start, document.positionAt(endOffset)); - } - - - // run the html formatter on the full range and pass the result content to the embedded formatters. - // from the final content create a single edit - // advantages of this approach are - // - correct indents in the html document - // - correct initial indent for embedded formatters - // - no worrying of overlapping edits - - // make sure we start in html - let allRanges = languageModes.getModesInRange(document, formatRange); - let i = 0; - let startPos = formatRange.start; - let isHTML = (range: LanguageModeRange) => range.mode && range.mode.getId() === 'html'; - - while (i < allRanges.length && !isHTML(allRanges[i])) { - let range = allRanges[i]; - if (!range.attributeValue && range.mode && range.mode.format) { - let edits = range.mode.format(document, Range.create(startPos, range.end), formattingOptions, settings); - pushAll(result, edits); - } - startPos = range.end; - i++; - } - if (i === allRanges.length) { - return result; - } - // modify the range - formatRange = Range.create(startPos, formatRange.end); - - // perform a html format and apply changes to a new document - let htmlMode = languageModes.getMode('html')!; - let htmlEdits = htmlMode.format!(document, formatRange, formattingOptions, settings); - let htmlFormattedContent = applyEdits(document, htmlEdits); - let newDocument = TextDocument.create(document.uri + '.tmp', document.languageId, document.version, htmlFormattedContent); - try { - // run embedded formatters on html formatted content: - formatters see correct initial indent - let afterFormatRangeLength = document.getText().length - document.offsetAt(formatRange.end); // length of unchanged content after replace range - let newFormatRange = Range.create(formatRange.start, newDocument.positionAt(htmlFormattedContent.length - afterFormatRangeLength)); - let embeddedRanges = languageModes.getModesInRange(newDocument, newFormatRange); - - let embeddedEdits: TextEdit[] = []; - - for (let r of embeddedRanges) { - let mode = r.mode; - if (mode && mode.format && enabledModes[mode.getId()] && !r.attributeValue) { - let edits = mode.format(newDocument, r, formattingOptions, settings); - for (let edit of edits) { - embeddedEdits.push(edit); - } - } - } - - if (embeddedEdits.length === 0) { - pushAll(result, htmlEdits); - return result; - } - - // apply all embedded format edits and create a single edit for all changes - let resultContent = applyEdits(newDocument, embeddedEdits); - let resultReplaceText = resultContent.substring(document.offsetAt(formatRange.start), resultContent.length - afterFormatRangeLength); - - result.push(TextEdit.replace(formatRange, resultReplaceText)); - return result; - } finally { - languageModes.onDocumentRemoved(newDocument); - } - -} \ No newline at end of file diff --git a/my-snippets/laravel-blade/server/src/modes/htmlMode.ts b/my-snippets/laravel-blade/server/src/modes/htmlMode.ts deleted file mode 100644 index 7e15d24..0000000 --- a/my-snippets/laravel-blade/server/src/modes/htmlMode.ts +++ /dev/null @@ -1,98 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -'use strict'; - -import { getLanguageModelCache } from '../languageModelCache'; -import { LanguageService as HTMLLanguageService, HTMLDocument, DocumentContext, FormattingOptions, HTMLFormatConfiguration, TokenType } from 'vscode-html-languageservice'; -import { TextDocument, Position, Range } from 'vscode-languageserver-types'; -import { LanguageMode, Settings } from './languageModes'; - -export function getHTMLMode(htmlLanguageService: HTMLLanguageService): LanguageMode { - let globalSettings: Settings = {}; - let htmlDocuments = getLanguageModelCache(10, 60, document => htmlLanguageService.parseHTMLDocument(document)); - let completionParticipants = []; - return { - getId() { - return 'html'; - }, - configure(options: any) { - globalSettings = options; - }, - doComplete(document: TextDocument, position: Position, settings: Settings = globalSettings) { - let options = settings && settings.html && settings.html.suggest; - let doAutoComplete = settings && settings.html && settings.html.autoClosingTags; - if (doAutoComplete) { - options.hideAutoCompleteProposals = true; - } - - const htmlDocument = htmlDocuments.get(document); - const offset = document.offsetAt(position); - const node = htmlDocument.findNodeBefore(offset); - const scanner = htmlLanguageService.createScanner(document.getText(), node.start); - let token = scanner.scan(); - while (token !== TokenType.EOS && scanner.getTokenOffset() <= offset) { - if (token === TokenType.Content && offset <= scanner.getTokenEnd()) { - completionParticipants.forEach(participant => { if (participant.onHtmlContent) { participant.onHtmlContent(); } }); - break; - } - token = scanner.scan(); - } - return htmlLanguageService.doComplete(document, position, htmlDocument, options); - }, - setCompletionParticipants(registeredCompletionParticipants: any[]) { - completionParticipants = registeredCompletionParticipants; - }, - doHover(document: TextDocument, position: Position) { - return htmlLanguageService.doHover(document, position, htmlDocuments.get(document)); - }, - findDocumentHighlight(document: TextDocument, position: Position) { - return htmlLanguageService.findDocumentHighlights(document, position, htmlDocuments.get(document)); - }, - findDocumentLinks(document: TextDocument, documentContext: DocumentContext) { - return htmlLanguageService.findDocumentLinks(document, documentContext); - }, - findDocumentSymbols(document: TextDocument) { - return htmlLanguageService.findDocumentSymbols(document, htmlDocuments.get(document)); - }, - format(document: TextDocument, range: Range, formatParams: FormattingOptions, settings: Settings = globalSettings) { - let formatSettings: HTMLFormatConfiguration = settings && settings.html && settings.html.format; - if (formatSettings) { - formatSettings = merge(formatSettings, {}); - } else { - formatSettings = {}; - } - if (formatSettings.contentUnformatted) { - formatSettings.contentUnformatted = formatSettings.contentUnformatted + ',script'; - } else { - formatSettings.contentUnformatted = 'script'; - } - formatSettings = merge(formatParams, formatSettings); - return htmlLanguageService.format(document, range, formatSettings); - }, - doAutoClose(document: TextDocument, position: Position) { - let offset = document.offsetAt(position); - let text = document.getText(); - if (offset > 0 && text.charAt(offset - 1).match(/[>\/]/g)) { - return htmlLanguageService.doTagComplete(document, position, htmlDocuments.get(document)); - } - return null; - }, - onDocumentRemoved(document: TextDocument) { - htmlDocuments.onDocumentRemoved(document); - }, - dispose() { - htmlDocuments.dispose(); - } - }; -} - -function merge(src: any, dst: any): any { - for (var key in src) { - if (src.hasOwnProperty(key)) { - dst[key] = src[key]; - } - } - return dst; -} diff --git a/my-snippets/laravel-blade/server/src/modes/javascriptMode.ts b/my-snippets/laravel-blade/server/src/modes/javascriptMode.ts deleted file mode 100644 index 12387ac..0000000 --- a/my-snippets/laravel-blade/server/src/modes/javascriptMode.ts +++ /dev/null @@ -1,411 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -'use strict'; - -import { LanguageModelCache, getLanguageModelCache } from '../languageModelCache'; -import { SymbolInformation, SymbolKind, CompletionItem, Location, SignatureHelp, SignatureInformation, ParameterInformation, Definition, TextEdit, TextDocument, Diagnostic, DiagnosticSeverity, Range, CompletionItemKind, Hover, MarkedString, DocumentHighlight, DocumentHighlightKind, CompletionList, Position, FormattingOptions } from 'vscode-languageserver-types'; -import { LanguageMode, Settings } from './languageModes'; -import { getWordAtText, startsWith, isWhitespaceOnly, repeat } from '../utils/strings'; -import { HTMLDocumentRegions } from './embeddedSupport'; - -import * as ts from 'typescript'; -import { join } from 'path'; - -const FILE_NAME = 'vscode://javascript/1'; // the same 'file' is used for all contents -const JQUERY_D_TS = join(__dirname, '../../lib/jquery.d.ts'); - -const JS_WORD_REGEX = /(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g; - -export function getJavascriptMode(documentRegions: LanguageModelCache): LanguageMode { - let jsDocuments = getLanguageModelCache(10, 60, document => documentRegions.get(document).getEmbeddedDocument('javascript')); - - let compilerOptions: ts.CompilerOptions = { allowNonTsExtensions: true, allowJs: true, lib: ['lib.es6.d.ts'], target: ts.ScriptTarget.Latest, moduleResolution: ts.ModuleResolutionKind.Classic }; - let currentTextDocument: TextDocument; - let scriptFileVersion: number = 0; - function updateCurrentTextDocument(doc: TextDocument) { - if (!currentTextDocument || doc.uri !== currentTextDocument.uri || doc.version !== currentTextDocument.version) { - currentTextDocument = jsDocuments.get(doc); - scriptFileVersion++; - } - } - const host: ts.LanguageServiceHost = { - getCompilationSettings: () => compilerOptions, - getScriptFileNames: () => [FILE_NAME, JQUERY_D_TS], - getScriptKind: () => ts.ScriptKind.JS, - getScriptVersion: (fileName: string) => { - if (fileName === FILE_NAME) { - return String(scriptFileVersion); - } - return '1'; // default lib an jquery.d.ts are static - }, - getScriptSnapshot: (fileName: string) => { - let text = ''; - if (startsWith(fileName, 'vscode:')) { - if (fileName === FILE_NAME) { - text = currentTextDocument.getText(); - } - } else { - text = ts.sys.readFile(fileName) || ''; - } - return { - getText: (start, end) => text.substring(start, end), - getLength: () => text.length, - getChangeRange: () => void 0 - }; - }, - getCurrentDirectory: () => '', - getDefaultLibFileName: (options) => ts.getDefaultLibFilePath(options) - }; - let jsLanguageService = ts.createLanguageService(host); - - let globalSettings: Settings = {}; - - return { - getId() { - return 'javascript'; - }, - configure(options: any) { - globalSettings = options; - }, - doValidation(document: TextDocument): Diagnostic[] { - updateCurrentTextDocument(document); - const syntaxDiagnostics = jsLanguageService.getSyntacticDiagnostics(FILE_NAME); - const semanticDiagnostics = jsLanguageService.getSemanticDiagnostics(FILE_NAME); - return syntaxDiagnostics.concat(semanticDiagnostics).map((diag: ts.Diagnostic): Diagnostic => { - return { - range: convertRange(currentTextDocument, diag), - severity: DiagnosticSeverity.Error, - source: 'js', - message: ts.flattenDiagnosticMessageText(diag.messageText, '\n') - }; - }); - }, - doComplete(document: TextDocument, position: Position): CompletionList { - updateCurrentTextDocument(document); - let offset = currentTextDocument.offsetAt(position); - let completions = jsLanguageService.getCompletionsAtPosition(FILE_NAME, offset, { includeExternalModuleExports: false, includeInsertTextCompletions: false }); - if (!completions) { - return { isIncomplete: false, items: [] }; - } - let replaceRange = convertRange(currentTextDocument, getWordAtText(currentTextDocument.getText(), offset, JS_WORD_REGEX)); - return { - isIncomplete: false, - items: completions.entries.map(entry => { - return { - uri: document.uri, - position: position, - label: entry.name, - sortText: entry.sortText, - kind: convertKind(entry.kind), - textEdit: TextEdit.replace(replaceRange, entry.name), - data: { // data used for resolving item details (see 'doResolve') - languageId: 'javascript', - uri: document.uri, - offset: offset - } - }; - }) - }; - }, - doResolve(document: TextDocument, item: CompletionItem): CompletionItem { - updateCurrentTextDocument(document); - let details = jsLanguageService.getCompletionEntryDetails(FILE_NAME, item.data.offset, item.label, undefined, undefined); - if (details) { - item.detail = ts.displayPartsToString(details.displayParts); - item.documentation = ts.displayPartsToString(details.documentation); - delete item.data; - } - return item; - }, - doHover(document: TextDocument, position: Position): Hover | null { - updateCurrentTextDocument(document); - let info = jsLanguageService.getQuickInfoAtPosition(FILE_NAME, currentTextDocument.offsetAt(position)); - if (info) { - let contents = ts.displayPartsToString(info.displayParts); - return { - range: convertRange(currentTextDocument, info.textSpan), - contents: MarkedString.fromPlainText(contents) - }; - } - return null; - }, - doSignatureHelp(document: TextDocument, position: Position): SignatureHelp | null { - updateCurrentTextDocument(document); - let signHelp = jsLanguageService.getSignatureHelpItems(FILE_NAME, currentTextDocument.offsetAt(position)); - if (signHelp) { - let ret: SignatureHelp = { - activeSignature: signHelp.selectedItemIndex, - activeParameter: signHelp.argumentIndex, - signatures: [] - }; - signHelp.items.forEach(item => { - - let signature: SignatureInformation = { - label: '', - documentation: undefined, - parameters: [] - }; - - signature.label += ts.displayPartsToString(item.prefixDisplayParts); - item.parameters.forEach((p, i, a) => { - let label = ts.displayPartsToString(p.displayParts); - let parameter: ParameterInformation = { - label: label, - documentation: ts.displayPartsToString(p.documentation) - }; - signature.label += label; - signature.parameters!.push(parameter); - if (i < a.length - 1) { - signature.label += ts.displayPartsToString(item.separatorDisplayParts); - } - }); - signature.label += ts.displayPartsToString(item.suffixDisplayParts); - ret.signatures.push(signature); - }); - return ret; - } - return null; - }, - findDocumentHighlight(document: TextDocument, position: Position): DocumentHighlight[] { - updateCurrentTextDocument(document); - let occurrences = jsLanguageService.getOccurrencesAtPosition(FILE_NAME, currentTextDocument.offsetAt(position)); - if (occurrences) { - return occurrences.map(entry => { - return { - range: convertRange(currentTextDocument, entry.textSpan), - kind: (entry.isWriteAccess ? DocumentHighlightKind.Write : DocumentHighlightKind.Text) - }; - }); - } - return []; - }, - findDocumentSymbols(document: TextDocument): SymbolInformation[] { - updateCurrentTextDocument(document); - let items = jsLanguageService.getNavigationBarItems(FILE_NAME); - if (items) { - let result: SymbolInformation[] = []; - let existing = Object.create(null); - let collectSymbols = (item: ts.NavigationBarItem, containerLabel?: string) => { - let sig = item.text + item.kind + item.spans[0].start; - if (item.kind !== 'script' && !existing[sig]) { - let symbol: SymbolInformation = { - name: item.text, - kind: convertSymbolKind(item.kind), - location: { - uri: document.uri, - range: convertRange(currentTextDocument, item.spans[0]) - }, - containerName: containerLabel - }; - existing[sig] = true; - result.push(symbol); - containerLabel = item.text; - } - - if (item.childItems && item.childItems.length > 0) { - for (let child of item.childItems) { - collectSymbols(child, containerLabel); - } - } - - }; - - items.forEach(item => collectSymbols(item)); - return result; - } - return []; - }, - findDefinition(document: TextDocument, position: Position): Definition | null { - updateCurrentTextDocument(document); - let definition = jsLanguageService.getDefinitionAtPosition(FILE_NAME, currentTextDocument.offsetAt(position)); - if (definition) { - return definition.filter(d => d.fileName === FILE_NAME).map(d => { - return { - uri: document.uri, - range: convertRange(currentTextDocument, d.textSpan) - }; - }); - } - return null; - }, - findReferences(document: TextDocument, position: Position): Location[] { - updateCurrentTextDocument(document); - let references = jsLanguageService.getReferencesAtPosition(FILE_NAME, currentTextDocument.offsetAt(position)); - if (references) { - return references.filter(d => d.fileName === FILE_NAME).map(d => { - return { - uri: document.uri, - range: convertRange(currentTextDocument, d.textSpan) - }; - }); - } - return []; - }, - format(document: TextDocument, range: Range, formatParams: FormattingOptions, settings: Settings = globalSettings): TextEdit[] { - currentTextDocument = documentRegions.get(document).getEmbeddedDocument('javascript', true); - scriptFileVersion++; - - let formatterSettings = settings && settings.javascript && settings.javascript.format; - - let initialIndentLevel = computeInitialIndent(document, range, formatParams); - let formatSettings = convertOptions(formatParams, formatterSettings, initialIndentLevel + 1); - let start = currentTextDocument.offsetAt(range.start); - let end = currentTextDocument.offsetAt(range.end); - let lastLineRange = null; - if (range.end.line > range.start.line && (range.end.character === 0 || isWhitespaceOnly(currentTextDocument.getText().substr(end - range.end.character, range.end.character)))) { - end -= range.end.character; - lastLineRange = Range.create(Position.create(range.end.line, 0), range.end); - } - let edits = jsLanguageService.getFormattingEditsForRange(FILE_NAME, start, end, formatSettings); - if (edits) { - let result = []; - for (let edit of edits) { - if (edit.span.start >= start && edit.span.start + edit.span.length <= end) { - result.push({ - range: convertRange(currentTextDocument, edit.span), - newText: edit.newText - }); - } - } - if (lastLineRange) { - result.push({ - range: lastLineRange, - newText: generateIndent(initialIndentLevel, formatParams) - }); - } - return result; - } - return []; - }, - onDocumentRemoved(document: TextDocument) { - jsDocuments.onDocumentRemoved(document); - }, - dispose() { - jsLanguageService.dispose(); - jsDocuments.dispose(); - } - }; -} - -function convertRange(document: TextDocument, span: { start: number | undefined, length: number | undefined }): Range { - if (typeof span.start === 'undefined') { - const pos = document.positionAt(0); - return Range.create(pos, pos); - } - const startPosition = document.positionAt(span.start); - const endPosition = document.positionAt(span.start + (span.length || 0)); - return Range.create(startPosition, endPosition); -} - -function convertKind(kind: string): CompletionItemKind { - switch (kind) { - case 'primitive type': - case 'keyword': - return CompletionItemKind.Keyword; - case 'var': - case 'local var': - return CompletionItemKind.Variable; - case 'property': - case 'getter': - case 'setter': - return CompletionItemKind.Field; - case 'function': - case 'method': - case 'construct': - case 'call': - case 'index': - return CompletionItemKind.Function; - case 'enum': - return CompletionItemKind.Enum; - case 'module': - return CompletionItemKind.Module; - case 'class': - return CompletionItemKind.Class; - case 'interface': - return CompletionItemKind.Interface; - case 'warning': - return CompletionItemKind.File; - } - - return CompletionItemKind.Property; -} - -function convertSymbolKind(kind: string): SymbolKind { - switch (kind) { - case 'var': - case 'local var': - case 'const': - return SymbolKind.Variable; - case 'function': - case 'local function': - return SymbolKind.Function; - case 'enum': - return SymbolKind.Enum; - case 'module': - return SymbolKind.Module; - case 'class': - return SymbolKind.Class; - case 'interface': - return SymbolKind.Interface; - case 'method': - return SymbolKind.Method; - case 'property': - case 'getter': - case 'setter': - return SymbolKind.Property; - } - return SymbolKind.Variable; -} - -function convertOptions(options: FormattingOptions, formatSettings: any, initialIndentLevel: number): ts.FormatCodeOptions { - return { - ConvertTabsToSpaces: options.insertSpaces, - TabSize: options.tabSize, - IndentSize: options.tabSize, - IndentStyle: ts.IndentStyle.Smart, - NewLineCharacter: '\n', - BaseIndentSize: options.tabSize * initialIndentLevel, - InsertSpaceAfterCommaDelimiter: Boolean(!formatSettings || formatSettings.insertSpaceAfterCommaDelimiter), - InsertSpaceAfterSemicolonInForStatements: Boolean(!formatSettings || formatSettings.insertSpaceAfterSemicolonInForStatements), - InsertSpaceBeforeAndAfterBinaryOperators: Boolean(!formatSettings || formatSettings.insertSpaceBeforeAndAfterBinaryOperators), - InsertSpaceAfterKeywordsInControlFlowStatements: Boolean(!formatSettings || formatSettings.insertSpaceAfterKeywordsInControlFlowStatements), - InsertSpaceAfterFunctionKeywordForAnonymousFunctions: Boolean(!formatSettings || formatSettings.insertSpaceAfterFunctionKeywordForAnonymousFunctions), - InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis: Boolean(formatSettings && formatSettings.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis), - InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets: Boolean(formatSettings && formatSettings.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets), - InsertSpaceAfterOpeningAndBeforeClosingNonemptyBraces: Boolean(formatSettings && formatSettings.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces), - InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces: Boolean(formatSettings && formatSettings.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces), - PlaceOpenBraceOnNewLineForControlBlocks: Boolean(formatSettings && formatSettings.placeOpenBraceOnNewLineForFunctions), - PlaceOpenBraceOnNewLineForFunctions: Boolean(formatSettings && formatSettings.placeOpenBraceOnNewLineForControlBlocks) - }; -} - -function computeInitialIndent(document: TextDocument, range: Range, options: FormattingOptions) { - let lineStart = document.offsetAt(Position.create(range.start.line, 0)); - let content = document.getText(); - - let i = lineStart; - let nChars = 0; - let tabSize = options.tabSize || 4; - while (i < content.length) { - let ch = content.charAt(i); - if (ch === ' ') { - nChars++; - } else if (ch === '\t') { - nChars += tabSize; - } else { - break; - } - i++; - } - return Math.floor(nChars / tabSize); -} - -function generateIndent(level: number, options: FormattingOptions) { - if (options.insertSpaces) { - return repeat(' ', level * options.tabSize); - } else { - return repeat('\t', level); - } -} \ No newline at end of file diff --git a/my-snippets/laravel-blade/server/src/modes/languageModes.ts b/my-snippets/laravel-blade/server/src/modes/languageModes.ts deleted file mode 100644 index 6b46726..0000000 --- a/my-snippets/laravel-blade/server/src/modes/languageModes.ts +++ /dev/null @@ -1,143 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -'use strict'; - -import { getLanguageService as getHTMLLanguageService, DocumentContext } from 'vscode-html-languageservice'; -import { - CompletionItem, Location, SignatureHelp, Definition, TextEdit, TextDocument, Diagnostic, DocumentLink, Range, - Hover, DocumentHighlight, CompletionList, Position, FormattingOptions, SymbolInformation -} from 'vscode-languageserver-types'; - -import { ColorInformation, ColorPresentation, Color } from 'vscode-languageserver-protocol/lib/protocol.colorProvider.proposed'; - -import { getLanguageModelCache, LanguageModelCache } from '../languageModelCache'; -import { getDocumentRegions, HTMLDocumentRegions } from './embeddedSupport'; -import { getCSSMode } from './cssMode'; -import { getJavascriptMode } from './javascriptMode'; -import { getHTMLMode } from './htmlMode'; - -export { ColorInformation, ColorPresentation, Color }; - -export interface Settings { - css?: any; - html?: any; - javascript?: any; - emmet?: { [key: string]: any }; -} - -export interface SettingProvider { - getDocumentSettings(textDocument: TextDocument): Thenable; -} - -export interface LanguageMode { - getId(): string; - configure?: (options: Settings) => void; - doValidation?: (document: TextDocument, settings?: Settings) => Diagnostic[]; - doComplete?: (document: TextDocument, position: Position, settings?: Settings) => CompletionList | null; - setCompletionParticipants?: (registeredCompletionParticipants: any[]) => void; - doResolve?: (document: TextDocument, item: CompletionItem) => CompletionItem | null; - doHover?: (document: TextDocument, position: Position) => Hover | null; - doSignatureHelp?: (document: TextDocument, position: Position) => SignatureHelp | null; - findDocumentHighlight?: (document: TextDocument, position: Position) => DocumentHighlight[]; - findDocumentSymbols?: (document: TextDocument) => SymbolInformation[]; - findDocumentLinks?: (document: TextDocument, documentContext: DocumentContext) => DocumentLink[]; - findDefinition?: (document: TextDocument, position: Position) => Definition | null; - findReferences?: (document: TextDocument, position: Position) => Location[]; - format?: (document: TextDocument, range: Range, options: FormattingOptions, settings?: Settings) => TextEdit[]; - findDocumentColors?: (document: TextDocument) => ColorInformation[]; - getColorPresentations?: (document: TextDocument, color: Color, range: Range) => ColorPresentation[]; - doAutoClose?: (document: TextDocument, position: Position) => string | null; - onDocumentRemoved(document: TextDocument): void; - dispose(): void; -} - -export interface LanguageModes { - getModeAtPosition(document: TextDocument, position: Position): LanguageMode | undefined; - getModesInRange(document: TextDocument, range: Range): LanguageModeRange[]; - getAllModes(): LanguageMode[]; - getAllModesInDocument(document: TextDocument): LanguageMode[]; - getMode(languageId: string): LanguageMode | undefined; - onDocumentRemoved(document: TextDocument): void; - dispose(): void; -} - -export interface LanguageModeRange extends Range { - mode: LanguageMode | undefined; - attributeValue?: boolean; -} - -export function getLanguageModes(supportedLanguages: { [languageId: string]: boolean; }): LanguageModes { - - var htmlLanguageService = getHTMLLanguageService(); - let documentRegions = getLanguageModelCache(10, 60, document => getDocumentRegions(htmlLanguageService, document)); - - let modelCaches: LanguageModelCache[] = []; - modelCaches.push(documentRegions); - - let modes = Object.create(null); - modes['html'] = getHTMLMode(htmlLanguageService); - if (supportedLanguages['css']) { - modes['css'] = getCSSMode(documentRegions); - } - if (supportedLanguages['javascript']) { - modes['javascript'] = getJavascriptMode(documentRegions); - } - return { - getModeAtPosition(document: TextDocument, position: Position): LanguageMode | undefined { - let languageId = documentRegions.get(document).getLanguageAtPosition(position); - if (languageId) { - return modes[languageId]; - } - return void 0; - }, - getModesInRange(document: TextDocument, range: Range): LanguageModeRange[] { - return documentRegions.get(document).getLanguageRanges(range).map(r => { - return { - start: r.start, - end: r.end, - mode: r.languageId && modes[r.languageId], - attributeValue: r.attributeValue - }; - }); - }, - getAllModesInDocument(document: TextDocument): LanguageMode[] { - let result = []; - for (let languageId of documentRegions.get(document).getLanguagesInDocument()) { - let mode = modes[languageId]; - if (mode) { - result.push(mode); - } - } - return result; - }, - getAllModes(): LanguageMode[] { - let result = []; - for (let languageId in modes) { - let mode = modes[languageId]; - if (mode) { - result.push(mode); - } - } - return result; - }, - getMode(languageId: string): LanguageMode { - return modes[languageId]; - }, - onDocumentRemoved(document: TextDocument) { - modelCaches.forEach(mc => mc.onDocumentRemoved(document)); - for (let mode in modes) { - modes[mode].onDocumentRemoved(document); - } - }, - dispose(): void { - modelCaches.forEach(mc => mc.dispose()); - modelCaches = []; - for (let mode in modes) { - modes[mode].dispose(); - } - modes = {}; - } - }; -} \ No newline at end of file diff --git a/my-snippets/laravel-blade/server/src/utils/arrays.ts b/my-snippets/laravel-blade/server/src/utils/arrays.ts deleted file mode 100644 index 1ec1c09..0000000 --- a/my-snippets/laravel-blade/server/src/utils/arrays.ts +++ /dev/null @@ -1,13 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -'use strict'; - -export function pushAll(to: T[], from: T[]) { - if (from) { - for (var i = 0; i < from.length; i++) { - to.push(from[i]); - } - } -} \ No newline at end of file diff --git a/my-snippets/laravel-blade/server/src/utils/documentContext.ts b/my-snippets/laravel-blade/server/src/utils/documentContext.ts deleted file mode 100644 index c517090..0000000 --- a/my-snippets/laravel-blade/server/src/utils/documentContext.ts +++ /dev/null @@ -1,40 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -'use strict'; - -import { DocumentContext } from 'vscode-html-languageservice'; -import { endsWith, startsWith } from '../utils/strings'; -import * as url from 'url'; -import { WorkspaceFolder } from 'vscode-languageserver-protocol/lib/protocol.workspaceFolders.proposed'; - -export function getDocumentContext(documentUri: string, workspaceFolders: WorkspaceFolder[]): DocumentContext { - function getRootFolder(): string | undefined { - for (let folder of workspaceFolders) { - let folderURI = folder.uri; - if (!endsWith(folderURI, '/')) { - folderURI = folderURI + '/'; - } - if (startsWith(documentUri, folderURI)) { - return folderURI; - } - } - return void 0; - } - - return { - resolveReference: (ref, base = documentUri) => { - if (ref[0] === '/') { // resolve absolute path against the current workspace folder - if (startsWith(base, 'file://')) { - let folderUri = getRootFolder(); - if (folderUri) { - return folderUri + ref.substr(1); - } - } - } - return url.resolve(base, ref); - }, - }; -} - diff --git a/my-snippets/laravel-blade/server/src/utils/edits.ts b/my-snippets/laravel-blade/server/src/utils/edits.ts deleted file mode 100644 index e43fb03..0000000 --- a/my-snippets/laravel-blade/server/src/utils/edits.ts +++ /dev/null @@ -1,32 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -'use strict'; - -import { TextDocument, TextEdit, Position } from 'vscode-languageserver-types'; - -export function applyEdits(document: TextDocument, edits: TextEdit[]): string { - let text = document.getText(); - let sortedEdits = edits.sort((a, b) => { - let startDiff = comparePositions(a.range.start, b.range.start); - if (startDiff === 0) { - return comparePositions(a.range.end, b.range.end); - } - return startDiff; - }); - sortedEdits.forEach(e => { - let startOffset = document.offsetAt(e.range.start); - let endOffset = document.offsetAt(e.range.end); - text = text.substring(0, startOffset) + e.newText + text.substring(endOffset, text.length); - }); - return text; -} - -function comparePositions(p1: Position, p2: Position) { - let diff = p2.line - p1.line; - if (diff === 0) { - return p2.character - p1.character; - } - return diff; -} \ No newline at end of file diff --git a/my-snippets/laravel-blade/server/src/utils/errors.ts b/my-snippets/laravel-blade/server/src/utils/errors.ts deleted file mode 100644 index 3842645..0000000 --- a/my-snippets/laravel-blade/server/src/utils/errors.ts +++ /dev/null @@ -1,33 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -'use strict'; - -export function formatError(message: string, err: any): string { - if (err instanceof Error) { - let error = err; - return `${message}: ${error.message}\n${error.stack}`; - } else if (typeof err === 'string') { - return `${message}: ${err}`; - } else if (err) { - return `${message}: ${err.toString()}`; - } - return message; -} - -export function runSafe(func: () => Thenable | T, errorVal: T, errorMessage: string): Thenable | T { - try { - let t = func(); - if (t instanceof Promise) { - return t.then(void 0, e => { - console.error(formatError(errorMessage, e)); - return errorVal; - }); - } - return t; - } catch (e) { - console.error(formatError(errorMessage, e)); - return errorVal; - } -} \ No newline at end of file diff --git a/my-snippets/laravel-blade/server/src/utils/strings.ts b/my-snippets/laravel-blade/server/src/utils/strings.ts deleted file mode 100644 index 1a441f7..0000000 --- a/my-snippets/laravel-blade/server/src/utils/strings.ts +++ /dev/null @@ -1,79 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -'use strict'; - -export function getWordAtText(text: string, offset: number, wordDefinition: RegExp): { start: number, length: number } { - let lineStart = offset; - while (lineStart > 0 && !isNewlineCharacter(text.charCodeAt(lineStart - 1))) { - lineStart--; - } - let offsetInLine = offset - lineStart; - let lineText = text.substr(lineStart); - - // make a copy of the regex as to not keep the state - let flags = wordDefinition.ignoreCase ? 'gi' : 'g'; - wordDefinition = new RegExp(wordDefinition.source, flags); - - let match = wordDefinition.exec(lineText); - while (match && match.index + match[0].length < offsetInLine) { - match = wordDefinition.exec(lineText); - } - if (match && match.index <= offsetInLine) { - return { start: match.index + lineStart, length: match[0].length }; - } - - return { start: offset, length: 0 }; -} - -export function startsWith(haystack: string, needle: string): boolean { - if (haystack.length < needle.length) { - return false; - } - - for (let i = 0; i < needle.length; i++) { - if (haystack[i] !== needle[i]) { - return false; - } - } - - return true; -} - -export function endsWith(haystack: string, needle: string): boolean { - let diff = haystack.length - needle.length; - if (diff > 0) { - return haystack.indexOf(needle, diff) === diff; - } else if (diff === 0) { - return haystack === needle; - } else { - return false; - } -} - -export function repeat(value: string, count: number) { - var s = ''; - while (count > 0) { - if ((count & 1) === 1) { - s += value; - } - value += value; - count = count >>> 1; - } - return s; -} - -export function isWhitespaceOnly(str: string) { - return /^\s*$/.test(str); -} - -export function isEOL(content: string, offset: number) { - return isNewlineCharacter(content.charCodeAt(offset)); -} - -const CR = '\r'.charCodeAt(0); -const NL = '\n'.charCodeAt(0); -export function isNewlineCharacter(charCode: number) { - return charCode === CR || charCode === NL; -} \ No newline at end of file diff --git a/my-snippets/laravel-blade/server/tsconfig.json b/my-snippets/laravel-blade/server/tsconfig.json deleted file mode 100644 index 4643220..0000000 --- a/my-snippets/laravel-blade/server/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "module": "commonjs", - "outDir": "./out", - "noUnusedLocals": true, - "lib": [ - "es5", "es2015.promise" - ] - }, - "exclude": [ - "**/jquery.d.ts" - ] -} \ No newline at end of file diff --git a/my-snippets/laravel-blade/snippets/blade.json b/my-snippets/laravel-blade/snippets/blade.json deleted file mode 100644 index 699abe8..0000000 --- a/my-snippets/laravel-blade/snippets/blade.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "Blade-component": { - "prefix": "Blade::component", - "body": "Blade::component('${1:package-name}', ${2:PackageNameComponent}::class);", - "description": "Registering Package Components (AppServiceProvider boot method)" - }, - "Blade-include": { - "prefix": "Blade::include", - "body": "Blade::include('${1:includes.input}', '${2:input}');", - "description": "Aliasing Includes (AppServiceProvider boot method)" - }, - "Blade-if": { - "prefix": "Blade::if", - "body": [ - "Blade::if('${1:env}', function ($${2:environment}) {", - " ${3:return app()->environment($$environment);}", - "});" - ], - "description": "Custom If Statements (AppServiceProvider boot method)" - }, - "Blade-directive": { - "prefix": "Blade::directive", - "body": [ - "Blade::directive('${1:datetime}', function ($${2:expression}) {", - " ${3:return \"format('m/d/Y H:i'); ?>\";}", - "});" - ], - "description": "Custom directive (AppServiceProvider boot method)" - }, - "Blade-stringable": { - "prefix": "Blade::stringable", - "body": [ - "Blade::stringable(function (${1:Money} $${2:money}) {", - " ${3:return $$money->formatTo('en_GB');}", - "});" - ], - "description": "Custom echo handlers (AppServiceProvider boot method)" - }, - "Blade-render": { - "prefix": "Blade::render", - "body": "Blade::render(${1:'Blade template string'}, ${2:\\$data});", - "description": "Transform a raw Blade template string into valid HTML (Laravel 9.x)" - }, - "Blade-renderComponent": { - "prefix": "Blade::renderComponent", - "body": "Blade::renderComponent(new ${1:HelloComponent}(${2:\\$params}));", - "description": "Render a given class component by passing the component instance to the method (Laravel 9.x)" - } -} diff --git a/my-snippets/laravel-blade/snippets/helpers.json b/my-snippets/laravel-blade/snippets/helpers.json deleted file mode 100644 index df1a4d7..0000000 --- a/my-snippets/laravel-blade/snippets/helpers.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - /* Paths */ - "Path-elixir": { - "prefix": "lv:elixir", - "body": "{{ elixir('${1:file}') }}", - "description": "(deprecated) elixir path" - }, - "Path-mix": { - "prefix": "lv:mix", - "body": "{{ mix('${1:file}') }}", - "description": "mix path" - }, - /* Strings */ - "String-trans": { - "prefix": "lv:trans", - "body": "{{ trans('$1') }}", - "description": "trans" - }, - /* URLs */ - "URL-action": { - "prefix": "lv:action", - "body": "{{ action('${1:ControllerName}', [${2:'id'=>1}]) }}", - "description": "URL-action" - }, - "URL-secure-asset": { - "prefix": "lv:secure-asset", - "body": "{{ secure_asset('$1', ${2:\\$title}, ${3:\\$attributes=[]}) }}", - "description": "URL-secure-asset" - }, - "URL-url": { - "prefix": "lv:url", - "body": "{{ url('${1:url}', [$2]) }}", - "description": "URL-url" - }, - "URL-asset": { - "prefix": "lv:asset", - "body": "{{ asset('$1') }}", - "description": "URL-asset" - }, - "URL-route": { - "prefix": "lv:route", - "body": "{{ route('${1:routeName}', [${2:'id'=>1}]) }}", - "description": "URL-route" - }, - /* Miscellaneous */ - "Form-csrf-field": { - "prefix": "lv:csrf-field", - "body": "{{ csrf_field() }}", - "description": "CSRF hidden field" - }, - "csrf-token": { - "prefix": "lv:csrf-token", - "body": "{{ csrf_token() }}", - "description": "CSRF token" - }, - /* Paginate */ - "Paginate-links": { - "prefix": "lv:pagination-links", - "body": "{{ \\$${1:collection}->links() }}", - "description": "pagination links" - } -} diff --git a/my-snippets/laravel-blade/snippets/livewire.json b/my-snippets/laravel-blade/snippets/livewire.json deleted file mode 100644 index fa04c76..0000000 --- a/my-snippets/laravel-blade/snippets/livewire.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "livewireStyles": { - "prefix": "livewire:styles", - "body": "@livewireStyles", - "description": "Livewire Styles directive" - }, - "livewireScripts": { - "prefix": "livewire:scripts", - "body": "@livewireScripts", - "description": "Livewire Scripts directive" - }, - "livewire-component": { - "prefix": "livewire:component", - "body": "@livewire('${1:component}', ['${2:user}' => \\$${3:user}]${4:, key(\\$$3->id)})", - "description": "Livewire nesting components" - } -} diff --git a/my-snippets/laravel-blade/snippets/snippets.json b/my-snippets/laravel-blade/snippets/snippets.json deleted file mode 100644 index 7ade1b8..0000000 --- a/my-snippets/laravel-blade/snippets/snippets.json +++ /dev/null @@ -1,460 +0,0 @@ -{ - /* Extending a layout */ - "Extend layout": { - "prefix": "b:extends", - "body": "@extends('${1:name}')", - "description": "extends view layout" - }, - "Yield content": { - "prefix": "b:yield", - "body": "@yield('${1:name}')", - "description": "yield content section" - }, - "Content Section": { - "prefix": "b:section", - "body": [ - "@section('${1:name}')", - " $2", - "@endsection" - ], - "description": "content section" - }, - "Content Section Show": { - "prefix": "b:section-show", - "body": [ - "@section('$1')", - " $2", - "@show" - ], - "description": "content section show" - }, - /* Include sub-view */ - "Include view": { - "prefix": "b:include", - "body": "@include('${1:name}')", - "description": "include view" - }, - /* If Statements */ - "If-block": { - "prefix": "b:if", - "body": [ - "@if ($1)", - " $2", - "@endif" - ], - "description": "@if block" - }, - "If-else-block": { - "prefix": "b:if-else", - "body": [ - "@if ($1)", - " $2", - "@else", - " $3", - "@endif" - ], - "description": "if-else block" - }, - "Has Section": { - "prefix": "b:has-section", - "body": [ - "@hasSection ('${1:name}')", - " $2", - "@else", - " $3", - "@endif" - ], - "description": "@hasSection condition" - }, - "Unless-block": { - "prefix": "b:unless", - "body": [ - "@unless ($1)", - " $2", - "@endunless" - ], - "description": "@unless block" - }, - /* Loops */ - "For-block": { - "prefix": "b:for", - "body": [ - "@for (\\$i = ${1:0}; \\$i < ${2:\\$count}; \\$i++)", - " $3", - "@endfor" - ], - "description": "@for block" - }, - "Foreach-block": { - "prefix": "b:foreach", - "body": [ - "@foreach (${1:\\$collection} as ${2:\\$item})", - " $3", - "@endforeach" - ], - "description": "@foreach block" - }, - "forelse-block": { - "prefix": "b:forelse", - "body": [ - "@forelse (${1:\\$collection} as ${2:\\$item})", - " $3", - "@empty", - " $4", - "@endforelse" - ], - "description": "@forelse block" - }, - "while-block": { - "prefix": "b:while", - "body": [ - "@while ($1)", - " $2", - "@endwhile" - ], - "description": "@while block" - }, - /* Rendering views for collections */ - "each loop": { - "prefix": "b:each", - "body": "@each('${1:view.name}', ${2:\\$collection}, '${3:variable}', '${4:view.empty}')", - "description": "@each loop" - }, - /* Comments */ - "blade comment": { - "prefix": "b:comment", - "body": "{{-- ${1:comment} --}}", - "description": "comment block" - }, - /* Display Data */ - "blade echo-data": { - "prefix": "b:echo", - "body": "{{ ${1:\\$data} }}", - "description": "echo data" - }, - "blade echo-unescaped-data": { - "prefix": "b:echo-html", - "body": "{!! ${1:\\$html_data} !!}", - "description": "echo unescaped data (allow html outputs)" - }, - "blade echo-untouch": { - "prefix": "b:echo-raw", - "body": "@{{ ${1:variable} }}", - "description": "echo untouched data (allow javascript expression)" - }, - "blade verbatim": { - "prefix": "b:verbatim", - "body": [ - "@verbatim", - "{{ ${1:variable} }}", - "@endverbatim" - ], - "description": "displaying JavaScript variables in a large portion of your template" - }, - /* Stacks */ - "Push stack": { - "prefix": "b:push", - "body": [ - "@push('${1:name}')", - " $2", - "@endpush" - ], - "description": "@push stack" - }, - "Stack": { - "prefix": "b:stack", - "body": "@stack('${1:name}')", - "description": "@stack" - }, - /* Service Injection */ - "inject service": { - "prefix": "b:inject", - "body": "@inject('${1:name}', '${2:class}')", - "description": "@inject Service" - }, - /* Authorizing */ - "can": { - "prefix": "b:can", - "body": [ - "@can('${1:update}', ${2:\\$post})", - " $3", - "@endcan" - ], - "description": "display a portion of the page only if the user is authorized to perform a given action." - }, - "can-elsecan": { - "prefix": "b:can-elsecan", - "body": [ - "@can('${1:update}', ${2:\\$post})", - " $3", - "@elsecan('create', App\\Models\\\\${4:Post}::class)", - " $5", - "@endcan" - ], - "description": "display a portion of the page only if the user is authorized to perform a given action." - }, - "canany": { - "prefix": "b:canany", - "body": [ - "@canany(['update', 'view', 'delete'], ${1:\\$post})", - " $2", - "@endcanany" - ], - "description": "display a portion of the page only if the user is authorized to perform a given action." - }, - "canany-elsecanany": { - "prefix": "b:canany-elsecanany", - "body": [ - "@canany(['update', 'view', 'delete'], ${1:\\$post})", - " $2", - "@elsecanany(['create'], App\\Models\\\\${3:Post}::class)", - " $4", - "@endcanany" - ], - "description": "display a portion of the page only if the user is authorized to perform a given action." - }, - "cannot": { - "prefix": "b:cannot", - "body": [ - "@cannot('${1:update}', ${2:\\$post})", - " $3", - "@endcannot" - ], - "description": "display a portion of the page only if the user is authorized to perform a given action." - }, - "cannot-elsecannot": { - "prefix": "b:cannot-elsecannot", - "body": [ - "@cannot('${1:update}', ${2:\\$post})", - " $3", - "@elsecannot('create', App\\Models\\\\${5:Post}::class)", - " $6", - "@endcannot" - ], - "description": "display a portion of the page only if the user is authorized to perform a given action." - }, - /* v5.3 - $loop variable */ - "loop": { - "prefix": "b:loop", - "body": [ - "\\$loop->${1:first}" - ], - "description": "$loop->(index|remaining|count|first|last|depth|parent)" - }, - "loop first": { - "prefix": "b:loop-first", - "body": [ - "@if (\\$loop->first)", - " ${1:{{-- This is the first iteration --\\}\\}}", - "@endif" - ], - "description": "$loop->first" - }, - "loop last": { - "prefix": "b:loop-last", - "body": [ - "@if (\\$loop->last)", - " ${1:{{-- This is the last iteration --\\}\\}}", - "@endif" - ], - "description": "$loop->last" - }, - "php": { - "prefix": "b:php", - "body": [ - "@php", - " $1", - "@endphp" - ], - "description": "@php block code in view" - }, - "includeIf": { - "prefix": "b:includeIf", - "body": "@includeIf('${1:view.name}'${2:, ['some' => 'data']})", - "description": "include a view that may or may not be present, you should use the @includeIf directive" - }, - /* v5.4 */ - "component": { - "prefix": "b:component", - "body": [ - "@component('$1')", - " $2", - "@endcomponent" - ], - "description": "component" - }, - "slot": { - "prefix": "b:slot", - "body": [ - "@slot('$1')", - " $2", - "@endslot" - ], - "description": "slot" - }, - "isset": { - "prefix": "b:isset", - "body": [ - "@isset(${1:\\$record})", - " $2", - "@endisset" - ], - "description": "isset" - }, - "empty": { - "prefix": "b:empty", - "body": [ - "@empty(${1:\\$record})", - " $2", - "@endempty" - ], - "description": "empty" - }, - "error": { - "prefix": "b:error", - "body": [ - "@error('${1:record}')", - " $2", - "@enderror" - ], - "description": "error" - }, - "includeWhen": { - "prefix": "b:includeWhen", - "body": "@includeWhen(${1:\\$boolean}, '${2:view.name}', [${3:'some' => 'data'}])", - "description": "includeWhen" - }, - /* v5.5 */ - "auth": { - "prefix": "b:auth", - "body": [ - "@auth", - " $1", - "@endauth" - ], - "description": "auth" - }, - "guest": { - "prefix": "b:guest", - "body": [ - "@guest", - " $1", - "@endguest" - ], - "description": "guest" - }, - "switch": { - "prefix": "b:switch", - "body": [ - "@switch(${1:\\$type})", - " @case(${2:1})", - " $3", - " @break", - " @case(${4:2})", - " $5", - " @break", - " @default", - " $6", - "@endswitch" - ], - "description": "switch" - }, - "includeFirst": { - "prefix": "b:includeFirst", - "body": "@includeFirst(['${1:view.name}', '${2:variable}'], [${3:'some' => 'data'}])", - "description": "includeFirst" - }, - /* v5.6 */ - "csrf": { - "prefix": "b:csrf", - "body": "@csrf", - "description": "form csrf field" - }, - "method": { - "prefix": "b:method", - "body": "@method($1)", - "description": "form method field" - }, - "dump": { - "prefix": "b:dump", - "body": "@dump($1)", - "description": "dump" - }, - /* Retrieving Translation Strings */ - "lang": { - "prefix": "b:lang", - "body": "@lang('${1:messages.welcome}')", - "description": "lang" - }, - /* v6.x */ - "includeUnless": { - "prefix": "b:includeUnless", - "body": "@includeUnless(${1:\\$boolean}, '${2:view.name}', [${3:'some' => 'data'}])", - "description": "includeUnless" - }, - /* v7.x */ - "props": { - "prefix": "b:props", - "body": "@props(['${1:propName}'])", - "description": "Blade component data properties" - }, - "env": { - "prefix": "b:env", - "body": [ - "@env('${1:staging}')", - " $2", - "@endenv" - ], - "description": "env" - }, - "production": { - "prefix": "b:production", - "body": [ - "@production", - " $1", - "@endproduction" - ], - "description": "production" - }, - "once": { - "prefix": "b:once", - "body": [ - "@once", - " $1", - "@endonce" - ], - "description": "define a portion of template that will only be evaluated once per rendering cycle" - }, - /* v8.x */ - "aware": { - "prefix": "b:aware", - "body": "@aware(['${1:propName}'])", - "description": "Accessing data from a parent component (Laravel 8.64)" - }, - "js": { - "prefix": "b:js", - "body": "@js(${1:\\$data})", - "description": "This directive is useful to properly escape JSON within HTML quotes" - }, - "class": { - "prefix": "b:class", - "body": "@class(['${1:p-4}', ${2:'font-bold' => true}])", - "description": "conditionally compiles a CSS class string. (Laravel 8.51)" - }, - /* v9.x */ - "checked": { - "prefix": "b:checked", - "body": "@checked(${1:true})", - "description": "This directive will echo checked if the provided condition evaluates to true (Laravel 9.x)" - }, - "selected": { - "prefix": "b:selected", - "body": "@selected(${1:true})", - "description": "The @selected directive may be used to indicate if a given select option should be \"selected\" (Laravel 9.x)" - }, - "disabled": { - "prefix": "b:disabled", - "body": "@disabled(${1:true})", - "description": "The @disabled directive may be used to indicate if a given element should be \"disabled\" (Laravel 9.x)" - } -} diff --git a/my-snippets/laravel-blade/src/extension.ts b/my-snippets/laravel-blade/src/extension.ts deleted file mode 100644 index 908c5dd..0000000 --- a/my-snippets/laravel-blade/src/extension.ts +++ /dev/null @@ -1,87 +0,0 @@ -import * as path from 'path'; -import * as vscode from 'vscode'; -import * as html from 'vscode-html-languageservice'; -import * as lst from 'vscode-languageserver-types'; -import * as nls from 'vscode-nls'; -import { BladeFormattingEditProvider } from './providers/BladeFormattingEditProvider'; -import { LanguageClient, LanguageClientOptions, ServerOptions, TransportKind, RequestType, TextDocumentPositionParams } from 'vscode-languageclient'; - -const service = html.getLanguageService() -const localize = nls.loadMessageBundle(); - -class DocumentHighlight implements vscode.DocumentHighlightProvider -{ - provideDocumentHighlights(document: vscode.TextDocument, position: vscode.Position, token: vscode.CancellationToken): vscode.DocumentHighlight[] | Thenable { - let doc = lst.TextDocument.create(document.uri.fsPath, 'html', 1, document.getText()); - return (service.findDocumentHighlights(doc, position, service.parseHTMLDocument(doc)) as any); - } -} // DocumentHighlight - -export function activate(context: vscode.ExtensionContext) { - - let documentSelector: vscode.DocumentSelector = { - language: 'blade' - }; - - context.subscriptions.push(vscode.languages.registerDocumentHighlightProvider(documentSelector, new DocumentHighlight)); - - let bladeFormatCfg = vscode.workspace.getConfiguration('blade.format'); - if (bladeFormatCfg.get('enable')) { - context.subscriptions.push(vscode.languages.registerDocumentFormattingEditProvider(documentSelector, new BladeFormattingEditProvider)); - context.subscriptions.push(vscode.languages.registerDocumentRangeFormattingEditProvider(documentSelector, new BladeFormattingEditProvider)); - } - - // Set html indent - const EMPTY_ELEMENTS: string[] = ['area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'keygen', 'link', 'menuitem', 'meta', 'param', 'source', 'track', 'wbr']; - vscode.languages.setLanguageConfiguration('blade', { - indentationRules: { - increaseIndentPattern: /<(?!\?|(?:area|base|br|col|frame|hr|html|img|input|link|meta|param)\b|[^>]*\/>)([-_\.A-Za-z0-9]+)(?=\s|>)\b[^>]*>(?!.*<\/\1>)|)|\{[^}"']*$/, - decreaseIndentPattern: /^\s*(<\/(?!html)[-_\.A-Za-z0-9]+\b[^>]*>|-->|\})/ - }, - wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g, - onEnterRules: [ - { - beforeText: new RegExp(`<(?!(?:${EMPTY_ELEMENTS.join('|')}))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`, 'i'), - afterText: /^<\/([_:\w][_:\w-.\d]*)\s*>$/i, - action: { indentAction: vscode.IndentAction.IndentOutdent } - }, - { - beforeText: new RegExp(`<(?!(?:${EMPTY_ELEMENTS.join('|')}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`, 'i'), - action: { indentAction: vscode.IndentAction.Indent } - } - ], - }); - - // The server is implemented in node - let serverModule = context.asAbsolutePath(path.join('server', 'out', 'htmlServerMain.js')); - // The debug options for the server - let debugOptions = { execArgv: ['--nolazy', '--inspect=6045'] }; - - // If the extension is launch in debug mode the debug server options are use - // Otherwise the run options are used - let serverOptions: ServerOptions = { - run: { module: serverModule, transport: TransportKind.ipc }, - debug: { module: serverModule, transport: TransportKind.ipc, options: debugOptions } - }; - - let embeddedLanguages = { css: true, javascript: true }; - // Options to control the language client - let clientOptions: LanguageClientOptions = { - documentSelector: ['blade'], - synchronize: { - configurationSection: ['blade', 'css', 'javascript', 'emmet'], // the settings to synchronize - }, - initializationOptions: { - embeddedLanguages - } - }; - - // Create the language client and start the client. - let client = new LanguageClient('blade', localize('bladeserver.name', 'BLADE Language Server'), serverOptions, clientOptions); - client.registerProposedFeatures(); - context.subscriptions.push(client.start()); -} - -export function deactivate() { - -} diff --git a/my-snippets/laravel-blade/src/providers/BladeFormattingEditProvider.ts b/my-snippets/laravel-blade/src/providers/BladeFormattingEditProvider.ts deleted file mode 100644 index 58744fc..0000000 --- a/my-snippets/laravel-blade/src/providers/BladeFormattingEditProvider.ts +++ /dev/null @@ -1,42 +0,0 @@ -import * as vscode from 'vscode'; -import * as html from 'vscode-html-languageservice'; -import * as lst from 'vscode-languageserver-types'; -import { BladeFormatter, IBladeFormatterOptions } from "../services/BladeFormatter"; - -const service = html.getLanguageService() - -export class BladeFormattingEditProvider implements vscode.DocumentFormattingEditProvider, vscode.DocumentRangeFormattingEditProvider -{ - formatterOptions: IBladeFormatterOptions; - - provideDocumentFormattingEdits(document: vscode.TextDocument, options: vscode.FormattingOptions): vscode.TextEdit[] { - let range = new vscode.Range(new vscode.Position(0, 0), new vscode.Position((document.lineCount - 1), Number.MAX_VALUE)); - return this.provideFormattingEdits(document, document.validateRange(range), options); - } - - provideDocumentRangeFormattingEdits(document: vscode.TextDocument, range: vscode.Range, options: vscode.FormattingOptions): vscode.TextEdit[] { - return this.provideFormattingEdits(document, range, options); - } - - private provideFormattingEdits(document: vscode.TextDocument, range: vscode.Range, options: vscode.FormattingOptions): vscode.TextEdit[] { - - this.formatterOptions = { - tabSize: options.tabSize, - insertSpaces: options.insertSpaces - }; - - // Mapping HTML format options - let htmlFormatConfig = vscode.workspace.getConfiguration('html.format'); - Object.assign(options, htmlFormatConfig); - - // format as html - let doc = lst.TextDocument.create(document.uri.fsPath, 'html', 1, document.getText()); - let htmlTextEdit = service.format(doc, range, options); - - // format as blade - let formatter = new BladeFormatter(this.formatterOptions); - let bladeText = formatter.format(htmlTextEdit[0].newText); - - return [vscode.TextEdit.replace(range, bladeText)]; - } -} diff --git a/my-snippets/laravel-blade/src/services/BladeFormatter.ts b/my-snippets/laravel-blade/src/services/BladeFormatter.ts deleted file mode 100644 index 4497a60..0000000 --- a/my-snippets/laravel-blade/src/services/BladeFormatter.ts +++ /dev/null @@ -1,34 +0,0 @@ -export class BladeFormatter -{ - newLine: string = "\n"; - indentPattern: string; - - constructor(options?: IBladeFormatterOptions) { - options = options || {}; - - // options default value - options.tabSize = options.tabSize || 4; - if (typeof options.insertSpaces === "undefined") { - options.insertSpaces = true; - } - - this.indentPattern = (options.insertSpaces) ? " ".repeat(options.tabSize) : "\t"; - } - - format(inuptText: string): string { - - let inComment: boolean = false; - let output: string = inuptText; - - // fix #57 url extra space after formatting - output = output.replace(/url\(\"(\s*)/g, "url\(\""); - - return output.trim(); - } -} - -export interface IBladeFormatterOptions -{ - insertSpaces?: boolean; - tabSize?: number; -} diff --git a/my-snippets/laravel-blade/syntaxes/blade.tmLanguage.json b/my-snippets/laravel-blade/syntaxes/blade.tmLanguage.json deleted file mode 100644 index 3f8bc2b..0000000 --- a/my-snippets/laravel-blade/syntaxes/blade.tmLanguage.json +++ /dev/null @@ -1,3902 +0,0 @@ -{ - "scopeName": "text.html.php.blade", - "name": "Blade", - "fileTypes": ["blade.php"], - "foldingStartMarker": "(/\\*|\\{\\s*$|<<))", - "beginCaptures": { - "0": { - "name": "punctuation.whitespace.embedded.leading.php" - } - }, - "end": "(?!\\G)(\\s*$\\n)?", - "endCaptures": { - "0": { - "name": "punctuation.whitespace.embedded.trailing.php" - } - }, - "patterns": [ - { - "begin": "<\\?(?i:php|=)?", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - } - }, - "contentName": "source.php", - "end": "(\\?)>", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "source.php" - } - }, - "name": "meta.embedded.block.php", - "patterns": [ - { - "include": "#language" - } - ] - } - ] - }, - { - "begin": "<\\?(?i:php|=)?(?![^?]*\\?>)", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - } - }, - "contentName": "source.php", - "end": "(\\?)>", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "source.php" - } - }, - "name": "meta.embedded.block.php", - "patterns": [ - { - "include": "#language" - } - ] - }, - { - "begin": "<\\?(?i:php|=)?", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - } - }, - "end": ">", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - } - }, - "name": "meta.embedded.line.php", - "patterns": [ - { - "captures": { - "1": { - "name": "source.php" - }, - "2": { - "name": "punctuation.section.embedded.end.php" - }, - "3": { - "name": "source.php" - } - }, - "match": "\\G(\\s*)((\\?))(?=>)", - "name": "meta.special.empty-tag.php" - }, - { - "begin": "\\G", - "contentName": "source.php", - "end": "(\\?)(?=>)", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "source.php" - } - }, - "patterns": [ - { - "include": "#language" - } - ] - } - ] - } - ] - } - }, - "patterns": [ - { - "include": "text.html.basic" - } - ], - "repository": { - "blade": { - "patterns": [ - { - "begin": "{{--", - "beginCaptures": { - "0": { - "name": "punctuation.definition.comment.begin.blade" - } - }, - "end": "--}}", - "endCaptures": { - "0": { - "name": "punctuation.definition.comment.end.blade" - } - }, - "name": "comment.block.blade", - "patterns": [ - { - "name": "invalid.illegal.php-code-in-comment.blade", - "begin": "(^\\s*)(?=<\\?(?![^?]*\\?>))", - "beginCaptures": { - "0": { - "name": "punctuation.whitespace.embedded.leading.php" - } - }, - "end": "(?!\\G)(\\s*$\\n)?", - "endCaptures": { - "0": { - "name": "punctuation.whitespace.embedded.trailing.php" - } - }, - "patterns": [ - { - "begin": "<\\?(?i:php|=)?", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - } - }, - "contentName": "source.php", - "end": "(\\?)>", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "source.php" - } - }, - "name": "meta.embedded.block.php", - "patterns": [ - { - "include": "#language" - } - ] - } - ] - }, - { - "begin": "<\\?(?i:php|=)?(?![^?]*\\?>)", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - } - }, - "contentName": "source.php", - "end": "(\\?)>", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "source.php" - } - }, - "name": "invalid.illegal.php-code-in-comment.blade.meta.embedded.block.php", - "patterns": [ - { - "include": "#language" - } - ] - }, - { - "begin": "<\\?(?i:php|=)?", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - } - }, - "end": ">", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - } - }, - "name": "invalid.illegal.php-code-in-comment.blade.meta.embedded.line.php", - "patterns": [ - { - "captures": { - "1": { - "name": "source.php" - }, - "2": { - "name": "punctuation.section.embedded.end.php" - }, - "3": { - "name": "source.php" - } - }, - "match": "\\G(\\s*)((\\?))(?=>)", - "name": "meta.special.empty-tag.php" - }, - { - "begin": "\\G", - "contentName": "source.php", - "end": "(\\?)(?=>)", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "source.php" - } - }, - "patterns": [ - { - "include": "#language" - } - ] - } - ] - } - ] - }, - { - "begin": "(?)", - "name": "comment.line.double-slash.php" - } - ] - }, - { - "begin": "(^\\s+)?(?=#)", - "beginCaptures": { - "1": { - "name": "punctuation.whitespace.comment.leading.php" - } - }, - "end": "(?!\\G)", - "patterns": [ - { - "begin": "#", - "beginCaptures": { - "0": { - "name": "punctuation.definition.comment.php" - } - }, - "end": "\\n|(?=\\?>)", - "name": "comment.line.number-sign.php" - } - ] - } - ] - }, - "constants": { - "patterns": [ - { - "match": "(?i)\\b(TRUE|FALSE|NULL|__(FILE|DIR|FUNCTION|CLASS|METHOD|LINE|NAMESPACE)__|ON|OFF|YES|NO|NL|BR|TAB)\\b", - "name": "constant.language.php" - }, - { - "match": "(?x)\n(\\\\)?\\b\n(DEFAULT_INCLUDE_PATH\n|EAR_(INSTALL|EXTENSION)_DIR\n|E_(ALL|COMPILE_(ERROR|WARNING)|CORE_(ERROR|WARNING)|DEPRECATED|ERROR|NOTICE\n |PARSE|RECOVERABLE_ERROR|STRICT|USER_(DEPRECATED|ERROR|NOTICE|WARNING)|WARNING)\n|PHP_(ROUND_HALF_(DOWN|EVEN|ODD|UP)|(MAJOR|MINOR|RELEASE)_VERSION|MAXPATHLEN\n |BINDIR|SHLIB_SUFFIX|SYSCONFDIR|SAPI|CONFIG_FILE_(PATH|SCAN_DIR)\n |INT_(MAX|SIZE)|ZTS|OS|OUTPUT_HANDLER_(START|CONT|END)|DEBUG|DATADIR\n |URL_(SCHEME|HOST|USER|PORT|PASS|PATH|QUERY|FRAGMENT)|PREFIX\n |EXTRA_VERSION|EXTENSION_DIR|EOL|VERSION(_ID)?\n |WINDOWS_(NT_(SERVER|DOMAIN_CONTROLLER|WORKSTATION)\n |VERSION_(MAJOR|MINOR)|BUILD|SUITEMASK|SP_(MAJOR|MINOR)\n |PRODUCTTYPE|PLATFORM)\n |LIBDIR|LOCALSTATEDIR)\n|STD(ERR|IN|OUT)|ZEND_(DEBUG_BUILD|THREAD_SAFE))\n\\b", - "name": "support.constant.core.php", - "captures": { - "1": { - "name": "punctuation.separator.inheritance.php" - } - } - }, - { - "match": "(?x)\n(\\\\)?\\b\n(__COMPILER_HALT_OFFSET__|AB(MON_(1|2|3|4|5|6|7|8|9|10|11|12)|DAY[1-7])\n|AM_STR|ASSERT_(ACTIVE|BAIL|CALLBACK_QUIET_EVAL|WARNING)|ALT_DIGITS\n|CASE_(UPPER|LOWER)|CHAR_MAX|CONNECTION_(ABORTED|NORMAL|TIMEOUT)|CODESET|COUNT_(NORMAL|RECURSIVE)\n|CREDITS_(ALL|DOCS|FULLPAGE|GENERAL|GROUP|MODULES|QA|SAPI)\n|CRYPT_(BLOWFISH|EXT_DES|MD5|SHA(256|512)|SALT_LENGTH|STD_DES)|CURRENCY_SYMBOL\n|D_(T_)?FMT|DATE_(ATOM|COOKIE|ISO8601|RFC(822|850|1036|1123|2822|3339)|RSS|W3C)\n|DAY_[1-7]|DECIMAL_POINT|DIRECTORY_SEPARATOR\n|ENT_(COMPAT|IGNORE|(NO)?QUOTES)|EXTR_(IF_EXISTS|OVERWRITE|PREFIX_(ALL|IF_EXISTS|INVALID|SAME)|REFS|SKIP)\n|ERA(_(D_(T_)?FMT)|T_FMT|YEAR)?|FRAC_DIGITS|GROUPING|HASH_HMAC|HTML_(ENTITIES|SPECIALCHARS)\n|INF|INFO_(ALL|CREDITS|CONFIGURATION|ENVIRONMENT|GENERAL|LICENSEMODULES|VARIABLES)\n|INI_(ALL|CANNER_(NORMAL|RAW)|PERDIR|SYSTEM|USER)|INT_(CURR_SYMBOL|FRAC_DIGITS)\n|LC_(ALL|COLLATE|CTYPE|MESSAGES|MONETARY|NUMERIC|TIME)|LOCK_(EX|NB|SH|UN)\n|LOG_(ALERT|AUTH(PRIV)?|CRIT|CRON|CONS|DAEMON|DEBUG|EMERG|ERR|INFO|LOCAL[1-7]|LPR|KERN|MAIL\n |NEWS|NODELAY|NOTICE|NOWAIT|ODELAY|PID|PERROR|WARNING|SYSLOG|UCP|USER)\n|M_(1_PI|SQRT(1_2|2|3|PI)|2_(SQRT)?PI|PI(_(2|4))?|E(ULER)?|LN(10|2|PI)|LOG(10|2)E)\n|MON_(1|2|3|4|5|6|7|8|9|10|11|12|DECIMAL_POINT|GROUPING|THOUSANDS_SEP)\n|N_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN)|NAN|NEGATIVE_SIGN|NO(EXPR|STR)\n|P_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN)|PM_STR|POSITIVE_SIGN\n|PATH(_SEPARATOR|INFO_(EXTENSION|(BASE|DIR|FILE)NAME))|RADIXCHAR\n|SEEK_(CUR|END|SET)|SORT_(ASC|DESC|LOCALE_STRING|REGULAR|STRING)|STR_PAD_(BOTH|LEFT|RIGHT)\n|T_FMT(_AMPM)?|THOUSEP|THOUSANDS_SEP\n|UPLOAD_ERR_(CANT_WRITE|EXTENSION|(FORM|INI)_SIZE|NO_(FILE|TMP_DIR)|OK|PARTIAL)\n|YES(EXPR|STR))\n\\b", - "name": "support.constant.std.php", - "captures": { - "1": { - "name": "punctuation.separator.inheritance.php" - } - } - }, - { - "match": "(?x)\n(\\\\)?\\b\n(GLOB_(MARK|BRACE|NO(SORT|CHECK|ESCAPE)|ONLYDIR|ERR|AVAILABLE_FLAGS)\n|XML_(SAX_IMPL|(DTD|DOCUMENT(_(FRAG|TYPE))?|HTML_DOCUMENT|NOTATION|NAMESPACE_DECL|PI|COMMENT|DATA_SECTION|TEXT)_NODE\n |OPTION_(SKIP_(TAGSTART|WHITE)|CASE_FOLDING|TARGET_ENCODING)\n |ERROR_((BAD_CHAR|(ATTRIBUTE_EXTERNAL|BINARY|PARAM|RECURSIVE)_ENTITY)_REF|MISPLACED_XML_PI|SYNTAX|NONE\n |NO_(MEMORY|ELEMENTS)|TAG_MISMATCH|INCORRECT_ENCODING|INVALID_TOKEN|DUPLICATE_ATTRIBUTE\n |UNCLOSED_(CDATA_SECTION|TOKEN)|UNDEFINED_ENTITY|UNKNOWN_ENCODING|JUNK_AFTER_DOC_ELEMENT\n |PARTIAL_CHAR|EXTERNAL_ENTITY_HANDLING|ASYNC_ENTITY)\n |ENTITY_(((REF|DECL)_)?NODE)|ELEMENT(_DECL)?_NODE|LOCAL_NAMESPACE|ATTRIBUTE_(NMTOKEN(S)?|NOTATION|NODE)\n |CDATA|ID(REF(S)?)?|DECL_NODE|ENTITY|ENUMERATION)\n|MHASH_(RIPEMD(128|160|256|320)|GOST|MD(2|4|5)|SHA(1|224|256|384|512)|SNEFRU256|HAVAL(128|160|192|224|256)\n |CRC23(B)?|TIGER(128|160)?|WHIRLPOOL|ADLER32)\n|MYSQL_(BOTH|NUM|CLIENT_(SSL|COMPRESS|IGNORE_SPACE|INTERACTIVE|ASSOC))\n|MYSQLI_(REPORT_(STRICT|INDEX|OFF|ERROR|ALL)|REFRESH_(GRANT|MASTER|BACKUP_LOG|STATUS|SLAVE|HOSTS|THREADS|TABLES|LOG)\n |READ_DEFAULT_(FILE|GROUP)|(GROUP|MULTIPLE_KEY|BINARY|BLOB)_FLAG|BOTH\n |STMT_ATTR_(CURSOR_TYPE|UPDATE_MAX_LENGTH|PREFETCH_ROWS)|STORE_RESULT\n |SERVER_QUERY_(NO_((GOOD_)?INDEX_USED)|WAS_SLOW)|SET_(CHARSET_NAME|FLAG)\n |NO_(DEFAULT_VALUE_FLAG|DATA)|NOT_NULL_FLAG|NUM(_FLAG)?\n |CURSOR_TYPE_(READ_ONLY|SCROLLABLE|NO_CURSOR|FOR_UPDATE)\n |CLIENT_(SSL|NO_SCHEMA|COMPRESS|IGNORE_SPACE|INTERACTIVE|FOUND_ROWS)\n |TYPE_(GEOMETRY|((MEDIUM|LONG|TINY)_)?BLOB|BIT|SHORT|STRING|SET|YEAR|NULL|NEWDECIMAL|NEWDATE|CHAR\n |TIME(STAMP)?|TINY|INT24|INTERVAL|DOUBLE|DECIMAL|DATE(TIME)?|ENUM|VAR_STRING|FLOAT|LONG(LONG)?)\n |TIME_STAMP_FLAG|INIT_COMMAND|ZEROFILL_FLAG|ON_UPDATE_NOW_FLAG\n |OPT_(NET_((CMD|READ)_BUFFER_SIZE)|CONNECT_TIMEOUT|INT_AND_FLOAT_NATIVE|LOCAL_INFILE)\n |DEBUG_TRACE_ENABLED|DATA_TRUNCATED|USE_RESULT|(ENUM|(PART|PRI|UNIQUE)_KEY|UNSIGNED)_FLAG\n |ASSOC|ASYNC|AUTO_INCREMENT_FLAG)\n|MCRYPT_(RC(2|6)|RIJNDAEL_(128|192|256)|RAND|GOST|XTEA|MODE_(STREAM|NOFB|CBC|CFB|OFB|ECB)|MARS\n |BLOWFISH(_COMPAT)?|SERPENT|SKIPJACK|SAFER(64|128|PLUS)|CRYPT|CAST_(128|256)|TRIPLEDES|THREEWAY\n |TWOFISH|IDEA|(3)?DES|DECRYPT|DEV_(U)?RANDOM|PANAMA|ENCRYPT|ENIGNA|WAKE|LOKI97|ARCFOUR(_IV)?)\n|STREAM_(REPORT_ERRORS|MUST_SEEK|MKDIR_RECURSIVE|BUFFER_(NONE|FULL|LINE)|SHUT_(RD)?WR\n |SOCK_(RDM|RAW|STREAM|SEQPACKET|DGRAM)|SERVER_(BIND|LISTEN)\n |NOTIFY_(REDIRECTED|RESOLVE|MIME_TYPE_IS|SEVERITY_(INFO|ERR|WARN)|COMPLETED|CONNECT|PROGRESS\n |FILE_SIZE_IS|FAILURE|AUTH_(REQUIRED|RESULT))\n |CRYPTO_METHOD_((SSLv2(3)?|SSLv3|TLS)_(CLIENT|SERVER))|CLIENT_((ASYNC_)?CONNECT|PERSISTENT)\n |CAST_(AS_STREAM|FOR_SELECT)|(IGNORE|IS)_URL|IPPROTO_(RAW|TCP|ICMP|IP|UDP)|OOB\n |OPTION_(READ_(BUFFER|TIMEOUT)|BLOCKING|WRITE_BUFFER)|URL_STAT_(LINK|QUIET)|USE_PATH\n |PEEK|PF_(INET(6)?|UNIX)|ENFORCE_SAFE_MODE|FILTER_(ALL|READ|WRITE))\n|SUNFUNCS_RET_(DOUBLE|STRING|TIMESTAMP)\n|SQLITE_(READONLY|ROW|MISMATCH|MISUSE|BOTH|BUSY|SCHEMA|NOMEM|NOTFOUND|NOTADB|NOLFS|NUM|CORRUPT\n |CONSTRAINT|CANTOPEN|TOOBIG|INTERRUPT|INTERNAL|IOERR|OK|DONE|PROTOCOL|PERM|ERROR|EMPTY\n |FORMAT|FULL|LOCKED|ABORT|ASSOC|AUTH)\n|SQLITE3_(BOTH|BLOB|NUM|NULL|TEXT|INTEGER|OPEN_(READ(ONLY|WRITE)|CREATE)|FLOAT_ASSOC)\n|CURL(M_(BAD_((EASY)?HANDLE)|CALL_MULTI_PERFORM|INTERNAL_ERROR|OUT_OF_MEMORY|OK)\n |MSG_DONE|SSH_AUTH_(HOST|NONE|DEFAULT|PUBLICKEY|PASSWORD|KEYBOARD)\n |CLOSEPOLICY_(SLOWEST|CALLBACK|OLDEST|LEAST_(RECENTLY_USED|TRAFFIC)\n |INFO_(REDIRECT_(COUNT|TIME)|REQUEST_SIZE|SSL_VERIFYRESULT|STARTTRANSFER_TIME\n |(SIZE|SPEED)_(DOWNLOAD|UPLOAD)|HTTP_CODE|HEADER_(OUT|SIZE)|NAMELOOKUP_TIME\n |CONNECT_TIME|CONTENT_(TYPE|LENGTH_(DOWNLOAD|UPLOAD))|CERTINFO|TOTAL_TIME\n |PRIVATE|PRETRANSFER_TIME|EFFECTIVE_URL|FILETIME)\n |OPT_(RESUME_FROM|RETURNTRANSFER|REDIR_PROTOCOLS|REFERER|READ(DATA|FUNCTION)|RANGE|RANDOM_FILE\n |MAX(CONNECTS|REDIRS)|BINARYTRANSFER|BUFFERSIZE\n |SSH_(HOST_PUBLIC_KEY_MD5|(PRIVATE|PUBLIC)_KEYFILE)|AUTH_TYPES)\n |SSL(CERT(TYPE|PASSWD)?|ENGINE(_DEFAULT)?|VERSION|KEY(TYPE|PASSWD)?)\n |SSL_(CIPHER_LIST|VERIFY(HOST|PEER))\n |STDERR|HTTP(GET|HEADER|200ALIASES|_VERSION|PROXYTUNNEL|AUTH)\n |HEADER(FUNCTION)?|NO(BODY|SIGNAL|PROGRESS)|NETRC|CRLF|CONNECTTIMEOUT(_MS)?\n |COOKIE(SESSION|JAR|FILE)?|CUSTOMREQUEST|CERTINFO|CLOSEPOLICY|CA(INFO|PATH)|TRANSFERTEXT\n |TCP_NODELAY|TIME(CONDITION|OUT(_MS)?|VALUE)|INTERFACE|INFILE(SIZE)?|IPRESOLVE\n |DNS_(CACHE_TIMEOUT|USE_GLOBAL_CACHE)|URL|USER(AGENT|PWD)|UNRESTRICTED_AUTH|UPLOAD\n |PRIVATE|PROGRESSFUNCTION|PROXY(TYPE|USERPWD|PORT|AUTH)?|PROTOCOLS|PORT\n |POST(REDIR|QUOTE|FIELDS)?|PUT|EGDSOCKET|ENCODING|VERBOSE|KRB4LEVEL|KEYPASSWD|QUOTE|FRESH_CONNECT\n |FTP(APPEND|LISTONLY|PORT|SSLAUTH)\n |FTP_(SSL|SKIP_PASV_IP|CREATE_MISSING_DIRS|USE_EP(RT|SV)|FILEMETHOD)\n |FILE(TIME)?|FORBID_REUSE|FOLLOWLOCATION|FAILONERROR|WRITE(FUNCTION|HEADER)|LOW_SPEED_(LIMIT|TIME)\n |AUTOREFERER)\n |PROXY_(HTTP|SOCKS(4|5))|PROTO_(SCP|SFTP|HTTP(S)?|TELNET|TFTP|DICT|FTP(S)?|FILE|LDAP(S)?|ALL)\n |E_((RECV|READ)_ERROR|GOT_NOTHING|MALFORMAT_USER\n |BAD_(CONTENT_ENCODING|CALLING_ORDER|PASSWORD_ENTERED|FUNCTION_ARGUMENT)\n |SSH|SSL_(CIPHER|CONNECT_ERROR|CERTPROBLEM|CACERT|PEER_CERTIFICATE|ENGINE_(NOTFOUND|SETFAILED))\n |SHARE_IN_USE|SEND_ERROR|HTTP_(RANGE_ERROR|NOT_FOUND|PORT_FAILED|POST_ERROR)\n |COULDNT_(RESOLVE_(HOST|PROXY)|CONNECT)|TOO_MANY_REDIRECTS|TELNET_OPTION_SYNTAX|OBSOLETE\n |OUT_OF_MEMORY|OPERATION|TIMEOUTED|OK|URL_MALFORMAT(_USER)?|UNSUPPORTED_PROTOCOL\n |UNKNOWN_TELNET_OPTION|PARTIAL_FILE\n |FTP_(BAD_DOWNLOAD_RESUME|SSL_FAILED|COULDNT_(RETR_FILE|GET_SIZE|STOR_FILE|SET_(BINARY|ASCII)|USE_REST)\n |CANT_(GET_HOST|RECONNECT)|USER_PASSWORD_INCORRECT|PORT_FAILED|QUOTE_ERROR|WRITE_ERROR\n |WEIRD_((PASS|PASV|SERVER|USER)_REPLY|227_FORMAT)|ACCESS_DENIED)\n |FILESIZE_EXCEEDED|FILE_COULDNT_READ_FILE|FUNCTION_NOT_FOUND|FAILED_INIT|WRITE_ERROR|LIBRARY_NOT_FOUND\n |LDAP_(SEARCH_FAILED|CANNOT_BIND|INVALID_URL)|ABORTED_BY_CALLBACK)\n |VERSION_NOW\n |FTP(METHOD_(MULTI|SINGLE|NO)CWD|SSL_(ALL|NONE|CONTROL|TRY)|AUTH_(DEFAULT|SSL|TLS))\n |AUTH_(ANY(SAFE)?|BASIC|DIGEST|GSSNEGOTIATE|NTLM))\n|CURL_(HTTP_VERSION_(1_(0|1)|NONE)|NETRC_(REQUIRED|IGNORED|OPTIONAL)|TIMECOND_(IF(UN)?MODSINCE|LASTMOD)\n |IPRESOLVE_(V(4|6)|WHATEVER)|VERSION_(SSL|IPV6|KERBEROS4|LIBZ))\n|IMAGETYPE_(GIF|XBM|BMP|SWF|COUNT|TIFF_(MM|II)|ICO|IFF|UNKNOWN|JB2|JPX|JP2|JPC|JPEG(2000)?|PSD|PNG|WBMP)\n|INPUT_(REQUEST|GET|SERVER|SESSION|COOKIE|POST|ENV)|ICONV_(MIME_DECODE_(STRICT|CONTINUE_ON_ERROR)|IMPL|VERSION)\n|DNS_(MX|SRV|SOA|HINFO|NS|NAPTR|CNAME|TXT|PTR|ANY|ALL|AAAA|A(6)?)\n|DOM(STRING_SIZE_ERR)\n|DOM_((SYNTAX|HIERARCHY_REQUEST|NO_(MODIFICATION_ALLOWED|DATA_ALLOWED)|NOT_(FOUND|SUPPORTED)|NAMESPACE\n |INDEX_SIZE|USE_ATTRIBUTE|VALID_(MODIFICATION|STATE|CHARACTER|ACCESS)|PHP|VALIDATION|WRONG_DOCUMENT)_ERR)\n|JSON_(HEX_(TAG|QUOT|AMP|APOS)|NUMERIC_CHECK|ERROR_(SYNTAX|STATE_MISMATCH|NONE|CTRL_CHAR|DEPTH|UTF8)|FORCE_OBJECT)\n|PREG_((D_UTF8(_OFFSET)?|NO|INTERNAL|(BACKTRACK|RECURSION)_LIMIT)_ERROR|GREP_INVERT\n |SPLIT_(NO_EMPTY|(DELIM|OFFSET)_CAPTURE)|SET_ORDER|OFFSET_CAPTURE|PATTERN_ORDER)\n|PSFS_(PASS_ON|ERR_FATAL|FEED_ME|FLAG_(NORMAL|FLUSH_(CLOSE|INC)))\n|PCRE_VERSION|POSIX_((F|R|W|X)_OK|S_IF(REG|BLK|SOCK|CHR|IFO))\n|FNM_(NOESCAPE|CASEFOLD|PERIOD|PATHNAME)\n|FILTER_(REQUIRE_(SCALAR|ARRAY)|NULL_ON_FAILURE|CALLBACK|DEFAULT|UNSAFE_RAW\n |SANITIZE_(MAGIC_QUOTES|STRING|STRIPPED|SPECIAL_CHARS|NUMBER_(INT|FLOAT)|URL\n |EMAIL|ENCODED|FULL_SPCIAL_CHARS)\n |VALIDATE_(REGEXP|BOOLEAN|INT|IP|URL|EMAIL|FLOAT)\n |FORCE_ARRAY\n |FLAG_(SCHEME_REQUIRED|STRIP_(BACKTICK|HIGH|LOW)|HOST_REQUIRED|NONE|NO_(RES|PRIV)_RANGE|ENCODE_QUOTES\n |IPV(4|6)|PATH_REQUIRED|EMPTY_STRING_NULL|ENCODE_(HIGH|LOW|AMP)|QUERY_REQUIRED\n |ALLOW_(SCIENTIFIC|HEX|THOUSAND|OCTAL|FRACTION)))\n|FILE_(BINARY|SKIP_EMPTY_LINES|NO_DEFAULT_CONTEXT|TEXT|IGNORE_NEW_LINES|USE_INCLUDE_PATH|APPEND)\n|FILEINFO_(RAW|MIME(_(ENCODING|TYPE))?|SYMLINK|NONE|CONTINUE|DEVICES|PRESERVE_ATIME)\n|FORCE_(DEFLATE|GZIP)\n|LIBXML_(XINCLUDE|NSCLEAN|NO(XMLDECL|BLANKS|NET|CDATA|ERROR|EMPTYTAG|ENT|WARNING)\n |COMPACT|DTD(VALID|LOAD|ATTR)|((DOTTED|LOADED)_)?VERSION|PARSEHUGE|ERR_(NONE|ERROR|FATAL|WARNING)))\n\\b", - "name": "support.constant.ext.php", - "captures": { - "1": { - "name": "punctuation.separator.inheritance.php" - } - } - }, - { - "match": "(?x)\n(\\\\)?\\b\n(T_(RETURN|REQUIRE(_ONCE)?|GOTO|GLOBAL|(MINUS|MOD|MUL|XOR)_EQUAL|METHOD_C|ML_COMMENT|BREAK\n |BOOL_CAST|BOOLEAN_(AND|OR)|BAD_CHARACTER|SR(_EQUAL)?|STRING(_CAST|VARNAME)?|START_HEREDOC|STATIC\n |SWITCH|SL(_EQUAL)?|HALT_COMPILER|NS_(C|SEPARATOR)|NUM_STRING|NEW|NAMESPACE|CHARACTER|COMMENT\n |CONSTANT(_ENCAPSED_STRING)?|CONCAT_EQUAL|CONTINUE|CURLY_OPEN|CLOSE_TAG|CLONE|CLASS(_C)?\n |CASE|CATCH|TRY|THROW|IMPLEMENTS|ISSET|IS_((GREATER|SMALLER)_OR_EQUAL|(NOT_)?(IDENTICAL|EQUAL))\n |INSTANCEOF|INCLUDE(_ONCE)?|INC|INT_CAST|INTERFACE|INLINE_HTML|IF|OR_EQUAL|OBJECT_(CAST|OPERATOR)\n |OPEN_TAG(_WITH_ECHO)?|OLD_FUNCTION|DNUMBER|DIR|DIV_EQUAL|DOC_COMMENT|DOUBLE_(ARROW|CAST|COLON)\n |DOLLAR_OPEN_CURLY_BRACES|DO|DEC|DECLARE|DEFAULT|USE|UNSET(_CAST)?|PRINT|PRIVATE|PROTECTED|PUBLIC\n |PLUS_EQUAL|PAAMAYIM_NEKUDOTAYIM|EXTENDS|EXIT|EMPTY|ENCAPSED_AND_WHITESPACE\n |END(SWITCH|IF|DECLARE|FOR(EACH)?|WHILE)|END_HEREDOC|ECHO|EVAL|ELSE(IF)?|VAR(IABLE)?|FINAL|FILE\n |FOR(EACH)?|FUNC_C|FUNCTION|WHITESPACE|WHILE|LNUMBER|LIST|LINE|LOGICAL_(AND|OR|XOR)\n |ARRAY_(CAST)?|ABSTRACT|AS|AND_EQUAL))\n\\b", - "name": "support.constant.parser-token.php", - "captures": { - "1": { - "name": "punctuation.separator.inheritance.php" - } - } - }, - { - "match": "(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*", - "name": "constant.other.php" - } - ] - }, - "function-parameters": { - "patterns": [ - { - "include": "#comments" - }, - { - "match": ",", - "name": "punctuation.separator.delimiter.php" - }, - { - "begin": "(?xi)\n(array) # Typehint\n\\s+((&)?\\s*(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Variable name with possible reference\n\\s*(=)\\s*(array)\\s*(\\() # Default value", - "beginCaptures": { - "1": { - "name": "storage.type.php" - }, - "2": { - "name": "variable.other.php" - }, - "3": { - "name": "storage.modifier.reference.php" - }, - "4": { - "name": "punctuation.definition.variable.php" - }, - "5": { - "name": "keyword.operator.assignment.php" - }, - "6": { - "name": "support.function.construct.php" - }, - "7": { - "name": "punctuation.definition.array.begin.bracket.round.php" - } - }, - "contentName": "meta.array.php", - "end": "\\)", - "endCaptures": { - "0": { - "name": "punctuation.definition.array.end.bracket.round.php" - } - }, - "name": "meta.function.parameter.array.php", - "patterns": [ - { - "include": "#comments" - }, - { - "include": "#strings" - }, - { - "include": "#numbers" - } - ] - }, - { - "match": "(?xi)\n(array|callable) # Typehint\n\\s+((&)?\\s*(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Variable name with possible reference\n(?: # Optional default value\n \\s*(=)\\s*\n (?:\n (null)\n |\n (\\[)((?>[^\\[\\]]+|\\[\\g<8>\\])*)(\\])\n |((?:\\S*?\\(\\))|(?:\\S*?))\n )\n)?\n\\s*(?=,|\\)|/[/*]|\\#|$) # A closing parentheses (end of argument list) or a comma or a comment", - "name": "meta.function.parameter.array.php", - "captures": { - "1": { - "name": "storage.type.php" - }, - "2": { - "name": "variable.other.php" - }, - "3": { - "name": "storage.modifier.reference.php" - }, - "4": { - "name": "punctuation.definition.variable.php" - }, - "5": { - "name": "keyword.operator.assignment.php" - }, - "6": { - "name": "constant.language.php" - }, - "7": { - "name": "punctuation.section.array.begin.php" - }, - "8": { - "patterns": [ - { - "include": "#parameter-default-types" - } - ] - }, - "9": { - "name": "punctuation.section.array.end.php" - }, - "10": { - "name": "invalid.illegal.non-null-typehinted.php" - } - } - }, - { - "begin": "(?xi)\n(\\\\?(?:[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*\\\\)*) # Optional namespace\n([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Typehinted class name\n\\s+((&)?\\s*(\\.\\.\\.)?(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Variable name with possible reference", - "beginCaptures": { - "1": { - "name": "support.other.namespace.php", - "patterns": [ - { - "match": "(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*", - "name": "storage.type.php" - }, - { - "match": "\\\\", - "name": "punctuation.separator.inheritance.php" - } - ] - }, - "2": { - "name": "storage.type.php" - }, - "3": { - "name": "variable.other.php" - }, - "4": { - "name": "storage.modifier.reference.php" - }, - "5": { - "name": "keyword.operator.variadic.php" - }, - "6": { - "name": "punctuation.definition.variable.php" - } - }, - "end": "(?=,|\\)|/[/*]|\\#)", - "name": "meta.function.parameter.typehinted.php", - "patterns": [ - { - "begin": "=", - "beginCaptures": { - "0": { - "name": "keyword.operator.assignment.php" - } - }, - "end": "(?=,|\\)|/[/*]|\\#)", - "patterns": [ - { - "include": "#language" - } - ] - } - ] - }, - { - "captures": { - "1": { - "name": "variable.other.php" - }, - "2": { - "name": "storage.modifier.reference.php" - }, - "3": { - "name": "keyword.operator.variadic.php" - }, - "4": { - "name": "punctuation.definition.variable.php" - } - }, - "match": "(?xi)\n((&)?\\s*(\\.\\.\\.)?(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Variable name with possible reference\n\\s*(?=,|\\)|/[/*]|\\#|$) # A closing parentheses (end of argument list) or a comma or a comment", - "name": "meta.function.parameter.no-default.php" - }, - { - "begin": "(?xi)\n((&)?\\s*(\\.\\.\\.)?(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Variable name with possible reference\n\\s*(=)\\s*\n(?:(\\[)((?>[^\\[\\]]+|\\[\\g<6>\\])*)(\\]))? # Optional default type", - "beginCaptures": { - "1": { - "name": "variable.other.php" - }, - "2": { - "name": "storage.modifier.reference.php" - }, - "3": { - "name": "keyword.operator.variadic.php" - }, - "4": { - "name": "punctuation.definition.variable.php" - }, - "5": { - "name": "keyword.operator.assignment.php" - }, - "6": { - "name": "punctuation.section.array.begin.php" - }, - "7": { - "patterns": [ - { - "include": "#parameter-default-types" - } - ] - }, - "8": { - "name": "punctuation.section.array.end.php" - } - }, - "end": "(?=,|\\)|/[/*]|\\#)", - "name": "meta.function.parameter.default.php", - "patterns": [ - { - "include": "#parameter-default-types" - } - ] - } - ] - }, - "function-call": { - "patterns": [ - { - "begin": "(?xi)\n(\n \\\\?\\b # Optional root namespace\n [a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]* # First namespace\n (?:\\\\[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)+ # Additional namespaces\n)\\s*(\\()", - "beginCaptures": { - "1": { - "patterns": [ - { - "include": "#namespace" - }, - { - "match": "(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*", - "name": "entity.name.function.php" - } - ] - }, - "2": { - "name": "punctuation.definition.arguments.begin.bracket.round.php" - } - }, - "end": "\\)|(?=\\?>)", - "endCaptures": { - "0": { - "name": "punctuation.definition.arguments.end.bracket.round.php" - } - }, - "name": "meta.function-call.php", - "patterns": [ - { - "include": "#language" - } - ] - }, - { - "begin": "(?i)(\\\\)?\\b([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s*(\\()", - "beginCaptures": { - "1": { - "patterns": [ - { - "include": "#namespace" - } - ] - }, - "2": { - "patterns": [ - { - "include": "#support" - }, - { - "match": "(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*", - "name": "entity.name.function.php" - } - ] - }, - "3": { - "name": "punctuation.definition.arguments.begin.bracket.round.php" - } - }, - "end": "\\)|(?=\\?>)", - "endCaptures": { - "0": { - "name": "punctuation.definition.arguments.end.bracket.round.php" - } - }, - "name": "meta.function-call.php", - "patterns": [ - { - "include": "#language" - } - ] - }, - { - "match": "(?i)\\b(print|echo)\\b", - "name": "support.function.construct.output.php" - } - ] - }, - "heredoc": { - "patterns": [ - { - "begin": "(?i)(?=<<<\\s*(\"?)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)(\\1)\\s*$)", - "end": "(?!\\G)", - "name": "string.unquoted.heredoc.php", - "patterns": [ - { - "include": "#heredoc_interior" - } - ] - }, - { - "begin": "(?=<<<\\s*'([a-zA-Z_]+[a-zA-Z0-9_]*)'\\s*$)", - "end": "(?!\\G)", - "name": "string.unquoted.nowdoc.php", - "patterns": [ - { - "include": "#nowdoc_interior" - } - ] - } - ] - }, - "heredoc_interior": { - "patterns": [ - { - "begin": "(<<<)\\s*(\"?)(HTML)(\\2)(\\s*)$", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - }, - "1": { - "name": "punctuation.definition.string.php" - }, - "3": { - "name": "keyword.operator.heredoc.php" - }, - "5": { - "name": "invalid.illegal.trailing-whitespace.php" - } - }, - "contentName": "text.html", - "end": "^(\\3)\\b", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "keyword.operator.heredoc.php" - } - }, - "name": "meta.embedded.html", - "patterns": [ - { - "include": "#interpolation" - }, - { - "include": "text.html.basic" - } - ] - }, - { - "begin": "(<<<)\\s*(\"?)(XML)(\\2)(\\s*)$", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - }, - "1": { - "name": "punctuation.definition.string.php" - }, - "3": { - "name": "keyword.operator.heredoc.php" - }, - "5": { - "name": "invalid.illegal.trailing-whitespace.php" - } - }, - "contentName": "text.xml", - "end": "^(\\3)\\b", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "keyword.operator.heredoc.php" - } - }, - "name": "meta.embedded.xml", - "patterns": [ - { - "include": "#interpolation" - }, - { - "include": "text.xml" - } - ] - }, - { - "begin": "(<<<)\\s*(\"?)(SQL)(\\2)(\\s*)$", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - }, - "1": { - "name": "punctuation.definition.string.php" - }, - "3": { - "name": "keyword.operator.heredoc.php" - }, - "5": { - "name": "invalid.illegal.trailing-whitespace.php" - } - }, - "contentName": "source.sql", - "end": "^(\\3)\\b", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "keyword.operator.heredoc.php" - } - }, - "name": "meta.embedded.sql", - "patterns": [ - { - "include": "#interpolation" - }, - { - "include": "source.sql" - } - ] - }, - { - "begin": "(<<<)\\s*(\"?)(JAVASCRIPT|JS)(\\2)(\\s*)$", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - }, - "1": { - "name": "punctuation.definition.string.php" - }, - "3": { - "name": "keyword.operator.heredoc.php" - }, - "5": { - "name": "invalid.illegal.trailing-whitespace.php" - } - }, - "contentName": "source.js", - "end": "^(\\3)\\b", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "keyword.operator.heredoc.php" - } - }, - "name": "meta.embedded.js", - "patterns": [ - { - "include": "#interpolation" - }, - { - "include": "source.js" - } - ] - }, - { - "begin": "(<<<)\\s*(\"?)(JSON)(\\2)(\\s*)$", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - }, - "1": { - "name": "punctuation.definition.string.php" - }, - "3": { - "name": "keyword.operator.heredoc.php" - }, - "5": { - "name": "invalid.illegal.trailing-whitespace.php" - } - }, - "contentName": "source.json", - "end": "^(\\3)\\b", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "keyword.operator.heredoc.php" - } - }, - "name": "meta.embedded.json", - "patterns": [ - { - "include": "#interpolation" - }, - { - "include": "source.json" - } - ] - }, - { - "begin": "(<<<)\\s*(\"?)(CSS)(\\2)(\\s*)$", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - }, - "1": { - "name": "punctuation.definition.string.php" - }, - "3": { - "name": "keyword.operator.heredoc.php" - }, - "5": { - "name": "invalid.illegal.trailing-whitespace.php" - } - }, - "contentName": "source.css", - "end": "^(\\3)\\b", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "keyword.operator.heredoc.php" - } - }, - "name": "meta.embedded.css", - "patterns": [ - { - "include": "#interpolation" - }, - { - "include": "source.css" - } - ] - }, - { - "begin": "(<<<)\\s*(\"?)(REGEXP?)(\\2)(\\s*)$", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - }, - "1": { - "name": "punctuation.definition.string.php" - }, - "3": { - "name": "keyword.operator.heredoc.php" - }, - "5": { - "name": "invalid.illegal.trailing-whitespace.php" - } - }, - "contentName": "string.regexp.heredoc.php", - "end": "^(\\3)\\b", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "keyword.operator.heredoc.php" - } - }, - "patterns": [ - { - "include": "#interpolation" - }, - { - "match": "(\\\\){1,2}[.$^\\[\\]{}]", - "name": "constant.character.escape.regex.php" - }, - { - "captures": { - "1": { - "name": "punctuation.definition.arbitrary-repitition.php" - }, - "3": { - "name": "punctuation.definition.arbitrary-repitition.php" - } - }, - "match": "({)\\d+(,\\d+)?(})", - "name": "string.regexp.arbitrary-repitition.php" - }, - { - "begin": "\\[(?:\\^?\\])?", - "captures": { - "0": { - "name": "punctuation.definition.character-class.php" - } - }, - "end": "\\]", - "name": "string.regexp.character-class.php", - "patterns": [ - { - "match": "\\\\[\\\\'\\[\\]]", - "name": "constant.character.escape.php" - } - ] - }, - { - "match": "[$^+*]", - "name": "keyword.operator.regexp.php" - }, - { - "begin": "(?i)(?<=^|\\s)(#)\\s(?=[[a-z0-9_\\x{7f}-\\x{ff},. \\t?!-][^\\x{00}-\\x{7f}]]*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.comment.php" - } - }, - "end": "$", - "endCaptures": { - "0": { - "name": "punctuation.definition.comment.php" - } - }, - "name": "comment.line.number-sign.php" - } - ] - }, - { - "begin": "(?i)(<<<)\\s*(\"?)([a-z_\\x{7f}-\\x{ff}]+[a-z0-9_\\x{7f}-\\x{ff}]*)(\\2)(\\s*)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.string.php" - }, - "3": { - "name": "keyword.operator.heredoc.php" - }, - "5": { - "name": "invalid.illegal.trailing-whitespace.php" - } - }, - "end": "^(\\3)\\b", - "endCaptures": { - "1": { - "name": "keyword.operator.heredoc.php" - } - }, - "patterns": [ - { - "include": "#interpolation" - } - ] - } - ] - }, - "nowdoc_interior": { - "patterns": [ - { - "begin": "(<<<)\\s*'(HTML)'(\\s*)$", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - }, - "1": { - "name": "punctuation.definition.string.php" - }, - "2": { - "name": "keyword.operator.nowdoc.php" - }, - "3": { - "name": "invalid.illegal.trailing-whitespace.php" - } - }, - "contentName": "text.html", - "end": "^(\\2)\\b", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "keyword.operator.nowdoc.php" - } - }, - "name": "meta.embedded.html", - "patterns": [ - { - "include": "text.html.basic" - } - ] - }, - { - "begin": "(<<<)\\s*'(XML)'(\\s*)$", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - }, - "1": { - "name": "punctuation.definition.string.php" - }, - "2": { - "name": "keyword.operator.nowdoc.php" - }, - "3": { - "name": "invalid.illegal.trailing-whitespace.php" - } - }, - "contentName": "text.xml", - "end": "^(\\2)\\b", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "keyword.operator.nowdoc.php" - } - }, - "name": "meta.embedded.xml", - "patterns": [ - { - "include": "text.xml" - } - ] - }, - { - "begin": "(<<<)\\s*'(SQL)'(\\s*)$", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - }, - "1": { - "name": "punctuation.definition.string.php" - }, - "2": { - "name": "keyword.operator.nowdoc.php" - }, - "3": { - "name": "invalid.illegal.trailing-whitespace.php" - } - }, - "contentName": "source.sql", - "end": "^(\\2)\\b", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "keyword.operator.nowdoc.php" - } - }, - "name": "meta.embedded.sql", - "patterns": [ - { - "include": "source.sql" - } - ] - }, - { - "begin": "(<<<)\\s*'(JAVASCRIPT|JS)'(\\s*)$", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - }, - "1": { - "name": "punctuation.definition.string.php" - }, - "2": { - "name": "keyword.operator.nowdoc.php" - }, - "3": { - "name": "invalid.illegal.trailing-whitespace.php" - } - }, - "contentName": "source.js", - "end": "^(\\2)\\b", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "keyword.operator.nowdoc.php" - } - }, - "name": "meta.embedded.js", - "patterns": [ - { - "include": "source.js" - } - ] - }, - { - "begin": "(<<<)\\s*'(JSON)'(\\s*)$", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - }, - "1": { - "name": "punctuation.definition.string.php" - }, - "2": { - "name": "keyword.operator.nowdoc.php" - }, - "3": { - "name": "invalid.illegal.trailing-whitespace.php" - } - }, - "contentName": "source.json", - "end": "^(\\2)\\b", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "keyword.operator.nowdoc.php" - } - }, - "name": "meta.embedded.json", - "patterns": [ - { - "include": "source.json" - } - ] - }, - { - "begin": "(<<<)\\s*'(CSS)'(\\s*)$", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - }, - "1": { - "name": "punctuation.definition.string.php" - }, - "2": { - "name": "keyword.operator.nowdoc.php" - }, - "3": { - "name": "invalid.illegal.trailing-whitespace.php" - } - }, - "contentName": "source.css", - "end": "^(\\2)\\b", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "keyword.operator.nowdoc.php" - } - }, - "name": "meta.embedded.css", - "patterns": [ - { - "include": "source.css" - } - ] - }, - { - "begin": "(<<<)\\s*'(REGEXP?)'(\\s*)$", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - }, - "1": { - "name": "punctuation.definition.string.php" - }, - "2": { - "name": "keyword.operator.nowdoc.php" - }, - "3": { - "name": "invalid.illegal.trailing-whitespace.php" - } - }, - "contentName": "string.regexp.nowdoc.php", - "end": "^(\\2)\\b", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "keyword.operator.nowdoc.php" - } - }, - "patterns": [ - { - "match": "(\\\\){1,2}[.$^\\[\\]{}]", - "name": "constant.character.escape.regex.php" - }, - { - "captures": { - "1": { - "name": "punctuation.definition.arbitrary-repitition.php" - }, - "3": { - "name": "punctuation.definition.arbitrary-repitition.php" - } - }, - "match": "({)\\d+(,\\d+)?(})", - "name": "string.regexp.arbitrary-repitition.php" - }, - { - "begin": "\\[(?:\\^?\\])?", - "captures": { - "0": { - "name": "punctuation.definition.character-class.php" - } - }, - "end": "\\]", - "name": "string.regexp.character-class.php", - "patterns": [ - { - "match": "\\\\[\\\\'\\[\\]]", - "name": "constant.character.escape.php" - } - ] - }, - { - "match": "[$^+*]", - "name": "keyword.operator.regexp.php" - }, - { - "begin": "(?i)(?<=^|\\s)(#)\\s(?=[[a-z0-9_\\x{7f}-\\x{ff},. \\t?!-][^\\x{00}-\\x{7f}]]*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.comment.php" - } - }, - "end": "$", - "endCaptures": { - "0": { - "name": "punctuation.definition.comment.php" - } - }, - "name": "comment.line.number-sign.php" - } - ] - }, - { - "begin": "(?i)(<<<)\\s*'([a-z_\\x{7f}-\\x{ff}]+[a-z0-9_\\x{7f}-\\x{ff}]*)'(\\s*)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.string.php" - }, - "2": { - "name": "keyword.operator.nowdoc.php" - }, - "3": { - "name": "invalid.illegal.trailing-whitespace.php" - } - }, - "end": "^(\\2)\\b", - "endCaptures": { - "1": { - "name": "keyword.operator.nowdoc.php" - } - } - } - ] - }, - "instantiation": { - "begin": "(?i)(new)\\s+", - "beginCaptures": { - "1": { - "name": "keyword.other.new.php" - } - }, - "end": "(?i)(?=[^a-z0-9_\\x{7f}-\\x{ff}\\\\])", - "patterns": [ - { - "match": "(?i)(parent|static|self)(?![a-z0-9_\\x{7f}-\\x{ff}])", - "name": "storage.type.php" - }, - { - "include": "#class-name" - }, - { - "include": "#variable-name" - } - ] - }, - "interpolation": { - "patterns": [ - { - "match": "\\\\[0-7]{1,3}", - "name": "constant.character.escape.octal.php" - }, - { - "match": "\\\\x[0-9A-Fa-f]{1,2}", - "name": "constant.character.escape.hex.php" - }, - { - "match": "\\\\u{[0-9A-Fa-f]+}", - "name": "constant.character.escape.unicode.php" - }, - { - "match": "\\\\[nrtvef$\"\\\\]", - "name": "constant.character.escape.php" - }, - { - "begin": "{(?=\\$.*?})", - "beginCaptures": { - "0": { - "name": "punctuation.definition.variable.php" - } - }, - "end": "}", - "endCaptures": { - "0": { - "name": "punctuation.definition.variable.php" - } - }, - "patterns": [ - { - "include": "#language" - } - ] - }, - { - "include": "#variable-name" - } - ] - }, - "invoke-call": { - "captures": { - "1": { - "name": "punctuation.definition.variable.php" - }, - "2": { - "name": "variable.other.php" - } - }, - "match": "(?i)(\\$+)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)(?=\\s*\\()", - "name": "meta.function-call.invoke.php" - }, - "language": { - "patterns": [ - { - "include": "#comments" - }, - { - "begin": "(?i)^\\s*(interface)\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s*(extends)?\\s*", - "beginCaptures": { - "1": { - "name": "storage.type.interface.php" - }, - "2": { - "name": "entity.name.type.interface.php" - }, - "3": { - "name": "storage.modifier.extends.php" - } - }, - "end": "(?i)((?:[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*\\s*,\\s*)*)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?\\s*(?:(?={)|$)", - "endCaptures": { - "1": { - "patterns": [ - { - "match": "(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*", - "name": "entity.other.inherited-class.php" - }, - { - "match": ",", - "name": "punctuation.separator.classes.php" - } - ] - }, - "2": { - "name": "entity.other.inherited-class.php" - } - }, - "name": "meta.interface.php", - "patterns": [ - { - "include": "#namespace" - } - ] - }, - { - "begin": "(?i)^\\s*(trait)\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)", - "beginCaptures": { - "1": { - "name": "storage.type.trait.php" - }, - "2": { - "name": "entity.name.type.trait.php" - } - }, - "end": "(?={)", - "name": "meta.trait.php", - "patterns": [ - { - "include": "#comments" - } - ] - }, - { - "match": "(?i)(?:^|(?<=<\\?php))\\s*(namespace)\\s+([a-z0-9_\\x{7f}-\\x{ff}\\\\]+)(?=\\s*;)", - "name": "meta.namespace.php", - "captures": { - "1": { - "name": "keyword.other.namespace.php" - }, - "2": { - "name": "entity.name.type.namespace.php", - "patterns": [ - { - "match": "\\\\", - "name": "punctuation.separator.inheritance.php" - } - ] - } - } - }, - { - "begin": "(?i)(?:^|(?<=<\\?php))\\s*(namespace)\\s+", - "beginCaptures": { - "1": { - "name": "keyword.other.namespace.php" - } - }, - "end": "(?<=})|(?=\\?>)", - "name": "meta.namespace.php", - "patterns": [ - { - "include": "#comments" - }, - { - "match": "(?i)[a-z0-9_\\x{7f}-\\x{ff}\\\\]+", - "name": "entity.name.type.namespace.php", - "captures": { - "0": { - "patterns": [ - { - "match": "\\\\", - "name": "punctuation.separator.inheritance.php" - } - ] - } - } - }, - { - "begin": "{", - "beginCaptures": { - "0": { - "name": "punctuation.definition.namespace.begin.bracket.curly.php" - } - }, - "end": "}|(?=\\?>)", - "endCaptures": { - "0": { - "name": "punctuation.definition.namespace.end.bracket.curly.php" - } - }, - "patterns": [ - { - "include": "#language" - } - ] - }, - { - "match": "[^\\s]+", - "name": "invalid.illegal.identifier.php" - } - ] - }, - { - "match": "\\s+(?=use\\b)" - }, - { - "begin": "(?i)\\buse\\b", - "beginCaptures": { - "0": { - "name": "keyword.other.use.php" - } - }, - "end": "(?<=})|(?=;)", - "name": "meta.use.php", - "patterns": [ - { - "match": "\\b(const|function)\\b", - "name": "storage.type.${1:/downcase}.php" - }, - { - "begin": "{", - "beginCaptures": { - "0": { - "name": "punctuation.definition.use.begin.bracket.curly.php" - } - }, - "end": "}", - "endCaptures": { - "0": { - "name": "punctuation.definition.use.end.bracket.curly.php" - } - }, - "patterns": [ - { - "include": "#scope-resolution" - }, - { - "match": "(?xi)\n\\b(as)\n\\s+(final|abstract|public|private|protected|static)\n\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\n\\b", - "captures": { - "1": { - "name": "keyword.other.use-as.php" - }, - "2": { - "name": "storage.modifier.php" - }, - "3": { - "name": "entity.other.alias.php" - } - } - }, - { - "match": "(?xi)\n\\b(as)\n\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\n\\b", - "captures": { - "1": { - "name": "keyword.other.use-as.php" - }, - "2": { - "patterns": [ - { - "match": "^(?:final|abstract|public|private|protected|static)$", - "name": "storage.modifier.php" - }, - { - "match": ".+", - "name": "entity.other.alias.php" - } - ] - } - } - }, - { - "match": "(?i)\\b(insteadof)\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)", - "captures": { - "1": { - "name": "keyword.other.use-insteadof.php" - }, - "2": { - "name": "support.class.php" - } - } - }, - { - "match": ";", - "name": "punctuation.terminator.expression.php" - }, - { - "include": "#use-inner" - } - ] - }, - { - "include": "#use-inner" - } - ] - }, - { - "begin": "(?i)^\\s*(?:(abstract|final)\\s+)?(class)\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)", - "beginCaptures": { - "1": { - "name": "storage.modifier.${1:/downcase}.php" - }, - "2": { - "name": "storage.type.class.php" - }, - "3": { - "name": "entity.name.type.class.php" - } - }, - "end": "}|(?=\\?>)", - "endCaptures": { - "0": { - "name": "punctuation.definition.class.end.bracket.curly.php" - } - }, - "name": "meta.class.php", - "patterns": [ - { - "include": "#comments" - }, - { - "begin": "(?i)(extends)\\s+", - "beginCaptures": { - "1": { - "name": "storage.modifier.extends.php" - } - }, - "contentName": "meta.other.inherited-class.php", - "end": "(?i)(?=[^a-z0-9_\\x{7f}-\\x{ff}\\\\])", - "patterns": [ - { - "begin": "(?i)(?=\\\\?[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*\\\\)", - "end": "(?i)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?(?=[^a-z0-9_\\x{7f}-\\x{ff}\\\\])", - "endCaptures": { - "1": { - "name": "entity.other.inherited-class.php" - } - }, - "patterns": [ - { - "include": "#namespace" - } - ] - }, - { - "include": "#class-builtin" - }, - { - "include": "#namespace" - }, - { - "match": "(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*", - "name": "entity.other.inherited-class.php" - } - ] - }, - { - "begin": "(?i)(implements)\\s+", - "beginCaptures": { - "1": { - "name": "storage.modifier.implements.php" - } - }, - "end": "(?i)(?=[;{])", - "patterns": [ - { - "include": "#comments" - }, - { - "begin": "(?i)(?=[a-z0-9_\\x{7f}-\\x{ff}\\\\]+)", - "contentName": "meta.other.inherited-class.php", - "end": "(?i)(?:\\s*(?:,|(?=[^a-z0-9_\\x{7f}-\\x{ff}\\\\\\s]))\\s*)", - "patterns": [ - { - "begin": "(?i)(?=\\\\?[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*\\\\)", - "end": "(?i)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?(?=[^a-z0-9_\\x{7f}-\\x{ff}\\\\])", - "endCaptures": { - "1": { - "name": "entity.other.inherited-class.php" - } - }, - "patterns": [ - { - "include": "#namespace" - } - ] - }, - { - "include": "#class-builtin" - }, - { - "include": "#namespace" - }, - { - "match": "(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*", - "name": "entity.other.inherited-class.php" - } - ] - } - ] - }, - { - "begin": "{", - "beginCaptures": { - "0": { - "name": "punctuation.definition.class.begin.bracket.curly.php" - } - }, - "end": "(?=}|\\?>)", - "contentName": "meta.class.body.php", - "patterns": [ - { - "include": "#language" - } - ] - } - ] - }, - { - "include": "#switch_statement" - }, - { - "match": "(?x)\n\\s*\n\\b(\n break|case|continue|declare|default|die|do|\n else(if)?|end(declare|for(each)?|if|switch|while)|exit|\n for(each)?|if|return|switch|use|while|yield\n)\\b", - "captures": { - "1": { - "name": "keyword.control.${1:/downcase}.php" - } - } - }, - { - "begin": "(?i)\\b((?:require|include)(?:_once)?)\\s+", - "beginCaptures": { - "1": { - "name": "keyword.control.import.include.php" - } - }, - "end": "(?=\\s|;|$|\\?>)", - "name": "meta.include.php", - "patterns": [ - { - "include": "#language" - } - ] - }, - { - "begin": "\\b(catch)\\s*(\\()", - "beginCaptures": { - "1": { - "name": "keyword.control.exception.catch.php" - }, - "2": { - "name": "punctuation.definition.parameters.begin.bracket.round.php" - } - }, - "end": "\\)", - "endCaptures": { - "0": { - "name": "punctuation.definition.parameters.end.bracket.round.php" - } - }, - "name": "meta.catch.php", - "patterns": [ - { - "include": "#namespace" - }, - { - "match": "(?xi)\n([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Exception class\n((?:\\s*\\|\\s*[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)*) # Optional additional exception classes\n\\s*\n((\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Variable", - "captures": { - "1": { - "name": "support.class.exception.php" - }, - "2": { - "patterns": [ - { - "match": "(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*", - "name": "support.class.exception.php" - }, - { - "match": "\\|", - "name": "punctuation.separator.delimiter.php" - } - ] - }, - "3": { - "name": "variable.other.php" - }, - "4": { - "name": "punctuation.definition.variable.php" - } - } - } - ] - }, - { - "match": "\\b(catch|try|throw|exception|finally)\\b", - "name": "keyword.control.exception.php" - }, - { - "begin": "(?i)\\b(function)\\s*(?=\\()", - "beginCaptures": { - "1": { - "name": "storage.type.function.php" - } - }, - "end": "(?={)", - "name": "meta.function.closure.php", - "patterns": [ - { - "begin": "\\(", - "beginCaptures": { - "0": { - "name": "punctuation.definition.parameters.begin.bracket.round.php" - } - }, - "contentName": "meta.function.parameters.php", - "end": "\\)", - "endCaptures": { - "0": { - "name": "punctuation.definition.parameters.end.bracket.round.php" - } - }, - "patterns": [ - { - "include": "#function-parameters" - } - ] - }, - { - "begin": "(?i)(use)\\s*(\\()", - "beginCaptures": { - "1": { - "name": "keyword.other.function.use.php" - }, - "2": { - "name": "punctuation.definition.parameters.begin.bracket.round.php" - } - }, - "end": "\\)", - "endCaptures": { - "0": { - "name": "punctuation.definition.parameters.end.bracket.round.php" - } - }, - "patterns": [ - { - "captures": { - "1": { - "name": "variable.other.php" - }, - "2": { - "name": "storage.modifier.reference.php" - }, - "3": { - "name": "punctuation.definition.variable.php" - } - }, - "match": "(?i)((&)?\\s*(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s*(?=,|\\))", - "name": "meta.function.closure.use.php" - } - ] - } - ] - }, - { - "begin": "(?x)\n((?:(?:final|abstract|public|private|protected|static)\\s+)*)\n(function)\\s+\n(?i:\n (__(?:call|construct|debugInfo|destruct|get|set|isset|unset|tostring|\n clone|set_state|sleep|wakeup|autoload|invoke|callStatic))\n |([a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*)\n)\n\\s*(\\()", - "beginCaptures": { - "1": { - "patterns": [ - { - "match": "final|abstract|public|private|protected|static", - "name": "storage.modifier.php" - } - ] - }, - "2": { - "name": "storage.type.function.php" - }, - "3": { - "name": "support.function.magic.php" - }, - "4": { - "name": "entity.name.function.php" - }, - "5": { - "name": "punctuation.definition.parameters.begin.bracket.round.php" - } - }, - "contentName": "meta.function.parameters.php", - "end": "(\\))(?:\\s*(:)\\s*([a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*))?", - "endCaptures": { - "1": { - "name": "punctuation.definition.parameters.end.bracket.round.php" - }, - "2": { - "name": "keyword.operator.return-value.php" - }, - "3": { - "name": "storage.type.php" - } - }, - "name": "meta.function.php", - "patterns": [ - { - "include": "#function-parameters" - } - ] - }, - { - "include": "#invoke-call" - }, - { - "include": "#scope-resolution" - }, - { - "include": "#variables" - }, - { - "include": "#strings" - }, - { - "captures": { - "1": { - "name": "support.function.construct.php" - }, - "2": { - "name": "punctuation.definition.array.begin.bracket.round.php" - }, - "3": { - "name": "punctuation.definition.array.end.bracket.round.php" - } - }, - "match": "(array)(\\()(\\))", - "name": "meta.array.empty.php" - }, - { - "begin": "(array)(\\()", - "beginCaptures": { - "1": { - "name": "support.function.construct.php" - }, - "2": { - "name": "punctuation.definition.array.begin.bracket.round.php" - } - }, - "end": "\\)|(?=\\?>)", - "endCaptures": { - "0": { - "name": "punctuation.definition.array.end.bracket.round.php" - } - }, - "name": "meta.array.php", - "patterns": [ - { - "include": "#language" - } - ] - }, - { - "match": "(?i)(\\()\\s*(array|real|double|float|int(?:eger)?|bool(?:ean)?|string|object|binary|unset)\\s*(\\))", - "captures": { - "1": { - "name": "punctuation.definition.storage-type.begin.bracket.round.php" - }, - "2": { - "name": "storage.type.php" - }, - "3": { - "name": "punctuation.definition.storage-type.end.bracket.round.php" - } - } - }, - { - "match": "(?i)\\b(array|real|double|float|int(eger)?|bool(ean)?|string|class|var|function|interface|trait|parent|self|object)\\b", - "name": "storage.type.php" - }, - { - "match": "(?i)\\b(global|abstract|const|extends|implements|final|private|protected|public|static)\\b", - "name": "storage.modifier.php" - }, - { - "include": "#object" - }, - { - "match": ";", - "name": "punctuation.terminator.expression.php" - }, - { - "match": ":", - "name": "punctuation.terminator.statement.php" - }, - { - "include": "#heredoc" - }, - { - "include": "#numbers" - }, - { - "match": "(?i)\\bclone\\b", - "name": "keyword.other.clone.php" - }, - { - "match": "\\.=?", - "name": "keyword.operator.string.php" - }, - { - "match": "=>", - "name": "keyword.operator.key.php" - }, - { - "captures": { - "1": { - "name": "keyword.operator.assignment.php" - }, - "2": { - "name": "storage.modifier.reference.php" - }, - "3": { - "name": "storage.modifier.reference.php" - } - }, - "match": "(?i)(\\=)(&)|(&)(?=[$a-z_])" - }, - { - "match": "@", - "name": "keyword.operator.error-control.php" - }, - { - "match": "===|==|!==|!=|<>", - "name": "keyword.operator.comparison.php" - }, - { - "match": "=|\\+=|\\-=|\\*=|/=|%=|&=|\\|=|\\^=|<<=|>>=", - "name": "keyword.operator.assignment.php" - }, - { - "match": "<=>|<=|>=|<|>", - "name": "keyword.operator.comparison.php" - }, - { - "match": "\\-\\-|\\+\\+", - "name": "keyword.operator.increment-decrement.php" - }, - { - "match": "\\-|\\+|\\*|/|%", - "name": "keyword.operator.arithmetic.php" - }, - { - "match": "(?i)(!|&&|\\|\\|)|\\b(and|or|xor|as)\\b", - "name": "keyword.operator.logical.php" - }, - { - "include": "#function-call" - }, - { - "match": "<<|>>|~|\\^|&|\\|", - "name": "keyword.operator.bitwise.php" - }, - { - "begin": "(?i)\\b(instanceof)\\s+(?=[\\\\$a-z_])", - "beginCaptures": { - "1": { - "name": "keyword.operator.type.php" - } - }, - "end": "(?=[^\\\\$a-z0-9_\\x{7f}-\\x{ff}])", - "patterns": [ - { - "include": "#class-name" - }, - { - "include": "#variable-name" - } - ] - }, - { - "include": "#instantiation" - }, - { - "captures": { - "1": { - "name": "keyword.control.goto.php" - }, - "2": { - "name": "support.other.php" - } - }, - "match": "(?i)(goto)\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)" - }, - { - "captures": { - "1": { - "name": "entity.name.goto-label.php" - } - }, - "match": "(?i)^\\s*([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s*:(?!:)" - }, - { - "include": "#string-backtick" - }, - { - "begin": "{", - "beginCaptures": { - "0": { - "name": "punctuation.definition.begin.bracket.curly.php" - } - }, - "end": "}|(?=\\?>)", - "endCaptures": { - "0": { - "name": "punctuation.definition.end.bracket.curly.php" - } - }, - "patterns": [ - { - "include": "#language" - } - ] - }, - { - "begin": "\\[", - "beginCaptures": { - "0": { - "name": "punctuation.section.array.begin.php" - } - }, - "end": "\\]|(?=\\?>)", - "endCaptures": { - "0": { - "name": "punctuation.section.array.end.php" - } - }, - "patterns": [ - { - "include": "#language" - } - ] - }, - { - "begin": "\\(", - "beginCaptures": { - "0": { - "name": "punctuation.definition.begin.bracket.round.php" - } - }, - "end": "\\)|(?=\\?>)", - "endCaptures": { - "0": { - "name": "punctuation.definition.end.bracket.round.php" - } - }, - "patterns": [ - { - "include": "#language" - } - ] - }, - { - "include": "#constants" - }, - { - "match": ",", - "name": "punctuation.separator.delimiter.php" - } - ] - }, - "namespace": { - "begin": "(?i)(?:(namespace)|[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?(\\\\)(?=.*?[^a-z0-9_\\x{7f}-\\x{ff}\\\\])", - "beginCaptures": { - "1": { - "name": "variable.language.namespace.php" - }, - "2": { - "name": "punctuation.separator.inheritance.php" - } - }, - "end": "(?i)(?=[a-z0-9_\\x{7f}-\\x{ff}]*[^a-z0-9_\\x{7f}-\\x{ff}\\\\])", - "name": "support.other.namespace.php", - "patterns": [ - { - "match": "\\\\", - "name": "punctuation.separator.inheritance.php" - } - ] - }, - "numbers": { - "patterns": [ - { - "match": "0[xX][0-9a-fA-F]+", - "name": "constant.numeric.hex.php" - }, - { - "match": "0[bB][01]+", - "name": "constant.numeric.binary.php" - }, - { - "match": "0[0-7]+", - "name": "constant.numeric.octal.php" - }, - { - "match": "(?x)\n(?:\n [0-9]*(\\.)[0-9]+(?:[eE][+-]?[0-9]+)?|\n [0-9]+(\\.)[0-9]*(?:[eE][+-]?[0-9]+)?|\n [0-9]+[eE][+-]?[0-9]+\n)", - "name": "constant.numeric.decimal.php", - "captures": { - "1": { - "name": "punctuation.separator.decimal.period.php" - }, - "2": { - "name": "punctuation.separator.decimal.period.php" - } - } - }, - { - "match": "0|[1-9][0-9]*", - "name": "constant.numeric.decimal.php" - } - ] - }, - "object": { - "patterns": [ - { - "begin": "(->)(\\$?{)", - "beginCaptures": { - "1": { - "name": "keyword.operator.class.php" - }, - "2": { - "name": "punctuation.definition.variable.php" - } - }, - "end": "}", - "endCaptures": { - "0": { - "name": "punctuation.definition.variable.php" - } - }, - "patterns": [ - { - "include": "#language" - } - ] - }, - { - "begin": "(?i)(->)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s*(\\()", - "beginCaptures": { - "1": { - "name": "keyword.operator.class.php" - }, - "2": { - "name": "entity.name.function.php" - }, - "3": { - "name": "punctuation.definition.arguments.begin.bracket.round.php" - } - }, - "end": "\\)|(?=\\?>)", - "endCaptures": { - "0": { - "name": "punctuation.definition.arguments.end.bracket.round.php" - } - }, - "name": "meta.method-call.php", - "patterns": [ - { - "include": "#language" - } - ] - }, - { - "captures": { - "1": { - "name": "keyword.operator.class.php" - }, - "2": { - "name": "variable.other.property.php" - }, - "3": { - "name": "punctuation.definition.variable.php" - } - }, - "match": "(?i)(->)((\\$+)?[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?" - } - ] - }, - "parameter-default-types": { - "patterns": [ - { - "include": "#strings" - }, - { - "include": "#numbers" - }, - { - "include": "#string-backtick" - }, - { - "include": "#variables" - }, - { - "match": "=>", - "name": "keyword.operator.key.php" - }, - { - "match": "=", - "name": "keyword.operator.assignment.php" - }, - { - "match": "&(?=\\s*\\$)", - "name": "storage.modifier.reference.php" - }, - { - "begin": "(array)\\s*(\\()", - "beginCaptures": { - "1": { - "name": "support.function.construct.php" - }, - "2": { - "name": "punctuation.definition.array.begin.bracket.round.php" - } - }, - "end": "\\)", - "endCaptures": { - "0": { - "name": "punctuation.definition.array.end.bracket.round.php" - } - }, - "name": "meta.array.php", - "patterns": [ - { - "include": "#parameter-default-types" - } - ] - }, - { - "include": "#instantiation" - }, - { - "begin": "(?xi)\n(?=[a-z0-9_\\x{7f}-\\x{ff}\\\\]+(::)\n ([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?\n)", - "end": "(?i)(::)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?", - "endCaptures": { - "1": { - "name": "keyword.operator.class.php" - }, - "2": { - "name": "constant.other.class.php" - } - }, - "patterns": [ - { - "include": "#class-name" - } - ] - }, - { - "include": "#constants" - } - ] - }, - "php_doc": { - "patterns": [ - { - "match": "^(?!\\s*\\*).*?(?:(?=\\*\\/)|$\\n?)", - "name": "invalid.illegal.missing-asterisk.phpdoc.php" - }, - { - "captures": { - "1": { - "name": "keyword.other.phpdoc.php" - }, - "3": { - "name": "storage.modifier.php" - }, - "4": { - "name": "invalid.illegal.wrong-access-type.phpdoc.php" - } - }, - "match": "^\\s*\\*\\s*(@access)\\s+((public|private|protected)|(.+))\\s*$" - }, - { - "captures": { - "1": { - "name": "keyword.other.phpdoc.php" - }, - "2": { - "name": "markup.underline.link.php" - } - }, - "match": "(@xlink)\\s+(.+)\\s*$" - }, - { - "begin": "(@(?:global|param|property(-(read|write))?|return|throws|var))\\s+(?=[A-Za-z_\\x{7f}-\\x{ff}\\\\]|\\()", - "beginCaptures": { - "1": { - "name": "keyword.other.phpdoc.php" - } - }, - "end": "(?=\\s|\\*/)", - "contentName": "meta.other.type.phpdoc.php", - "patterns": [ - { - "include": "#php_doc_types_array_multiple" - }, - { - "include": "#php_doc_types_array_single" - }, - { - "include": "#php_doc_types" - } - ] - }, - { - "match": "(?x)\n@\n(\n api|abstract|author|category|copyright|example|global|inherit[Dd]oc|internal|\n license|link|method|property(-(read|write))?|package|param|return|see|since|source|\n static|subpackage|throws|todo|var|version|uses|deprecated|final|ignore\n)\\b", - "name": "keyword.other.phpdoc.php" - }, - { - "captures": { - "1": { - "name": "keyword.other.phpdoc.php" - } - }, - "match": "{(@(link|inherit[Dd]oc)).+?}", - "name": "meta.tag.inline.phpdoc.php" - } - ] - }, - "php_doc_types": { - "match": "(?i)[a-z_\\x{7f}-\\x{ff}\\\\][a-z0-9_\\x{7f}-\\x{ff}\\\\]*(\\|[a-z_\\x{7f}-\\x{ff}\\\\][a-z0-9_\\x{7f}-\\x{ff}\\\\]*)*", - "captures": { - "0": { - "patterns": [ - { - "match": "(?x)\\b\n(string|integer|int|boolean|bool|float|double|object|mixed\n|array|resource|void|null|callback|false|true|self)\\b", - "name": "keyword.other.type.php" - }, - { - "include": "#class-name" - }, - { - "match": "\\|", - "name": "punctuation.separator.delimiter.php" - } - ] - } - } - }, - "php_doc_types_array_multiple": { - "begin": "\\(", - "beginCaptures": { - "0": { - "name": "punctuation.definition.type.begin.bracket.round.phpdoc.php" - } - }, - "end": "(\\))(\\[\\])|(?=\\*/)", - "endCaptures": { - "1": { - "name": "punctuation.definition.type.end.bracket.round.phpdoc.php" - }, - "2": { - "name": "keyword.other.array.phpdoc.php" - } - }, - "patterns": [ - { - "include": "#php_doc_types_array_multiple" - }, - { - "include": "#php_doc_types_array_single" - }, - { - "include": "#php_doc_types" - }, - { - "match": "\\|", - "name": "punctuation.separator.delimiter.php" - } - ] - }, - "php_doc_types_array_single": { - "match": "(?i)([a-z_\\x{7f}-\\x{ff}\\\\][a-z0-9_\\x{7f}-\\x{ff}\\\\]*)(\\[\\])", - "captures": { - "1": { - "patterns": [ - { - "include": "#php_doc_types" - } - ] - }, - "2": { - "name": "keyword.other.array.phpdoc.php" - } - } - }, - "regex-double-quoted": { - "begin": "\"/(?=(\\\\.|[^\"/])++/[imsxeADSUXu]*\")", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.php" - } - }, - "end": "(/)([imsxeADSUXu]*)(\")", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.php" - } - }, - "name": "string.regexp.double-quoted.php", - "patterns": [ - { - "match": "(\\\\){1,2}[.$^\\[\\]{}]", - "name": "constant.character.escape.regex.php" - }, - { - "include": "#interpolation" - }, - { - "captures": { - "1": { - "name": "punctuation.definition.arbitrary-repetition.php" - }, - "3": { - "name": "punctuation.definition.arbitrary-repetition.php" - } - }, - "match": "({)\\d+(,\\d+)?(})", - "name": "string.regexp.arbitrary-repetition.php" - }, - { - "begin": "\\[(?:\\^?\\])?", - "captures": { - "0": { - "name": "punctuation.definition.character-class.php" - } - }, - "end": "\\]", - "name": "string.regexp.character-class.php", - "patterns": [ - { - "include": "#interpolation" - } - ] - }, - { - "match": "[$^+*]", - "name": "keyword.operator.regexp.php" - } - ] - }, - "regex-single-quoted": { - "begin": "'/(?=(\\\\(?:\\\\(?:\\\\[\\\\']?|[^'])|.)|[^'/])++/[imsxeADSUXu]*')", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.php" - } - }, - "end": "(/)([imsxeADSUXu]*)(')", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.php" - } - }, - "name": "string.regexp.single-quoted.php", - "patterns": [ - { - "include": "#single_quote_regex_escape" - }, - { - "captures": { - "1": { - "name": "punctuation.definition.arbitrary-repetition.php" - }, - "3": { - "name": "punctuation.definition.arbitrary-repetition.php" - } - }, - "match": "({)\\d+(,\\d+)?(})", - "name": "string.regexp.arbitrary-repetition.php" - }, - { - "begin": "\\[(?:\\^?\\])?", - "captures": { - "0": { - "name": "punctuation.definition.character-class.php" - } - }, - "end": "\\]", - "name": "string.regexp.character-class.php" - }, - { - "match": "[$^+*]", - "name": "keyword.operator.regexp.php" - } - ] - }, - "scope-resolution": { - "patterns": [ - { - "match": "(?i)\\b([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)(?=\\s*::)", - "captures": { - "1": { - "patterns": [ - { - "match": "\\b(self|static|parent)\\b", - "name": "storage.type.php" - }, - { - "match": "\\w+", - "name": "entity.name.class.php" - }, - { - "include": "#class-name" - }, - { - "include": "#variable-name" - } - ] - } - } - }, - { - "begin": "(?i)(::)\\s*([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s*(\\()", - "beginCaptures": { - "1": { - "name": "keyword.operator.class.php" - }, - "2": { - "name": "entity.name.function.php" - }, - "3": { - "name": "punctuation.definition.arguments.begin.bracket.round.php" - } - }, - "end": "\\)|(?=\\?>)", - "endCaptures": { - "0": { - "name": "punctuation.definition.arguments.end.bracket.round.php" - } - }, - "name": "meta.method-call.static.php", - "patterns": [ - { - "include": "#language" - } - ] - }, - { - "match": "(?i)(::)\\s*(class)\\b", - "captures": { - "1": { - "name": "keyword.operator.class.php" - }, - "2": { - "name": "keyword.other.class.php" - } - } - }, - { - "match": "(?xi)\n(::)\\s*\n(?:\n ((\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Variable\n |\n ([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Constant\n)?", - "captures": { - "1": { - "name": "keyword.operator.class.php" - }, - "2": { - "name": "variable.other.class.php" - }, - "3": { - "name": "punctuation.definition.variable.php" - }, - "4": { - "name": "constant.other.class.php" - } - } - } - ] - }, - "single_quote_regex_escape": { - "match": "\\\\(?:\\\\(?:\\\\[\\\\']?|[^'])|.)", - "name": "constant.character.escape.php" - }, - "sql-string-double-quoted": { - "begin": "\"\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER|AND)\\b)", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.php" - } - }, - "contentName": "source.sql.embedded.php", - "end": "\"", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.php" - } - }, - "name": "string.quoted.double.sql.php", - "patterns": [ - { - "match": "(#)(\\\\\"|[^\"])*(?=\"|$)", - "name": "comment.line.number-sign.sql", - "captures": { - "1": { - "name": "punctuation.definition.comment.sql" - } - } - }, - { - "match": "(--)(\\\\\"|[^\"])*(?=\"|$)", - "name": "comment.line.double-dash.sql", - "captures": { - "1": { - "name": "punctuation.definition.comment.sql" - } - } - }, - { - "match": "\\\\[\\\\\"`']", - "name": "constant.character.escape.php" - }, - { - "match": "'(?=((\\\\')|[^'\"])*(\"|$))", - "name": "string.quoted.single.unclosed.sql" - }, - { - "match": "`(?=((\\\\`)|[^`\"])*(\"|$))", - "name": "string.quoted.other.backtick.unclosed.sql" - }, - { - "begin": "'", - "end": "'", - "name": "string.quoted.single.sql", - "patterns": [ - { - "include": "#interpolation" - } - ] - }, - { - "begin": "`", - "end": "`", - "name": "string.quoted.other.backtick.sql", - "patterns": [ - { - "include": "#interpolation" - } - ] - }, - { - "include": "#interpolation" - }, - { - "include": "source.sql" - } - ] - }, - "sql-string-single-quoted": { - "begin": "'\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER|AND)\\b)", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.php" - } - }, - "contentName": "source.sql.embedded.php", - "end": "'", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.php" - } - }, - "name": "string.quoted.single.sql.php", - "patterns": [ - { - "match": "(#)(\\\\'|[^'])*(?='|$)", - "name": "comment.line.number-sign.sql", - "captures": { - "1": { - "name": "punctuation.definition.comment.sql" - } - } - }, - { - "match": "(--)(\\\\'|[^'])*(?='|$)", - "name": "comment.line.double-dash.sql", - "captures": { - "1": { - "name": "punctuation.definition.comment.sql" - } - } - }, - { - "match": "\\\\[\\\\'`\"]", - "name": "constant.character.escape.php" - }, - { - "match": "`(?=((\\\\`)|[^`'])*('|$))", - "name": "string.quoted.other.backtick.unclosed.sql" - }, - { - "match": "\"(?=((\\\\\")|[^\"'])*('|$))", - "name": "string.quoted.double.unclosed.sql" - }, - { - "include": "source.sql" - } - ] - }, - "string-backtick": { - "begin": "`", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.php" - } - }, - "end": "`", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.php" - } - }, - "name": "string.interpolated.php", - "patterns": [ - { - "match": "\\\\.", - "name": "constant.character.escape.php" - }, - { - "include": "#interpolation" - } - ] - }, - "string-double-quoted": { - "begin": "\"", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.php" - } - }, - "end": "\"", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.php" - } - }, - "name": "string.quoted.double.php", - "patterns": [ - { - "include": "#interpolation" - } - ] - }, - "string-single-quoted": { - "begin": "'", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.php" - } - }, - "end": "'", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.php" - } - }, - "name": "string.quoted.single.php", - "patterns": [ - { - "match": "\\\\[\\\\']", - "name": "constant.character.escape.php" - } - ] - }, - "strings": { - "patterns": [ - { - "include": "#regex-double-quoted" - }, - { - "include": "#sql-string-double-quoted" - }, - { - "include": "#string-double-quoted" - }, - { - "include": "#regex-single-quoted" - }, - { - "include": "#sql-string-single-quoted" - }, - { - "include": "#string-single-quoted" - } - ] - }, - "support": { - "patterns": [ - { - "match": "(?xi)\n\\b\napc_(\n store|sma_info|compile_file|clear_cache|cas|cache_info|inc|dec|define_constants|delete(_file)?|\n exists|fetch|load_constants|add|bin_(dump|load)(file)?\n)\\b", - "name": "support.function.apc.php" - }, - { - "match": "(?xi)\\b\n(\n shuffle|sizeof|sort|next|nat(case)?sort|count|compact|current|in_array|usort|uksort|uasort|\n pos|prev|end|each|extract|ksort|key(_exists)?|krsort|list|asort|arsort|rsort|reset|range|\n array(_(shift|sum|splice|search|slice|chunk|change_key_case|count_values|column|combine|\n (diff|intersect)(_(u)?(key|assoc))?|u(diff|intersect)(_(u)?assoc)?|unshift|unique|\n pop|push|pad|product|values|keys|key_exists|filter|fill(_keys)?|flip|walk(_recursive)?|\n reduce|replace(_recursive)?|reverse|rand|multisort|merge(_recursive)?|map)?)\n)\\b", - "name": "support.function.array.php" - }, - { - "match": "(?xi)\\b\n(\n show_source|sys_getloadavg|sleep|highlight_(file|string)|constant|connection_(aborted|status)|\n time_(nanosleep|sleep_until)|ignore_user_abort|die|define(d)?|usleep|uniqid|unpack|__halt_compiler|\n php_(check_syntax|strip_whitespace)|pack|eval|exit|get_browser\n)\\b", - "name": "support.function.basic_functions.php" - }, - { - "match": "(?i)\\bbc(scale|sub|sqrt|comp|div|pow(mod)?|add|mod|mul)\\b", - "name": "support.function.bcmath.php" - }, - { - "match": "(?i)\\bblenc_encrypt\\b", - "name": "support.function.blenc.php" - }, - { - "match": "(?i)\\bbz(compress|close|open|decompress|errstr|errno|error|flush|write|read)\\b", - "name": "support.function.bz2.php" - }, - { - "match": "(?xi)\\b\n(\n (French|Gregorian|Jewish|Julian)ToJD|cal_(to_jd|info|days_in_month|from_jd)|unixtojd|\n jdto(unix|jewish)|easter_(date|days)|JD(MonthName|To(Gregorian|Julian|French)|DayOfWeek)\n)\\b", - "name": "support.function.calendar.php" - }, - { - "match": "(?xi)\\b\n(\n class_alias|all_user_method(_array)?|is_(a|subclass_of)|__autoload|(class|interface|method|property|trait)_exists|\n get_(class(_(vars|methods))?|(called|parent)_class|object_vars|declared_(classes|interfaces|traits))\n)\\b", - "name": "support.function.classobj.php" - }, - { - "match": "(?xi)\\b\n(\n com_(create_guid|print_typeinfo|event_sink|load_typelib|get_active_object|message_pump)|\n variant_(sub|set(_type)?|not|neg|cast|cat|cmp|int|idiv|imp|or|div|date_(from|to)_timestamp|\n pow|eqv|fix|and|add|abs|round|get_type|xor|mod|mul)\n)\\b", - "name": "support.function.com.php" - }, - { - "begin": "(?i)\\b(isset|unset|eval|empty|list)\\b", - "name": "support.function.construct.php" - }, - { - "match": "(?i)\\b(print|echo)\\b", - "name": "support.function.construct.output.php" - }, - { - "match": "(?i)\\bctype_(space|cntrl|digit|upper|punct|print|lower|alnum|alpha|graph|xdigit)\\b", - "name": "support.function.ctype.php" - }, - { - "match": "(?xi)\\b\ncurl_(\n share_(close|init|setopt)|strerror|setopt(_array)?|copy_handle|close|init|unescape|pause|escape|\n errno|error|exec|version|file_create|reset|getinfo|\n multi_(strerror|setopt|select|close|init|info_read|(add|remove)_handle|getcontent|exec)\n)\\b", - "name": "support.function.curl.php" - }, - { - "match": "(?xi)\\b\n(\n strtotime|str[fp]time|checkdate|time|timezone_name_(from_abbr|get)|idate|\n timezone_((location|offset|transitions|version)_get|(abbreviations|identifiers)_list|open)|\n date(_(sun(rise|set)|sun_info|sub|create(_(immutable_)?from_format)?|timestamp_(get|set)|timezone_(get|set)|time_set|\n isodate_set|interval_(create_from_date_string|format)|offset_get|diff|default_timezone_(get|set)|date_set|\n parse(_from_format)?|format|add|get_last_errors|modify))?|\n localtime|get(date|timeofday)|gm(strftime|date|mktime)|microtime|mktime\n)\\b", - "name": "support.function.datetime.php" - }, - { - "match": "(?i)\\bdba_(sync|handlers|nextkey|close|insert|optimize|open|delete|popen|exists|key_split|firstkey|fetch|list|replace)\\b", - "name": "support.function.dba.php" - }, - { - "match": "(?i)\\bdbx_(sort|connect|compare|close|escape_string|error|query|fetch_row)\\b", - "name": "support.function.dbx.php" - }, - { - "match": "(?i)\\b(scandir|chdir|chroot|closedir|opendir|dir|rewinddir|readdir|getcwd)\\b", - "name": "support.function.dir.php" - }, - { - "match": "(?xi)\\b\neio_(\n sync(fs)?|sync_file_range|symlink|stat(vfs)?|sendfile|set_min_parallel|set_max_(idle|poll_(reqs|time)|parallel)|\n seek|n(threads|op|pending|reqs|ready)|chown|chmod|custom|close|cancel|truncate|init|open|dup2|unlink|utime|poll|\n event_loop|f(sync|stat(vfs)?|chown|chmod|truncate|datasync|utime|allocate)|write|lstat|link|rename|realpath|\n read(ahead|dir|link)?|rmdir|get_(event_stream|last_error)|grp(_(add|cancel|limit))?|mknod|mkdir|busy\n)\\b", - "name": "support.function.eio.php" - }, - { - "match": "(?xi)\\b\nenchant_(\n dict_(store_replacement|suggest|check|is_in_session|describe|quick_check|add_to_(personal|session)|get_error)|\n broker_(set_ordering|init|dict_exists|describe|free(_dict)?|list_dicts|request_(pwl_)?dict|get_error)\n)\\b", - "name": "support.function.enchant.php" - }, - { - "match": "(?i)\\bsplit(i)?|sql_regcase|ereg(i)?(_replace)?\\b", - "name": "support.function.ereg.php" - }, - { - "match": "(?i)\\b((restore|set)_(error_handler|exception_handler)|trigger_error|debug_(print_)?backtrace|user_error|error_(log|reporting|get_last))\\b", - "name": "support.function.errorfunc.php" - }, - { - "match": "(?i)\\bshell_exec|system|passthru|proc_(nice|close|terminate|open|get_status)|escapeshell(arg|cmd)|exec\\b", - "name": "support.function.exec.php" - }, - { - "match": "(?i)\\b(exif_(thumbnail|tagname|imagetype|read_data)|read_exif_data)\\b", - "name": "support.function.exif.php" - }, - { - "match": "(?xi)\\b\nfann_(\n (duplicate|length|merge|shuffle|subset)_train_data|scale_(train(_data)?|(input|output)(_train_data)?)|\n set_(scaling_params|sarprop_(step_error_(shift|threshold_factor)|temperature|weight_decay_shift)|\n cascade_(num_candidate_groups|candidate_(change_fraction|limit|stagnation_epochs)|\n output_(change_fraction|stagnation_epochs)|weight_multiplier|activation_(functions|steepnesses)|\n (max|min)_(cand|out)_epochs)|\n callback|training_algorithm|train_(error|stop)_function|(input|output)_scaling_params|error_log|\n quickprop_(decay|mu)|weight(_array)?|learning_(momentum|rate)|bit_fail_limit|\n activation_(function|steepness)(_(hidden|layer|output))?|\n rprop_((decrease|increase)_factor|delta_(max|min|zero)))|\n save(_train)?|num_(input|output)_train_data|copy|clear_scaling_params|cascadetrain_on_(file|data)|\n create_((sparse|shortcut|standard)(_array)?|train(_from_callback)?|from_file)|\n test(_data)?|train(_(on_(file|data)|epoch))?|init_weights|descale_(input|output|train)|destroy(_train)?|\n print_error|run|reset_(MSE|err(no|str))|read_train_from_file|randomize_weights|\n get_(sarprop_(step_error_(shift|threshold_factor)|temperature|weight_decay_shift)|num_(input|output|layers)|\n network_type|MSE|connection_(array|rate)|bias_array|bit_fail(_limit)?|\n cascade_(num_(candidates|candidate_groups)|(candidate|output)_(change_fraction|limit|stagnation_epochs)|\n weight_multiplier|activation_(functions|steepnesses)(_count)?|(max|min)_(cand|out)_epochs)|\n total_(connections|neurons)|training_algorithm|train_(error|stop)_function|err(no|str)|\n quickprop_(decay|mu)|learning_(momentum|rate)|layer_array|activation_(function|steepness)|\n rprop_((decrease|increase)_factor|delta_(max|min|zero)))\n)\\b", - "name": "support.function.fann.php" - }, - { - "match": "(?xi)\\b\n(\n symlink|stat|set_file_buffer|chown|chgrp|chmod|copy|clearstatcache|touch|tempnam|tmpfile|\n is_(dir|(uploaded_)?file|executable|link|readable|writ(e)?able)|disk_(free|total)_space|diskfreespace|\n dirname|delete|unlink|umask|pclose|popen|pathinfo|parse_ini_(file|string)|fscanf|fstat|fseek|fnmatch|\n fclose|ftell|ftruncate|file(size|[acm]time|type|inode|owner|perms|group)?|file_(exists|(get|put)_contents)|\n f(open|puts|putcsv|passthru|eof|flush|write|lock|read|gets(s)?|getc(sv)?)|lstat|lchown|lchgrp|link(info)?|\n rename|rewind|read(file|link)|realpath(_cache_(get|size))?|rmdir|glob|move_uploaded_file|mkdir|basename\n)\\b", - "name": "support.function.file.php" - }, - { - "match": "(?i)\\b(finfo_(set_flags|close|open|file|buffer)|mime_content_type)\\b", - "name": "support.function.fileinfo.php" - }, - { - "match": "(?i)\\bfilter_(has_var|input(_array)?|id|var(_array)?|list)\\b", - "name": "support.function.filter.php" - }, - { - "match": "(?i)\\bfastcgi_finish_request\\b", - "name": "support.function.fpm.php" - }, - { - "match": "(?i)\\b(call_user_(func|method)(_array)?|create_function|unregister_tick_function|forward_static_call(_array)?|function_exists|func_(num_args|get_arg(s)?)|register_(shutdown|tick)_function|get_defined_functions)\\b", - "name": "support.function.funchand.php" - }, - { - "match": "(?i)\\b((n)?gettext|textdomain|d((n)?gettext|c(n)?gettext)|bind(textdomain|_textdomain_codeset))\\b", - "name": "support.function.gettext.php" - }, - { - "match": "(?xi)\\b\ngmp_(\n scan[01]|strval|sign|sub|setbit|sqrt(rem)?|hamdist|neg|nextprime|com|clrbit|cmp|testbit|\n intval|init|invert|import|or|div(exact)?|div_(q|qr|r)|jacobi|popcount|pow(m)?|perfect_square|\n prob_prime|export|fact|legendre|and|add|abs|root(rem)?|random(_(bits|range))?|gcd(ext)?|xor|mod|mul\n)\\b", - "name": "support.function.gmp.php" - }, - { - "match": "(?i)\\bhash(_(hmac(_file)?|copy|init|update(_(file|stream))?|pbkdf2|equals|file|final|algos))?\\b", - "name": "support.function.hash.php" - }, - { - "match": "(?xi)\\b\n(\n http_(support|send_(status|stream|content_(disposition|type)|data|file|last_modified)|head|\n negotiate_(charset|content_type|language)|chunked_decode|cache_(etag|last_modified)|throttle|\n inflate|deflate|date|post_(data|fields)|put_(data|file|stream)|persistent_handles_(count|clean|ident)|\n parse_(cookie|headers|message|params)|redirect|request(_(method_(exists|name|(un)?register)|body_encode))?|\n get(_request_(headers|body(_stream)?))?|match_(etag|modified|request_header)|build_(cookie|str|url))|\n ob_(etag|deflate|inflate)handler\n)\\b", - "name": "support.function.http.php" - }, - { - "match": "(?i)\\b(iconv(_(str(pos|len|rpos)|substr|(get|set)_encoding|mime_(decode(_headers)?|encode)))?|ob_iconv_handler)\\b", - "name": "support.function.iconv.php" - }, - { - "match": "(?i)\\biis_((start|stop)_(service|server)|set_(script_map|server_rights|dir_security|app_settings)|(add|remove)_server|get_(script_map|service_state|server_(rights|by_(comment|path))|dir_security))\\b", - "name": "support.function.iisfunc.php" - }, - { - "match": "(?xi)\\b\n(\n iptc(embed|parse)|(jpeg|png)2wbmp|gd_info|getimagesize(fromstring)?|\n image(s[xy]|scale|(char|string)(up)?|set(style|thickness|tile|interpolation|pixel|brush)|savealpha|\n convolution|copy(resampled|resized|merge(gray)?)?|colors(forindex|total)|\n color(set|closest(alpha|hwb)?|transparent|deallocate|(allocate|exact|resolve)(alpha)?|at|match)|\n crop(auto)?|create(truecolor|from(string|jpeg|png|wbmp|webp|gif|gd(2(part)?)?|xpm|xbm))?|\n types|ttf(bbox|text)|truecolortopalette|istruecolor|interlace|2wbmp|destroy|dashedline|jpeg|\n _type_to_(extension|mime_type)|ps(slantfont|text|(encode|extend|free|load)font|bbox)|png|polygon|\n palette(copy|totruecolor)|ellipse|ft(text|bbox)|filter|fill|filltoborder|\n filled(arc|ellipse|polygon|rectangle)|font(height|width)|flip|webp|wbmp|line|loadfont|layereffect|\n antialias|affine(matrix(concat|get))?|alphablending|arc|rotate|rectangle|gif|gd(2)?|gammacorrect|\n grab(screen|window)|xbm)\n)\\b", - "name": "support.function.image.php" - }, - { - "match": "(?xi)\\b\n(\n sys_get_temp_dir|set_(time_limit|include_path|magic_quotes_runtime)|cli_(get|set)_process_title|\n ini_(alter|get(_all)?|restore|set)|zend_(thread_id|version|logo_guid)|dl|php(credits|info|version)|\n php_(sapi_name|ini_(scanned_files|loaded_file)|uname|logo_guid)|putenv|extension_loaded|version_compare|\n assert(_options)?|restore_include_path|gc_(collect_cycles|disable|enable(d)?)|getopt|\n get_(cfg_var|current_user|defined_constants|extension_funcs|include_path|included_files|loaded_extensions|\n magic_quotes_(gpc|runtime)|required_files|resources)|\n get(env|lastmod|rusage|my(inode|[gup]id))|\n memory_get_(peak_)?usage|main|magic_quotes_runtime\n)\\b", - "name": "support.function.info.php" - }, - { - "match": "(?xi)\\b\nibase_(\n set_event_handler|service_(attach|detach)|server_info|num_(fields|params)|name_result|connect|\n commit(_ret)?|close|trans|delete_user|drop_db|db_info|pconnect|param_info|prepare|err(code|msg)|\n execute|query|field_info|fetch_(assoc|object|row)|free_(event_handler|query|result)|wait_event|\n add_user|affected_rows|rollback(_ret)?|restore|gen_id|modify_user|maintain_db|backup|\n blob_(cancel|close|create|import|info|open|echo|add|get)\n)\\b", - "name": "support.function.interbase.php" - }, - { - "match": "(?xi)\\b\n(\n normalizer_(normalize|is_normalized)|idn_to_(unicode|utf8|ascii)|\n numfmt_(set_(symbol|(text_)?attribute|pattern)|create|(parse|format)(_currency)?|\n get_(symbol|(text_)?attribute|pattern|error_(code|message)|locale))|\n collator_(sort(_with_sort_keys)?|set_(attribute|strength)|compare|create|asort|\n get_(strength|sort_key|error_(code|message)|locale|attribute))|\n transliterator_(create(_(inverse|from_rules))?|transliterate|list_ids|get_error_(code|message))|\n intl(cal|tz)_get_error_(code|message)|intl_(is_failure|error_name|get_error_(code|message))|\n datefmt_(set_(calendar|lenient|pattern|timezone(_id)?)|create|is_lenient|parse|format(_object)?|localtime|\n get_(calendar(_object)?|time(type|zone(_id)?)|datetype|pattern|error_(code|message)|locale))|\n locale_(set_default|compose|canonicalize|parse|filter_matches|lookup|accept_from_http|\n get_(script|display_(script|name|variant|language|region)|default|primary_language|keywords|all_variants|region))|\n resourcebundle_(create|count|locales|get(_(error_(code|message)))?)|\n grapheme_(str(i?str|r?i?pos|len)|substr|extract)|\n msgfmt_(set_pattern|create|(format|parse)(_message)?|get_(pattern|error_(code|message)|locale))\n)\\b", - "name": "support.function.intl.php" - }, - { - "match": "(?i)\\bjson_(decode|encode|last_error(_msg)?)\\b", - "name": "support.function.json.php" - }, - { - "match": "(?xi)\\b\nldap_(\n start|tls|sort|search|sasl_bind|set_(option|rebind_proc)|(first|next)_(attribute|entry|reference)|\n connect|control_paged_result(_response)?|count_entries|compare|close|t61_to_8859|8859_to_t61|\n dn2ufn|delete|unbind|parse_(reference|result)|escape|errno|err2str|error|explode_dn|bind|\n free_result|list|add|rename|read|get_(option|dn|entries|values(_len)?|attributes)|modify(_batch)?|\n mod_(add|del|replace)\n)\\b", - "name": "support.function.ldap.php" - }, - { - "match": "(?i)\\blibxml_(set_(streams_context|external_entity_loader)|clear_errors|disable_entity_loader|use_internal_errors|get_(errors|last_error))\\b", - "name": "support.function.libxml.php" - }, - { - "match": "(?i)\\b(ezmlm_hash|mail)\\b", - "name": "support.function.mail.php" - }, - { - "match": "(?xi)\\b\n(\n (a)?(cos|sin|tan)(h)?|sqrt|srand|hypot|hexdec|ceil|is_(nan|(in)?finite)|octdec|dec(hex|oct|bin)|deg2rad|\n pi|pow|exp(m1)?|floor|fmod|lcg_value|log(1(p|0))?|atan2|abs|round|rand|rad2deg|getrandmax|\n mt_(srand|rand|getrandmax)|max|min|bindec|base_convert\n)\\b", - "name": "support.function.math.php" - }, - { - "match": "(?xi)\\b\nmb_(\n str(cut|str|to(lower|upper)|istr|ipos|imwidth|pos|width|len|rchr|richr|ripos|rpos)|\n substitute_character|substr(_count)?|split|send_mail|http_(input|output)|check_encoding|\n convert_(case|encoding|kana|variables)|internal_encoding|output_handler|decode_(numericentity|mimeheader)|\n detect_(encoding|order)|parse_str|preferred_mime_name|encoding_aliases|encode_(numericentity|mimeheader)|\n ereg(i(_replace)?)?|ereg_(search(_(get(pos|regs)|init|regs|(set)?pos))?|replace(_callback)?|match)|\n list_encodings|language|regex_(set_options|encoding)|get_info\n)\\b", - "name": "support.function.mbstring.php" - }, - { - "match": "(?xi)\\b\n(\n mcrypt_(\n cfb|create_iv|cbc|ofb|decrypt|encrypt|ecb|list_(algorithms|modes)|generic(_((de)?init|end))?|\n enc_(self_test|is_block_(algorithm|algorithm_mode|mode)|\n get_(supported_key_sizes|(block|iv|key)_size|(algorithms|modes)_name))|\n get_(cipher_name|(block|iv|key)_size)|\n module_(close|self_test|is_block_(algorithm|algorithm_mode|mode)|open|\n get_(supported_key_sizes|algo_(block|key)_size)))|\n mdecrypt_generic\n)\\b", - "name": "support.function.mcrypt.php" - }, - { - "match": "(?i)\\bmemcache_debug\\b", - "name": "support.function.memcache.php" - }, - { - "match": "(?i)\\bmhash(_(count|keygen_s2k|get_(hash_name|block_size)))?\\b", - "name": "support.function.mhash.php" - }, - { - "match": "(?i)\\b(log_(cmd_(insert|delete|update)|killcursor|write_batch|reply|getmore)|bson_(decode|encode))\\b", - "name": "support.function.mongo.php" - }, - { - "match": "(?xi)\\b\nmysql_(\n stat|set_charset|select_db|num_(fields|rows)|connect|client_encoding|close|create_db|escape_string|\n thread_id|tablename|insert_id|info|data_seek|drop_db|db_(name|query)|unbuffered_query|pconnect|ping|\n errno|error|query|field_(seek|name|type|table|flags|len)|fetch_(object|field|lengths|assoc|array|row)|\n free_result|list_(tables|dbs|processes|fields)|affected_rows|result|real_escape_string|\n get_(client|host|proto|server)_info\n)\\b", - "name": "support.function.mysql.php" - }, - { - "match": "(?xi)\\b\nmysqli_(\n ssl_set|store_result|stat|send_(query|long_data)|set_(charset|opt|local_infile_(default|handler))|\n stmt_(store_result|send_long_data|next_result|close|init|data_seek|prepare|execute|fetch|free_result|\n attr_(get|set)|result_metadata|reset|get_(result|warnings)|more_results|bind_(param|result))|\n select_db|slave_query|savepoint|next_result|change_user|character_set_name|connect|commit|\n client_encoding|close|thread_safe|init|options|(enable|disable)_(reads_from_master|rpl_parse)|\n dump_debug_info|debug|data_seek|use_result|ping|poll|param_count|prepare|escape_string|execute|\n embedded_server_(start|end)|kill|query|field_seek|free_result|autocommit|rollback|report|refresh|\n fetch(_(object|fields|field(_direct)?|assoc|all|array|row))?|rpl_(parse_enabled|probe|query_type)|\n release_savepoint|reap_async_query|real_(connect|escape_string|query)|more_results|multi_query|\n get_(charset|connection_stats|client_(stats|info|version)|cache_stats|warnings|links_stats|metadata)|\n master_query|bind_(param|result)|begin_transaction\n)\\b", - "name": "support.function.mysqli.php" - }, - { - "match": "(?i)\\bmysqlnd_memcache_(set|get_config)\\b", - "name": "support.function.mysqlnd-memcache.php" - }, - { - "match": "(?i)\\bmysqlnd_ms_(set_(user_pick_server|qos)|dump_servers|query_is_select|fabric_select_(shard|global)|get_(stats|last_(used_connection|gtid))|xa_(commit|rollback|gc|begin)|match_wild)\\b", - "name": "support.function.mysqlnd-ms.php" - }, - { - "match": "(?i)\\bmysqlnd_qc_(set_(storage_handler|cache_condition|is_select|user_handlers)|clear_cache|get_(normalized_query_trace_log|core_stats|cache_info|query_trace_log|available_handlers))\\b", - "name": "support.function.mysqlnd-qc.php" - }, - { - "match": "(?i)\\bmysqlnd_uh_(set_(statement|connection)_proxy|convert_to_mysqlnd)\\b", - "name": "support.function.mysqlnd-uh.php" - }, - { - "match": "(?xi)\\b\n(\n syslog|socket_(set_(blocking|timeout)|get_status)|set(raw)?cookie|http_response_code|openlog|\n headers_(list|sent)|header(_(register_callback|remove))?|checkdnsrr|closelog|inet_(ntop|pton)|ip2long|\n openlog|dns_(check_record|get_(record|mx))|define_syslog_variables|(p)?fsockopen|long2ip|\n get(servby(name|port)|host(name|by(name(l)?|addr))|protoby(name|number)|mxrr)\n)\\b", - "name": "support.function.network.php" - }, - { - "match": "(?i)\\bnsapi_(virtual|response_headers|request_headers)\\b", - "name": "support.function.nsapi.php" - }, - { - "match": "(?xi)\\b\n(\n oci(statementtype|setprefetch|serverversion|savelob(file)?|numcols|new(collection|cursor|descriptor)|nlogon|\n column(scale|size|name|type(raw)?|isnull|precision)|coll(size|trim|assign(elem)?|append|getelem|max)|commit|\n closelob|cancel|internaldebug|definebyname|plogon|parse|error|execute|fetch(statement|into)?|\n free(statement|collection|cursor|desc)|write(temporarylob|lobtofile)|loadlob|log(on|off)|rowcount|rollback|\n result|bindbyname)|\n oci_(statement_type|set_(client_(info|identifier)|prefetch|edition|action|module_name)|server_version|\n num_(fields|rows)|new_(connect|collection|cursor|descriptor)|connect|commit|client_version|close|cancel|\n internal_debug|define_by_name|pconnect|password_change|parse|error|execute|bind_(array_)?by_name|\n field_(scale|size|name|type(_raw)?|is_null|precision)|fetch(_(object|assoc|all|array|row))?|\n free_(statement|descriptor)|lob_(copy|is_equal)|rollback|result|get_implicit_resultset)\n)\\b", - "name": "support.function.oci8.php" - }, - { - "match": "(?i)\\bopcache_(compile_file|invalidate|reset|get_(status|configuration))\\b", - "name": "support.function.opcache.php" - }, - { - "match": "(?xi)\\b\nopenssl_(\n sign|spki_(new|export(_challenge)?|verify)|seal|csr_(sign|new|export(_to_file)?|get_(subject|public_key))|\n cipher_iv_length|open|dh_compute_key|digest|decrypt|public_(decrypt|encrypt)|encrypt|error_string|\n pkcs12_(export(_to_file)?|read)|pkcs7_(sign|decrypt|encrypt|verify)|verify|free_key|random_pseudo_bytes|\n pkey_(new|export(_to_file)?|free|get_(details|public|private))|private_(decrypt|encrypt)|pbkdf2|\n get_((cipher|md)_methods|cert_locations|(public|private)key)|\n x509_(check_private_key|checkpurpose|parse|export(_to_file)?|fingerprint|free|read)\n)\\b", - "name": "support.function.openssl.php" - }, - { - "match": "(?xi)\\b\n(\n output_(add_rewrite_var|reset_rewrite_vars)|flush|\n ob_(start|clean|implicit_flush|end_(clean|flush)|flush|list_handlers|gzhandler|\n get_(status|contents|clean|flush|length|level))\n)\\b", - "name": "support.function.output.php" - }, - { - "match": "(?i)\\bpassword_(hash|needs_rehash|verify|get_info)\\b", - "name": "support.function.password.php" - }, - { - "match": "(?xi)\\b\npcntl_(\n strerror|signal(_dispatch)?|sig(timedwait|procmask|waitinfo)|setpriority|errno|exec|fork|\n w(stopsig|termsig|if(stopped|signaled|exited))|wait(pid)?|alarm|getpriority|get_last_error\n)\\b", - "name": "support.function.pcntl.php" - }, - { - "match": "(?xi)\\b\npg_(\n socket|send_(prepare|execute|query(_params)?)|set_(client_encoding|error_verbosity)|select|host|\n num_(fields|rows)|consume_input|connection_(status|reset|busy)|connect(_poll)?|convert|copy_(from|to)|\n client_encoding|close|cancel_query|tty|transaction_status|trace|insert|options|delete|dbname|untrace|\n unescape_bytea|update|pconnect|ping|port|put_line|parameter_status|prepare|version|query(_params)?|\n escape_(string|identifier|literal|bytea)|end_copy|execute|flush|free_result|last_(notice|error|oid)|\n field_(size|num|name|type(_oid)?|table|is_null|prtlen)|affected_rows|result_(status|seek|error(_field)?)|\n fetch_(object|assoc|all(_columns)?|array|row|result)|get_(notify|pid|result)|meta_data|\n lo_(seek|close|create|tell|truncate|import|open|unlink|export|write|read(_all)?)|\n)\\b", - "name": "support.function.pgsql.php" - }, - { - "match": "(?i)\\b(virtual|getallheaders|apache_((get|set)env|note|child_terminate|lookup_uri|response_headers|reset_timeout|request_headers|get_(version|modules)))\\b", - "name": "support.function.php_apache.php" - }, - { - "match": "(?i)\\bdom_import_simplexml\\b", - "name": "support.function.php_dom.php" - }, - { - "match": "(?xi)\\b\nftp_(\n ssl_connect|systype|site|size|set_option|nlist|nb_(continue|f?(put|get))|ch(dir|mod)|connect|cdup|close|\n delete|put|pwd|pasv|exec|quit|f(put|get)|login|alloc|rename|raw(list)?|rmdir|get(_option)?|mdtm|mkdir\n)\\b", - "name": "support.function.php_ftp.php" - }, - { - "match": "(?xi)\\b\nimap_(\n (create|delete|list|rename|scan)(mailbox)?|status|sort|subscribe|set_quota|set(flag_full|acl)|search|savebody|\n num_(recent|msg)|check|close|clearflag_full|thread|timeout|open|header(info)?|headers|append|alerts|reopen|\n 8bit|unsubscribe|undelete|utf7_(decode|encode)|utf8|uid|ping|errors|expunge|qprint|gc|\n fetch(structure|header|text|mime|body)|fetch_overview|lsub|list(scan|subscribed)|last_error|\n rfc822_(parse_(headers|adrlist)|write_address)|get(subscribed|acl|mailboxes)|get_quota(root)?|\n msgno|mime_header_decode|mail_(copy|compose|move)|mail|mailboxmsginfo|binary|body(struct)?|base64\n)\\b", - "name": "support.function.php_imap.php" - }, - { - "match": "(?xi)\\b\nmssql_(\n select_db|num_(fields|rows)|next_result|connect|close|init|data_seek|pconnect|execute|query|\n field_(seek|name|type|length)|fetch_(object|field|assoc|array|row|batch)|free_(statement|result)|\n rows_affected|result|guid_string|get_last_message|min_(error|message)_severity|bind\n)\\b", - "name": "support.function.php_mssql.php" - }, - { - "match": "(?xi)\\b\nodbc_(\n statistics|specialcolumns|setoption|num_(fields|rows)|next_result|connect|columns|columnprivileges|commit|\n cursor|close(_all)?|tables|tableprivileges|do|data_source|pconnect|primarykeys|procedures|procedurecolumns|\n prepare|error(msg)?|exec(ute)?|field_(scale|num|name|type|precision|len)|foreignkeys|free_result|\n fetch_(into|object|array|row)|longreadlen|autocommit|rollback|result(_all)?|gettypeinfo|binmode\n)\\b", - "name": "support.function.php_odbc.php" - }, - { - "match": "(?i)\\bpreg_(split|quote|filter|last_error|replace(_callback)?|grep|match(_all)?)\\b", - "name": "support.function.php_pcre.php" - }, - { - "match": "(?i)\\b(spl_(classes|object_hash|autoload(_(call|unregister|extensions|functions|register))?)|class_(implements|uses|parents)|iterator_(count|to_array|apply))\\b", - "name": "support.function.php_spl.php" - }, - { - "match": "(?i)\\bzip_(close|open|entry_(name|compressionmethod|compressedsize|close|open|filesize|read)|read)\\b", - "name": "support.function.php_zip.php" - }, - { - "match": "(?xi)\\b\nposix_(\n strerror|set(s|e?u|[ep]?g)id|ctermid|ttyname|times|isatty|initgroups|uname|errno|kill|access|\n get(sid|cwd|uid|pid|ppid|pwnam|pwuid|pgid|pgrp|euid|egid|login|rlimit|gid|grnam|groups|grgid)|\n get_last_error|mknod|mkfifo\n)\\b", - "name": "support.function.posix.php" - }, - { - "match": "(?i)\\bset(thread|proc)title\\b", - "name": "support.function.proctitle.php" - }, - { - "match": "(?xi)\\b\npspell_(\n store_replacement|suggest|save_wordlist|new(_(config|personal))?|check|clear_session|\n config_(save_repl|create|ignore|(data|dict)_dir|personal|runtogether|repl|mode)|add_to_(session|personal)\n)\\b", - "name": "support.function.pspell.php" - }, - { - "match": "(?i)\\breadline(_(completion_function|clear_history|callback_(handler_(install|remove)|read_char)|info|on_new_line|write_history|list_history|add_history|redisplay|read_history))?\\b", - "name": "support.function.readline.php" - }, - { - "match": "(?i)\\brecode(_(string|file))?\\b", - "name": "support.function.recode.php" - }, - { - "match": "(?i)\\brrd(c_disconnect|_(create|tune|info|update|error|version|first|fetch|last(update)?|restore|graph|xport))\\b", - "name": "support.function.rrd.php" - }, - { - "match": "(?xi)\\b\n(\n shm_((get|has|remove|put)_var|detach|attach|remove)|sem_(acquire|release|remove|get)|ftok|\n msg_((get|remove|set|stat)_queue|send|queue_exists|receive)\n)\\b", - "name": "support.function.sem.php" - }, - { - "match": "(?xi)\\b\nsession_(\n status|start|set_(save_handler|cookie_params)|save_path|name|commit|cache_(expire|limiter)|\n is_registered|id|destroy|decode|unset|unregister|encode|write_close|abort|reset|register(_shutdown)?|\n regenerate_id|get_cookie_params|module_name\n)\\b", - "name": "support.function.session.php" - }, - { - "match": "(?i)\\bshmop_(size|close|open|delete|write|read)\\b", - "name": "support.function.shmop.php" - }, - { - "match": "(?i)\\bsimplexml_(import_dom|load_(string|file))\\b", - "name": "support.function.simplexml.php" - }, - { - "match": "(?xi)\\b\n(\n snmp(walk(oid)?|realwalk|get(next)?|set)|\n snmp_(set_(valueretrieval|quick_print|enum_print|oid_(numeric_print|output_format))|read_mib|\n get_(valueretrieval|quick_print))|\n snmp[23]_(set|walk|real_walk|get(next)?)\n)\\b", - "name": "support.function.snmp.php" - }, - { - "match": "(?i)\\b(is_soap_fault|use_soap_error_handler)\\b", - "name": "support.function.soap.php" - }, - { - "match": "(?xi)\\b\nsocket_(\n shutdown|strerror|send(to|msg)?|set_((non)?block|option)|select|connect|close|clear_error|bind|\n create(_(pair|listen))?|cmsg_space|import_stream|write|listen|last_error|accept|recv(from|msg)?|\n read|get(peer|sock)name|get_option\n)\\b", - "name": "support.function.sockets.php" - }, - { - "match": "(?xi)\\b\nsqlite_(\n single_query|seek|has_(more|prev)|num_(fields|rows)|next|changes|column|current|close|\n create_(aggregate|function)|open|unbuffered_query|udf_(decode|encode)_binary|popen|prev|\n escape_string|error_string|exec|valid|key|query|field_name|factory|\n fetch_(string|single|column_types|object|all|array)|lib(encoding|version)|\n last_(insert_rowid|error)|array_query|rewind|busy_timeout\n)\\b", - "name": "support.function.sqlite.php" - }, - { - "match": "(?xi)\\b\nsqlsrv_(\n send_stream_data|server_info|has_rows|num_(fields|rows)|next_result|connect|configure|commit|\n client_info|close|cancel|prepare|errors|execute|query|field_metadata|fetch(_(array|object))?|\n free_stmt|rows_affected|rollback|get_(config|field)|begin_transaction\n)\\b", - "name": "support.function.sqlsrv.php" - }, - { - "match": "(?xi)\\b\nstats_(\n harmonic_mean|covariance|standard_deviation|skew|\n cdf_(noncentral_(chisquare|f)|negative_binomial|chisquare|cauchy|t|uniform|poisson|exponential|f|weibull|\n logistic|laplace|gamma|binomial|beta)|\n stat_(noncentral_t|correlation|innerproduct|independent_t|powersum|percentile|paired_t|gennch|binomial_coef)|\n dens_(normal|negative_binomial|chisquare|cauchy|t|pmf_(hypergeometric|poisson|binomial)|exponential|f|\n weibull|logistic|laplace|gamma|beta)|\n den_uniform|variance|kurtosis|absolute_deviation|\n rand_(setall|phrase_to_seeds|ranf|get_seeds|\n gen_(noncentral_[ft]|noncenral_chisquare|normal|chisquare|t|int|\n i(uniform|poisson|binomial(_negative)?)|exponential|f(uniform)?|gamma|beta))\n)\\b", - "name": "support.function.stats.php" - }, - { - "match": "(?xi)\\b\n(\n set_socket_blocking|\n stream_(socket_(shutdown|sendto|server|client|pair|enable_crypto|accept|recvfrom|get_name)|\n set_(chunk_size|timeout|(read|write)_buffer|blocking)|select|notification_callback|supports_lock|\n context_(set_(option|default|params)|create|get_(options|default|params))|copy_to_stream|is_local|\n encoding|filter_(append|prepend|register|remove)|wrapper_((un)?register|restore)|\n resolve_include_path|register_wrapper|get_(contents|transports|filters|wrappers|line|meta_data)|\n bucket_(new|prepend|append|make_writeable)\n )\n)\\b", - "name": "support.function.streamsfuncs.php" - }, - { - "match": "(?xi)\\b\n(\n money_format|md5(_file)?|metaphone|bin2hex|sscanf|sha1(_file)?|\n str(str|c?spn|n(at)?(case)?cmp|chr|coll|(case)?cmp|to(upper|lower)|tok|tr|istr|pos|pbrk|len|rchr|ri?pos|rev)|\n str_(getcsv|ireplace|pad|repeat|replace|rot13|shuffle|split|word_count)|\n strip(c?slashes|os)|strip_tags|similar_text|soundex|substr(_(count|compare|replace))?|setlocale|\n html(specialchars(_decode)?|entities)|html_entity_decode|hex2bin|hebrev(c)?|number_format|nl2br|nl_langinfo|\n chop|chunk_split|chr|convert_(cyr_string|uu(decode|encode))|count_chars|crypt|crc32|trim|implode|ord|\n uc(first|words)|join|parse_str|print(f)?|echo|explode|v?[fs]?printf|quoted_printable_(decode|encode)|\n quotemeta|wordwrap|lcfirst|[lr]trim|localeconv|levenshtein|addc?slashes|get_html_translation_table\n)\\b", - "name": "support.function.string.php" - }, - { - "match": "(?xi)\\b\nsybase_(\n set_message_handler|select_db|num_(fields|rows)|connect|close|deadlock_retry_count|data_seek|\n unbuffered_query|pconnect|query|field_seek|fetch_(object|field|assoc|array|row)|free_result|\n affected_rows|result|get_last_message|min_(client|error|message|server)_severity\n)\\b", - "name": "support.function.sybase.php" - }, - { - "match": "(?i)\\b(taint|is_tainted|untaint)\\b", - "name": "support.function.taint.php" - }, - { - "match": "(?xi)\\b\n(\n tidy_((get|set)opt|set_encoding|save_config|config_count|clean_repair|is_(xhtml|xml)|diagnose|\n (access|error|warning)_count|load_config|reset_config|(parse|repair)_(string|file)|\n get_(status|html(_ver)?|head|config|output|opt_doc|root|release|body))|\n ob_tidyhandler\n)\\b", - "name": "support.function.tidy.php" - }, - { - "match": "(?i)\\btoken_(name|get_all)\\b", - "name": "support.function.tokenizer.php" - }, - { - "match": "(?xi)\\b\ntrader_(\n stoch(f|r|rsi)?|stddev|sin(h)?|sum|sub|set_(compat|unstable_period)|sqrt|sar(ext)?|sma|\n ht_(sine|trend(line|mode)|dc(period|phase)|phasor)|natr|cci|cos(h)?|correl|\n cdl(shootingstar|shortline|sticksandwich|stalledpattern|spinningtop|separatinglines|\n hikkake(mod)?|highwave|homingpigeon|hangingman|harami(cross)?|hammer|concealbabyswall|\n counterattack|closingmarubozu|thrusting|tasukigap|takuri|tristar|inneck|invertedhammer|\n identical3crows|2crows|onneck|doji(star)?|darkcloudcover|dragonflydoji|unique3river|\n upsidegap2crows|3(starsinsouth|inside|outside|whitesoldiers|linestrike|blackcrows)|\n piercing|engulfing|evening(doji)?star|kicking(bylength)?|longline|longleggeddoji|\n ladderbottom|advanceblock|abandonedbaby|risefall3methods|rickshawman|gapsidesidewhite|\n gravestonedoji|xsidegap3methods|morning(doji)?star|mathold|matchinglow|marubozu|\n belthold|breakaway)|\n ceil|cmo|tsf|typprice|t3|tema|tan(h)?|trix|trima|trange|obv|div|dema|dx|ultosc|ppo|\n plus_d[im]|errno|exp|ema|var|kama|floor|wclprice|willr|wma|ln|log10|bop|beta|bbands|\n linearreg(_(slope|intercept|angle))?|asin|acos|atan|atr|adosc|ad|add|adx(r)?|apo|avgprice|\n aroon(osc)?|rsi|roc|rocp|rocr(100)?|get_(compat|unstable_period)|min(index)?|minus_d[im]|\n minmax(index)?|mid(point|price)|mom|mult|medprice|mfi|macd(ext|fix)?|mavp|max(index)?|ma(ma)?\n)\\b", - "name": "support.function.trader.php" - }, - { - "match": "(?i)\\buopz_(copy|compose|implement|overload|delete|undefine|extend|function|flags|restore|rename|redefine|backup)\\b", - "name": "support.function.uopz.php" - }, - { - "match": "(?i)\\b(http_build_query|(raw)?url(decode|encode)|parse_url|get_(headers|meta_tags)|base64_(decode|encode))\\b", - "name": "support.function.url.php" - }, - { - "match": "(?xi)\\b\n(\n strval|settype|serialize|(bool|double|float)val|debug_zval_dump|intval|import_request_variables|isset|\n is_(scalar|string|null|numeric|callable|int(eger)?|object|double|float|long|array|resource|real|bool)|\n unset|unserialize|print_r|empty|var_(dump|export)|gettype|get_(defined_vars|resource_type)\n)\\b", - "name": "support.function.var.php" - }, - { - "match": "(?i)\\bwddx_(serialize_(value|vars)|deserialize|packet_(start|end)|add_vars)\\b", - "name": "support.function.wddx.php" - }, - { - "match": "(?i)\\bxhprof_(sample_)?(disable|enable)\\b", - "name": "support.function.xhprof.php" - }, - { - "match": "(?xi)\n\\b\n(\n utf8_(decode|encode)|\n xml_(set_((notation|(end|start)_namespace|unparsed_entity)_decl_handler|\n (character_data|default|element|external_entity_ref|processing_instruction)_handler|object)|\n parse(_into_struct)?|parser_((get|set)_option|create(_ns)?|free)|error_string|\n get_(current_((column|line)_number|byte_index)|error_code))\n)\\b", - "name": "support.function.xml.php" - }, - { - "match": "(?xi)\\b\nxmlrpc_(\n server_(call_method|create|destroy|add_introspection_data|register_(introspection_callback|method))|\n is_fault|decode(_request)?|parse_method_descriptions|encode(_request)?|(get|set)_type\n)\\b", - "name": "support.function.xmlrpc.php" - }, - { - "match": "(?xi)\\b\nxmlwriter_(\n (end|start|write)_(comment|cdata|dtd(_(attlist|entity|element))?|document|pi|attribute|element)|\n (start|write)_(attribute|element)_ns|write_raw|set_indent(_string)?|text|output_memory|open_(memory|uri)|\n full_end_element|flush|\n)\\b", - "name": "support.function.xmlwriter.php" - }, - { - "match": "(?xi)\\b\n(\n zlib_(decode|encode|get_coding_type)|readgzfile|\n gz(seek|compress|close|tell|inflate|open|decode|deflate|uncompress|puts|passthru|encode|eof|file|\n write|rewind|read|getc|getss?)\n)\\b", - "name": "support.function.zlib.php" - }, - { - "match": "(?i)\\bis_int(eger)?\\b", - "name": "support.function.alias.php" - } - ] - }, - "switch_statement": { - "patterns": [ - { - "match": "\\s+(?=switch\\b)" - }, - { - "begin": "\\bswitch\\b(?!\\s*\\(.*\\)\\s*:)", - "beginCaptures": { - "0": { - "name": "keyword.control.switch.php" - } - }, - "end": "}|(?=\\?>)", - "endCaptures": { - "0": { - "name": "punctuation.definition.section.switch-block.end.bracket.curly.php" - } - }, - "name": "meta.switch-statement.php", - "patterns": [ - { - "begin": "\\(", - "beginCaptures": { - "0": { - "name": "punctuation.definition.switch-expression.begin.bracket.round.php" - } - }, - "end": "\\)|(?=\\?>)", - "endCaptures": { - "0": { - "name": "punctuation.definition.switch-expression.end.bracket.round.php" - } - }, - "patterns": [ - { - "include": "#language" - } - ] - }, - { - "begin": "{", - "beginCaptures": { - "0": { - "name": "punctuation.definition.section.switch-block.begin.bracket.curly.php" - } - }, - "end": "(?=}|\\?>)", - "patterns": [ - { - "include": "#language" - } - ] - } - ] - } - ] - }, - "use-inner": { - "patterns": [ - { - "include": "#comments" - }, - { - "begin": "(?i)\\b(as)\\s+", - "beginCaptures": { - "1": { - "name": "keyword.other.use-as.php" - } - }, - "end": "(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*", - "endCaptures": { - "0": { - "name": "entity.other.alias.php" - } - } - }, - { - "include": "#class-name" - }, - { - "match": ",", - "name": "punctuation.separator.delimiter.php" - } - ] - }, - "var_basic": { - "patterns": [ - { - "captures": { - "1": { - "name": "punctuation.definition.variable.php" - } - }, - "match": "(?i)(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*\\b", - "name": "variable.other.php" - } - ] - }, - "var_global": { - "captures": { - "1": { - "name": "punctuation.definition.variable.php" - } - }, - "match": "(\\$)((_(COOKIE|FILES|GET|POST|REQUEST))|arg(v|c))\\b", - "name": "variable.other.global.php" - }, - "var_global_safer": { - "captures": { - "1": { - "name": "punctuation.definition.variable.php" - } - }, - "match": "(\\$)((GLOBALS|_(ENV|SERVER|SESSION)))", - "name": "variable.other.global.safer.php" - }, - "var_language": { - "match": "(\\$)this\\b", - "name": "variable.language.this.php", - "captures": { - "1": { - "name": "punctuation.definition.variable.php" - } - } - }, - "variable-name": { - "patterns": [ - { - "include": "#var_global" - }, - { - "include": "#var_global_safer" - }, - { - "captures": { - "1": { - "name": "variable.other.php" - }, - "2": { - "name": "punctuation.definition.variable.php" - }, - "4": { - "name": "keyword.operator.class.php" - }, - "5": { - "name": "variable.other.property.php" - }, - "6": { - "name": "punctuation.section.array.begin.php" - }, - "7": { - "name": "constant.numeric.index.php" - }, - "8": { - "name": "variable.other.index.php" - }, - "9": { - "name": "punctuation.definition.variable.php" - }, - "10": { - "name": "string.unquoted.index.php" - }, - "11": { - "name": "punctuation.section.array.end.php" - } - }, - "match": "(?xi)\n((\\$)(?[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*))\n(?:\n (->)(\\g)\n |\n (\\[)(?:(\\d+)|((\\$)\\g)|([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*))(\\])\n)?" - }, - { - "captures": { - "1": { - "name": "variable.other.php" - }, - "2": { - "name": "punctuation.definition.variable.php" - }, - "4": { - "name": "punctuation.definition.variable.php" - } - }, - "match": "(?i)((\\${)(?[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)(}))" - } - ] - }, - "variables": { - "patterns": [ - { - "include": "#var_language" - }, - { - "include": "#var_global" - }, - { - "include": "#var_global_safer" - }, - { - "include": "#var_basic" - }, - { - "begin": "\\${(?=.*?})", - "beginCaptures": { - "0": { - "name": "punctuation.definition.variable.php" - } - }, - "end": "}", - "endCaptures": { - "0": { - "name": "punctuation.definition.variable.php" - } - }, - "patterns": [ - { - "include": "#language" - } - ] - } - ] - } - } -} diff --git a/my-snippets/laravel-blade/tests/test.blade.php b/my-snippets/laravel-blade/tests/test.blade.php deleted file mode 100644 index 1e6b2d0..0000000 --- a/my-snippets/laravel-blade/tests/test.blade.php +++ /dev/null @@ -1,517 +0,0 @@ -

    Blade Syntax Highlighting Tests

    - -{{-- Displaying Data --}} -Hello, {{ $name }}. -The current UNIX timestamp is {{ time() }}. - -{{-- Escape Data --}} -Hello, {{{ $name }}}. - -{{-- Echoing Data If It Exists --}} -{{ isset($name) ? $name : 'Default' }} -{{ $name or 'Default' }} - -
    - -{{-- Displaying Unescaped Data --}} -Hello, {!! $name !!}. - -{{-- Rendering JSON --}} - - -{{-- Blade & JavaScript Frameworks --}} -Hello, @{{ name }}. - -{{-- Blade --}} -@@json() - - -@json() - -@verbatim -
    - Hello, {{ name }}. -
    -@endverbatim - -{{-- Control Structures --}} - -{{-- If Statements --}} -@if (count($records) === 1) - I have one record! -@elseif (count($records) > 1) - I have multiple records! -@else - I don't have any records! -@endif - -@unless (Auth::check()) - You are not signed in. -@endunless - - -@isset($records) - // $records is defined and is not null... -@endisset - -@empty($records) - // $records is "empty"... -@endempty - - -{{-- Authentication Directives --}} - -@auth - // The user is authenticated... -@endauth - -@guest - // The user is not authenticated... -@endguest - -@auth('admin') - // The user is authenticated... -@endauth - -@guest('admin') - // The user is not authenticated... -@endguest - - -{{-- Section Directives --}} - -@hasSection('navigation') -
    - @yield('navigation') -
    - -
    -@endif - -@sectionMissing('navigation') -
    - @include('default-navigation') -
    -@endif - - -{{-- Environment Directives --}} - -@production - // Production specific content... -@endproduction - -@env('staging') - // The application is running in "staging"... -@endenv - -@env(['staging', 'production']) - // The application is running in "staging" or "production"... -@endenv - - -{{-- Section Directives --}} - -@hasSection('navigation') -
    - @yield('navigation') -
    - -
    -@endif - -@sectionMissing('navigation') -
    - @include('default-navigation') -
    -@endif - - -{{-- Switch Statements --}} - -@switch($i) - @case(1) - First case... - @break - - @case(2) - Second case... - @break - - @default - Default case... -@endswitch - - -{{-- Loops --}} - -@for ($i = 0; $i < 10; $i++) - The current value is {{ $i }} -@endfor - -@foreach ($users as $user) -

    This is user {{ $user->id }}

    -@endforeach - -@forelse ($users as $user) -
  • {{ $user->name }}
  • -@empty -

    No users

    -@endforelse - -@while (true) -

    I'm looping forever.

    -@endwhile - -{{-- continue & break --}} -@foreach ($users as $user) - - @if ($user->type == 1) - @continue - @endif - -
  • {{ $user->name }}
  • - - @if ($user->number == 5) - @break - @endif - - @continue($user->type == 1) -
  • {{ $user->name }}
  • - @break($user->number == 5) - -@endforeach - -@foreach ($users as $user) - @continue($user->type == 1) - -
  • {{ $user->name }}
  • - - @break($user->number == 5) -@endforeach - - -{{-- The Loop Variable --}} - -@foreach ($users as $user) - @if ($loop->first) - This is the first iteration. - @endif - - @if ($loop->last) - This is the last iteration. - @endif - -

    This is user {{ $user->id }}

    - - {{-- $loop->parent --}} - @foreach ($user->posts as $post) - @if ($loop->parent->first) - This is the first iteration of the parent loop. - @endif - @endforeach -@endforeach - - -{{-- Loop Variables --}} - - {{-- The index of the current loop iteration (starts at 0) --}} - {{ $loop->index }} - {{-- The current loop iteration (starts at 1) --}} - {{ $loop->iteration }} - {{-- The iteration remaining in the loop --}} - {{ $loop->remaining }} - {{-- The total number of items in the array being iterated --}} - {{ $loop->count }} - {{-- Whether this is the first iteration through the loop --}} - {{ $loop->first }} - {{-- Whether this is the last iteration through the loop --}} - {{ $loop->last }} - {{-- The nesting level of the current loop --}} - {{ $loop->depth }} - {{-- When in a nested loop, the parent's loop variable --}} - {{ $loop->parent }} - -@endforeach - -{{-- Comments --}} -{{-- This comment will not be present in the rendered HTML --}} - -{{-- -This comment will not be in the rendered HTML -This comment will not be in the rendered HTML -This comment will not be in the rendered HTML ---}} - -{{-- PHP --}} - - -format('m/d/Y H:i'); ?> - - - -@php ($hello = "hello world") - -@php - foreach (range(1, 10) as $number) { - echo $number; - } -@endphp - - -{{-- Conditional Classes : `@class` directive --}} - -@php - $isActive = false; - $hasError = true; -@endphp - - $isActive, - 'text-gray-500' => ! $isActive, - 'bg-red' => $hasError, -])> - - - - -{{-- The @once Directive --}} - -@once - @push('scripts') - - @endpush -@endonce - -{{-- Forms --}} -
    - @csrf - @method('PUT') -
    - -{{-- Validation Errors --}} - - - - - -@error('title') -
    {{ $message }}
    -@enderror - - -{{-- Components --}} - - - - - - - - -{{-- Component attribute expressions --}} - - - -{{-- Including Sub-Views --}} -
    - @include('shared.errors') -
    - -
    -
    - -@include('view.name') -@include('view.name', ['some' => 'data']) -@includeIf('view.name', ['some' => 'data']) -@includeWhen($boolean, 'view.name', ['some' => 'data']) -@includeUnless($boolean, 'view.name', ['some' => 'data']) -@includeFirst(['custom.admin', 'admin'], ['some' => 'data']) - -{{-- Rendering Views For Collections --}} -@each('view.name', $jobs, 'job') -@each('view.name', $jobs, 'job', 'view.empty') - -{{-- Stacks --}} -@push('scripts') - -@endpush - -@stack('scripts') - -@prepend('scripts') - This will be first... -@endprepend - -{{-- Service Injection --}} -@inject('metrics', 'App\Services\MetricsService') -
    - Monthly Revenue: {{ $metrics->monthlyRevenue() }}. -
    - - -{{-- Retrieving Translation Strings --}} -@lang('messages.welcome') - -{{-- 5.3 --}} -{{ trans('messages.welcome') }} -{{-- 5.4 --}} -{{ __('messages.welcome') }} - -{{-- Pluralization --}} -@choice('messages.apples', 10) - -{{-- 'apples' => '{0} There are none|[1,19] There are some|[20,Inf] There are many', --}} -{{ trans_choice('messages.apples', 10) }} - -{{-- Replacing Parameters In Translation Strings --}} -{{-- 'greeting' => 'Welcome, :name', --}} -{{ __('messages.greeting', ['name' => 'Winnie']) }} - - -{{-- Authorizing --}} - -@can('update', $post) - -@elsecan('create', App\Models\Post::class) - -@endcan - -@canany(['update'], $post) - -@elsecanany(['create'], App\Models\Post::class) - -@endcanany - -@cannot('update', $post) - -@elsecannot('create', App\Models\Post::class) - -@endcannot - -@if (Auth::user()->can('update', $post)) - -@endif - -@unless (Auth::user()->can('update', $post)) - -@endunless - -@can('create', App\Models\Post::class) - -@endcan - -@canany(['create'], App\Models\Post::class) - -@endcanany - -@cannot('create', App\Models\Post::class) - -@endcannot - -{{-- Retrieving Translation Strings --}} - -{{ __('messages.welcome') }} -@lang('messages.welcome') - -@props(['type' => 'info', 'message']) - - -{{-- Envoy --}} - -@setup -require __DIR__.'/vendor/autoload.php'; -$dotenv = new Dotenv\Dotenv(__DIR__); -@endsetup - -@servers(['web' => $server]) - -@task('init') -if [ ! -d {{ $path }}/current ]; then -cd {{ $path }} -@endtask - -@story('deploy') -deployment_start -deployment_composer -deployment_finish -@endstory - -{{-- Livewire --}} - -@livewireStyles -@livewireScripts - -@livewire('user-profile', ['user' => $user], key($user->id)) - -{{-- Checked / Selected / Disabled Blade Directives (9.x) --}} - -active)) /> - - - - \ No newline at end of file diff --git a/my-snippets/laravel-blade/tsconfig.json b/my-snippets/laravel-blade/tsconfig.json deleted file mode 100644 index 7fc62d4..0000000 --- a/my-snippets/laravel-blade/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "target": "es6", - "outDir": "out", - "lib": [ - "es6" - ], - "sourceMap": true, - "rootDir": ".", - "skipLibCheck": true, - "allowSyntheticDefaultImports": true - }, - "exclude": [ - "server" - ] -} diff --git a/my-snippets/laravel-blade/webpack.config.js b/my-snippets/laravel-blade/webpack.config.js deleted file mode 100644 index 6840f1e..0000000 --- a/my-snippets/laravel-blade/webpack.config.js +++ /dev/null @@ -1,37 +0,0 @@ -//@ts-check - -'use strict'; - -const path = require('path'); - -/**@type {import('webpack').Configuration}*/ -const config = { - target: 'node', - entry: './src/extension.ts', - output: { - path: path.resolve(__dirname, 'out'), - filename: 'extension.js', - libraryTarget: 'commonjs2' - }, - devtool: 'source-map', - externals: { - vscode: 'commonjs vscode' - }, - resolve: { - extensions: ['.ts', '.js'] - }, - module: { - rules: [ - { - test: /\.ts$/, - exclude: /node_modules/, - use: [ - { - loader: 'ts-loader' - } - ] - } - ] - } -}; -module.exports = config; \ No newline at end of file diff --git a/my-snippets/laravel-blade2/.eslintrc.json b/my-snippets/laravel-blade2/.eslintrc.json deleted file mode 100644 index 8d9ce46..0000000 --- a/my-snippets/laravel-blade2/.eslintrc.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "root": true, - "parser": "@typescript-eslint/parser", - "parserOptions": { - "ecmaVersion": 6, - "sourceType": "module" - }, - "plugins": [ - "@typescript-eslint" - ], - "rules": { - "@typescript-eslint/class-name-casing": "warn", - "@typescript-eslint/semi": "warn", - "curly": "warn", - "eqeqeq": "warn", - "no-throw-literal": "warn", - "semi": "off" - } -} diff --git a/my-snippets/laravel-blade2/.gitignore b/my-snippets/laravel-blade2/.gitignore deleted file mode 100644 index db8fe7b..0000000 --- a/my-snippets/laravel-blade2/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -dist -node_modules -*.vsix diff --git a/my-snippets/laravel-blade2/.vscode/launch.json b/my-snippets/laravel-blade2/.vscode/launch.json deleted file mode 100644 index 96d0dae..0000000 --- a/my-snippets/laravel-blade2/.vscode/launch.json +++ /dev/null @@ -1,18 +0,0 @@ -// A launch configuration that launches the extension inside a new window -// Use IntelliSense to learn about possible attributes. -// Hover to view descriptions of existing attributes. -// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 -{ - "version": "0.2.0", - "configurations": [ - { - "name": "Extension", - "type": "extensionHost", - "request": "launch", - "runtimeExecutable": "${execPath}", - "args": [ - "--extensionDevelopmentPath=${workspaceFolder}" - ] - } - ] -} \ No newline at end of file diff --git a/my-snippets/laravel-blade2/.vscodeignore b/my-snippets/laravel-blade2/.vscodeignore deleted file mode 100644 index 129af99..0000000 --- a/my-snippets/laravel-blade2/.vscodeignore +++ /dev/null @@ -1,4 +0,0 @@ -.vscode -.gitignore -.eslintrc.json -tsconfig.json diff --git a/my-snippets/laravel-blade2/CHANGELOG.md b/my-snippets/laravel-blade2/CHANGELOG.md deleted file mode 100644 index 73e6227..0000000 --- a/my-snippets/laravel-blade2/CHANGELOG.md +++ /dev/null @@ -1,13 +0,0 @@ -# Change Log - -All notable changes to the "Laravel Blade" extension will be documented in this file. - -Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file. - -## [v2.0.4] - -- Add switch statements - -## [Released] - -- Initial release \ No newline at end of file diff --git a/my-snippets/laravel-blade2/LICENSE b/my-snippets/laravel-blade2/LICENSE deleted file mode 100644 index b0a87bb..0000000 --- a/my-snippets/laravel-blade2/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright 2020 Amir Marmul - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/my-snippets/laravel-blade2/README.md b/my-snippets/laravel-blade2/README.md deleted file mode 100644 index f251d38..0000000 --- a/my-snippets/laravel-blade2/README.md +++ /dev/null @@ -1,60 +0,0 @@ -# Laravel Blade - -[![Visual Studio Marketplace Downloads](https://img.shields.io/visual-studio-marketplace/d/amirmarmul.laravel-blade-vscode?label=vscode%20downloads)](https://marketplace.visualstudio.com/items?itemName=amirmarmul.laravel-blade-vscode) -[![Open VSX Downloads](https://img.shields.io/open-vsx/dt/amirmarmul/laravel-blade-vscode?label=open-vsx%20downloads)](https://open-vsx.org/extension/amirmarmul/laravel-blade-vscode) - -Laravel Blade Snippets, Syntax Highlighting and Formatting for VS Code. - -Converted from [language-blade](https://github.com/jawee/language-blade). - -## User Setting - -Enable html emmet: - ->```json ->"emmet.includeLanguages": { -> "blade": "html" ->}, ->``` - -## Features -- Syntax highlighter -- Blade snippets -- Blade formatting - -## Screenshoot -![Screenshoot](images/screenshot.png) - -## Known Issues - -Calling out known issues can help limit users opening duplicate issues against your extension. - -## Release Notes - -Users appreciate release notes as you update your extension. - -### 2.0.2 - -- Add support to vscode 1.37 - -### 2.0.1 - -- Update README.md file - -### 2.0.0 - -- Added blade formatting -- Change codebase to newest vscode extension template - -### 1.0.3 - -- Added some new directive based on Laravel 6.x - -### 1.0.2 - -- Update README.md -- Compatible with vscode 1.39 and above - -### 1.0.0 - -Initial release diff --git a/my-snippets/laravel-blade2/images/icon.png b/my-snippets/laravel-blade2/images/icon.png deleted file mode 100644 index 57eb55f..0000000 Binary files a/my-snippets/laravel-blade2/images/icon.png and /dev/null differ diff --git a/my-snippets/laravel-blade2/images/screenshot.png b/my-snippets/laravel-blade2/images/screenshot.png deleted file mode 100644 index ab6c808..0000000 Binary files a/my-snippets/laravel-blade2/images/screenshot.png and /dev/null differ diff --git a/my-snippets/laravel-blade2/package-lock.json b/my-snippets/laravel-blade2/package-lock.json deleted file mode 100644 index a2fe16d..0000000 --- a/my-snippets/laravel-blade2/package-lock.json +++ /dev/null @@ -1,4769 +0,0 @@ -{ - "name": "laravel-blade-vscode", - "version": "2.0.4", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "laravel-blade-vscode", - "version": "2.0.4", - "dependencies": { - "js-beautify": "^1.10.3" - }, - "devDependencies": { - "@types/glob": "^7.1.1", - "@types/mocha": "^7.0.1", - "@types/node": "^12.11.7", - "@types/vscode": "^1.37.0", - "@typescript-eslint/eslint-plugin": "^2.18.0", - "@typescript-eslint/parser": "^2.18.0", - "eslint": "^6.8.0", - "glob": "^7.1.6", - "mocha": "^7.0.1", - "typescript": "^3.7.5", - "vscode-test": "^1.3.0" - }, - "engines": { - "vscode": "^1.37.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.8.3" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.0.tgz", - "integrity": "sha512-6G8bQKjOh+of4PV/ThDm/rRqlU7+IGoJuofpagU5GlEl29Vv0RGqqt86ZGRV8ZuSOY3o+8yXl5y782SMcG7SHw==", - "dev": true - }, - "node_modules/@babel/highlight": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz", - "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.9.0", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "node_modules/@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", - "dev": true - }, - "node_modules/@types/eslint-visitor-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", - "dev": true - }, - "node_modules/@types/events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", - "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", - "dev": true - }, - "node_modules/@types/glob": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", - "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", - "dev": true, - "dependencies": { - "@types/events": "*", - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz", - "integrity": "sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==", - "dev": true - }, - "node_modules/@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", - "dev": true - }, - "node_modules/@types/mocha": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-7.0.2.tgz", - "integrity": "sha512-ZvO2tAcjmMi8V/5Z3JsyofMe3hasRcaw88cto5etSVMwVQfeivGAlEYmaQgceUSVYFofVjT+ioHsATjdWcFt1w==", - "dev": true - }, - "node_modules/@types/node": { - "version": "12.12.30", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.30.tgz", - "integrity": "sha512-sz9MF/zk6qVr3pAnM0BSQvYIBK44tS75QC5N+VbWSE4DjCV/pJ+UzCW/F+vVnl7TkOPcuwQureKNtSSwjBTaMg==", - "dev": true - }, - "node_modules/@types/vscode": { - "version": "1.43.0", - "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.43.0.tgz", - "integrity": "sha512-kIaR9qzd80rJOxePKpCB/mdy00mz8Apt2QA5Y6rdrKFn13QNFNeP3Hzmsf37Bwh/3cS7QjtAeGSK7wSqAU0sYQ==", - "dev": true - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "2.24.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.24.0.tgz", - "integrity": "sha512-wJRBeaMeT7RLQ27UQkDFOu25MqFOBus8PtOa9KaT5ZuxC1kAsd7JEHqWt4YXuY9eancX0GK9C68i5OROnlIzBA==", - "dev": true, - "dependencies": { - "@typescript-eslint/experimental-utils": "2.24.0", - "eslint-utils": "^1.4.3", - "functional-red-black-tree": "^1.0.1", - "regexpp": "^3.0.0", - "tsutils": "^3.17.1" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^2.0.0", - "eslint": "^5.0.0 || ^6.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "2.24.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.24.0.tgz", - "integrity": "sha512-DXrwuXTdVh3ycNCMYmWhUzn/gfqu9N0VzNnahjiDJvcyhfBy4gb59ncVZVxdp5XzBC77dCncu0daQgOkbvPwBw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "2.24.0", - "eslint-scope": "^5.0.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "2.24.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.24.0.tgz", - "integrity": "sha512-H2Y7uacwSSg8IbVxdYExSI3T7uM1DzmOn2COGtCahCC3g8YtM1xYAPi2MAHyfPs61VKxP/J/UiSctcRgw4G8aw==", - "dev": true, - "dependencies": { - "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "2.24.0", - "@typescript-eslint/typescript-estree": "2.24.0", - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^5.0.0 || ^6.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "2.24.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.24.0.tgz", - "integrity": "sha512-RJ0yMe5owMSix55qX7Mi9V6z2FDuuDpN6eR5fzRJrp+8in9UF41IGNQHbg5aMK4/PjVaEQksLvz0IA8n+Mr/FA==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "eslint-visitor-keys": "^1.1.0", - "glob": "^7.1.6", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^6.3.0", - "tsutils": "^3.17.1" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "node_modules/acorn": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz", - "integrity": "sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", - "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0" - } - }, - "node_modules/agent-base": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", - "dev": true, - "dependencies": { - "es6-promisify": "^5.0.0" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-colors": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "dev": true, - "dependencies": { - "type-fest": "^0.11.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c= sha512-9Y0g0Q8rmSt+H33DfKv7FOc3v+iRI+o1lbzt8jGcIosYW37IIW/2XVYq5NPdmaD5NQ59Nk26Kl/vZbwW9Fr8vg==" - }, - "node_modules/binary-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", - "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "node_modules/chokidar": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", - "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", - "dev": true, - "dependencies": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.2.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.1.1" - } - }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= sha512-EJLbKSuvHTrVRynOXCYFTbQKZOFXWNe3/6DN1yrEH3TuuZT1x4dMQnCHnfCrBUUiGjO63enEIfaB17VaRl2d4A==", - "dev": true - }, - "node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/cliui/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "node_modules/cliui/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/cliui/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "node_modules/config-chain": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", - "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", - "dependencies": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/cross-spawn/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= sha512-GtxAN4HvBachZzm4OnWqc45ESpUCMwkYcsjnsPs23FwJbsO+k4t0k9bQCgOmzIlpHO28+WPK/KRbRk0DDHuuDw==", - "dev": true - }, - "node_modules/define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "dependencies": { - "object-keys": "^1.0.12" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/editorconfig": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", - "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", - "dependencies": { - "commander": "^2.19.0", - "lru-cache": "^4.1.5", - "semver": "^5.6.0", - "sigmund": "^1.0.1" - }, - "bin": { - "editorconfig": "bin/editorconfig" - } - }, - "node_modules/editorconfig/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/es-abstract": { - "version": "1.17.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", - "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", - "dev": true, - "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.1.5", - "is-regex": "^1.0.5", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimleft": "^2.1.1", - "string.prototype.trimright": "^2.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", - "dev": true - }, - "node_modules/es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM= sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", - "dev": true, - "dependencies": { - "es6-promise": "^4.0.3" - } - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/eslint": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", - "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.14", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.3", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^6.1.2", - "strip-ansi": "^5.2.0", - "strip-json-comments": "^3.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-scope": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", - "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", - "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true, - "engines": { - "node": ">=6.5.0" - } - }, - "node_modules/espree": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", - "dev": true, - "dependencies": { - "acorn": "^7.1.1", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.1.0.tgz", - "integrity": "sha512-MxYW9xKmROWF672KqjO75sszsA8Mxhw06YFeS5VHlB98KDHbOSurm3ArsjO60Eaf3QmGMCP1yn+0JQkNLo/97Q==", - "dev": true, - "dependencies": { - "estraverse": "^4.0.0" - }, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "dev": true, - "dependencies": { - "estraverse": "^4.1.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", - "dev": true - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "dev": true, - "dependencies": { - "flat-cache": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/flat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", - "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", - "deprecated": "Fixed a prototype pollution security issue in 4.1.0, please upgrade to ^4.1.1 or ^5.0.1.", - "dev": true, - "dependencies": { - "is-buffer": "~2.0.3" - }, - "bin": { - "flat": "cli.js" - } - }, - "node_modules/flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "dev": true, - "dependencies": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/flatted": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", - "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", - "dev": true - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8= sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "node_modules/fsevents": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz", - "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==", - "deprecated": "\"Please update to latest v2.3 or v2.2\"", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "dependencies": { - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "dev": true, - "engines": { - "node": ">=4.x" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0= sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "bin": { - "he": "bin/he" - } - }, - "node_modules/http-proxy-agent": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", - "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", - "dev": true, - "dependencies": { - "agent-base": "4", - "debug": "3.1.0" - }, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/http-proxy-agent/node_modules/debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/http-proxy-agent/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/https-proxy-agent": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", - "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", - "dev": true, - "dependencies": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" - }, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/https-proxy-agent/node_modules/debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o= sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "node_modules/inquirer": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz", - "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.15", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.5.3", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/inquirer/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "dependencies": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/inquirer/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/inquirer/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/inquirer/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-buffer": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", - "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/is-callable": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", - "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= sha512-NECAi6wp6CgMesHuVUEK8JwjCvm/tvnn5pCbB42JOHp3mgUizN0nagXu4HEqQZBkieGEQ+jVcMKWqoVd6CDbLQ==", - "dev": true - }, - "node_modules/is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/js-beautify": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.10.3.tgz", - "integrity": "sha512-wfk/IAWobz1TfApSdivH5PJ0miIHgDoYb1ugSqHcODPmaYu46rYe5FVuIEkhjg8IQiv6rDNPyhsqbsohI/C2vQ==", - "dependencies": { - "config-chain": "^1.1.12", - "editorconfig": "^0.15.3", - "glob": "^7.1.3", - "mkdirp": "~0.5.1", - "nopt": "~4.0.1" - }, - "bin": { - "css-beautify": "js/bin/css-beautify.js", - "html-beautify": "js/bin/html-beautify.js", - "js-beautify": "js/bin/js-beautify.js" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "node_modules/log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", - "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/mkdirp": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", - "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", - "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mocha": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.1.1.tgz", - "integrity": "sha512-3qQsu3ijNS3GkWcccT5Zw0hf/rWvu1fTN9sPvEd81hlwsr30GX2GcDSSoBxo24IR8FelmrAydGC6/1J5QQP4WA==", - "dev": true, - "dependencies": { - "ansi-colors": "3.2.3", - "browser-stdout": "1.3.1", - "chokidar": "3.3.0", - "debug": "3.2.6", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "find-up": "3.0.0", - "glob": "7.1.3", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "3.13.1", - "log-symbols": "3.0.0", - "minimatch": "3.0.4", - "mkdirp": "0.5.3", - "ms": "2.1.1", - "node-environment-flags": "1.0.6", - "object.assign": "4.1.0", - "strip-json-comments": "2.0.1", - "supports-color": "6.0.0", - "which": "1.3.1", - "wide-align": "1.1.3", - "yargs": "13.3.2", - "yargs-parser": "13.1.2", - "yargs-unparser": "1.6.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha" - }, - "engines": { - "node": ">= 8.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" - } - }, - "node_modules/mocha/node_modules/debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/mocha/node_modules/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - } - }, - "node_modules/mocha/node_modules/ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "node_modules/mocha/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo= sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mocha/node_modules/supports-color": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", - "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "node_modules/node-environment-flags": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", - "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", - "dev": true, - "dependencies": { - "object.getownpropertydescriptors": "^2.0.3", - "semver": "^5.7.0" - } - }, - "node_modules/node-environment-flags/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/nopt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", - "dependencies": { - "abbrev": "1", - "osenv": "^0.1.4" - }, - "bin": { - "nopt": "bin/nopt.js" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E= sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M= sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dependencies": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "node_modules/p-limit": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", - "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18= sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==" - }, - "node_modules/pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM= sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/readdirp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", - "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", - "dev": true, - "dependencies": { - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/regexpp": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.0.0.tgz", - "integrity": "sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I= sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/run-async": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.0.tgz", - "integrity": "sha512-xJTbh/d7Lm7SBhc1tNvTpeCHaEzoyxPrqNlvSdMfBTYwaY++UJFyXUOxAtsRUXjlqOfj8luNaR9vjCh4KeV+pg==", - "dev": true, - "dependencies": { - "is-promise": "^2.1.0" - }, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc= sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true - }, - "node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "dev": true, - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sigmund": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA= sha512-fCvEXfh6NWpm+YSuY2bpXb/VIihqWA6hLsgboC+0nl71Q7N7o2eaCW8mJa/NLvQhs6jpd3VZV4UiUQlV6+lc8g==" - }, - "node_modules/signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= sha512-meQNNykwecVxdu1RlYMKpQx4+wefIYpmxi6gexo/KAbwquJrBUrBmKYJrE8KFkVQAAVWEnwNdu21PgrD77J3xA==", - "dev": true - }, - "node_modules/slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "node_modules/string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string.prototype.trimleft": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", - "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimright": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", - "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-json-comments": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", - "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dev": true, - "dependencies": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/table/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "node_modules/table/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/table/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true - }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/tslib": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", - "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==", - "dev": true - }, - "node_modules/tsutils": { - "version": "3.17.1", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", - "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/typescript": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz", - "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/v8-compile-cache": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", - "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", - "dev": true - }, - "node_modules/vscode-test": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/vscode-test/-/vscode-test-1.3.0.tgz", - "integrity": "sha512-LddukcBiSU2FVTDr3c1D8lwkiOvwlJdDL2hqVbn6gIz+rpTqUCkMZSKYm94Y1v0WXlHSDQBsXyY+tchWQgGVsw==", - "deprecated": "This package has been renamed to @vscode/test-electron, please update to the new name", - "dev": true, - "dependencies": { - "http-proxy-agent": "^2.1.0", - "https-proxy-agent": "^2.2.4", - "rimraf": "^2.6.3" - }, - "engines": { - "node": ">=8.9.3" - } - }, - "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", - "dev": true - }, - "node_modules/wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, - "dependencies": { - "string-width": "^1.0.2 || 2" - } - }, - "node_modules/wide-align/node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/wide-align/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/wide-align/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/wide-align/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8= sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "dev": true, - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/wrap-ansi/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "node_modules/write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "dependencies": { - "mkdirp": "^0.5.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" - }, - "node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "node_modules/yargs-unparser": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", - "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", - "dev": true, - "dependencies": { - "flat": "^4.1.0", - "lodash": "^4.17.15", - "yargs": "^13.3.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "node_modules/yargs/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/yargs/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - } - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.8.3" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.0.tgz", - "integrity": "sha512-6G8bQKjOh+of4PV/ThDm/rRqlU7+IGoJuofpagU5GlEl29Vv0RGqqt86ZGRV8ZuSOY3o+8yXl5y782SMcG7SHw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz", - "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.9.0", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", - "dev": true - }, - "@types/eslint-visitor-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", - "dev": true - }, - "@types/events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", - "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", - "dev": true - }, - "@types/glob": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", - "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", - "dev": true, - "requires": { - "@types/events": "*", - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/json-schema": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz", - "integrity": "sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==", - "dev": true - }, - "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", - "dev": true - }, - "@types/mocha": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-7.0.2.tgz", - "integrity": "sha512-ZvO2tAcjmMi8V/5Z3JsyofMe3hasRcaw88cto5etSVMwVQfeivGAlEYmaQgceUSVYFofVjT+ioHsATjdWcFt1w==", - "dev": true - }, - "@types/node": { - "version": "12.12.30", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.30.tgz", - "integrity": "sha512-sz9MF/zk6qVr3pAnM0BSQvYIBK44tS75QC5N+VbWSE4DjCV/pJ+UzCW/F+vVnl7TkOPcuwQureKNtSSwjBTaMg==", - "dev": true - }, - "@types/vscode": { - "version": "1.43.0", - "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.43.0.tgz", - "integrity": "sha512-kIaR9qzd80rJOxePKpCB/mdy00mz8Apt2QA5Y6rdrKFn13QNFNeP3Hzmsf37Bwh/3cS7QjtAeGSK7wSqAU0sYQ==", - "dev": true - }, - "@typescript-eslint/eslint-plugin": { - "version": "2.24.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.24.0.tgz", - "integrity": "sha512-wJRBeaMeT7RLQ27UQkDFOu25MqFOBus8PtOa9KaT5ZuxC1kAsd7JEHqWt4YXuY9eancX0GK9C68i5OROnlIzBA==", - "dev": true, - "requires": { - "@typescript-eslint/experimental-utils": "2.24.0", - "eslint-utils": "^1.4.3", - "functional-red-black-tree": "^1.0.1", - "regexpp": "^3.0.0", - "tsutils": "^3.17.1" - } - }, - "@typescript-eslint/experimental-utils": { - "version": "2.24.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.24.0.tgz", - "integrity": "sha512-DXrwuXTdVh3ycNCMYmWhUzn/gfqu9N0VzNnahjiDJvcyhfBy4gb59ncVZVxdp5XzBC77dCncu0daQgOkbvPwBw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "2.24.0", - "eslint-scope": "^5.0.0" - } - }, - "@typescript-eslint/parser": { - "version": "2.24.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.24.0.tgz", - "integrity": "sha512-H2Y7uacwSSg8IbVxdYExSI3T7uM1DzmOn2COGtCahCC3g8YtM1xYAPi2MAHyfPs61VKxP/J/UiSctcRgw4G8aw==", - "dev": true, - "requires": { - "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "2.24.0", - "@typescript-eslint/typescript-estree": "2.24.0", - "eslint-visitor-keys": "^1.1.0" - } - }, - "@typescript-eslint/typescript-estree": { - "version": "2.24.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.24.0.tgz", - "integrity": "sha512-RJ0yMe5owMSix55qX7Mi9V6z2FDuuDpN6eR5fzRJrp+8in9UF41IGNQHbg5aMK4/PjVaEQksLvz0IA8n+Mr/FA==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "eslint-visitor-keys": "^1.1.0", - "glob": "^7.1.6", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^6.3.0", - "tsutils": "^3.17.1" - } - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "acorn": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz", - "integrity": "sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==", - "dev": true - }, - "acorn-jsx": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", - "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==", - "dev": true, - "requires": {} - }, - "agent-base": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", - "dev": true, - "requires": { - "es6-promisify": "^5.0.0" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-colors": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", - "dev": true - }, - "ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "dev": true, - "requires": { - "type-fest": "^0.11.0" - }, - "dependencies": { - "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true - } - } - }, - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c= sha512-9Y0g0Q8rmSt+H33DfKv7FOc3v+iRI+o1lbzt8jGcIosYW37IIW/2XVYq5NPdmaD5NQ59Nk26Kl/vZbwW9Fr8vg==" - }, - "binary-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", - "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "chokidar": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", - "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", - "dev": true, - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.1", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.2.0" - } - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= sha512-EJLbKSuvHTrVRynOXCYFTbQKZOFXWNe3/6DN1yrEH3TuuZT1x4dMQnCHnfCrBUUiGjO63enEIfaB17VaRl2d4A==", - "dev": true - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - }, - "dependencies": { - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - } - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "config-chain": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", - "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", - "requires": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= sha512-GtxAN4HvBachZzm4OnWqc45ESpUCMwkYcsjnsPs23FwJbsO+k4t0k9bQCgOmzIlpHO28+WPK/KRbRk0DDHuuDw==", - "dev": true - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "requires": { - "object-keys": "^1.0.12" - } - }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "editorconfig": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", - "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", - "requires": { - "commander": "^2.19.0", - "lru-cache": "^4.1.5", - "semver": "^5.6.0", - "sigmund": "^1.0.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "es-abstract": { - "version": "1.17.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", - "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.1.5", - "is-regex": "^1.0.5", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimleft": "^2.1.1", - "string.prototype.trimright": "^2.1.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", - "dev": true - }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM= sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", - "dev": true, - "requires": { - "es6-promise": "^4.0.3" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "eslint": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", - "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.14", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.3", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^6.1.2", - "strip-ansi": "^5.2.0", - "strip-json-comments": "^3.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "dependencies": { - "regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true - } - } - }, - "eslint-scope": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", - "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "eslint-visitor-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", - "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", - "dev": true - }, - "espree": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", - "dev": true, - "requires": { - "acorn": "^7.1.1", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esquery": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.1.0.tgz", - "integrity": "sha512-MxYW9xKmROWF672KqjO75sszsA8Mxhw06YFeS5VHlB98KDHbOSurm3ArsjO60Eaf3QmGMCP1yn+0JQkNLo/97Q==", - "dev": true, - "requires": { - "estraverse": "^4.0.0" - } - }, - "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "dev": true, - "requires": { - "estraverse": "^4.1.0" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "dev": true, - "requires": { - "flat-cache": "^2.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "flat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", - "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", - "dev": true, - "requires": { - "is-buffer": "~2.0.3" - } - }, - "flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "dev": true, - "requires": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - } - }, - "flatted": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", - "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8= sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "fsevents": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz", - "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "requires": { - "type-fest": "^0.8.1" - } - }, - "growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0= sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, - "http-proxy-agent": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", - "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", - "dev": true, - "requires": { - "agent-base": "4", - "debug": "3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "https-proxy-agent": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", - "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", - "dev": true, - "requires": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, - "import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o= sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "inquirer": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz", - "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.15", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.5.3", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-buffer": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", - "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", - "dev": true - }, - "is-callable": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", - "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", - "dev": true - }, - "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= sha512-NECAi6wp6CgMesHuVUEK8JwjCvm/tvnn5pCbB42JOHp3mgUizN0nagXu4HEqQZBkieGEQ+jVcMKWqoVd6CDbLQ==", - "dev": true - }, - "is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "js-beautify": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.10.3.tgz", - "integrity": "sha512-wfk/IAWobz1TfApSdivH5PJ0miIHgDoYb1ugSqHcODPmaYu46rYe5FVuIEkhjg8IQiv6rDNPyhsqbsohI/C2vQ==", - "requires": { - "config-chain": "^1.1.12", - "editorconfig": "^0.15.3", - "glob": "^7.1.3", - "mkdirp": "~0.5.1", - "nopt": "~4.0.1" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", - "dev": true, - "requires": { - "chalk": "^2.4.2" - } - }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", - "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==" - }, - "mkdirp": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", - "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", - "requires": { - "minimist": "^1.2.5" - } - }, - "mocha": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.1.1.tgz", - "integrity": "sha512-3qQsu3ijNS3GkWcccT5Zw0hf/rWvu1fTN9sPvEd81hlwsr30GX2GcDSSoBxo24IR8FelmrAydGC6/1J5QQP4WA==", - "dev": true, - "requires": { - "ansi-colors": "3.2.3", - "browser-stdout": "1.3.1", - "chokidar": "3.3.0", - "debug": "3.2.6", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "find-up": "3.0.0", - "glob": "7.1.3", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "3.13.1", - "log-symbols": "3.0.0", - "minimatch": "3.0.4", - "mkdirp": "0.5.3", - "ms": "2.1.1", - "node-environment-flags": "1.0.6", - "object.assign": "4.1.0", - "strip-json-comments": "2.0.1", - "supports-color": "6.0.0", - "which": "1.3.1", - "wide-align": "1.1.3", - "yargs": "13.3.2", - "yargs-parser": "13.1.2", - "yargs-unparser": "1.6.0" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo= sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "dev": true - }, - "supports-color": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", - "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "node-environment-flags": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", - "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", - "dev": true, - "requires": { - "object.getownpropertydescriptors": "^2.0.3", - "semver": "^5.7.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "nopt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", - "dev": true - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E= sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M= sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==" - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "p-limit": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", - "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18= sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "dev": true - }, - "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "dev": true - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, - "proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==" - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM= sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "readdirp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", - "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", - "dev": true, - "requires": { - "picomatch": "^2.0.4" - } - }, - "regexpp": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.0.0.tgz", - "integrity": "sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g==", - "dev": true - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I= sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "run-async": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.0.tgz", - "integrity": "sha512-xJTbh/d7Lm7SBhc1tNvTpeCHaEzoyxPrqNlvSdMfBTYwaY++UJFyXUOxAtsRUXjlqOfj8luNaR9vjCh4KeV+pg==", - "dev": true, - "requires": { - "is-promise": "^2.1.0" - } - }, - "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc= sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", - "dev": true - }, - "sigmund": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA= sha512-fCvEXfh6NWpm+YSuY2bpXb/VIihqWA6hLsgboC+0nl71Q7N7o2eaCW8mJa/NLvQhs6jpd3VZV4UiUQlV6+lc8g==" - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= sha512-meQNNykwecVxdu1RlYMKpQx4+wefIYpmxi6gexo/KAbwquJrBUrBmKYJrE8KFkVQAAVWEnwNdu21PgrD77J3xA==", - "dev": true - }, - "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true - } - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "string.prototype.trimleft": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", - "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1" - } - }, - "string.prototype.trimright": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", - "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "strip-json-comments": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", - "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dev": true, - "requires": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "dependencies": { - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - } - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "tslib": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", - "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==", - "dev": true - }, - "tsutils": { - "version": "3.17.1", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", - "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - }, - "typescript": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz", - "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==", - "dev": true - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "v8-compile-cache": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", - "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", - "dev": true - }, - "vscode-test": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/vscode-test/-/vscode-test-1.3.0.tgz", - "integrity": "sha512-LddukcBiSU2FVTDr3c1D8lwkiOvwlJdDL2hqVbn6gIz+rpTqUCkMZSKYm94Y1v0WXlHSDQBsXyY+tchWQgGVsw==", - "dev": true, - "requires": { - "http-proxy-agent": "^2.1.0", - "https-proxy-agent": "^2.2.4", - "rimraf": "^2.6.3" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", - "dev": true - }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, - "requires": { - "string-width": "^1.0.2 || 2" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8= sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "dependencies": { - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "requires": { - "mkdirp": "^0.5.1" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - }, - "dependencies": { - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - } - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "yargs-unparser": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", - "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", - "dev": true, - "requires": { - "flat": "^4.1.0", - "lodash": "^4.17.15", - "yargs": "^13.3.0" - } - } - } -} diff --git a/my-snippets/laravel-blade2/package.json b/my-snippets/laravel-blade2/package.json deleted file mode 100644 index 856d919..0000000 --- a/my-snippets/laravel-blade2/package.json +++ /dev/null @@ -1,105 +0,0 @@ -{ - "name": "laravel-blade-vscode", - "displayName": "Laravel Blade", - "description": "Snippets, Syntax Highlighting and Formatting for VS Code", - "publisher": "amirmarmul", - "version": "2.0.4", - "author": { - "name": "Amir Marmul", - "email": "amiruddinmarmul@gmail.com" - }, - "homepage": "https://github.com/amirmarmul/laravel-blade-vscode", - "repository": { - "type": "git", - "url": "https://github.com/amirmarmul/laravel-blade-vscode" - }, - "bugs": { - "url": "https://github.com/amirmarmul/laravel-blade-vscode/issues" - }, - "icon": "images/icon.png", - "engines": { - "vscode": "^1.37.0" - }, - "categories": [ - "Programming Languages", - "Snippets" - ], - "keywords": [ - "laravel", - "blade", - "snippet", - "highlighter", - "beautify" - ], - "activationEvents": [ - "onLanguage:blade" - ], - "main": "./dist/extension.js", - "contributes": { - "languages": [ - { - "id": "blade", - "aliases": [ - "Blade", - "blade" - ], - "extensions": [ - ".blade.php" - ], - "configuration": "./src/languages/blade.configuration.json" - } - ], - "grammars": [ - { - "language": "php", - "scopeName": "text.html.php.blade", - "path": "./src/syntaxes/blade.tmLanguage.json" - } - ], - "snippets": [ - { - "language": "php", - "path": "./src/snippets/snippets.json" - } - ], - "configuration": { - "type": "object", - "title": "Blade Language", - "properties": { - "blade.format.enable": { - "type": "boolean", - "default": true, - "description": "Whether to enable/disable formatting." - }, - "blade.newLine": { - "type": "boolean", - "default": true, - "description": "Insert an empty line at the end of file." - } - } - } - }, - "scripts": { - "vscode:prepublish": "yarn run compile", - "compile": "tsc -p ./", - "lint": "eslint src --ext ts", - "watch": "tsc -watch -p ./" - }, - "devDependencies": { - "@types/glob": "^7.1.1", - "@types/mocha": "^7.0.1", - "@types/node": "^12.11.7", - "@types/vscode": "^1.37.0", - "@typescript-eslint/eslint-plugin": "^2.18.0", - "@typescript-eslint/parser": "^2.18.0", - "eslint": "^6.8.0", - "glob": "^7.1.6", - "mocha": "^7.0.1", - "typescript": "^3.7.5", - "vscode-test": "^1.3.0" - }, - "dependencies": { - "js-beautify": "^1.10.3" - }, - "license": "MIT" -} diff --git a/my-snippets/laravel-blade2/src/extension.ts b/my-snippets/laravel-blade2/src/extension.ts deleted file mode 100644 index 8dba2d1..0000000 --- a/my-snippets/laravel-blade2/src/extension.ts +++ /dev/null @@ -1,178 +0,0 @@ -import * as vscode from 'vscode'; -const Beautifier = require('js-beautify').html; - -// function bladeBeautifier(html_source: any, options: any) { -// //Wrapper function to invoke all the necessary constructors and deal with the output. -// html_source = html_source || ''; - -// // BEGIN -// html_source = html_source.replace(/\{\{((?:(?!\}\}).)+)\}\}/g, function (m: any, c: any) { -// if (c) { -// c = c.replace(/(^[ \t]*|[ \t]*$)/g, ''); -// c = c.replace(/'/g, '''); -// c = c.replace(/"/g, '"'); -// c = encodeURIComponent(c); -// } -// return "{{" + c + "}}"; -// }); - -// html_source = html_source.replace(/^[ \t]*@([a-z]+)([^\r\n]*)$/gim, function (m: any, d: any, c: any) { -// var ce = c; - -// if (ce) { -// ce = ce.replace(/'/g, '''); -// ce = ce.replace(/"/g, '"'); -// ce = "|" + encodeURIComponent(ce); -// } - -// switch (d) { -// case 'break': -// case 'case': -// case 'continue': -// case 'csrf': -// case 'else': -// case 'elseif': -// case 'empty': -// case 'extends': -// case 'include': -// case 'includeFirst': -// case 'includeIf': -// case 'includeWhen': -// case 'inject': -// case 'json': -// case 'method': -// case 'parent': -// case 'stack': -// case 'yield': -// return ""; -// case 'section': -// if(c.match(/[ \t]*\([ \t]*['"][^'"]*['"][ \t]*\)/i)){ -// return ""; -// } else { -// return ""; -// } -// case 'show': -// case 'stop': -// return ""; -// default: -// if (d.startsWith('end')) { -// return ""; -// } else { -// return ""; -// } -// } -// }); -// // END - -// var sweet_code = Beautifier(html_source, options); - -// // BEGIN -// sweet_code = sweet_code.replace(/^([ \t]*)<\/?blade ([a-z]+)\|?([^>\/]+)?\/?>$/gim, function (m: any, s: any, d: any, c: any) { -// if (c) { -// c = decodeURIComponent(c); -// c = c.replace(/'/g, "'"); -// c = c.replace(/"/g, '"'); -// c = c.replace(/^[ \t]*/g, ''); -// } else { -// c = ""; -// } -// if (!s) { -// s = ""; -// } -// return s + "@" + d + c; -// }); - -// sweet_code = sweet_code.replace(/\{\{((?:(?!\}\}).)+)\}\}/g, function (m: any, c: any) { -// if (c) { -// c = decodeURIComponent(c); -// c = c.replace(/'/g, "'"); -// c = c.replace(/"/g, '"'); -// c = c.replace(/(^[ \t]*|[ \t]*$)/g, ' '); -// } -// return "{{" + c + "}}"; -// }); -// // END - -// return sweet_code; -// } - -const editor = vscode.workspace.getConfiguration('editor'); -const config = vscode.workspace.getConfiguration('blade'); - -function beautify(document: vscode.TextDocument, range: vscode.Range) { - const result = []; - let output = ''; - let options = Beautifier.defaultOptions; - - options.indent_size = editor.tabSize; - options.end_with_newline = config.newLine; - - options.indent_char = ' '; - options.extra_liners = []; - options.brace_style = 'collapse'; - options.indent_scripts = 'normal'; - options.space_before_conditional = true; - options.keep_array_indentation = false; - options.break_chained_methods = false; - options.unescape_strings = false; - options.wrap_line_length = 0; - options.jslint_happy = false; - options.comma_first = true; - options.e4x = true; - - output = Beautifier(document.getText(range), options); - - result.push(vscode.TextEdit.replace(range, output)); - - return result; -} - - -function activate(context: vscode.ExtensionContext) { - console.log('Laravel blade activated!'); - - const LANGUAGES = { scheme: 'file', language: 'blade' }; - - if (config.format.enable === true) { - context.subscriptions.push( - vscode.languages.registerDocumentFormattingEditProvider(LANGUAGES, { - provideDocumentFormattingEdits(document: vscode.TextDocument) { - const start = new vscode.Position(0, 0); - const end = new vscode.Position( - document.lineCount - 1, - document.lineAt(document.lineCount -1).text.length - ); - const rng = new vscode.Range(start, end); - - return beautify(document, rng); - } - }) - ); - - context.subscriptions.push( - vscode.languages.registerDocumentRangeFormattingEditProvider(LANGUAGES, { - provideDocumentRangeFormattingEdits(document: vscode.TextDocument, range: vscode.Range) { - let end = range.end - - if (end.character === 0) { - end = end.translate(-1, Number.MAX_VALUE); - } else { - end = end.translate(0, Number.MAX_VALUE); - } - - const rng = new vscode.Range(new vscode.Position(range.start.line, 0), end) - - return beautify(document, rng); - } - } - ) - ) - } -} - -function deactivate() {} - -export { - activate, - deactivate, -} diff --git a/my-snippets/laravel-blade2/src/languages/blade.configuration.json b/my-snippets/laravel-blade2/src/languages/blade.configuration.json deleted file mode 100644 index 57ec2d5..0000000 --- a/my-snippets/laravel-blade2/src/languages/blade.configuration.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "comments": { - "blockComment": [ "{{--", "--}}" ] - }, - "brackets": [ - ["{", "}"], - ["[", "]"], - ["(", ")"] - ], - "autoClosingPairs": [ - ["{", "}"], - ["[", "]"], - ["(", ")"], - ["\"", "\""], - ["'", "'"] - ], - "surroundingPairs": [ - ["{", "}"], - ["[", "]"], - ["(", ")"], - ["\"", "\""], - ["'", "'"] - ] -} diff --git a/my-snippets/laravel-blade2/src/snippets/snippets.json b/my-snippets/laravel-blade2/src/snippets/snippets.json deleted file mode 100644 index b8fdc08..0000000 --- a/my-snippets/laravel-blade2/src/snippets/snippets.json +++ /dev/null @@ -1,392 +0,0 @@ -{ - "csrf": { - "description": "Includes a CSRF field for use in forms.", - "prefix": "@csrf", - "body": [ - "@csrf$0" - ] - }, - "else": { - "description": "Control structure for use with if statements.", - "prefix": "@else", - "body": [ - "@else$0" - ] - }, - "append": { - "description": "Appends defined section to an existing one of the same name.", - "prefix": "@append", - "body": [ - "@append$0" - ] - }, - "overwrite": { - "description": "Overwrites a defined section.", - "prefix": "@overwrite", - "body": [ - "@overwrite$0" - ] - }, - "show": { - "description": "Shows and yields immediately a defined section.", - "prefix": "@show", - "body": [ - "@show$0" - ] - }, - "endsection": { - "description": "Close a defined section.", - "prefix": "@endsection", - "body": [ - "@endsection$0" - ] - }, - "stop": { - "description": "Alternative syntax for @endsection.", - "prefix": "@stop", - "body": [ - "@stop$0" - ] - }, - "parent": { - "description": "Appends content a section instead of overwriting.", - "prefix": "@parent", - "body": [ - "@parent$0" - ] - }, - "elseif": { - "description": "Elseif branch used in if statements.", - "prefix": "@elseif", - "body": [ - "@elseif(${1:$${2:condition}})$0" - ] - }, - "foreach": { - "description": "Executes a foreach loop statement.", - "prefix": "@foreach", - "body": [ - "@foreach($${1:variable} as $${2:${3:key} => $${4:value}})", - "\t$0", - "@endforeach" - ] - }, - "if": { - "description": "If statement.", - "prefix": "@if", - "body": [ - "@if(${1:$${2:condition}})", - "\t$0", - "@endif" - ] - }, - "if-else": { - "description": "If-else statement.", - "prefix": "@if", - "body": [ - "@if(${1:$${2:condition}})", - "\t$3", - "@else", - "\t$0", - "@endif" - ] - }, - "extends": { - "description": "Extends a layout.", - "prefix": "@extends", - "body": [ - "@extends('${1:view}')$0" - ] - }, - "for": { - "description": "For loop.", - "prefix": "@for", - "body": [ - "@for($${1:i} = ${2:0}; $${1:i} < ${3:10}; $${1:i}++)", - "\t$0", - "@endfor" - ] - }, - "forelse": { - "description": "Executes a foreach loop or displays contents of @empty block if there are no entries.", - "prefix": "@forelse", - "body": [ - "@forelse($${1:variable} as $${2:${3:key} => $${4:value}})", - "\t$5", - "@empty", - "\t$0", - "@endforelse" - ] - }, - "lang": { - "description": "Displays a localized string.", - "prefix": "@lang", - "body": [ - "@lang('${1:category.line}')$0" - ] - }, - "prepend": { - "description": "Prepends content to stack.", - "prefix": "@prepend", - "body": [ - "@prepend('${1:name}')", - "\t$0", - "@endprepend" - ] - }, - "push": { - "description": "Pushes content to stack.", - "prefix": "@push", - "body": [ - "@push('${1:name}')", - "\t$0", - "@endpush" - ] - }, - "section": { - "description": "Defines a section of content.", - "prefix": "@section", - "body": [ - "@section('${1:name}'${2:, '${3:content}'})$0" - ] - }, - "section-end": { - "description": "Defines a section-end of content.", - "prefix": "@section", - "body": [ - "@section('${1:name}')", - "\t$0", - "@endsection" - ] - }, - "stack": { - "description": "Renders contents of the stack.", - "prefix": "@stack", - "body": [ - "@stack('${1:name}')$0" - ] - }, - "unless": { - "description": "Shorthand for if-not statement.", - "prefix": "@unless", - "body": [ - "@unless(${1:$${2:condition}})", - "\t$0", - "@endunless" - ] - }, - "while": { - "description": "While loop.", - "prefix": "@while", - "body": [ - "@while(${1:$${2:condition}})", - "\t$0", - "@endwhile" - ] - }, - "yield": { - "description": "Displays contents of a given section.", - "prefix": "@yield", - "body": [ - "@yield('${1:section}')$0" - ] - }, - "php": { - "description": "Embeds PHP code.", - "prefix": "@php", - "body": [ - "@php", - "\t$0", - "@endphp" - ] - }, - "component": { - "description": "Constructs a component.", - "prefix": "@component", - "body": [ - "@component('${1:component}')", - "\t$0", - "@endcomponent" - ] - }, - "componentFirst": { - "description": "Instruct to load the first view that exists from a given array of possible views for the component.", - "prefix": "@component", - "body": [ - "@componentFirst(['${1:custom.component}', '${2:component}'])", - "\t$0", - "@endcomponent" - ] - }, - "slot": { - "description": "Injects content into slot variable.", - "prefix": "@slot", - "body": [ - "@slot('${1:variable}')", - "\t$0", - "@endslot" - ] - }, - "isset": { - "description": "Determines whether a variable is considered to be empty using PHP isset() function.", - "prefix": "@isset", - "body": [ - "@isset(${1:$${2:var}})", - "\t$0", - "@endisset" - ] - }, - "verbatim": { - "description": "Protects text from being processed as Blade syntax.", - "prefix": "@verbatim", - "body": [ - "@verbatim", - "\t$0", - "@endverbatim" - ] - }, - "empty": { - "description": "Determines whether a variable is considered to be empty using PHP empty() function.", - "prefix": "@empty", - "body": [ - "@empty(${1:$${2:var}})", - "\t$0", - "@endempty" - ] - }, - "continue": { - "description": "Continue statement used in loops.", - "prefix": "@continue", - "body": [ - "@continue${1:(${2:$${3:condition}})}$0" - ] - }, - "break": { - "description": "Break statement used in switches and loops.", - "prefix": "@break", - "body": [ - "@break${1:(${2:$${3:condition}})}$0" - ] - }, - "include": { - "description": "Includes a sub-view.", - "prefix": "@include", - "body": [ - "@include('${1:view}')$0" - ] - }, - "includeIf": { - "description": "Includes a view if present.", - "prefix": "@include", - "body": [ - "@includeIf('${1:view}'${2:, ['${3:some}' => '${4:data}']})$0" - ] - }, - "includeWhen": { - "description": "Includes a view if a given boolean expression evaluates to true.", - "prefix": "@include", - "body": [ - "@includeWhen(${1:boolean}, '${2:view}'${3:, ['${4:some}' => '${5:data}']})$0" - ] - }, - "includeUnless": { - "description": "Includes a view if a given boolean expression evaluates to false.", - "prefix": "@include", - "body": [ - "@includeUnless(${1:boolean}, '${2:view}'${3:, ['${4:some}' => '${5:data}']})$0" - ] - }, - "includeFirst": { - "description": "Includes a view the first view that exists from a given array of views.", - "prefix": "@include", - "body": [ - "@includeFirst(['${1:custom.view}', '${2:view}']${3:, ['${4:some}' => '${5:data}']})$0" - ] - }, - "inject": { - "description": "Retrieves a service from the Laravel service container.", - "prefix": "@inject", - "body": [ - "@inject('${1:var}', ${2:${3:SomeClass}::class})$0" - ] - }, - "can": { - "description": "Determines whether user has been authorized to perform an action.", - "prefix": "@can", - "body": [ - "@can('${1:update}', $${2:user})", - "\t$0", - "@endcan" - ] - }, - "cannot": { - "description": "Determines whether user has not been authorized to perform an action.", - "prefix": "@cannot", - "body": [ - "@cannot('${1:update}', $${2:user})", - "\t$0", - "@endcannot" - ] - }, - "auth": { - "description": "Determines whether user has authenticated.", - "prefix": "@auth", - "body": [ - "@auth${1:('${2:admin}')}", - "\t$0", - "@endauth" - ] - }, - "guest": { - "description": "Determines whether user is guest.", - "prefix": "@guest", - "body": [ - "@guest", - "\t$0", - "@endguest" - ] - }, - "error": { - "description": "Determines whether there is an input error associated with the field.", - "prefix": "@error", - "body": [ - "@error('${1:field}')", - "\t$0", - "@enderror" - ] - }, - "method": { - "description": "Defines a hidden _method field to spoof HTTP verbs.", - "prefix": "@method", - "body": [ - "@method('${1:put}')$0" - ] - }, - "each": { - "description": "Defines a rendering views for collections.\n\n- The first argument is the view partial to render for each element in the array or collection.\n- The second argument is the array or collection you wish to iterate over\n- Third argument is the variable name that will be assigned to the current iteration within the view.\n- This fourth argument is the view that will be rendered if the given array is empty.", - "prefix": "@each", - "body": [ - "@each('${1:view.name}', $${2:jobs}, '${3:job}', '${4:view.empty}')$0" - ] - }, - "json": { - "description": "Defines a rendering an array to JSON.\n\nThis directive accepts the same arguments as PHP's json_encode function.", - "prefix": "@json", - "body": [ - "@json($${1:array})$0" - ] - }, - "switch": { - "description": "Switch Statements.", - "prefix": "@switch", - "body": [ - "@switch($${0:value})", - "\t@case(${1:value})", - "\t\t${2}", - "\t\t@break", - "\t$@default", - "\t\t${3}", - "@endswitch" - ] - } -} diff --git a/my-snippets/laravel-blade2/src/syntaxes/blade.tmLanguage.json b/my-snippets/laravel-blade2/src/syntaxes/blade.tmLanguage.json deleted file mode 100644 index 9c01662..0000000 --- a/my-snippets/laravel-blade2/src/syntaxes/blade.tmLanguage.json +++ /dev/null @@ -1,3833 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json", - "name": "Blade", - "scopeName": "text.html.php.blade", - "fileTypes": [ - "blade.php" - ], - "firstLineMatch": "(?x)\n# Hashbang\n^\\#!.*(?:\\s|\\/)\n php\\d?\n(?:$|\\s)\n|\n# Modeline\n(?i:\n # Emacs\n -\\*-(?:\\s*(?=[^:;\\s]+\\s*-\\*-)|(?:.*?[;\\s]|(?<=-\\*-))mode\\s*:\\s*)\n php\n (?=[\\s;]|(?]?\\d+|m)?|\\sex)(?=:(?=\\s*set?\\s[^\\n:]+:)|:(?!\\s*set?\\s))(?:(?:\\s|\\s*:\\s*)\\w*(?:\\s*=(?:[^\\n\\\\\\s]|\\\\.)*)?)*[\\s:](?:filetype|ft|syntax)\\s*=\n (?:php|phtml)\n (?=\\s|:|$)\n)", - "foldingStartMarker": "(/\\*|\\{\\s*$|<<))", - "beginCaptures": { - "0": { - "name": "punctuation.whitespace.embedded.leading.php" - } - }, - "end": "(?!\\G)(\\s*$\\n)?", - "endCaptures": { - "0": { - "name": "punctuation.whitespace.embedded.trailing.php" - } - }, - "patterns": [ - { - "begin": "<\\?(?i:php|=)?", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - } - }, - "contentName": "source.php", - "end": "(\\?)>", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "source.php" - } - }, - "name": "meta.embedded.block.php", - "patterns": [ - { - "include": "#language" - } - ] - } - ] - }, - { - "begin": "<\\?(?i:php|=)?(?![^?]*\\?>)", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - } - }, - "contentName": "source.php", - "end": "(\\?)>", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "source.php" - } - }, - "name": "invalid.illegal.php-code-in-comment.blade.meta.embedded.block.php", - "patterns": [ - { - "include": "#language" - } - ] - }, - { - "begin": "<\\?(?i:php|=)?", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - } - }, - "end": ">", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - } - }, - "name": "invalid.illegal.php-code-in-comment.blade.meta.embedded.line.php", - "patterns": [ - { - "captures": { - "1": { - "name": "source.php" - }, - "2": { - "name": "punctuation.section.embedded.end.php" - }, - "3": { - "name": "source.php" - } - }, - "match": "\\G(\\s*)((\\?))(?=>)", - "name": "meta.special.empty-tag.php" - }, - { - "begin": "\\G", - "contentName": "source.php", - "end": "(\\?)(?=>)", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "source.php" - } - }, - "patterns": [ - { - "include": "#language" - } - ] - } - ] - } - ] - }, - { - "match": "@(?={{{|{{|{!!|@\\w+(?:::\\w+)?)", - "name": "comment.blade" - }, - { - "begin": "(?))", - "beginCaptures": { - "0": { - "name": "punctuation.whitespace.embedded.leading.php" - } - }, - "end": "(?!\\G)(\\s*$\\n)?", - "endCaptures": { - "0": { - "name": "punctuation.whitespace.embedded.trailing.php" - } - }, - "patterns": [ - { - "begin": "<\\?(?i:php|=)?", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - } - }, - "contentName": "source.php", - "end": "(\\?)>", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "source.php" - } - }, - "name": "meta.embedded.block.php", - "patterns": [ - { - "include": "#language" - } - ] - } - ] - }, - { - "begin": "<\\?(?i:php|=)?(?![^?]*\\?>)", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - } - }, - "contentName": "source.php", - "end": "(\\?)>", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "source.php" - } - }, - "name": "meta.embedded.block.php", - "patterns": [ - { - "include": "#language" - } - ] - }, - { - "begin": "<\\?(?i:php|=)?", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - } - }, - "end": ">", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - } - }, - "name": "meta.embedded.line.php", - "patterns": [ - { - "captures": { - "1": { - "name": "source.php" - }, - "2": { - "name": "punctuation.section.embedded.end.php" - }, - "3": { - "name": "source.php" - } - }, - "match": "\\G(\\s*)((\\?))(?=>)", - "name": "meta.special.empty-tag.php" - }, - { - "begin": "\\G", - "contentName": "source.php", - "end": "(\\?)(?=>)", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "source.php" - } - }, - "patterns": [ - { - "include": "#language" - } - ] - } - ] - } - ] - } - }, - "patterns": [ - { - "include": "text.html.basic" - } - ], - "repository": { - "balance_brackets": { - "patterns": [ - { - "begin": "\\(", - "end": "\\)", - "patterns": [ - { - "include": "#balance_brackets" - } - ] - }, - { - "match": "[^()]+" - } - ] - }, - "class-builtin": { - "patterns": [ - { - "match": "(?xi)\n(\\\\)?\\b\n((APC|Append)Iterator|Array(Access|Iterator|Object)\n|Bad(Function|Method)CallException\n|(Caching|CallbackFilter)Iterator|Collator|Collectable|Cond|Countable|CURLFile\n|Date(Interval|Period|Time(Interface|Immutable|Zone)?)?|Directory(Iterator)?|DomainException\n|DOM(Attr|CdataSection|CharacterData|Comment|Document(Fragment)?|Element|EntityReference\n |Implementation|NamedNodeMap|Node(list)?|ProcessingInstruction|Text|XPath)\n|(Error)?Exception|EmptyIterator\n|finfo\n|Ev(Check|Child|Embed|Fork|Idle|Io|Loop|Periodic|Prepare|Signal|Stat|Timer|Watcher)?\n|Event(Base|Buffer(Event)?|SslContext|Http(Request|Connection)?|Config|DnsBase|Util|Listener)?\n|FANNConnection|(Filter|Filesystem)Iterator\n|Gender\\\\Gender|GlobIterator|Gmagick(Draw|Pixel)?\n|Haru(Annotation|Destination|Doc|Encoder|Font|Image|Outline|Page)\n|Http((Inflate|Deflate)?Stream|Message|Request(Pool)?|Response|QueryString)\n|HRTime\\\\(PerformanceCounter|StopWatch)\n|Intl(Calendar|((CodePoint|RuleBased)?Break|Parts)?Iterator|DateFormatter|TimeZone)\n|Imagick(Draw|Pixel(Iterator)?)?\n|InfiniteIterator|InvalidArgumentException|Iterator(Aggregate|Iterator)?\n|JsonSerializable\n|KTaglib_(MPEG_(File|AudioProperties)|Tag|ID3v2_(Tag|(AttachedPicture)?Frame))\n|Lapack|(Length|Locale|Logic)Exception|LimitIterator|Lua(Closure)?\n|Mongo(BinData|Client|Code|Collection|CommandCursor|Cursor(Exception)?|Date|DB(Ref)?|DeleteBatch\n |Grid(FS(Cursor|File)?)|Id|InsertBatch|Int(32|64)|Log|Pool|Regex|ResultException|Timestamp\n |UpdateBatch|Write(Batch|ConcernException))?\n|Memcache(d)?|MessageFormatter|MultipleIterator|Mutex\n|mysqli(_(driver|stmt|warning|result))?\n|MysqlndUh(Connection|PreparedStatement)\n|NoRewindIterator|Normalizer|NumberFormatter\n|OCI-(Collection|Lob)|OuterIterator|(OutOf(Bounds|Range)|Overflow)Exception\n|ParentIterator|PDO(Statement)?|Phar(Data|FileInfo)?|php_user_filter|Pool\n|QuickHash(Int(Set|StringHash)|StringIntHash)\n|Recursive(Array|Caching|Directory|Fallback|Filter|Iterator|Regex|Tree)?Iterator\n|Reflection(Class|Function(Abstract)?|Method|Object|Parameter|Property|(Zend)?Extension)?\n|RangeException|Reflector|RegexIterator|ResourceBundle|RuntimeException|RRD(Creator|Graph|Updater)\n|SAM(Connection|Message)|SCA(_(SoapProxy|LocalProxy))?\n|SDO_(DAS_(ChangeSummary|Data(Factory|Object)|Relational|Setting|XML(_Document)?)\n |Data(Factory|Object)|Exception|List|Model_(Property|ReflectionDataObject|Type)|Sequence)\n|SeekableIterator|Serializable|SessionHandler(Interface)?|SimpleXML(Iterator|Element)|SNMP\n|Soap(Client|Fault|Header|Param|Server|Var)\n|SphinxClient|Spoofchecker\n|Spl(DoublyLinkedList|Enum|File(Info|Object)|FixedArray|(Max|Min)?Heap|Observer|ObjectStorage\n |(Priority)?Queue|Stack|Subject|Type|TempFileObject)\n|SQLite(3(Result|Stmt)?|Database|Result|Unbuffered)\n|stdClass|streamWrapper|SVM(Model)?|Swish(Result(s)?|Search)?|Sync(Event|Mutex|ReaderWriter|Semaphore)\n|Thread(ed)?|tidy(Node)?|TokyoTyrant(Table|Iterator|Query)?|Transliterator|Traversable\n|UConverter|(Underflow|UnexpectedValue)Exception\n|V8Js(Exception)?|Varnish(Admin|Log|Stat)\n|Worker|Weak(Map|Ref)\n|XML(Diff\\\\(Base|DOM|File|Memory)|Reader|Writer)|XsltProcessor\n|Yaf_(Route_(Interface|Map|Regex|Rewrite|Simple|Supervar)\n |Action_Abstract|Application|Config_(Simple|Ini|Abstract)|Controller_Abstract\n |Dispatcher|Exception|Loader|Plugin_Abstract|Registry|Request_(Abstract|Simple|Http)\n |Response_Abstract|Router|Session|View_(Simple|Interface))\n|Yar_(Client(_Exception)?|Concurrent_Client|Server(_Exception)?)\n|ZipArchive|ZMQ(Context|Device|Poll|Socket)?)\n\\b", - "name": "support.class.builtin.php", - "captures": { - "1": { - "name": "punctuation.separator.inheritance.php" - } - } - } - ] - }, - "class-name": { - "patterns": [ - { - "begin": "(?i)(?=\\\\?[a-z_0-9]+\\\\)", - "end": "(?i)([a-z_][a-z_0-9]*)?(?=[^a-z0-9_\\\\])", - "endCaptures": { - "1": { - "name": "support.class.php" - } - }, - "patterns": [ - { - "include": "#namespace" - } - ] - }, - { - "include": "#class-builtin" - }, - { - "begin": "(?=[\\\\a-zA-Z_])", - "end": "(?i)([a-z_][a-z_0-9]*)?(?=[^a-z0-9_\\\\])", - "endCaptures": { - "1": { - "name": "support.class.php" - } - }, - "patterns": [ - { - "include": "#namespace" - } - ] - } - ] - }, - "comments": { - "patterns": [ - { - "begin": "/\\*\\*(?=\\s)", - "beginCaptures": { - "0": { - "name": "punctuation.definition.comment.php" - } - }, - "end": "\\*/", - "endCaptures": { - "0": { - "name": "punctuation.definition.comment.php" - } - }, - "name": "comment.block.documentation.phpdoc.php", - "patterns": [ - { - "include": "#php_doc" - } - ] - }, - { - "begin": "/\\*", - "captures": { - "0": { - "name": "punctuation.definition.comment.php" - } - }, - "end": "\\*/", - "name": "comment.block.php" - }, - { - "begin": "(^\\s+)?(?=//)", - "beginCaptures": { - "1": { - "name": "punctuation.whitespace.comment.leading.php" - } - }, - "end": "(?!\\G)", - "patterns": [ - { - "begin": "//", - "beginCaptures": { - "0": { - "name": "punctuation.definition.comment.php" - } - }, - "end": "\\n|(?=\\?>)", - "name": "comment.line.double-slash.php" - } - ] - }, - { - "begin": "(^\\s+)?(?=#)", - "beginCaptures": { - "1": { - "name": "punctuation.whitespace.comment.leading.php" - } - }, - "end": "(?!\\G)", - "patterns": [ - { - "begin": "#", - "beginCaptures": { - "0": { - "name": "punctuation.definition.comment.php" - } - }, - "end": "\\n|(?=\\?>)", - "name": "comment.line.number-sign.php" - } - ] - } - ] - }, - "constants": { - "patterns": [ - { - "match": "(?i)\\b(TRUE|FALSE|NULL|__(FILE|DIR|FUNCTION|CLASS|METHOD|LINE|NAMESPACE)__|ON|OFF|YES|NO|NL|BR|TAB)\\b", - "name": "constant.language.php" - }, - { - "match": "(?x)\n(\\\\)?\\b\n(DEFAULT_INCLUDE_PATH\n|EAR_(INSTALL|EXTENSION)_DIR\n|E_(ALL|COMPILE_(ERROR|WARNING)|CORE_(ERROR|WARNING)|DEPRECATED|ERROR|NOTICE\n |PARSE|RECOVERABLE_ERROR|STRICT|USER_(DEPRECATED|ERROR|NOTICE|WARNING)|WARNING)\n|PHP_(ROUND_HALF_(DOWN|EVEN|ODD|UP)|(MAJOR|MINOR|RELEASE)_VERSION|MAXPATHLEN\n |BINDIR|SHLIB_SUFFIX|SYSCONFDIR|SAPI|CONFIG_FILE_(PATH|SCAN_DIR)\n |INT_(MAX|SIZE)|ZTS|OS|OUTPUT_HANDLER_(START|CONT|END)|DEBUG|DATADIR\n |URL_(SCHEME|HOST|USER|PORT|PASS|PATH|QUERY|FRAGMENT)|PREFIX\n |EXTRA_VERSION|EXTENSION_DIR|EOL|VERSION(_ID)?\n |WINDOWS_(NT_(SERVER|DOMAIN_CONTROLLER|WORKSTATION)\n |VERSION_(MAJOR|MINOR)|BUILD|SUITEMASK|SP_(MAJOR|MINOR)\n |PRODUCTTYPE|PLATFORM)\n |LIBDIR|LOCALSTATEDIR)\n|STD(ERR|IN|OUT)|ZEND_(DEBUG_BUILD|THREAD_SAFE))\n\\b", - "name": "support.constant.core.php", - "captures": { - "1": { - "name": "punctuation.separator.inheritance.php" - } - } - }, - { - "match": "(?x)\n(\\\\)?\\b\n(__COMPILER_HALT_OFFSET__|AB(MON_(1|2|3|4|5|6|7|8|9|10|11|12)|DAY[1-7])\n|AM_STR|ASSERT_(ACTIVE|BAIL|CALLBACK_QUIET_EVAL|WARNING)|ALT_DIGITS\n|CASE_(UPPER|LOWER)|CHAR_MAX|CONNECTION_(ABORTED|NORMAL|TIMEOUT)|CODESET|COUNT_(NORMAL|RECURSIVE)\n|CREDITS_(ALL|DOCS|FULLPAGE|GENERAL|GROUP|MODULES|QA|SAPI)\n|CRYPT_(BLOWFISH|EXT_DES|MD5|SHA(256|512)|SALT_LENGTH|STD_DES)|CURRENCY_SYMBOL\n|D_(T_)?FMT|DATE_(ATOM|COOKIE|ISO8601|RFC(822|850|1036|1123|2822|3339)|RSS|W3C)\n|DAY_[1-7]|DECIMAL_POINT|DIRECTORY_SEPARATOR\n|ENT_(COMPAT|IGNORE|(NO)?QUOTES)|EXTR_(IF_EXISTS|OVERWRITE|PREFIX_(ALL|IF_EXISTS|INVALID|SAME)|REFS|SKIP)\n|ERA(_(D_(T_)?FMT)|T_FMT|YEAR)?|FRAC_DIGITS|GROUPING|HASH_HMAC|HTML_(ENTITIES|SPECIALCHARS)\n|INF|INFO_(ALL|CREDITS|CONFIGURATION|ENVIRONMENT|GENERAL|LICENSEMODULES|VARIABLES)\n|INI_(ALL|CANNER_(NORMAL|RAW)|PERDIR|SYSTEM|USER)|INT_(CURR_SYMBOL|FRAC_DIGITS)\n|LC_(ALL|COLLATE|CTYPE|MESSAGES|MONETARY|NUMERIC|TIME)|LOCK_(EX|NB|SH|UN)\n|LOG_(ALERT|AUTH(PRIV)?|CRIT|CRON|CONS|DAEMON|DEBUG|EMERG|ERR|INFO|LOCAL[1-7]|LPR|KERN|MAIL\n |NEWS|NODELAY|NOTICE|NOWAIT|ODELAY|PID|PERROR|WARNING|SYSLOG|UCP|USER)\n|M_(1_PI|SQRT(1_2|2|3|PI)|2_(SQRT)?PI|PI(_(2|4))?|E(ULER)?|LN(10|2|PI)|LOG(10|2)E)\n|MON_(1|2|3|4|5|6|7|8|9|10|11|12|DECIMAL_POINT|GROUPING|THOUSANDS_SEP)\n|N_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN)|NAN|NEGATIVE_SIGN|NO(EXPR|STR)\n|P_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN)|PM_STR|POSITIVE_SIGN\n|PATH(_SEPARATOR|INFO_(EXTENSION|(BASE|DIR|FILE)NAME))|RADIXCHAR\n|SEEK_(CUR|END|SET)|SORT_(ASC|DESC|LOCALE_STRING|REGULAR|STRING)|STR_PAD_(BOTH|LEFT|RIGHT)\n|T_FMT(_AMPM)?|THOUSEP|THOUSANDS_SEP\n|UPLOAD_ERR_(CANT_WRITE|EXTENSION|(FORM|INI)_SIZE|NO_(FILE|TMP_DIR)|OK|PARTIAL)\n|YES(EXPR|STR))\n\\b", - "name": "support.constant.std.php", - "captures": { - "1": { - "name": "punctuation.separator.inheritance.php" - } - } - }, - { - "match": "(?x)\n(\\\\)?\\b\n(GLOB_(MARK|BRACE|NO(SORT|CHECK|ESCAPE)|ONLYDIR|ERR|AVAILABLE_FLAGS)\n|XML_(SAX_IMPL|(DTD|DOCUMENT(_(FRAG|TYPE))?|HTML_DOCUMENT|NOTATION|NAMESPACE_DECL|PI|COMMENT|DATA_SECTION|TEXT)_NODE\n |OPTION_(SKIP_(TAGSTART|WHITE)|CASE_FOLDING|TARGET_ENCODING)\n |ERROR_((BAD_CHAR|(ATTRIBUTE_EXTERNAL|BINARY|PARAM|RECURSIVE)_ENTITY)_REF|MISPLACED_XML_PI|SYNTAX|NONE\n |NO_(MEMORY|ELEMENTS)|TAG_MISMATCH|INCORRECT_ENCODING|INVALID_TOKEN|DUPLICATE_ATTRIBUTE\n |UNCLOSED_(CDATA_SECTION|TOKEN)|UNDEFINED_ENTITY|UNKNOWN_ENCODING|JUNK_AFTER_DOC_ELEMENT\n |PARTIAL_CHAR|EXTERNAL_ENTITY_HANDLING|ASYNC_ENTITY)\n |ENTITY_(((REF|DECL)_)?NODE)|ELEMENT(_DECL)?_NODE|LOCAL_NAMESPACE|ATTRIBUTE_(NMTOKEN(S)?|NOTATION|NODE)\n |CDATA|ID(REF(S)?)?|DECL_NODE|ENTITY|ENUMERATION)\n|MHASH_(RIPEMD(128|160|256|320)|GOST|MD(2|4|5)|SHA(1|224|256|384|512)|SNEFRU256|HAVAL(128|160|192|224|256)\n |CRC23(B)?|TIGER(128|160)?|WHIRLPOOL|ADLER32)\n|MYSQL_(BOTH|NUM|CLIENT_(SSL|COMPRESS|IGNORE_SPACE|INTERACTIVE|ASSOC))\n|MYSQLI_(REPORT_(STRICT|INDEX|OFF|ERROR|ALL)|REFRESH_(GRANT|MASTER|BACKUP_LOG|STATUS|SLAVE|HOSTS|THREADS|TABLES|LOG)\n |READ_DEFAULT_(FILE|GROUP)|(GROUP|MULTIPLE_KEY|BINARY|BLOB)_FLAG|BOTH\n |STMT_ATTR_(CURSOR_TYPE|UPDATE_MAX_LENGTH|PREFETCH_ROWS)|STORE_RESULT\n |SERVER_QUERY_(NO_((GOOD_)?INDEX_USED)|WAS_SLOW)|SET_(CHARSET_NAME|FLAG)\n |NO_(DEFAULT_VALUE_FLAG|DATA)|NOT_NULL_FLAG|NUM(_FLAG)?\n |CURSOR_TYPE_(READ_ONLY|SCROLLABLE|NO_CURSOR|FOR_UPDATE)\n |CLIENT_(SSL|NO_SCHEMA|COMPRESS|IGNORE_SPACE|INTERACTIVE|FOUND_ROWS)\n |TYPE_(GEOMETRY|((MEDIUM|LONG|TINY)_)?BLOB|BIT|SHORT|STRING|SET|YEAR|NULL|NEWDECIMAL|NEWDATE|CHAR\n |TIME(STAMP)?|TINY|INT24|INTERVAL|DOUBLE|DECIMAL|DATE(TIME)?|ENUM|VAR_STRING|FLOAT|LONG(LONG)?)\n |TIME_STAMP_FLAG|INIT_COMMAND|ZEROFILL_FLAG|ON_UPDATE_NOW_FLAG\n |OPT_(NET_((CMD|READ)_BUFFER_SIZE)|CONNECT_TIMEOUT|INT_AND_FLOAT_NATIVE|LOCAL_INFILE)\n |DEBUG_TRACE_ENABLED|DATA_TRUNCATED|USE_RESULT|(ENUM|(PART|PRI|UNIQUE)_KEY|UNSIGNED)_FLAG\n |ASSOC|ASYNC|AUTO_INCREMENT_FLAG)\n|MCRYPT_(RC(2|6)|RIJNDAEL_(128|192|256)|RAND|GOST|XTEA|MODE_(STREAM|NOFB|CBC|CFB|OFB|ECB)|MARS\n |BLOWFISH(_COMPAT)?|SERPENT|SKIPJACK|SAFER(64|128|PLUS)|CRYPT|CAST_(128|256)|TRIPLEDES|THREEWAY\n |TWOFISH|IDEA|(3)?DES|DECRYPT|DEV_(U)?RANDOM|PANAMA|ENCRYPT|ENIGNA|WAKE|LOKI97|ARCFOUR(_IV)?)\n|STREAM_(REPORT_ERRORS|MUST_SEEK|MKDIR_RECURSIVE|BUFFER_(NONE|FULL|LINE)|SHUT_(RD)?WR\n |SOCK_(RDM|RAW|STREAM|SEQPACKET|DGRAM)|SERVER_(BIND|LISTEN)\n |NOTIFY_(REDIRECTED|RESOLVE|MIME_TYPE_IS|SEVERITY_(INFO|ERR|WARN)|COMPLETED|CONNECT|PROGRESS\n |FILE_SIZE_IS|FAILURE|AUTH_(REQUIRED|RESULT))\n |CRYPTO_METHOD_((SSLv2(3)?|SSLv3|TLS)_(CLIENT|SERVER))|CLIENT_((ASYNC_)?CONNECT|PERSISTENT)\n |CAST_(AS_STREAM|FOR_SELECT)|(IGNORE|IS)_URL|IPPROTO_(RAW|TCP|ICMP|IP|UDP)|OOB\n |OPTION_(READ_(BUFFER|TIMEOUT)|BLOCKING|WRITE_BUFFER)|URL_STAT_(LINK|QUIET)|USE_PATH\n |PEEK|PF_(INET(6)?|UNIX)|ENFORCE_SAFE_MODE|FILTER_(ALL|READ|WRITE))\n|SUNFUNCS_RET_(DOUBLE|STRING|TIMESTAMP)\n|SQLITE_(READONLY|ROW|MISMATCH|MISUSE|BOTH|BUSY|SCHEMA|NOMEM|NOTFOUND|NOTADB|NOLFS|NUM|CORRUPT\n |CONSTRAINT|CANTOPEN|TOOBIG|INTERRUPT|INTERNAL|IOERR|OK|DONE|PROTOCOL|PERM|ERROR|EMPTY\n |FORMAT|FULL|LOCKED|ABORT|ASSOC|AUTH)\n|SQLITE3_(BOTH|BLOB|NUM|NULL|TEXT|INTEGER|OPEN_(READ(ONLY|WRITE)|CREATE)|FLOAT_ASSOC)\n|CURL(M_(BAD_((EASY)?HANDLE)|CALL_MULTI_PERFORM|INTERNAL_ERROR|OUT_OF_MEMORY|OK)\n |MSG_DONE|SSH_AUTH_(HOST|NONE|DEFAULT|PUBLICKEY|PASSWORD|KEYBOARD)\n |CLOSEPOLICY_(SLOWEST|CALLBACK|OLDEST|LEAST_(RECENTLY_USED|TRAFFIC)\n |INFO_(REDIRECT_(COUNT|TIME)|REQUEST_SIZE|SSL_VERIFYRESULT|STARTTRANSFER_TIME\n |(SIZE|SPEED)_(DOWNLOAD|UPLOAD)|HTTP_CODE|HEADER_(OUT|SIZE)|NAMELOOKUP_TIME\n |CONNECT_TIME|CONTENT_(TYPE|LENGTH_(DOWNLOAD|UPLOAD))|CERTINFO|TOTAL_TIME\n |PRIVATE|PRETRANSFER_TIME|EFFECTIVE_URL|FILETIME)\n |OPT_(RESUME_FROM|RETURNTRANSFER|REDIR_PROTOCOLS|REFERER|READ(DATA|FUNCTION)|RANGE|RANDOM_FILE\n |MAX(CONNECTS|REDIRS)|BINARYTRANSFER|BUFFERSIZE\n |SSH_(HOST_PUBLIC_KEY_MD5|(PRIVATE|PUBLIC)_KEYFILE)|AUTH_TYPES)\n |SSL(CERT(TYPE|PASSWD)?|ENGINE(_DEFAULT)?|VERSION|KEY(TYPE|PASSWD)?)\n |SSL_(CIPHER_LIST|VERIFY(HOST|PEER))\n |STDERR|HTTP(GET|HEADER|200ALIASES|_VERSION|PROXYTUNNEL|AUTH)\n |HEADER(FUNCTION)?|NO(BODY|SIGNAL|PROGRESS)|NETRC|CRLF|CONNECTTIMEOUT(_MS)?\n |COOKIE(SESSION|JAR|FILE)?|CUSTOMREQUEST|CERTINFO|CLOSEPOLICY|CA(INFO|PATH)|TRANSFERTEXT\n |TCP_NODELAY|TIME(CONDITION|OUT(_MS)?|VALUE)|INTERFACE|INFILE(SIZE)?|IPRESOLVE\n |DNS_(CACHE_TIMEOUT|USE_GLOBAL_CACHE)|URL|USER(AGENT|PWD)|UNRESTRICTED_AUTH|UPLOAD\n |PRIVATE|PROGRESSFUNCTION|PROXY(TYPE|USERPWD|PORT|AUTH)?|PROTOCOLS|PORT\n |POST(REDIR|QUOTE|FIELDS)?|PUT|EGDSOCKET|ENCODING|VERBOSE|KRB4LEVEL|KEYPASSWD|QUOTE|FRESH_CONNECT\n |FTP(APPEND|LISTONLY|PORT|SSLAUTH)\n |FTP_(SSL|SKIP_PASV_IP|CREATE_MISSING_DIRS|USE_EP(RT|SV)|FILEMETHOD)\n |FILE(TIME)?|FORBID_REUSE|FOLLOWLOCATION|FAILONERROR|WRITE(FUNCTION|HEADER)|LOW_SPEED_(LIMIT|TIME)\n |AUTOREFERER)\n |PROXY_(HTTP|SOCKS(4|5))|PROTO_(SCP|SFTP|HTTP(S)?|TELNET|TFTP|DICT|FTP(S)?|FILE|LDAP(S)?|ALL)\n |E_((RECV|READ)_ERROR|GOT_NOTHING|MALFORMAT_USER\n |BAD_(CONTENT_ENCODING|CALLING_ORDER|PASSWORD_ENTERED|FUNCTION_ARGUMENT)\n |SSH|SSL_(CIPHER|CONNECT_ERROR|CERTPROBLEM|CACERT|PEER_CERTIFICATE|ENGINE_(NOTFOUND|SETFAILED))\n |SHARE_IN_USE|SEND_ERROR|HTTP_(RANGE_ERROR|NOT_FOUND|PORT_FAILED|POST_ERROR)\n |COULDNT_(RESOLVE_(HOST|PROXY)|CONNECT)|TOO_MANY_REDIRECTS|TELNET_OPTION_SYNTAX|OBSOLETE\n |OUT_OF_MEMORY|OPERATION|TIMEOUTED|OK|URL_MALFORMAT(_USER)?|UNSUPPORTED_PROTOCOL\n |UNKNOWN_TELNET_OPTION|PARTIAL_FILE\n |FTP_(BAD_DOWNLOAD_RESUME|SSL_FAILED|COULDNT_(RETR_FILE|GET_SIZE|STOR_FILE|SET_(BINARY|ASCII)|USE_REST)\n |CANT_(GET_HOST|RECONNECT)|USER_PASSWORD_INCORRECT|PORT_FAILED|QUOTE_ERROR|WRITE_ERROR\n |WEIRD_((PASS|PASV|SERVER|USER)_REPLY|227_FORMAT)|ACCESS_DENIED)\n |FILESIZE_EXCEEDED|FILE_COULDNT_READ_FILE|FUNCTION_NOT_FOUND|FAILED_INIT|WRITE_ERROR|LIBRARY_NOT_FOUND\n |LDAP_(SEARCH_FAILED|CANNOT_BIND|INVALID_URL)|ABORTED_BY_CALLBACK)\n |VERSION_NOW\n |FTP(METHOD_(MULTI|SINGLE|NO)CWD|SSL_(ALL|NONE|CONTROL|TRY)|AUTH_(DEFAULT|SSL|TLS))\n |AUTH_(ANY(SAFE)?|BASIC|DIGEST|GSSNEGOTIATE|NTLM))\n|CURL_(HTTP_VERSION_(1_(0|1)|NONE)|NETRC_(REQUIRED|IGNORED|OPTIONAL)|TIMECOND_(IF(UN)?MODSINCE|LASTMOD)\n |IPRESOLVE_(V(4|6)|WHATEVER)|VERSION_(SSL|IPV6|KERBEROS4|LIBZ))\n|IMAGETYPE_(GIF|XBM|BMP|SWF|COUNT|TIFF_(MM|II)|ICO|IFF|UNKNOWN|JB2|JPX|JP2|JPC|JPEG(2000)?|PSD|PNG|WBMP)\n|INPUT_(REQUEST|GET|SERVER|SESSION|COOKIE|POST|ENV)|ICONV_(MIME_DECODE_(STRICT|CONTINUE_ON_ERROR)|IMPL|VERSION)\n|DNS_(MX|SRV|SOA|HINFO|NS|NAPTR|CNAME|TXT|PTR|ANY|ALL|AAAA|A(6)?)\n|DOM(STRING_SIZE_ERR)\n|DOM_((SYNTAX|HIERARCHY_REQUEST|NO_(MODIFICATION_ALLOWED|DATA_ALLOWED)|NOT_(FOUND|SUPPORTED)|NAMESPACE\n |INDEX_SIZE|USE_ATTRIBUTE|VALID_(MODIFICATION|STATE|CHARACTER|ACCESS)|PHP|VALIDATION|WRONG_DOCUMENT)_ERR)\n|JSON_(HEX_(TAG|QUOT|AMP|APOS)|NUMERIC_CHECK|ERROR_(SYNTAX|STATE_MISMATCH|NONE|CTRL_CHAR|DEPTH|UTF8)|FORCE_OBJECT)\n|PREG_((D_UTF8(_OFFSET)?|NO|INTERNAL|(BACKTRACK|RECURSION)_LIMIT)_ERROR|GREP_INVERT\n |SPLIT_(NO_EMPTY|(DELIM|OFFSET)_CAPTURE)|SET_ORDER|OFFSET_CAPTURE|PATTERN_ORDER)\n|PSFS_(PASS_ON|ERR_FATAL|FEED_ME|FLAG_(NORMAL|FLUSH_(CLOSE|INC)))\n|PCRE_VERSION|POSIX_((F|R|W|X)_OK|S_IF(REG|BLK|SOCK|CHR|IFO))\n|FNM_(NOESCAPE|CASEFOLD|PERIOD|PATHNAME)\n|FILTER_(REQUIRE_(SCALAR|ARRAY)|NULL_ON_FAILURE|CALLBACK|DEFAULT|UNSAFE_RAW\n |SANITIZE_(MAGIC_QUOTES|STRING|STRIPPED|SPECIAL_CHARS|NUMBER_(INT|FLOAT)|URL\n |EMAIL|ENCODED|FULL_SPCIAL_CHARS)\n |VALIDATE_(REGEXP|BOOLEAN|INT|IP|URL|EMAIL|FLOAT)\n |FORCE_ARRAY\n |FLAG_(SCHEME_REQUIRED|STRIP_(BACKTICK|HIGH|LOW)|HOST_REQUIRED|NONE|NO_(RES|PRIV)_RANGE|ENCODE_QUOTES\n |IPV(4|6)|PATH_REQUIRED|EMPTY_STRING_NULL|ENCODE_(HIGH|LOW|AMP)|QUERY_REQUIRED\n |ALLOW_(SCIENTIFIC|HEX|THOUSAND|OCTAL|FRACTION)))\n|FILE_(BINARY|SKIP_EMPTY_LINES|NO_DEFAULT_CONTEXT|TEXT|IGNORE_NEW_LINES|USE_INCLUDE_PATH|APPEND)\n|FILEINFO_(RAW|MIME(_(ENCODING|TYPE))?|SYMLINK|NONE|CONTINUE|DEVICES|PRESERVE_ATIME)\n|FORCE_(DEFLATE|GZIP)\n|LIBXML_(XINCLUDE|NSCLEAN|NO(XMLDECL|BLANKS|NET|CDATA|ERROR|EMPTYTAG|ENT|WARNING)\n |COMPACT|DTD(VALID|LOAD|ATTR)|((DOTTED|LOADED)_)?VERSION|PARSEHUGE|ERR_(NONE|ERROR|FATAL|WARNING)))\n\\b", - "name": "support.constant.ext.php", - "captures": { - "1": { - "name": "punctuation.separator.inheritance.php" - } - } - }, - { - "match": "(?x)\n(\\\\)?\\b\n(T_(RETURN|REQUIRE(_ONCE)?|GOTO|GLOBAL|(MINUS|MOD|MUL|XOR)_EQUAL|METHOD_C|ML_COMMENT|BREAK\n |BOOL_CAST|BOOLEAN_(AND|OR)|BAD_CHARACTER|SR(_EQUAL)?|STRING(_CAST|VARNAME)?|START_HEREDOC|STATIC\n |SWITCH|SL(_EQUAL)?|HALT_COMPILER|NS_(C|SEPARATOR)|NUM_STRING|NEW|NAMESPACE|CHARACTER|COMMENT\n |CONSTANT(_ENCAPSED_STRING)?|CONCAT_EQUAL|CONTINUE|CURLY_OPEN|CLOSE_TAG|CLONE|CLASS(_C)?\n |CASE|CATCH|TRY|THROW|IMPLEMENTS|ISSET|IS_((GREATER|SMALLER)_OR_EQUAL|(NOT_)?(IDENTICAL|EQUAL))\n |INSTANCEOF|INCLUDE(_ONCE)?|INC|INT_CAST|INTERFACE|INLINE_HTML|IF|OR_EQUAL|OBJECT_(CAST|OPERATOR)\n |OPEN_TAG(_WITH_ECHO)?|OLD_FUNCTION|DNUMBER|DIR|DIV_EQUAL|DOC_COMMENT|DOUBLE_(ARROW|CAST|COLON)\n |DOLLAR_OPEN_CURLY_BRACES|DO|DEC|DECLARE|DEFAULT|USE|UNSET(_CAST)?|PRINT|PRIVATE|PROTECTED|PUBLIC\n |PLUS_EQUAL|PAAMAYIM_NEKUDOTAYIM|EXTENDS|EXIT|EMPTY|ENCAPSED_AND_WHITESPACE\n |END(SWITCH|IF|DECLARE|FOR(EACH)?|WHILE)|END_HEREDOC|ECHO|EVAL|ELSE(IF)?|VAR(IABLE)?|FINAL|FILE\n |FOR(EACH)?|FUNC_C|FUNCTION|WHITESPACE|WHILE|LNUMBER|LIST|LINE|LOGICAL_(AND|OR|XOR)\n |ARRAY_(CAST)?|ABSTRACT|AS|AND_EQUAL))\n\\b", - "name": "support.constant.parser-token.php", - "captures": { - "1": { - "name": "punctuation.separator.inheritance.php" - } - } - }, - { - "match": "(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*", - "name": "constant.other.php" - } - ] - }, - "function-parameters": { - "patterns": [ - { - "include": "#comments" - }, - { - "match": ",", - "name": "punctuation.separator.delimiter.php" - }, - { - "begin": "(?xi)\n(array) # Typehint\n\\s+((&)?\\s*(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Variable name with possible reference\n\\s*(=)\\s*(array)\\s*(\\() # Default value", - "beginCaptures": { - "1": { - "name": "storage.type.php" - }, - "2": { - "name": "variable.other.php" - }, - "3": { - "name": "storage.modifier.reference.php" - }, - "4": { - "name": "punctuation.definition.variable.php" - }, - "5": { - "name": "keyword.operator.assignment.php" - }, - "6": { - "name": "support.function.construct.php" - }, - "7": { - "name": "punctuation.definition.array.begin.bracket.round.php" - } - }, - "contentName": "meta.array.php", - "end": "\\)", - "endCaptures": { - "0": { - "name": "punctuation.definition.array.end.bracket.round.php" - } - }, - "name": "meta.function.parameter.array.php", - "patterns": [ - { - "include": "#comments" - }, - { - "include": "#strings" - }, - { - "include": "#numbers" - } - ] - }, - { - "match": "(?xi)\n(array|callable) # Typehint\n\\s+((&)?\\s*(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Variable name with possible reference\n(?: # Optional default value\n \\s*(=)\\s*\n (?:\n (null)\n |\n (\\[)((?>[^\\[\\]]+|\\[\\g<8>\\])*)(\\])\n |((?:\\S*?\\(\\))|(?:\\S*?))\n )\n)?\n\\s*(?=,|\\)|/[/*]|\\#|$) # A closing parentheses (end of argument list) or a comma or a comment", - "name": "meta.function.parameter.array.php", - "captures": { - "1": { - "name": "storage.type.php" - }, - "2": { - "name": "variable.other.php" - }, - "3": { - "name": "storage.modifier.reference.php" - }, - "4": { - "name": "punctuation.definition.variable.php" - }, - "5": { - "name": "keyword.operator.assignment.php" - }, - "6": { - "name": "constant.language.php" - }, - "7": { - "name": "punctuation.section.array.begin.php" - }, - "8": { - "patterns": [ - { - "include": "#parameter-default-types" - } - ] - }, - "9": { - "name": "punctuation.section.array.end.php" - }, - "10": { - "name": "invalid.illegal.non-null-typehinted.php" - } - } - }, - { - "begin": "(?xi)\n(\\\\?(?:[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*\\\\)*) # Optional namespace\n([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Typehinted class name\n\\s+((&)?\\s*(\\.\\.\\.)?(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Variable name with possible reference", - "beginCaptures": { - "1": { - "name": "support.other.namespace.php", - "patterns": [ - { - "match": "(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*", - "name": "storage.type.php" - }, - { - "match": "\\\\", - "name": "punctuation.separator.inheritance.php" - } - ] - }, - "2": { - "name": "storage.type.php" - }, - "3": { - "name": "variable.other.php" - }, - "4": { - "name": "storage.modifier.reference.php" - }, - "5": { - "name": "keyword.operator.variadic.php" - }, - "6": { - "name": "punctuation.definition.variable.php" - } - }, - "end": "(?=,|\\)|/[/*]|\\#)", - "name": "meta.function.parameter.typehinted.php", - "patterns": [ - { - "begin": "=", - "beginCaptures": { - "0": { - "name": "keyword.operator.assignment.php" - } - }, - "end": "(?=,|\\)|/[/*]|\\#)", - "patterns": [ - { - "include": "#language" - } - ] - } - ] - }, - { - "captures": { - "1": { - "name": "variable.other.php" - }, - "2": { - "name": "storage.modifier.reference.php" - }, - "3": { - "name": "keyword.operator.variadic.php" - }, - "4": { - "name": "punctuation.definition.variable.php" - } - }, - "match": "(?xi)\n((&)?\\s*(\\.\\.\\.)?(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Variable name with possible reference\n\\s*(?=,|\\)|/[/*]|\\#|$) # A closing parentheses (end of argument list) or a comma or a comment", - "name": "meta.function.parameter.no-default.php" - }, - { - "begin": "(?xi)\n((&)?\\s*(\\.\\.\\.)?(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Variable name with possible reference\n\\s*(=)\\s*\n(?:(\\[)((?>[^\\[\\]]+|\\[\\g<6>\\])*)(\\]))? # Optional default type", - "beginCaptures": { - "1": { - "name": "variable.other.php" - }, - "2": { - "name": "storage.modifier.reference.php" - }, - "3": { - "name": "keyword.operator.variadic.php" - }, - "4": { - "name": "punctuation.definition.variable.php" - }, - "5": { - "name": "keyword.operator.assignment.php" - }, - "6": { - "name": "punctuation.section.array.begin.php" - }, - "7": { - "patterns": [ - { - "include": "#parameter-default-types" - } - ] - }, - "8": { - "name": "punctuation.section.array.end.php" - } - }, - "end": "(?=,|\\)|/[/*]|\\#)", - "name": "meta.function.parameter.default.php", - "patterns": [ - { - "include": "#parameter-default-types" - } - ] - } - ] - }, - "function-call": { - "patterns": [ - { - "begin": "(?xi)\n(\n \\\\?\\b # Optional root namespace\n [a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]* # First namespace\n (?:\\\\[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)+ # Additional namespaces\n)\\s*(\\()", - "beginCaptures": { - "1": { - "patterns": [ - { - "include": "#namespace" - }, - { - "match": "(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*", - "name": "entity.name.function.php" - } - ] - }, - "2": { - "name": "punctuation.definition.arguments.begin.bracket.round.php" - } - }, - "end": "\\)|(?=\\?>)", - "endCaptures": { - "0": { - "name": "punctuation.definition.arguments.end.bracket.round.php" - } - }, - "name": "meta.function-call.php", - "patterns": [ - { - "include": "#language" - } - ] - }, - { - "begin": "(?i)(\\\\)?\\b([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s*(\\()", - "beginCaptures": { - "1": { - "patterns": [ - { - "include": "#namespace" - } - ] - }, - "2": { - "patterns": [ - { - "include": "#support" - }, - { - "match": "(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*", - "name": "entity.name.function.php" - } - ] - }, - "3": { - "name": "punctuation.definition.arguments.begin.bracket.round.php" - } - }, - "end": "\\)|(?=\\?>)", - "endCaptures": { - "0": { - "name": "punctuation.definition.arguments.end.bracket.round.php" - } - }, - "name": "meta.function-call.php", - "patterns": [ - { - "include": "#language" - } - ] - }, - { - "match": "(?i)\\b(print|echo)\\b", - "name": "support.function.construct.output.php" - } - ] - }, - "heredoc": { - "patterns": [ - { - "begin": "(?i)(?=<<<\\s*(\"?)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)(\\1)\\s*$)", - "end": "(?!\\G)", - "name": "string.unquoted.heredoc.php", - "patterns": [ - { - "include": "#heredoc_interior" - } - ] - }, - { - "begin": "(?=<<<\\s*'([a-zA-Z_]+[a-zA-Z0-9_]*)'\\s*$)", - "end": "(?!\\G)", - "name": "string.unquoted.nowdoc.php", - "patterns": [ - { - "include": "#nowdoc_interior" - } - ] - } - ] - }, - "heredoc_interior": { - "patterns": [ - { - "begin": "(<<<)\\s*(\"?)(HTML)(\\2)(\\s*)$", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - }, - "1": { - "name": "punctuation.definition.string.php" - }, - "3": { - "name": "keyword.operator.heredoc.php" - }, - "5": { - "name": "invalid.illegal.trailing-whitespace.php" - } - }, - "contentName": "text.html", - "end": "^(\\3)\\b", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "keyword.operator.heredoc.php" - } - }, - "name": "meta.embedded.html", - "patterns": [ - { - "include": "#interpolation" - }, - { - "include": "text.html.basic" - } - ] - }, - { - "begin": "(<<<)\\s*(\"?)(XML)(\\2)(\\s*)$", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - }, - "1": { - "name": "punctuation.definition.string.php" - }, - "3": { - "name": "keyword.operator.heredoc.php" - }, - "5": { - "name": "invalid.illegal.trailing-whitespace.php" - } - }, - "contentName": "text.xml", - "end": "^(\\3)\\b", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "keyword.operator.heredoc.php" - } - }, - "name": "meta.embedded.xml", - "patterns": [ - { - "include": "#interpolation" - }, - { - "include": "text.xml" - } - ] - }, - { - "begin": "(<<<)\\s*(\"?)(SQL)(\\2)(\\s*)$", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - }, - "1": { - "name": "punctuation.definition.string.php" - }, - "3": { - "name": "keyword.operator.heredoc.php" - }, - "5": { - "name": "invalid.illegal.trailing-whitespace.php" - } - }, - "contentName": "source.sql", - "end": "^(\\3)\\b", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "keyword.operator.heredoc.php" - } - }, - "name": "meta.embedded.sql", - "patterns": [ - { - "include": "#interpolation" - }, - { - "include": "source.sql" - } - ] - }, - { - "begin": "(<<<)\\s*(\"?)(JAVASCRIPT|JS)(\\2)(\\s*)$", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - }, - "1": { - "name": "punctuation.definition.string.php" - }, - "3": { - "name": "keyword.operator.heredoc.php" - }, - "5": { - "name": "invalid.illegal.trailing-whitespace.php" - } - }, - "contentName": "source.js", - "end": "^(\\3)\\b", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "keyword.operator.heredoc.php" - } - }, - "name": "meta.embedded.js", - "patterns": [ - { - "include": "#interpolation" - }, - { - "include": "source.js" - } - ] - }, - { - "begin": "(<<<)\\s*(\"?)(JSON)(\\2)(\\s*)$", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - }, - "1": { - "name": "punctuation.definition.string.php" - }, - "3": { - "name": "keyword.operator.heredoc.php" - }, - "5": { - "name": "invalid.illegal.trailing-whitespace.php" - } - }, - "contentName": "source.json", - "end": "^(\\3)\\b", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "keyword.operator.heredoc.php" - } - }, - "name": "meta.embedded.json", - "patterns": [ - { - "include": "#interpolation" - }, - { - "include": "source.json" - } - ] - }, - { - "begin": "(<<<)\\s*(\"?)(CSS)(\\2)(\\s*)$", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - }, - "1": { - "name": "punctuation.definition.string.php" - }, - "3": { - "name": "keyword.operator.heredoc.php" - }, - "5": { - "name": "invalid.illegal.trailing-whitespace.php" - } - }, - "contentName": "source.css", - "end": "^(\\3)\\b", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "keyword.operator.heredoc.php" - } - }, - "name": "meta.embedded.css", - "patterns": [ - { - "include": "#interpolation" - }, - { - "include": "source.css" - } - ] - }, - { - "begin": "(<<<)\\s*(\"?)(REGEXP?)(\\2)(\\s*)$", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - }, - "1": { - "name": "punctuation.definition.string.php" - }, - "3": { - "name": "keyword.operator.heredoc.php" - }, - "5": { - "name": "invalid.illegal.trailing-whitespace.php" - } - }, - "contentName": "string.regexp.heredoc.php", - "end": "^(\\3)\\b", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "keyword.operator.heredoc.php" - } - }, - "patterns": [ - { - "include": "#interpolation" - }, - { - "match": "(\\\\){1,2}[.$^\\[\\]{}]", - "name": "constant.character.escape.regex.php" - }, - { - "captures": { - "1": { - "name": "punctuation.definition.arbitrary-repitition.php" - }, - "3": { - "name": "punctuation.definition.arbitrary-repitition.php" - } - }, - "match": "({)\\d+(,\\d+)?(})", - "name": "string.regexp.arbitrary-repitition.php" - }, - { - "begin": "\\[(?:\\^?\\])?", - "captures": { - "0": { - "name": "punctuation.definition.character-class.php" - } - }, - "end": "\\]", - "name": "string.regexp.character-class.php", - "patterns": [ - { - "match": "\\\\[\\\\'\\[\\]]", - "name": "constant.character.escape.php" - } - ] - }, - { - "match": "[$^+*]", - "name": "keyword.operator.regexp.php" - }, - { - "begin": "(?i)(?<=^|\\s)(#)\\s(?=[[a-z0-9_\\x{7f}-\\x{ff},. \\t?!-][^\\x{00}-\\x{7f}]]*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.comment.php" - } - }, - "end": "$", - "endCaptures": { - "0": { - "name": "punctuation.definition.comment.php" - } - }, - "name": "comment.line.number-sign.php" - } - ] - }, - { - "begin": "(?i)(<<<)\\s*(\"?)([a-z_\\x{7f}-\\x{ff}]+[a-z0-9_\\x{7f}-\\x{ff}]*)(\\2)(\\s*)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.string.php" - }, - "3": { - "name": "keyword.operator.heredoc.php" - }, - "5": { - "name": "invalid.illegal.trailing-whitespace.php" - } - }, - "end": "^(\\3)\\b", - "endCaptures": { - "1": { - "name": "keyword.operator.heredoc.php" - } - }, - "patterns": [ - { - "include": "#interpolation" - } - ] - } - ] - }, - "nowdoc_interior": { - "patterns": [ - { - "begin": "(<<<)\\s*'(HTML)'(\\s*)$", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - }, - "1": { - "name": "punctuation.definition.string.php" - }, - "2": { - "name": "keyword.operator.nowdoc.php" - }, - "3": { - "name": "invalid.illegal.trailing-whitespace.php" - } - }, - "contentName": "text.html", - "end": "^(\\2)\\b", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "keyword.operator.nowdoc.php" - } - }, - "name": "meta.embedded.html", - "patterns": [ - { - "include": "text.html.basic" - } - ] - }, - { - "begin": "(<<<)\\s*'(XML)'(\\s*)$", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - }, - "1": { - "name": "punctuation.definition.string.php" - }, - "2": { - "name": "keyword.operator.nowdoc.php" - }, - "3": { - "name": "invalid.illegal.trailing-whitespace.php" - } - }, - "contentName": "text.xml", - "end": "^(\\2)\\b", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "keyword.operator.nowdoc.php" - } - }, - "name": "meta.embedded.xml", - "patterns": [ - { - "include": "text.xml" - } - ] - }, - { - "begin": "(<<<)\\s*'(SQL)'(\\s*)$", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - }, - "1": { - "name": "punctuation.definition.string.php" - }, - "2": { - "name": "keyword.operator.nowdoc.php" - }, - "3": { - "name": "invalid.illegal.trailing-whitespace.php" - } - }, - "contentName": "source.sql", - "end": "^(\\2)\\b", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "keyword.operator.nowdoc.php" - } - }, - "name": "meta.embedded.sql", - "patterns": [ - { - "include": "source.sql" - } - ] - }, - { - "begin": "(<<<)\\s*'(JAVASCRIPT|JS)'(\\s*)$", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - }, - "1": { - "name": "punctuation.definition.string.php" - }, - "2": { - "name": "keyword.operator.nowdoc.php" - }, - "3": { - "name": "invalid.illegal.trailing-whitespace.php" - } - }, - "contentName": "source.js", - "end": "^(\\2)\\b", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "keyword.operator.nowdoc.php" - } - }, - "name": "meta.embedded.js", - "patterns": [ - { - "include": "source.js" - } - ] - }, - { - "begin": "(<<<)\\s*'(JSON)'(\\s*)$", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - }, - "1": { - "name": "punctuation.definition.string.php" - }, - "2": { - "name": "keyword.operator.nowdoc.php" - }, - "3": { - "name": "invalid.illegal.trailing-whitespace.php" - } - }, - "contentName": "source.json", - "end": "^(\\2)\\b", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "keyword.operator.nowdoc.php" - } - }, - "name": "meta.embedded.json", - "patterns": [ - { - "include": "source.json" - } - ] - }, - { - "begin": "(<<<)\\s*'(CSS)'(\\s*)$", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - }, - "1": { - "name": "punctuation.definition.string.php" - }, - "2": { - "name": "keyword.operator.nowdoc.php" - }, - "3": { - "name": "invalid.illegal.trailing-whitespace.php" - } - }, - "contentName": "source.css", - "end": "^(\\2)\\b", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "keyword.operator.nowdoc.php" - } - }, - "name": "meta.embedded.css", - "patterns": [ - { - "include": "source.css" - } - ] - }, - { - "begin": "(<<<)\\s*'(REGEXP?)'(\\s*)$", - "beginCaptures": { - "0": { - "name": "punctuation.section.embedded.begin.php" - }, - "1": { - "name": "punctuation.definition.string.php" - }, - "2": { - "name": "keyword.operator.nowdoc.php" - }, - "3": { - "name": "invalid.illegal.trailing-whitespace.php" - } - }, - "contentName": "string.regexp.nowdoc.php", - "end": "^(\\2)\\b", - "endCaptures": { - "0": { - "name": "punctuation.section.embedded.end.php" - }, - "1": { - "name": "keyword.operator.nowdoc.php" - } - }, - "patterns": [ - { - "match": "(\\\\){1,2}[.$^\\[\\]{}]", - "name": "constant.character.escape.regex.php" - }, - { - "captures": { - "1": { - "name": "punctuation.definition.arbitrary-repitition.php" - }, - "3": { - "name": "punctuation.definition.arbitrary-repitition.php" - } - }, - "match": "({)\\d+(,\\d+)?(})", - "name": "string.regexp.arbitrary-repitition.php" - }, - { - "begin": "\\[(?:\\^?\\])?", - "captures": { - "0": { - "name": "punctuation.definition.character-class.php" - } - }, - "end": "\\]", - "name": "string.regexp.character-class.php", - "patterns": [ - { - "match": "\\\\[\\\\'\\[\\]]", - "name": "constant.character.escape.php" - } - ] - }, - { - "match": "[$^+*]", - "name": "keyword.operator.regexp.php" - }, - { - "begin": "(?i)(?<=^|\\s)(#)\\s(?=[[a-z0-9_\\x{7f}-\\x{ff},. \\t?!-][^\\x{00}-\\x{7f}]]*$)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.comment.php" - } - }, - "end": "$", - "endCaptures": { - "0": { - "name": "punctuation.definition.comment.php" - } - }, - "name": "comment.line.number-sign.php" - } - ] - }, - { - "begin": "(?i)(<<<)\\s*'([a-z_\\x{7f}-\\x{ff}]+[a-z0-9_\\x{7f}-\\x{ff}]*)'(\\s*)", - "beginCaptures": { - "1": { - "name": "punctuation.definition.string.php" - }, - "2": { - "name": "keyword.operator.nowdoc.php" - }, - "3": { - "name": "invalid.illegal.trailing-whitespace.php" - } - }, - "end": "^(\\2)\\b", - "endCaptures": { - "1": { - "name": "keyword.operator.nowdoc.php" - } - } - } - ] - }, - "instantiation": { - "begin": "(?i)(new)\\s+", - "beginCaptures": { - "1": { - "name": "keyword.other.new.php" - } - }, - "end": "(?i)(?=[^a-z0-9_\\x{7f}-\\x{ff}\\\\])", - "patterns": [ - { - "match": "(?i)(parent|static|self)(?![a-z0-9_\\x{7f}-\\x{ff}])", - "name": "storage.type.php" - }, - { - "include": "#class-name" - }, - { - "include": "#variable-name" - } - ] - }, - "interpolation": { - "patterns": [ - { - "match": "\\\\[0-7]{1,3}", - "name": "constant.character.escape.octal.php" - }, - { - "match": "\\\\x[0-9A-Fa-f]{1,2}", - "name": "constant.character.escape.hex.php" - }, - { - "match": "\\\\u{[0-9A-Fa-f]+}", - "name": "constant.character.escape.unicode.php" - }, - { - "match": "\\\\[nrtvef$\"\\\\]", - "name": "constant.character.escape.php" - }, - { - "begin": "{(?=\\$.*?})", - "beginCaptures": { - "0": { - "name": "punctuation.definition.variable.php" - } - }, - "end": "}", - "endCaptures": { - "0": { - "name": "punctuation.definition.variable.php" - } - }, - "patterns": [ - { - "include": "#language" - } - ] - }, - { - "include": "#variable-name" - } - ] - }, - "invoke-call": { - "captures": { - "1": { - "name": "punctuation.definition.variable.php" - }, - "2": { - "name": "variable.other.php" - } - }, - "match": "(?i)(\\$+)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)(?=\\s*\\()", - "name": "meta.function-call.invoke.php" - }, - "language": { - "patterns": [ - { - "include": "#comments" - }, - { - "begin": "(?i)^\\s*(interface)\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s*(extends)?\\s*", - "beginCaptures": { - "1": { - "name": "storage.type.interface.php" - }, - "2": { - "name": "entity.name.type.interface.php" - }, - "3": { - "name": "storage.modifier.extends.php" - } - }, - "end": "(?i)((?:[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*\\s*,\\s*)*)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?\\s*(?:(?={)|$)", - "endCaptures": { - "1": { - "patterns": [ - { - "match": "(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*", - "name": "entity.other.inherited-class.php" - }, - { - "match": ",", - "name": "punctuation.separator.classes.php" - } - ] - }, - "2": { - "name": "entity.other.inherited-class.php" - } - }, - "name": "meta.interface.php", - "patterns": [ - { - "include": "#namespace" - } - ] - }, - { - "begin": "(?i)^\\s*(trait)\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)", - "beginCaptures": { - "1": { - "name": "storage.type.trait.php" - }, - "2": { - "name": "entity.name.type.trait.php" - } - }, - "end": "(?={)", - "name": "meta.trait.php", - "patterns": [ - { - "include": "#comments" - } - ] - }, - { - "match": "(?i)(?:^|(?<=<\\?php))\\s*(namespace)\\s+([a-z0-9_\\x{7f}-\\x{ff}\\\\]+)(?=\\s*;)", - "name": "meta.namespace.php", - "captures": { - "1": { - "name": "keyword.other.namespace.php" - }, - "2": { - "name": "entity.name.type.namespace.php", - "patterns": [ - { - "match": "\\\\", - "name": "punctuation.separator.inheritance.php" - } - ] - } - } - }, - { - "begin": "(?i)(?:^|(?<=<\\?php))\\s*(namespace)\\s+", - "beginCaptures": { - "1": { - "name": "keyword.other.namespace.php" - } - }, - "end": "(?<=})|(?=\\?>)", - "name": "meta.namespace.php", - "patterns": [ - { - "include": "#comments" - }, - { - "match": "(?i)[a-z0-9_\\x{7f}-\\x{ff}\\\\]+", - "name": "entity.name.type.namespace.php", - "captures": { - "0": { - "patterns": [ - { - "match": "\\\\", - "name": "punctuation.separator.inheritance.php" - } - ] - } - } - }, - { - "begin": "{", - "beginCaptures": { - "0": { - "name": "punctuation.definition.namespace.begin.bracket.curly.php" - } - }, - "end": "}|(?=\\?>)", - "endCaptures": { - "0": { - "name": "punctuation.definition.namespace.end.bracket.curly.php" - } - }, - "patterns": [ - { - "include": "#language" - } - ] - }, - { - "match": "[^\\s]+", - "name": "invalid.illegal.identifier.php" - } - ] - }, - { - "match": "\\s+(?=use\\b)" - }, - { - "begin": "(?i)\\buse\\b", - "beginCaptures": { - "0": { - "name": "keyword.other.use.php" - } - }, - "end": "(?<=})|(?=;)", - "name": "meta.use.php", - "patterns": [ - { - "match": "\\b(const|function)\\b", - "name": "storage.type.${1:/downcase}.php" - }, - { - "begin": "{", - "beginCaptures": { - "0": { - "name": "punctuation.definition.use.begin.bracket.curly.php" - } - }, - "end": "}", - "endCaptures": { - "0": { - "name": "punctuation.definition.use.end.bracket.curly.php" - } - }, - "patterns": [ - { - "include": "#scope-resolution" - }, - { - "match": "(?xi)\n\\b(as)\n\\s+(final|abstract|public|private|protected|static)\n\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\n\\b", - "captures": { - "1": { - "name": "keyword.other.use-as.php" - }, - "2": { - "name": "storage.modifier.php" - }, - "3": { - "name": "entity.other.alias.php" - } - } - }, - { - "match": "(?xi)\n\\b(as)\n\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\n\\b", - "captures": { - "1": { - "name": "keyword.other.use-as.php" - }, - "2": { - "patterns": [ - { - "match": "^(?:final|abstract|public|private|protected|static)$", - "name": "storage.modifier.php" - }, - { - "match": ".+", - "name": "entity.other.alias.php" - } - ] - } - } - }, - { - "match": "(?i)\\b(insteadof)\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)", - "captures": { - "1": { - "name": "keyword.other.use-insteadof.php" - }, - "2": { - "name": "support.class.php" - } - } - }, - { - "match": ";", - "name": "punctuation.terminator.expression.php" - }, - { - "include": "#use-inner" - } - ] - }, - { - "include": "#use-inner" - } - ] - }, - { - "begin": "(?i)^\\s*(?:(abstract|final)\\s+)?(class)\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)", - "beginCaptures": { - "1": { - "name": "storage.modifier.${1:/downcase}.php" - }, - "2": { - "name": "storage.type.class.php" - }, - "3": { - "name": "entity.name.type.class.php" - } - }, - "end": "}|(?=\\?>)", - "endCaptures": { - "0": { - "name": "punctuation.definition.class.end.bracket.curly.php" - } - }, - "name": "meta.class.php", - "patterns": [ - { - "include": "#comments" - }, - { - "begin": "(?i)(extends)\\s+", - "beginCaptures": { - "1": { - "name": "storage.modifier.extends.php" - } - }, - "contentName": "meta.other.inherited-class.php", - "end": "(?i)(?=[^a-z0-9_\\x{7f}-\\x{ff}\\\\])", - "patterns": [ - { - "begin": "(?i)(?=\\\\?[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*\\\\)", - "end": "(?i)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?(?=[^a-z0-9_\\x{7f}-\\x{ff}\\\\])", - "endCaptures": { - "1": { - "name": "entity.other.inherited-class.php" - } - }, - "patterns": [ - { - "include": "#namespace" - } - ] - }, - { - "include": "#class-builtin" - }, - { - "include": "#namespace" - }, - { - "match": "(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*", - "name": "entity.other.inherited-class.php" - } - ] - }, - { - "begin": "(?i)(implements)\\s+", - "beginCaptures": { - "1": { - "name": "storage.modifier.implements.php" - } - }, - "end": "(?i)(?=[;{])", - "patterns": [ - { - "include": "#comments" - }, - { - "begin": "(?i)(?=[a-z0-9_\\x{7f}-\\x{ff}\\\\]+)", - "contentName": "meta.other.inherited-class.php", - "end": "(?i)(?:\\s*(?:,|(?=[^a-z0-9_\\x{7f}-\\x{ff}\\\\\\s]))\\s*)", - "patterns": [ - { - "begin": "(?i)(?=\\\\?[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*\\\\)", - "end": "(?i)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?(?=[^a-z0-9_\\x{7f}-\\x{ff}\\\\])", - "endCaptures": { - "1": { - "name": "entity.other.inherited-class.php" - } - }, - "patterns": [ - { - "include": "#namespace" - } - ] - }, - { - "include": "#class-builtin" - }, - { - "include": "#namespace" - }, - { - "match": "(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*", - "name": "entity.other.inherited-class.php" - } - ] - } - ] - }, - { - "begin": "{", - "beginCaptures": { - "0": { - "name": "punctuation.definition.class.begin.bracket.curly.php" - } - }, - "end": "(?=}|\\?>)", - "contentName": "meta.class.body.php", - "patterns": [ - { - "include": "#language" - } - ] - } - ] - }, - { - "include": "#switch_statement" - }, - { - "match": "(?x)\n\\s*\n\\b(\n break|case|continue|declare|default|die|do|\n else(if)?|end(declare|for(each)?|if|switch|while)|exit|\n for(each)?|if|return|switch|use|while|yield\n)\\b", - "captures": { - "1": { - "name": "keyword.control.${1:/downcase}.php" - } - } - }, - { - "begin": "(?i)\\b((?:require|include)(?:_once)?)\\s+", - "beginCaptures": { - "1": { - "name": "keyword.control.import.include.php" - } - }, - "end": "(?=\\s|;|$|\\?>)", - "name": "meta.include.php", - "patterns": [ - { - "include": "#language" - } - ] - }, - { - "begin": "\\b(catch)\\s*(\\()", - "beginCaptures": { - "1": { - "name": "keyword.control.exception.catch.php" - }, - "2": { - "name": "punctuation.definition.parameters.begin.bracket.round.php" - } - }, - "end": "\\)", - "endCaptures": { - "0": { - "name": "punctuation.definition.parameters.end.bracket.round.php" - } - }, - "name": "meta.catch.php", - "patterns": [ - { - "include": "#namespace" - }, - { - "match": "(?xi)\n([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Exception class\n((?:\\s*\\|\\s*[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)*) # Optional additional exception classes\n\\s*\n((\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Variable", - "captures": { - "1": { - "name": "support.class.exception.php" - }, - "2": { - "patterns": [ - { - "match": "(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*", - "name": "support.class.exception.php" - }, - { - "match": "\\|", - "name": "punctuation.separator.delimiter.php" - } - ] - }, - "3": { - "name": "variable.other.php" - }, - "4": { - "name": "punctuation.definition.variable.php" - } - } - } - ] - }, - { - "match": "\\b(catch|try|throw|exception|finally)\\b", - "name": "keyword.control.exception.php" - }, - { - "begin": "(?i)\\b(function)\\s*(?=\\()", - "beginCaptures": { - "1": { - "name": "storage.type.function.php" - } - }, - "end": "(?={)", - "name": "meta.function.closure.php", - "patterns": [ - { - "begin": "\\(", - "beginCaptures": { - "0": { - "name": "punctuation.definition.parameters.begin.bracket.round.php" - } - }, - "contentName": "meta.function.parameters.php", - "end": "\\)", - "endCaptures": { - "0": { - "name": "punctuation.definition.parameters.end.bracket.round.php" - } - }, - "patterns": [ - { - "include": "#function-parameters" - } - ] - }, - { - "begin": "(?i)(use)\\s*(\\()", - "beginCaptures": { - "1": { - "name": "keyword.other.function.use.php" - }, - "2": { - "name": "punctuation.definition.parameters.begin.bracket.round.php" - } - }, - "end": "\\)", - "endCaptures": { - "0": { - "name": "punctuation.definition.parameters.end.bracket.round.php" - } - }, - "patterns": [ - { - "captures": { - "1": { - "name": "variable.other.php" - }, - "2": { - "name": "storage.modifier.reference.php" - }, - "3": { - "name": "punctuation.definition.variable.php" - } - }, - "match": "(?i)((&)?\\s*(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s*(?=,|\\))", - "name": "meta.function.closure.use.php" - } - ] - } - ] - }, - { - "begin": "(?x)\n((?:(?:final|abstract|public|private|protected|static)\\s+)*)\n(function)\\s+\n(?i:\n (__(?:call|construct|debugInfo|destruct|get|set|isset|unset|tostring|\n clone|set_state|sleep|wakeup|autoload|invoke|callStatic))\n |([a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*)\n)\n\\s*(\\()", - "beginCaptures": { - "1": { - "patterns": [ - { - "match": "final|abstract|public|private|protected|static", - "name": "storage.modifier.php" - } - ] - }, - "2": { - "name": "storage.type.function.php" - }, - "3": { - "name": "support.function.magic.php" - }, - "4": { - "name": "entity.name.function.php" - }, - "5": { - "name": "punctuation.definition.parameters.begin.bracket.round.php" - } - }, - "contentName": "meta.function.parameters.php", - "end": "(\\))(?:\\s*(:)\\s*([a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*))?", - "endCaptures": { - "1": { - "name": "punctuation.definition.parameters.end.bracket.round.php" - }, - "2": { - "name": "keyword.operator.return-value.php" - }, - "3": { - "name": "storage.type.php" - } - }, - "name": "meta.function.php", - "patterns": [ - { - "include": "#function-parameters" - } - ] - }, - { - "include": "#invoke-call" - }, - { - "include": "#scope-resolution" - }, - { - "include": "#variables" - }, - { - "include": "#strings" - }, - { - "captures": { - "1": { - "name": "support.function.construct.php" - }, - "2": { - "name": "punctuation.definition.array.begin.bracket.round.php" - }, - "3": { - "name": "punctuation.definition.array.end.bracket.round.php" - } - }, - "match": "(array)(\\()(\\))", - "name": "meta.array.empty.php" - }, - { - "begin": "(array)(\\()", - "beginCaptures": { - "1": { - "name": "support.function.construct.php" - }, - "2": { - "name": "punctuation.definition.array.begin.bracket.round.php" - } - }, - "end": "\\)|(?=\\?>)", - "endCaptures": { - "0": { - "name": "punctuation.definition.array.end.bracket.round.php" - } - }, - "name": "meta.array.php", - "patterns": [ - { - "include": "#language" - } - ] - }, - { - "match": "(?i)(\\()\\s*(array|real|double|float|int(?:eger)?|bool(?:ean)?|string|object|binary|unset)\\s*(\\))", - "captures": { - "1": { - "name": "punctuation.definition.storage-type.begin.bracket.round.php" - }, - "2": { - "name": "storage.type.php" - }, - "3": { - "name": "punctuation.definition.storage-type.end.bracket.round.php" - } - } - }, - { - "match": "(?i)\\b(array|real|double|float|int(eger)?|bool(ean)?|string|class|var|function|interface|trait|parent|self|object)\\b", - "name": "storage.type.php" - }, - { - "match": "(?i)\\b(global|abstract|const|extends|implements|final|private|protected|public|static)\\b", - "name": "storage.modifier.php" - }, - { - "include": "#object" - }, - { - "match": ";", - "name": "punctuation.terminator.expression.php" - }, - { - "match": ":", - "name": "punctuation.terminator.statement.php" - }, - { - "include": "#heredoc" - }, - { - "include": "#numbers" - }, - { - "match": "(?i)\\bclone\\b", - "name": "keyword.other.clone.php" - }, - { - "match": "\\.=?", - "name": "keyword.operator.string.php" - }, - { - "match": "=>", - "name": "keyword.operator.key.php" - }, - { - "captures": { - "1": { - "name": "keyword.operator.assignment.php" - }, - "2": { - "name": "storage.modifier.reference.php" - }, - "3": { - "name": "storage.modifier.reference.php" - } - }, - "match": "(?i)(\\=)(&)|(&)(?=[$a-z_])" - }, - { - "match": "@", - "name": "keyword.operator.error-control.php" - }, - { - "match": "===|==|!==|!=|<>", - "name": "keyword.operator.comparison.php" - }, - { - "match": "=|\\+=|\\-=|\\*=|/=|%=|&=|\\|=|\\^=|<<=|>>=", - "name": "keyword.operator.assignment.php" - }, - { - "match": "<=>|<=|>=|<|>", - "name": "keyword.operator.comparison.php" - }, - { - "match": "\\-\\-|\\+\\+", - "name": "keyword.operator.increment-decrement.php" - }, - { - "match": "\\-|\\+|\\*|/|%", - "name": "keyword.operator.arithmetic.php" - }, - { - "match": "(?i)(!|&&|\\|\\|)|\\b(and|or|xor|as)\\b", - "name": "keyword.operator.logical.php" - }, - { - "include": "#function-call" - }, - { - "match": "<<|>>|~|\\^|&|\\|", - "name": "keyword.operator.bitwise.php" - }, - { - "begin": "(?i)\\b(instanceof)\\s+(?=[\\\\$a-z_])", - "beginCaptures": { - "1": { - "name": "keyword.operator.type.php" - } - }, - "end": "(?=[^\\\\$a-z0-9_\\x{7f}-\\x{ff}])", - "patterns": [ - { - "include": "#class-name" - }, - { - "include": "#variable-name" - } - ] - }, - { - "include": "#instantiation" - }, - { - "captures": { - "1": { - "name": "keyword.control.goto.php" - }, - "2": { - "name": "support.other.php" - } - }, - "match": "(?i)(goto)\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)" - }, - { - "captures": { - "1": { - "name": "entity.name.goto-label.php" - } - }, - "match": "(?i)^\\s*([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s*:(?!:)" - }, - { - "include": "#string-backtick" - }, - { - "begin": "{", - "beginCaptures": { - "0": { - "name": "punctuation.definition.begin.bracket.curly.php" - } - }, - "end": "}|(?=\\?>)", - "endCaptures": { - "0": { - "name": "punctuation.definition.end.bracket.curly.php" - } - }, - "patterns": [ - { - "include": "#language" - } - ] - }, - { - "begin": "\\[", - "beginCaptures": { - "0": { - "name": "punctuation.section.array.begin.php" - } - }, - "end": "\\]|(?=\\?>)", - "endCaptures": { - "0": { - "name": "punctuation.section.array.end.php" - } - }, - "patterns": [ - { - "include": "#language" - } - ] - }, - { - "begin": "\\(", - "beginCaptures": { - "0": { - "name": "punctuation.definition.begin.bracket.round.php" - } - }, - "end": "\\)|(?=\\?>)", - "endCaptures": { - "0": { - "name": "punctuation.definition.end.bracket.round.php" - } - }, - "patterns": [ - { - "include": "#language" - } - ] - }, - { - "include": "#constants" - }, - { - "match": ",", - "name": "punctuation.separator.delimiter.php" - } - ] - }, - "namespace": { - "begin": "(?i)(?:(namespace)|[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?(\\\\)(?=.*?[^a-z0-9_\\x{7f}-\\x{ff}\\\\])", - "beginCaptures": { - "1": { - "name": "variable.language.namespace.php" - }, - "2": { - "name": "punctuation.separator.inheritance.php" - } - }, - "end": "(?i)(?=[a-z0-9_\\x{7f}-\\x{ff}]*[^a-z0-9_\\x{7f}-\\x{ff}\\\\])", - "name": "support.other.namespace.php", - "patterns": [ - { - "match": "\\\\", - "name": "punctuation.separator.inheritance.php" - } - ] - }, - "numbers": { - "patterns": [ - { - "match": "0[xX][0-9a-fA-F]+", - "name": "constant.numeric.hex.php" - }, - { - "match": "0[bB][01]+", - "name": "constant.numeric.binary.php" - }, - { - "match": "0[0-7]+", - "name": "constant.numeric.octal.php" - }, - { - "match": "(?x)\n(?:\n [0-9]*(\\.)[0-9]+(?:[eE][+-]?[0-9]+)?|\n [0-9]+(\\.)[0-9]*(?:[eE][+-]?[0-9]+)?|\n [0-9]+[eE][+-]?[0-9]+\n)", - "name": "constant.numeric.decimal.php", - "captures": { - "1": { - "name": "punctuation.separator.decimal.period.php" - }, - "2": { - "name": "punctuation.separator.decimal.period.php" - } - } - }, - { - "match": "0|[1-9][0-9]*", - "name": "constant.numeric.decimal.php" - } - ] - }, - "object": { - "patterns": [ - { - "begin": "(->)(\\$?{)", - "beginCaptures": { - "1": { - "name": "keyword.operator.class.php" - }, - "2": { - "name": "punctuation.definition.variable.php" - } - }, - "end": "}", - "endCaptures": { - "0": { - "name": "punctuation.definition.variable.php" - } - }, - "patterns": [ - { - "include": "#language" - } - ] - }, - { - "begin": "(?i)(->)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s*(\\()", - "beginCaptures": { - "1": { - "name": "keyword.operator.class.php" - }, - "2": { - "name": "entity.name.function.php" - }, - "3": { - "name": "punctuation.definition.arguments.begin.bracket.round.php" - } - }, - "end": "\\)|(?=\\?>)", - "endCaptures": { - "0": { - "name": "punctuation.definition.arguments.end.bracket.round.php" - } - }, - "name": "meta.method-call.php", - "patterns": [ - { - "include": "#language" - } - ] - }, - { - "captures": { - "1": { - "name": "keyword.operator.class.php" - }, - "2": { - "name": "variable.other.property.php" - }, - "3": { - "name": "punctuation.definition.variable.php" - } - }, - "match": "(?i)(->)((\\$+)?[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?" - } - ] - }, - "parameter-default-types": { - "patterns": [ - { - "include": "#strings" - }, - { - "include": "#numbers" - }, - { - "include": "#string-backtick" - }, - { - "include": "#variables" - }, - { - "match": "=>", - "name": "keyword.operator.key.php" - }, - { - "match": "=", - "name": "keyword.operator.assignment.php" - }, - { - "match": "&(?=\\s*\\$)", - "name": "storage.modifier.reference.php" - }, - { - "begin": "(array)\\s*(\\()", - "beginCaptures": { - "1": { - "name": "support.function.construct.php" - }, - "2": { - "name": "punctuation.definition.array.begin.bracket.round.php" - } - }, - "end": "\\)", - "endCaptures": { - "0": { - "name": "punctuation.definition.array.end.bracket.round.php" - } - }, - "name": "meta.array.php", - "patterns": [ - { - "include": "#parameter-default-types" - } - ] - }, - { - "include": "#instantiation" - }, - { - "begin": "(?xi)\n(?=[a-z0-9_\\x{7f}-\\x{ff}\\\\]+(::)\n ([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?\n)", - "end": "(?i)(::)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?", - "endCaptures": { - "1": { - "name": "keyword.operator.class.php" - }, - "2": { - "name": "constant.other.class.php" - } - }, - "patterns": [ - { - "include": "#class-name" - } - ] - }, - { - "include": "#constants" - } - ] - }, - "php_doc": { - "patterns": [ - { - "match": "^(?!\\s*\\*).*?(?:(?=\\*\\/)|$\\n?)", - "name": "invalid.illegal.missing-asterisk.phpdoc.php" - }, - { - "captures": { - "1": { - "name": "keyword.other.phpdoc.php" - }, - "3": { - "name": "storage.modifier.php" - }, - "4": { - "name": "invalid.illegal.wrong-access-type.phpdoc.php" - } - }, - "match": "^\\s*\\*\\s*(@access)\\s+((public|private|protected)|(.+))\\s*$" - }, - { - "captures": { - "1": { - "name": "keyword.other.phpdoc.php" - }, - "2": { - "name": "markup.underline.link.php" - } - }, - "match": "(@xlink)\\s+(.+)\\s*$" - }, - { - "begin": "(@(?:global|param|property(-(read|write))?|return|throws|var))\\s+(?=[A-Za-z_\\x{7f}-\\x{ff}\\\\]|\\()", - "beginCaptures": { - "1": { - "name": "keyword.other.phpdoc.php" - } - }, - "end": "(?=\\s|\\*/)", - "contentName": "meta.other.type.phpdoc.php", - "patterns": [ - { - "include": "#php_doc_types_array_multiple" - }, - { - "include": "#php_doc_types_array_single" - }, - { - "include": "#php_doc_types" - } - ] - }, - { - "match": "(?x)\n@\n(\n api|abstract|author|category|copyright|example|global|inherit[Dd]oc|internal|\n license|link|method|property(-(read|write))?|package|param|return|see|since|source|\n static|subpackage|throws|todo|var|version|uses|deprecated|final|ignore\n)\\b", - "name": "keyword.other.phpdoc.php" - }, - { - "captures": { - "1": { - "name": "keyword.other.phpdoc.php" - } - }, - "match": "{(@(link|inherit[Dd]oc)).+?}", - "name": "meta.tag.inline.phpdoc.php" - } - ] - }, - "php_doc_types": { - "match": "(?i)[a-z_\\x{7f}-\\x{ff}\\\\][a-z0-9_\\x{7f}-\\x{ff}\\\\]*(\\|[a-z_\\x{7f}-\\x{ff}\\\\][a-z0-9_\\x{7f}-\\x{ff}\\\\]*)*", - "captures": { - "0": { - "patterns": [ - { - "match": "(?x)\\b\n(string|integer|int|boolean|bool|float|double|object|mixed\n|array|resource|void|null|callback|false|true|self)\\b", - "name": "keyword.other.type.php" - }, - { - "include": "#class-name" - }, - { - "match": "\\|", - "name": "punctuation.separator.delimiter.php" - } - ] - } - } - }, - "php_doc_types_array_multiple": { - "begin": "\\(", - "beginCaptures": { - "0": { - "name": "punctuation.definition.type.begin.bracket.round.phpdoc.php" - } - }, - "end": "(\\))(\\[\\])|(?=\\*/)", - "endCaptures": { - "1": { - "name": "punctuation.definition.type.end.bracket.round.phpdoc.php" - }, - "2": { - "name": "keyword.other.array.phpdoc.php" - } - }, - "patterns": [ - { - "include": "#php_doc_types_array_multiple" - }, - { - "include": "#php_doc_types_array_single" - }, - { - "include": "#php_doc_types" - }, - { - "match": "\\|", - "name": "punctuation.separator.delimiter.php" - } - ] - }, - "php_doc_types_array_single": { - "match": "(?i)([a-z_\\x{7f}-\\x{ff}\\\\][a-z0-9_\\x{7f}-\\x{ff}\\\\]*)(\\[\\])", - "captures": { - "1": { - "patterns": [ - { - "include": "#php_doc_types" - } - ] - }, - "2": { - "name": "keyword.other.array.phpdoc.php" - } - } - }, - "regex-double-quoted": { - "begin": "\"/(?=(\\\\.|[^\"/])++/[imsxeADSUXu]*\")", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.php" - } - }, - "end": "(/)([imsxeADSUXu]*)(\")", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.php" - } - }, - "name": "string.regexp.double-quoted.php", - "patterns": [ - { - "match": "(\\\\){1,2}[.$^\\[\\]{}]", - "name": "constant.character.escape.regex.php" - }, - { - "include": "#interpolation" - }, - { - "captures": { - "1": { - "name": "punctuation.definition.arbitrary-repetition.php" - }, - "3": { - "name": "punctuation.definition.arbitrary-repetition.php" - } - }, - "match": "({)\\d+(,\\d+)?(})", - "name": "string.regexp.arbitrary-repetition.php" - }, - { - "begin": "\\[(?:\\^?\\])?", - "captures": { - "0": { - "name": "punctuation.definition.character-class.php" - } - }, - "end": "\\]", - "name": "string.regexp.character-class.php", - "patterns": [ - { - "include": "#interpolation" - } - ] - }, - { - "match": "[$^+*]", - "name": "keyword.operator.regexp.php" - } - ] - }, - "regex-single-quoted": { - "begin": "'/(?=(\\\\(?:\\\\(?:\\\\[\\\\']?|[^'])|.)|[^'/])++/[imsxeADSUXu]*')", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.php" - } - }, - "end": "(/)([imsxeADSUXu]*)(')", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.php" - } - }, - "name": "string.regexp.single-quoted.php", - "patterns": [ - { - "include": "#single_quote_regex_escape" - }, - { - "captures": { - "1": { - "name": "punctuation.definition.arbitrary-repetition.php" - }, - "3": { - "name": "punctuation.definition.arbitrary-repetition.php" - } - }, - "match": "({)\\d+(,\\d+)?(})", - "name": "string.regexp.arbitrary-repetition.php" - }, - { - "begin": "\\[(?:\\^?\\])?", - "captures": { - "0": { - "name": "punctuation.definition.character-class.php" - } - }, - "end": "\\]", - "name": "string.regexp.character-class.php" - }, - { - "match": "[$^+*]", - "name": "keyword.operator.regexp.php" - } - ] - }, - "scope-resolution": { - "patterns": [ - { - "match": "(?i)\\b([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)(?=\\s*::)", - "captures": { - "1": { - "patterns": [ - { - "match": "\\b(self|static|parent)\\b", - "name": "storage.type.php" - }, - { - "include": "#class-name" - }, - { - "include": "#variable-name" - } - ] - } - } - }, - { - "begin": "(?i)(::)\\s*([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s*(\\()", - "beginCaptures": { - "1": { - "name": "keyword.operator.class.php" - }, - "2": { - "name": "entity.name.function.php" - }, - "3": { - "name": "punctuation.definition.arguments.begin.bracket.round.php" - } - }, - "end": "\\)|(?=\\?>)", - "endCaptures": { - "0": { - "name": "punctuation.definition.arguments.end.bracket.round.php" - } - }, - "name": "meta.method-call.static.php", - "patterns": [ - { - "include": "#language" - } - ] - }, - { - "match": "(?i)(::)\\s*(class)\\b", - "captures": { - "1": { - "name": "keyword.operator.class.php" - }, - "2": { - "name": "keyword.other.class.php" - } - } - }, - { - "match": "(?xi)\n(::)\\s*\n(?:\n ((\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Variable\n |\n ([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*) # Constant\n)?", - "captures": { - "1": { - "name": "keyword.operator.class.php" - }, - "2": { - "name": "variable.other.class.php" - }, - "3": { - "name": "punctuation.definition.variable.php" - }, - "4": { - "name": "constant.other.class.php" - } - } - } - ] - }, - "single_quote_regex_escape": { - "match": "\\\\(?:\\\\(?:\\\\[\\\\']?|[^'])|.)", - "name": "constant.character.escape.php" - }, - "sql-string-double-quoted": { - "begin": "\"\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER|AND)\\b)", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.php" - } - }, - "contentName": "source.sql.embedded.php", - "end": "\"", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.php" - } - }, - "name": "string.quoted.double.sql.php", - "patterns": [ - { - "match": "(#)(\\\\\"|[^\"])*(?=\"|$)", - "name": "comment.line.number-sign.sql", - "captures": { - "1": { - "name": "punctuation.definition.comment.sql" - } - } - }, - { - "match": "(--)(\\\\\"|[^\"])*(?=\"|$)", - "name": "comment.line.double-dash.sql", - "captures": { - "1": { - "name": "punctuation.definition.comment.sql" - } - } - }, - { - "match": "\\\\[\\\\\"`']", - "name": "constant.character.escape.php" - }, - { - "match": "'(?=((\\\\')|[^'\"])*(\"|$))", - "name": "string.quoted.single.unclosed.sql" - }, - { - "match": "`(?=((\\\\`)|[^`\"])*(\"|$))", - "name": "string.quoted.other.backtick.unclosed.sql" - }, - { - "begin": "'", - "end": "'", - "name": "string.quoted.single.sql", - "patterns": [ - { - "include": "#interpolation" - } - ] - }, - { - "begin": "`", - "end": "`", - "name": "string.quoted.other.backtick.sql", - "patterns": [ - { - "include": "#interpolation" - } - ] - }, - { - "include": "#interpolation" - }, - { - "include": "source.sql" - } - ] - }, - "sql-string-single-quoted": { - "begin": "'\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER|AND)\\b)", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.php" - } - }, - "contentName": "source.sql.embedded.php", - "end": "'", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.php" - } - }, - "name": "string.quoted.single.sql.php", - "patterns": [ - { - "match": "(#)(\\\\'|[^'])*(?='|$)", - "name": "comment.line.number-sign.sql", - "captures": { - "1": { - "name": "punctuation.definition.comment.sql" - } - } - }, - { - "match": "(--)(\\\\'|[^'])*(?='|$)", - "name": "comment.line.double-dash.sql", - "captures": { - "1": { - "name": "punctuation.definition.comment.sql" - } - } - }, - { - "match": "\\\\[\\\\'`\"]", - "name": "constant.character.escape.php" - }, - { - "match": "`(?=((\\\\`)|[^`'])*('|$))", - "name": "string.quoted.other.backtick.unclosed.sql" - }, - { - "match": "\"(?=((\\\\\")|[^\"'])*('|$))", - "name": "string.quoted.double.unclosed.sql" - }, - { - "include": "source.sql" - } - ] - }, - "string-backtick": { - "begin": "`", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.php" - } - }, - "end": "`", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.php" - } - }, - "name": "string.interpolated.php", - "patterns": [ - { - "match": "\\\\.", - "name": "constant.character.escape.php" - }, - { - "include": "#interpolation" - } - ] - }, - "string-double-quoted": { - "begin": "\"", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.php" - } - }, - "end": "\"", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.php" - } - }, - "name": "string.quoted.double.php", - "patterns": [ - { - "include": "#interpolation" - } - ] - }, - "string-single-quoted": { - "begin": "'", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.php" - } - }, - "end": "'", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.php" - } - }, - "name": "string.quoted.single.php", - "patterns": [ - { - "match": "\\\\[\\\\']", - "name": "constant.character.escape.php" - } - ] - }, - "strings": { - "patterns": [ - { - "include": "#regex-double-quoted" - }, - { - "include": "#sql-string-double-quoted" - }, - { - "include": "#string-double-quoted" - }, - { - "include": "#regex-single-quoted" - }, - { - "include": "#sql-string-single-quoted" - }, - { - "include": "#string-single-quoted" - } - ] - }, - "support": { - "patterns": [ - { - "match": "(?xi)\n\\b\napc_(\n store|sma_info|compile_file|clear_cache|cas|cache_info|inc|dec|define_constants|delete(_file)?|\n exists|fetch|load_constants|add|bin_(dump|load)(file)?\n)\\b", - "name": "support.function.apc.php" - }, - { - "match": "(?xi)\\b\n(\n shuffle|sizeof|sort|next|nat(case)?sort|count|compact|current|in_array|usort|uksort|uasort|\n pos|prev|end|each|extract|ksort|key(_exists)?|krsort|list|asort|arsort|rsort|reset|range|\n array(_(shift|sum|splice|search|slice|chunk|change_key_case|count_values|column|combine|\n (diff|intersect)(_(u)?(key|assoc))?|u(diff|intersect)(_(u)?assoc)?|unshift|unique|\n pop|push|pad|product|values|keys|key_exists|filter|fill(_keys)?|flip|walk(_recursive)?|\n reduce|replace(_recursive)?|reverse|rand|multisort|merge(_recursive)?|map)?)\n)\\b", - "name": "support.function.array.php" - }, - { - "match": "(?xi)\\b\n(\n show_source|sys_getloadavg|sleep|highlight_(file|string)|constant|connection_(aborted|status)|\n time_(nanosleep|sleep_until)|ignore_user_abort|die|define(d)?|usleep|uniqid|unpack|__halt_compiler|\n php_(check_syntax|strip_whitespace)|pack|eval|exit|get_browser\n)\\b", - "name": "support.function.basic_functions.php" - }, - { - "match": "(?i)\\bbc(scale|sub|sqrt|comp|div|pow(mod)?|add|mod|mul)\\b", - "name": "support.function.bcmath.php" - }, - { - "match": "(?i)\\bblenc_encrypt\\b", - "name": "support.function.blenc.php" - }, - { - "match": "(?i)\\bbz(compress|close|open|decompress|errstr|errno|error|flush|write|read)\\b", - "name": "support.function.bz2.php" - }, - { - "match": "(?xi)\\b\n(\n (French|Gregorian|Jewish|Julian)ToJD|cal_(to_jd|info|days_in_month|from_jd)|unixtojd|\n jdto(unix|jewish)|easter_(date|days)|JD(MonthName|To(Gregorian|Julian|French)|DayOfWeek)\n)\\b", - "name": "support.function.calendar.php" - }, - { - "match": "(?xi)\\b\n(\n class_alias|all_user_method(_array)?|is_(a|subclass_of)|__autoload|(class|interface|method|property|trait)_exists|\n get_(class(_(vars|methods))?|(called|parent)_class|object_vars|declared_(classes|interfaces|traits))\n)\\b", - "name": "support.function.classobj.php" - }, - { - "match": "(?xi)\\b\n(\n com_(create_guid|print_typeinfo|event_sink|load_typelib|get_active_object|message_pump)|\n variant_(sub|set(_type)?|not|neg|cast|cat|cmp|int|idiv|imp|or|div|date_(from|to)_timestamp|\n pow|eqv|fix|and|add|abs|round|get_type|xor|mod|mul)\n)\\b", - "name": "support.function.com.php" - }, - { - "begin": "(?i)\\b(isset|unset|eval|empty|list)\\b", - "name": "support.function.construct.php" - }, - { - "match": "(?i)\\b(print|echo)\\b", - "name": "support.function.construct.output.php" - }, - { - "match": "(?i)\\bctype_(space|cntrl|digit|upper|punct|print|lower|alnum|alpha|graph|xdigit)\\b", - "name": "support.function.ctype.php" - }, - { - "match": "(?xi)\\b\ncurl_(\n share_(close|init|setopt)|strerror|setopt(_array)?|copy_handle|close|init|unescape|pause|escape|\n errno|error|exec|version|file_create|reset|getinfo|\n multi_(strerror|setopt|select|close|init|info_read|(add|remove)_handle|getcontent|exec)\n)\\b", - "name": "support.function.curl.php" - }, - { - "match": "(?xi)\\b\n(\n strtotime|str[fp]time|checkdate|time|timezone_name_(from_abbr|get)|idate|\n timezone_((location|offset|transitions|version)_get|(abbreviations|identifiers)_list|open)|\n date(_(sun(rise|set)|sun_info|sub|create(_(immutable_)?from_format)?|timestamp_(get|set)|timezone_(get|set)|time_set|\n isodate_set|interval_(create_from_date_string|format)|offset_get|diff|default_timezone_(get|set)|date_set|\n parse(_from_format)?|format|add|get_last_errors|modify))?|\n localtime|get(date|timeofday)|gm(strftime|date|mktime)|microtime|mktime\n)\\b", - "name": "support.function.datetime.php" - }, - { - "match": "(?i)\\bdba_(sync|handlers|nextkey|close|insert|optimize|open|delete|popen|exists|key_split|firstkey|fetch|list|replace)\\b", - "name": "support.function.dba.php" - }, - { - "match": "(?i)\\bdbx_(sort|connect|compare|close|escape_string|error|query|fetch_row)\\b", - "name": "support.function.dbx.php" - }, - { - "match": "(?i)\\b(scandir|chdir|chroot|closedir|opendir|dir|rewinddir|readdir|getcwd)\\b", - "name": "support.function.dir.php" - }, - { - "match": "(?xi)\\b\neio_(\n sync(fs)?|sync_file_range|symlink|stat(vfs)?|sendfile|set_min_parallel|set_max_(idle|poll_(reqs|time)|parallel)|\n seek|n(threads|op|pending|reqs|ready)|chown|chmod|custom|close|cancel|truncate|init|open|dup2|unlink|utime|poll|\n event_loop|f(sync|stat(vfs)?|chown|chmod|truncate|datasync|utime|allocate)|write|lstat|link|rename|realpath|\n read(ahead|dir|link)?|rmdir|get_(event_stream|last_error)|grp(_(add|cancel|limit))?|mknod|mkdir|busy\n)\\b", - "name": "support.function.eio.php" - }, - { - "match": "(?xi)\\b\nenchant_(\n dict_(store_replacement|suggest|check|is_in_session|describe|quick_check|add_to_(personal|session)|get_error)|\n broker_(set_ordering|init|dict_exists|describe|free(_dict)?|list_dicts|request_(pwl_)?dict|get_error)\n)\\b", - "name": "support.function.enchant.php" - }, - { - "match": "(?i)\\bsplit(i)?|sql_regcase|ereg(i)?(_replace)?\\b", - "name": "support.function.ereg.php" - }, - { - "match": "(?i)\\b((restore|set)_(error_handler|exception_handler)|trigger_error|debug_(print_)?backtrace|user_error|error_(log|reporting|get_last))\\b", - "name": "support.function.errorfunc.php" - }, - { - "match": "(?i)\\bshell_exec|system|passthru|proc_(nice|close|terminate|open|get_status)|escapeshell(arg|cmd)|exec\\b", - "name": "support.function.exec.php" - }, - { - "match": "(?i)\\b(exif_(thumbnail|tagname|imagetype|read_data)|read_exif_data)\\b", - "name": "support.function.exif.php" - }, - { - "match": "(?xi)\\b\nfann_(\n (duplicate|length|merge|shuffle|subset)_train_data|scale_(train(_data)?|(input|output)(_train_data)?)|\n set_(scaling_params|sarprop_(step_error_(shift|threshold_factor)|temperature|weight_decay_shift)|\n cascade_(num_candidate_groups|candidate_(change_fraction|limit|stagnation_epochs)|\n output_(change_fraction|stagnation_epochs)|weight_multiplier|activation_(functions|steepnesses)|\n (max|min)_(cand|out)_epochs)|\n callback|training_algorithm|train_(error|stop)_function|(input|output)_scaling_params|error_log|\n quickprop_(decay|mu)|weight(_array)?|learning_(momentum|rate)|bit_fail_limit|\n activation_(function|steepness)(_(hidden|layer|output))?|\n rprop_((decrease|increase)_factor|delta_(max|min|zero)))|\n save(_train)?|num_(input|output)_train_data|copy|clear_scaling_params|cascadetrain_on_(file|data)|\n create_((sparse|shortcut|standard)(_array)?|train(_from_callback)?|from_file)|\n test(_data)?|train(_(on_(file|data)|epoch))?|init_weights|descale_(input|output|train)|destroy(_train)?|\n print_error|run|reset_(MSE|err(no|str))|read_train_from_file|randomize_weights|\n get_(sarprop_(step_error_(shift|threshold_factor)|temperature|weight_decay_shift)|num_(input|output|layers)|\n network_type|MSE|connection_(array|rate)|bias_array|bit_fail(_limit)?|\n cascade_(num_(candidates|candidate_groups)|(candidate|output)_(change_fraction|limit|stagnation_epochs)|\n weight_multiplier|activation_(functions|steepnesses)(_count)?|(max|min)_(cand|out)_epochs)|\n total_(connections|neurons)|training_algorithm|train_(error|stop)_function|err(no|str)|\n quickprop_(decay|mu)|learning_(momentum|rate)|layer_array|activation_(function|steepness)|\n rprop_((decrease|increase)_factor|delta_(max|min|zero)))\n)\\b", - "name": "support.function.fann.php" - }, - { - "match": "(?xi)\\b\n(\n symlink|stat|set_file_buffer|chown|chgrp|chmod|copy|clearstatcache|touch|tempnam|tmpfile|\n is_(dir|(uploaded_)?file|executable|link|readable|writ(e)?able)|disk_(free|total)_space|diskfreespace|\n dirname|delete|unlink|umask|pclose|popen|pathinfo|parse_ini_(file|string)|fscanf|fstat|fseek|fnmatch|\n fclose|ftell|ftruncate|file(size|[acm]time|type|inode|owner|perms|group)?|file_(exists|(get|put)_contents)|\n f(open|puts|putcsv|passthru|eof|flush|write|lock|read|gets(s)?|getc(sv)?)|lstat|lchown|lchgrp|link(info)?|\n rename|rewind|read(file|link)|realpath(_cache_(get|size))?|rmdir|glob|move_uploaded_file|mkdir|basename\n)\\b", - "name": "support.function.file.php" - }, - { - "match": "(?i)\\b(finfo_(set_flags|close|open|file|buffer)|mime_content_type)\\b", - "name": "support.function.fileinfo.php" - }, - { - "match": "(?i)\\bfilter_(has_var|input(_array)?|id|var(_array)?|list)\\b", - "name": "support.function.filter.php" - }, - { - "match": "(?i)\\bfastcgi_finish_request\\b", - "name": "support.function.fpm.php" - }, - { - "match": "(?i)\\b(call_user_(func|method)(_array)?|create_function|unregister_tick_function|forward_static_call(_array)?|function_exists|func_(num_args|get_arg(s)?)|register_(shutdown|tick)_function|get_defined_functions)\\b", - "name": "support.function.funchand.php" - }, - { - "match": "(?i)\\b((n)?gettext|textdomain|d((n)?gettext|c(n)?gettext)|bind(textdomain|_textdomain_codeset))\\b", - "name": "support.function.gettext.php" - }, - { - "match": "(?xi)\\b\ngmp_(\n scan[01]|strval|sign|sub|setbit|sqrt(rem)?|hamdist|neg|nextprime|com|clrbit|cmp|testbit|\n intval|init|invert|import|or|div(exact)?|div_(q|qr|r)|jacobi|popcount|pow(m)?|perfect_square|\n prob_prime|export|fact|legendre|and|add|abs|root(rem)?|random(_(bits|range))?|gcd(ext)?|xor|mod|mul\n)\\b", - "name": "support.function.gmp.php" - }, - { - "match": "(?i)\\bhash(_(hmac(_file)?|copy|init|update(_(file|stream))?|pbkdf2|equals|file|final|algos))?\\b", - "name": "support.function.hash.php" - }, - { - "match": "(?xi)\\b\n(\n http_(support|send_(status|stream|content_(disposition|type)|data|file|last_modified)|head|\n negotiate_(charset|content_type|language)|chunked_decode|cache_(etag|last_modified)|throttle|\n inflate|deflate|date|post_(data|fields)|put_(data|file|stream)|persistent_handles_(count|clean|ident)|\n parse_(cookie|headers|message|params)|redirect|request(_(method_(exists|name|(un)?register)|body_encode))?|\n get(_request_(headers|body(_stream)?))?|match_(etag|modified|request_header)|build_(cookie|str|url))|\n ob_(etag|deflate|inflate)handler\n)\\b", - "name": "support.function.http.php" - }, - { - "match": "(?i)\\b(iconv(_(str(pos|len|rpos)|substr|(get|set)_encoding|mime_(decode(_headers)?|encode)))?|ob_iconv_handler)\\b", - "name": "support.function.iconv.php" - }, - { - "match": "(?i)\\biis_((start|stop)_(service|server)|set_(script_map|server_rights|dir_security|app_settings)|(add|remove)_server|get_(script_map|service_state|server_(rights|by_(comment|path))|dir_security))\\b", - "name": "support.function.iisfunc.php" - }, - { - "match": "(?xi)\\b\n(\n iptc(embed|parse)|(jpeg|png)2wbmp|gd_info|getimagesize(fromstring)?|\n image(s[xy]|scale|(char|string)(up)?|set(style|thickness|tile|interpolation|pixel|brush)|savealpha|\n convolution|copy(resampled|resized|merge(gray)?)?|colors(forindex|total)|\n color(set|closest(alpha|hwb)?|transparent|deallocate|(allocate|exact|resolve)(alpha)?|at|match)|\n crop(auto)?|create(truecolor|from(string|jpeg|png|wbmp|webp|gif|gd(2(part)?)?|xpm|xbm))?|\n types|ttf(bbox|text)|truecolortopalette|istruecolor|interlace|2wbmp|destroy|dashedline|jpeg|\n _type_to_(extension|mime_type)|ps(slantfont|text|(encode|extend|free|load)font|bbox)|png|polygon|\n palette(copy|totruecolor)|ellipse|ft(text|bbox)|filter|fill|filltoborder|\n filled(arc|ellipse|polygon|rectangle)|font(height|width)|flip|webp|wbmp|line|loadfont|layereffect|\n antialias|affine(matrix(concat|get))?|alphablending|arc|rotate|rectangle|gif|gd(2)?|gammacorrect|\n grab(screen|window)|xbm)\n)\\b", - "name": "support.function.image.php" - }, - { - "match": "(?xi)\\b\n(\n sys_get_temp_dir|set_(time_limit|include_path|magic_quotes_runtime)|cli_(get|set)_process_title|\n ini_(alter|get(_all)?|restore|set)|zend_(thread_id|version|logo_guid)|dl|php(credits|info|version)|\n php_(sapi_name|ini_(scanned_files|loaded_file)|uname|logo_guid)|putenv|extension_loaded|version_compare|\n assert(_options)?|restore_include_path|gc_(collect_cycles|disable|enable(d)?)|getopt|\n get_(cfg_var|current_user|defined_constants|extension_funcs|include_path|included_files|loaded_extensions|\n magic_quotes_(gpc|runtime)|required_files|resources)|\n get(env|lastmod|rusage|my(inode|[gup]id))|\n memory_get_(peak_)?usage|main|magic_quotes_runtime\n)\\b", - "name": "support.function.info.php" - }, - { - "match": "(?xi)\\b\nibase_(\n set_event_handler|service_(attach|detach)|server_info|num_(fields|params)|name_result|connect|\n commit(_ret)?|close|trans|delete_user|drop_db|db_info|pconnect|param_info|prepare|err(code|msg)|\n execute|query|field_info|fetch_(assoc|object|row)|free_(event_handler|query|result)|wait_event|\n add_user|affected_rows|rollback(_ret)?|restore|gen_id|modify_user|maintain_db|backup|\n blob_(cancel|close|create|import|info|open|echo|add|get)\n)\\b", - "name": "support.function.interbase.php" - }, - { - "match": "(?xi)\\b\n(\n normalizer_(normalize|is_normalized)|idn_to_(unicode|utf8|ascii)|\n numfmt_(set_(symbol|(text_)?attribute|pattern)|create|(parse|format)(_currency)?|\n get_(symbol|(text_)?attribute|pattern|error_(code|message)|locale))|\n collator_(sort(_with_sort_keys)?|set_(attribute|strength)|compare|create|asort|\n get_(strength|sort_key|error_(code|message)|locale|attribute))|\n transliterator_(create(_(inverse|from_rules))?|transliterate|list_ids|get_error_(code|message))|\n intl(cal|tz)_get_error_(code|message)|intl_(is_failure|error_name|get_error_(code|message))|\n datefmt_(set_(calendar|lenient|pattern|timezone(_id)?)|create|is_lenient|parse|format(_object)?|localtime|\n get_(calendar(_object)?|time(type|zone(_id)?)|datetype|pattern|error_(code|message)|locale))|\n locale_(set_default|compose|canonicalize|parse|filter_matches|lookup|accept_from_http|\n get_(script|display_(script|name|variant|language|region)|default|primary_language|keywords|all_variants|region))|\n resourcebundle_(create|count|locales|get(_(error_(code|message)))?)|\n grapheme_(str(i?str|r?i?pos|len)|substr|extract)|\n msgfmt_(set_pattern|create|(format|parse)(_message)?|get_(pattern|error_(code|message)|locale))\n)\\b", - "name": "support.function.intl.php" - }, - { - "match": "(?i)\\bjson_(decode|encode|last_error(_msg)?)\\b", - "name": "support.function.json.php" - }, - { - "match": "(?xi)\\b\nldap_(\n start|tls|sort|search|sasl_bind|set_(option|rebind_proc)|(first|next)_(attribute|entry|reference)|\n connect|control_paged_result(_response)?|count_entries|compare|close|t61_to_8859|8859_to_t61|\n dn2ufn|delete|unbind|parse_(reference|result)|escape|errno|err2str|error|explode_dn|bind|\n free_result|list|add|rename|read|get_(option|dn|entries|values(_len)?|attributes)|modify(_batch)?|\n mod_(add|del|replace)\n)\\b", - "name": "support.function.ldap.php" - }, - { - "match": "(?i)\\blibxml_(set_(streams_context|external_entity_loader)|clear_errors|disable_entity_loader|use_internal_errors|get_(errors|last_error))\\b", - "name": "support.function.libxml.php" - }, - { - "match": "(?i)\\b(ezmlm_hash|mail)\\b", - "name": "support.function.mail.php" - }, - { - "match": "(?xi)\\b\n(\n (a)?(cos|sin|tan)(h)?|sqrt|srand|hypot|hexdec|ceil|is_(nan|(in)?finite)|octdec|dec(hex|oct|bin)|deg2rad|\n pi|pow|exp(m1)?|floor|fmod|lcg_value|log(1(p|0))?|atan2|abs|round|rand|rad2deg|getrandmax|\n mt_(srand|rand|getrandmax)|max|min|bindec|base_convert\n)\\b", - "name": "support.function.math.php" - }, - { - "match": "(?xi)\\b\nmb_(\n str(cut|str|to(lower|upper)|istr|ipos|imwidth|pos|width|len|rchr|richr|ripos|rpos)|\n substitute_character|substr(_count)?|split|send_mail|http_(input|output)|check_encoding|\n convert_(case|encoding|kana|variables)|internal_encoding|output_handler|decode_(numericentity|mimeheader)|\n detect_(encoding|order)|parse_str|preferred_mime_name|encoding_aliases|encode_(numericentity|mimeheader)|\n ereg(i(_replace)?)?|ereg_(search(_(get(pos|regs)|init|regs|(set)?pos))?|replace(_callback)?|match)|\n list_encodings|language|regex_(set_options|encoding)|get_info\n)\\b", - "name": "support.function.mbstring.php" - }, - { - "match": "(?xi)\\b\n(\n mcrypt_(\n cfb|create_iv|cbc|ofb|decrypt|encrypt|ecb|list_(algorithms|modes)|generic(_((de)?init|end))?|\n enc_(self_test|is_block_(algorithm|algorithm_mode|mode)|\n get_(supported_key_sizes|(block|iv|key)_size|(algorithms|modes)_name))|\n get_(cipher_name|(block|iv|key)_size)|\n module_(close|self_test|is_block_(algorithm|algorithm_mode|mode)|open|\n get_(supported_key_sizes|algo_(block|key)_size)))|\n mdecrypt_generic\n)\\b", - "name": "support.function.mcrypt.php" - }, - { - "match": "(?i)\\bmemcache_debug\\b", - "name": "support.function.memcache.php" - }, - { - "match": "(?i)\\bmhash(_(count|keygen_s2k|get_(hash_name|block_size)))?\\b", - "name": "support.function.mhash.php" - }, - { - "match": "(?i)\\b(log_(cmd_(insert|delete|update)|killcursor|write_batch|reply|getmore)|bson_(decode|encode))\\b", - "name": "support.function.mongo.php" - }, - { - "match": "(?xi)\\b\nmysql_(\n stat|set_charset|select_db|num_(fields|rows)|connect|client_encoding|close|create_db|escape_string|\n thread_id|tablename|insert_id|info|data_seek|drop_db|db_(name|query)|unbuffered_query|pconnect|ping|\n errno|error|query|field_(seek|name|type|table|flags|len)|fetch_(object|field|lengths|assoc|array|row)|\n free_result|list_(tables|dbs|processes|fields)|affected_rows|result|real_escape_string|\n get_(client|host|proto|server)_info\n)\\b", - "name": "support.function.mysql.php" - }, - { - "match": "(?xi)\\b\nmysqli_(\n ssl_set|store_result|stat|send_(query|long_data)|set_(charset|opt|local_infile_(default|handler))|\n stmt_(store_result|send_long_data|next_result|close|init|data_seek|prepare|execute|fetch|free_result|\n attr_(get|set)|result_metadata|reset|get_(result|warnings)|more_results|bind_(param|result))|\n select_db|slave_query|savepoint|next_result|change_user|character_set_name|connect|commit|\n client_encoding|close|thread_safe|init|options|(enable|disable)_(reads_from_master|rpl_parse)|\n dump_debug_info|debug|data_seek|use_result|ping|poll|param_count|prepare|escape_string|execute|\n embedded_server_(start|end)|kill|query|field_seek|free_result|autocommit|rollback|report|refresh|\n fetch(_(object|fields|field(_direct)?|assoc|all|array|row))?|rpl_(parse_enabled|probe|query_type)|\n release_savepoint|reap_async_query|real_(connect|escape_string|query)|more_results|multi_query|\n get_(charset|connection_stats|client_(stats|info|version)|cache_stats|warnings|links_stats|metadata)|\n master_query|bind_(param|result)|begin_transaction\n)\\b", - "name": "support.function.mysqli.php" - }, - { - "match": "(?i)\\bmysqlnd_memcache_(set|get_config)\\b", - "name": "support.function.mysqlnd-memcache.php" - }, - { - "match": "(?i)\\bmysqlnd_ms_(set_(user_pick_server|qos)|dump_servers|query_is_select|fabric_select_(shard|global)|get_(stats|last_(used_connection|gtid))|xa_(commit|rollback|gc|begin)|match_wild)\\b", - "name": "support.function.mysqlnd-ms.php" - }, - { - "match": "(?i)\\bmysqlnd_qc_(set_(storage_handler|cache_condition|is_select|user_handlers)|clear_cache|get_(normalized_query_trace_log|core_stats|cache_info|query_trace_log|available_handlers))\\b", - "name": "support.function.mysqlnd-qc.php" - }, - { - "match": "(?i)\\bmysqlnd_uh_(set_(statement|connection)_proxy|convert_to_mysqlnd)\\b", - "name": "support.function.mysqlnd-uh.php" - }, - { - "match": "(?xi)\\b\n(\n syslog|socket_(set_(blocking|timeout)|get_status)|set(raw)?cookie|http_response_code|openlog|\n headers_(list|sent)|header(_(register_callback|remove))?|checkdnsrr|closelog|inet_(ntop|pton)|ip2long|\n openlog|dns_(check_record|get_(record|mx))|define_syslog_variables|(p)?fsockopen|long2ip|\n get(servby(name|port)|host(name|by(name(l)?|addr))|protoby(name|number)|mxrr)\n)\\b", - "name": "support.function.network.php" - }, - { - "match": "(?i)\\bnsapi_(virtual|response_headers|request_headers)\\b", - "name": "support.function.nsapi.php" - }, - { - "match": "(?xi)\\b\n(\n oci(statementtype|setprefetch|serverversion|savelob(file)?|numcols|new(collection|cursor|descriptor)|nlogon|\n column(scale|size|name|type(raw)?|isnull|precision)|coll(size|trim|assign(elem)?|append|getelem|max)|commit|\n closelob|cancel|internaldebug|definebyname|plogon|parse|error|execute|fetch(statement|into)?|\n free(statement|collection|cursor|desc)|write(temporarylob|lobtofile)|loadlob|log(on|off)|rowcount|rollback|\n result|bindbyname)|\n oci_(statement_type|set_(client_(info|identifier)|prefetch|edition|action|module_name)|server_version|\n num_(fields|rows)|new_(connect|collection|cursor|descriptor)|connect|commit|client_version|close|cancel|\n internal_debug|define_by_name|pconnect|password_change|parse|error|execute|bind_(array_)?by_name|\n field_(scale|size|name|type(_raw)?|is_null|precision)|fetch(_(object|assoc|all|array|row))?|\n free_(statement|descriptor)|lob_(copy|is_equal)|rollback|result|get_implicit_resultset)\n)\\b", - "name": "support.function.oci8.php" - }, - { - "match": "(?i)\\bopcache_(compile_file|invalidate|reset|get_(status|configuration))\\b", - "name": "support.function.opcache.php" - }, - { - "match": "(?xi)\\b\nopenssl_(\n sign|spki_(new|export(_challenge)?|verify)|seal|csr_(sign|new|export(_to_file)?|get_(subject|public_key))|\n cipher_iv_length|open|dh_compute_key|digest|decrypt|public_(decrypt|encrypt)|encrypt|error_string|\n pkcs12_(export(_to_file)?|read)|pkcs7_(sign|decrypt|encrypt|verify)|verify|free_key|random_pseudo_bytes|\n pkey_(new|export(_to_file)?|free|get_(details|public|private))|private_(decrypt|encrypt)|pbkdf2|\n get_((cipher|md)_methods|cert_locations|(public|private)key)|\n x509_(check_private_key|checkpurpose|parse|export(_to_file)?|fingerprint|free|read)\n)\\b", - "name": "support.function.openssl.php" - }, - { - "match": "(?xi)\\b\n(\n output_(add_rewrite_var|reset_rewrite_vars)|flush|\n ob_(start|clean|implicit_flush|end_(clean|flush)|flush|list_handlers|gzhandler|\n get_(status|contents|clean|flush|length|level))\n)\\b", - "name": "support.function.output.php" - }, - { - "match": "(?i)\\bpassword_(hash|needs_rehash|verify|get_info)\\b", - "name": "support.function.password.php" - }, - { - "match": "(?xi)\\b\npcntl_(\n strerror|signal(_dispatch)?|sig(timedwait|procmask|waitinfo)|setpriority|errno|exec|fork|\n w(stopsig|termsig|if(stopped|signaled|exited))|wait(pid)?|alarm|getpriority|get_last_error\n)\\b", - "name": "support.function.pcntl.php" - }, - { - "match": "(?xi)\\b\npg_(\n socket|send_(prepare|execute|query(_params)?)|set_(client_encoding|error_verbosity)|select|host|\n num_(fields|rows)|consume_input|connection_(status|reset|busy)|connect(_poll)?|convert|copy_(from|to)|\n client_encoding|close|cancel_query|tty|transaction_status|trace|insert|options|delete|dbname|untrace|\n unescape_bytea|update|pconnect|ping|port|put_line|parameter_status|prepare|version|query(_params)?|\n escape_(string|identifier|literal|bytea)|end_copy|execute|flush|free_result|last_(notice|error|oid)|\n field_(size|num|name|type(_oid)?|table|is_null|prtlen)|affected_rows|result_(status|seek|error(_field)?)|\n fetch_(object|assoc|all(_columns)?|array|row|result)|get_(notify|pid|result)|meta_data|\n lo_(seek|close|create|tell|truncate|import|open|unlink|export|write|read(_all)?)|\n)\\b", - "name": "support.function.pgsql.php" - }, - { - "match": "(?i)\\b(virtual|getallheaders|apache_((get|set)env|note|child_terminate|lookup_uri|response_headers|reset_timeout|request_headers|get_(version|modules)))\\b", - "name": "support.function.php_apache.php" - }, - { - "match": "(?i)\\bdom_import_simplexml\\b", - "name": "support.function.php_dom.php" - }, - { - "match": "(?xi)\\b\nftp_(\n ssl_connect|systype|site|size|set_option|nlist|nb_(continue|f?(put|get))|ch(dir|mod)|connect|cdup|close|\n delete|put|pwd|pasv|exec|quit|f(put|get)|login|alloc|rename|raw(list)?|rmdir|get(_option)?|mdtm|mkdir\n)\\b", - "name": "support.function.php_ftp.php" - }, - { - "match": "(?xi)\\b\nimap_(\n (create|delete|list|rename|scan)(mailbox)?|status|sort|subscribe|set_quota|set(flag_full|acl)|search|savebody|\n num_(recent|msg)|check|close|clearflag_full|thread|timeout|open|header(info)?|headers|append|alerts|reopen|\n 8bit|unsubscribe|undelete|utf7_(decode|encode)|utf8|uid|ping|errors|expunge|qprint|gc|\n fetch(structure|header|text|mime|body)|fetch_overview|lsub|list(scan|subscribed)|last_error|\n rfc822_(parse_(headers|adrlist)|write_address)|get(subscribed|acl|mailboxes)|get_quota(root)?|\n msgno|mime_header_decode|mail_(copy|compose|move)|mail|mailboxmsginfo|binary|body(struct)?|base64\n)\\b", - "name": "support.function.php_imap.php" - }, - { - "match": "(?xi)\\b\nmssql_(\n select_db|num_(fields|rows)|next_result|connect|close|init|data_seek|pconnect|execute|query|\n field_(seek|name|type|length)|fetch_(object|field|assoc|array|row|batch)|free_(statement|result)|\n rows_affected|result|guid_string|get_last_message|min_(error|message)_severity|bind\n)\\b", - "name": "support.function.php_mssql.php" - }, - { - "match": "(?xi)\\b\nodbc_(\n statistics|specialcolumns|setoption|num_(fields|rows)|next_result|connect|columns|columnprivileges|commit|\n cursor|close(_all)?|tables|tableprivileges|do|data_source|pconnect|primarykeys|procedures|procedurecolumns|\n prepare|error(msg)?|exec(ute)?|field_(scale|num|name|type|precision|len)|foreignkeys|free_result|\n fetch_(into|object|array|row)|longreadlen|autocommit|rollback|result(_all)?|gettypeinfo|binmode\n)\\b", - "name": "support.function.php_odbc.php" - }, - { - "match": "(?i)\\bpreg_(split|quote|filter|last_error|replace(_callback)?|grep|match(_all)?)\\b", - "name": "support.function.php_pcre.php" - }, - { - "match": "(?i)\\b(spl_(classes|object_hash|autoload(_(call|unregister|extensions|functions|register))?)|class_(implements|uses|parents)|iterator_(count|to_array|apply))\\b", - "name": "support.function.php_spl.php" - }, - { - "match": "(?i)\\bzip_(close|open|entry_(name|compressionmethod|compressedsize|close|open|filesize|read)|read)\\b", - "name": "support.function.php_zip.php" - }, - { - "match": "(?xi)\\b\nposix_(\n strerror|set(s|e?u|[ep]?g)id|ctermid|ttyname|times|isatty|initgroups|uname|errno|kill|access|\n get(sid|cwd|uid|pid|ppid|pwnam|pwuid|pgid|pgrp|euid|egid|login|rlimit|gid|grnam|groups|grgid)|\n get_last_error|mknod|mkfifo\n)\\b", - "name": "support.function.posix.php" - }, - { - "match": "(?i)\\bset(thread|proc)title\\b", - "name": "support.function.proctitle.php" - }, - { - "match": "(?xi)\\b\npspell_(\n store_replacement|suggest|save_wordlist|new(_(config|personal))?|check|clear_session|\n config_(save_repl|create|ignore|(data|dict)_dir|personal|runtogether|repl|mode)|add_to_(session|personal)\n)\\b", - "name": "support.function.pspell.php" - }, - { - "match": "(?i)\\breadline(_(completion_function|clear_history|callback_(handler_(install|remove)|read_char)|info|on_new_line|write_history|list_history|add_history|redisplay|read_history))?\\b", - "name": "support.function.readline.php" - }, - { - "match": "(?i)\\brecode(_(string|file))?\\b", - "name": "support.function.recode.php" - }, - { - "match": "(?i)\\brrd(c_disconnect|_(create|tune|info|update|error|version|first|fetch|last(update)?|restore|graph|xport))\\b", - "name": "support.function.rrd.php" - }, - { - "match": "(?xi)\\b\n(\n shm_((get|has|remove|put)_var|detach|attach|remove)|sem_(acquire|release|remove|get)|ftok|\n msg_((get|remove|set|stat)_queue|send|queue_exists|receive)\n)\\b", - "name": "support.function.sem.php" - }, - { - "match": "(?xi)\\b\nsession_(\n status|start|set_(save_handler|cookie_params)|save_path|name|commit|cache_(expire|limiter)|\n is_registered|id|destroy|decode|unset|unregister|encode|write_close|abort|reset|register(_shutdown)?|\n regenerate_id|get_cookie_params|module_name\n)\\b", - "name": "support.function.session.php" - }, - { - "match": "(?i)\\bshmop_(size|close|open|delete|write|read)\\b", - "name": "support.function.shmop.php" - }, - { - "match": "(?i)\\bsimplexml_(import_dom|load_(string|file))\\b", - "name": "support.function.simplexml.php" - }, - { - "match": "(?xi)\\b\n(\n snmp(walk(oid)?|realwalk|get(next)?|set)|\n snmp_(set_(valueretrieval|quick_print|enum_print|oid_(numeric_print|output_format))|read_mib|\n get_(valueretrieval|quick_print))|\n snmp[23]_(set|walk|real_walk|get(next)?)\n)\\b", - "name": "support.function.snmp.php" - }, - { - "match": "(?i)\\b(is_soap_fault|use_soap_error_handler)\\b", - "name": "support.function.soap.php" - }, - { - "match": "(?xi)\\b\nsocket_(\n shutdown|strerror|send(to|msg)?|set_((non)?block|option)|select|connect|close|clear_error|bind|\n create(_(pair|listen))?|cmsg_space|import_stream|write|listen|last_error|accept|recv(from|msg)?|\n read|get(peer|sock)name|get_option\n)\\b", - "name": "support.function.sockets.php" - }, - { - "match": "(?xi)\\b\nsqlite_(\n single_query|seek|has_(more|prev)|num_(fields|rows)|next|changes|column|current|close|\n create_(aggregate|function)|open|unbuffered_query|udf_(decode|encode)_binary|popen|prev|\n escape_string|error_string|exec|valid|key|query|field_name|factory|\n fetch_(string|single|column_types|object|all|array)|lib(encoding|version)|\n last_(insert_rowid|error)|array_query|rewind|busy_timeout\n)\\b", - "name": "support.function.sqlite.php" - }, - { - "match": "(?xi)\\b\nsqlsrv_(\n send_stream_data|server_info|has_rows|num_(fields|rows)|next_result|connect|configure|commit|\n client_info|close|cancel|prepare|errors|execute|query|field_metadata|fetch(_(array|object))?|\n free_stmt|rows_affected|rollback|get_(config|field)|begin_transaction\n)\\b", - "name": "support.function.sqlsrv.php" - }, - { - "match": "(?xi)\\b\nstats_(\n harmonic_mean|covariance|standard_deviation|skew|\n cdf_(noncentral_(chisquare|f)|negative_binomial|chisquare|cauchy|t|uniform|poisson|exponential|f|weibull|\n logistic|laplace|gamma|binomial|beta)|\n stat_(noncentral_t|correlation|innerproduct|independent_t|powersum|percentile|paired_t|gennch|binomial_coef)|\n dens_(normal|negative_binomial|chisquare|cauchy|t|pmf_(hypergeometric|poisson|binomial)|exponential|f|\n weibull|logistic|laplace|gamma|beta)|\n den_uniform|variance|kurtosis|absolute_deviation|\n rand_(setall|phrase_to_seeds|ranf|get_seeds|\n gen_(noncentral_[ft]|noncenral_chisquare|normal|chisquare|t|int|\n i(uniform|poisson|binomial(_negative)?)|exponential|f(uniform)?|gamma|beta))\n)\\b", - "name": "support.function.stats.php" - }, - { - "match": "(?xi)\\b\n(\n set_socket_blocking|\n stream_(socket_(shutdown|sendto|server|client|pair|enable_crypto|accept|recvfrom|get_name)|\n set_(chunk_size|timeout|(read|write)_buffer|blocking)|select|notification_callback|supports_lock|\n context_(set_(option|default|params)|create|get_(options|default|params))|copy_to_stream|is_local|\n encoding|filter_(append|prepend|register|remove)|wrapper_((un)?register|restore)|\n resolve_include_path|register_wrapper|get_(contents|transports|filters|wrappers|line|meta_data)|\n bucket_(new|prepend|append|make_writeable)\n )\n)\\b", - "name": "support.function.streamsfuncs.php" - }, - { - "match": "(?xi)\\b\n(\n money_format|md5(_file)?|metaphone|bin2hex|sscanf|sha1(_file)?|\n str(str|c?spn|n(at)?(case)?cmp|chr|coll|(case)?cmp|to(upper|lower)|tok|tr|istr|pos|pbrk|len|rchr|ri?pos|rev)|\n str_(getcsv|ireplace|pad|repeat|replace|rot13|shuffle|split|word_count)|\n strip(c?slashes|os)|strip_tags|similar_text|soundex|substr(_(count|compare|replace))?|setlocale|\n html(specialchars(_decode)?|entities)|html_entity_decode|hex2bin|hebrev(c)?|number_format|nl2br|nl_langinfo|\n chop|chunk_split|chr|convert_(cyr_string|uu(decode|encode))|count_chars|crypt|crc32|trim|implode|ord|\n uc(first|words)|join|parse_str|print(f)?|echo|explode|v?[fs]?printf|quoted_printable_(decode|encode)|\n quotemeta|wordwrap|lcfirst|[lr]trim|localeconv|levenshtein|addc?slashes|get_html_translation_table\n)\\b", - "name": "support.function.string.php" - }, - { - "match": "(?xi)\\b\nsybase_(\n set_message_handler|select_db|num_(fields|rows)|connect|close|deadlock_retry_count|data_seek|\n unbuffered_query|pconnect|query|field_seek|fetch_(object|field|assoc|array|row)|free_result|\n affected_rows|result|get_last_message|min_(client|error|message|server)_severity\n)\\b", - "name": "support.function.sybase.php" - }, - { - "match": "(?i)\\b(taint|is_tainted|untaint)\\b", - "name": "support.function.taint.php" - }, - { - "match": "(?xi)\\b\n(\n tidy_((get|set)opt|set_encoding|save_config|config_count|clean_repair|is_(xhtml|xml)|diagnose|\n (access|error|warning)_count|load_config|reset_config|(parse|repair)_(string|file)|\n get_(status|html(_ver)?|head|config|output|opt_doc|root|release|body))|\n ob_tidyhandler\n)\\b", - "name": "support.function.tidy.php" - }, - { - "match": "(?i)\\btoken_(name|get_all)\\b", - "name": "support.function.tokenizer.php" - }, - { - "match": "(?xi)\\b\ntrader_(\n stoch(f|r|rsi)?|stddev|sin(h)?|sum|sub|set_(compat|unstable_period)|sqrt|sar(ext)?|sma|\n ht_(sine|trend(line|mode)|dc(period|phase)|phasor)|natr|cci|cos(h)?|correl|\n cdl(shootingstar|shortline|sticksandwich|stalledpattern|spinningtop|separatinglines|\n hikkake(mod)?|highwave|homingpigeon|hangingman|harami(cross)?|hammer|concealbabyswall|\n counterattack|closingmarubozu|thrusting|tasukigap|takuri|tristar|inneck|invertedhammer|\n identical3crows|2crows|onneck|doji(star)?|darkcloudcover|dragonflydoji|unique3river|\n upsidegap2crows|3(starsinsouth|inside|outside|whitesoldiers|linestrike|blackcrows)|\n piercing|engulfing|evening(doji)?star|kicking(bylength)?|longline|longleggeddoji|\n ladderbottom|advanceblock|abandonedbaby|risefall3methods|rickshawman|gapsidesidewhite|\n gravestonedoji|xsidegap3methods|morning(doji)?star|mathold|matchinglow|marubozu|\n belthold|breakaway)|\n ceil|cmo|tsf|typprice|t3|tema|tan(h)?|trix|trima|trange|obv|div|dema|dx|ultosc|ppo|\n plus_d[im]|errno|exp|ema|var|kama|floor|wclprice|willr|wma|ln|log10|bop|beta|bbands|\n linearreg(_(slope|intercept|angle))?|asin|acos|atan|atr|adosc|ad|add|adx(r)?|apo|avgprice|\n aroon(osc)?|rsi|roc|rocp|rocr(100)?|get_(compat|unstable_period)|min(index)?|minus_d[im]|\n minmax(index)?|mid(point|price)|mom|mult|medprice|mfi|macd(ext|fix)?|mavp|max(index)?|ma(ma)?\n)\\b", - "name": "support.function.trader.php" - }, - { - "match": "(?i)\\buopz_(copy|compose|implement|overload|delete|undefine|extend|function|flags|restore|rename|redefine|backup)\\b", - "name": "support.function.uopz.php" - }, - { - "match": "(?i)\\b(http_build_query|(raw)?url(decode|encode)|parse_url|get_(headers|meta_tags)|base64_(decode|encode))\\b", - "name": "support.function.url.php" - }, - { - "match": "(?xi)\\b\n(\n strval|settype|serialize|(bool|double|float)val|debug_zval_dump|intval|import_request_variables|isset|\n is_(scalar|string|null|numeric|callable|int(eger)?|object|double|float|long|array|resource|real|bool)|\n unset|unserialize|print_r|empty|var_(dump|export)|gettype|get_(defined_vars|resource_type)\n)\\b", - "name": "support.function.var.php" - }, - { - "match": "(?i)\\bwddx_(serialize_(value|vars)|deserialize|packet_(start|end)|add_vars)\\b", - "name": "support.function.wddx.php" - }, - { - "match": "(?i)\\bxhprof_(sample_)?(disable|enable)\\b", - "name": "support.function.xhprof.php" - }, - { - "match": "(?xi)\n\\b\n(\n utf8_(decode|encode)|\n xml_(set_((notation|(end|start)_namespace|unparsed_entity)_decl_handler|\n (character_data|default|element|external_entity_ref|processing_instruction)_handler|object)|\n parse(_into_struct)?|parser_((get|set)_option|create(_ns)?|free)|error_string|\n get_(current_((column|line)_number|byte_index)|error_code))\n)\\b", - "name": "support.function.xml.php" - }, - { - "match": "(?xi)\\b\nxmlrpc_(\n server_(call_method|create|destroy|add_introspection_data|register_(introspection_callback|method))|\n is_fault|decode(_request)?|parse_method_descriptions|encode(_request)?|(get|set)_type\n)\\b", - "name": "support.function.xmlrpc.php" - }, - { - "match": "(?xi)\\b\nxmlwriter_(\n (end|start|write)_(comment|cdata|dtd(_(attlist|entity|element))?|document|pi|attribute|element)|\n (start|write)_(attribute|element)_ns|write_raw|set_indent(_string)?|text|output_memory|open_(memory|uri)|\n full_end_element|flush|\n)\\b", - "name": "support.function.xmlwriter.php" - }, - { - "match": "(?xi)\\b\n(\n zlib_(decode|encode|get_coding_type)|readgzfile|\n gz(seek|compress|close|tell|inflate|open|decode|deflate|uncompress|puts|passthru|encode|eof|file|\n write|rewind|read|getc|getss?)\n)\\b", - "name": "support.function.zlib.php" - }, - { - "match": "(?i)\\bis_int(eger)?\\b", - "name": "support.function.alias.php" - } - ] - }, - "switch_statement": { - "patterns": [ - { - "match": "\\s+(?=switch\\b)" - }, - { - "begin": "\\bswitch\\b(?!\\s*\\(.*\\)\\s*:)", - "beginCaptures": { - "0": { - "name": "keyword.control.switch.php" - } - }, - "end": "}|(?=\\?>)", - "endCaptures": { - "0": { - "name": "punctuation.definition.section.switch-block.end.bracket.curly.php" - } - }, - "name": "meta.switch-statement.php", - "patterns": [ - { - "begin": "\\(", - "beginCaptures": { - "0": { - "name": "punctuation.definition.switch-expression.begin.bracket.round.php" - } - }, - "end": "\\)|(?=\\?>)", - "endCaptures": { - "0": { - "name": "punctuation.definition.switch-expression.end.bracket.round.php" - } - }, - "patterns": [ - { - "include": "#language" - } - ] - }, - { - "begin": "{", - "beginCaptures": { - "0": { - "name": "punctuation.definition.section.switch-block.begin.bracket.curly.php" - } - }, - "end": "(?=}|\\?>)", - "patterns": [ - { - "include": "#language" - } - ] - } - ] - } - ] - }, - "use-inner": { - "patterns": [ - { - "include": "#comments" - }, - { - "begin": "(?i)\\b(as)\\s+", - "beginCaptures": { - "1": { - "name": "keyword.other.use-as.php" - } - }, - "end": "(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*", - "endCaptures": { - "0": { - "name": "entity.other.alias.php" - } - } - }, - { - "include": "#class-name" - }, - { - "match": ",", - "name": "punctuation.separator.delimiter.php" - } - ] - }, - "var_basic": { - "patterns": [ - { - "captures": { - "1": { - "name": "punctuation.definition.variable.php" - } - }, - "match": "(?i)(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*\\b", - "name": "variable.other.php" - } - ] - }, - "var_global": { - "captures": { - "1": { - "name": "punctuation.definition.variable.php" - } - }, - "match": "(\\$)((_(COOKIE|FILES|GET|POST|REQUEST))|arg(v|c))\\b", - "name": "variable.other.global.php" - }, - "var_global_safer": { - "captures": { - "1": { - "name": "punctuation.definition.variable.php" - } - }, - "match": "(\\$)((GLOBALS|_(ENV|SERVER|SESSION)))", - "name": "variable.other.global.safer.php" - }, - "var_language": { - "match": "(\\$)this\\b", - "name": "variable.language.this.php", - "captures": { - "1": { - "name": "punctuation.definition.variable.php" - } - } - }, - "variable-name": { - "patterns": [ - { - "include": "#var_global" - }, - { - "include": "#var_global_safer" - }, - { - "captures": { - "1": { - "name": "variable.other.php" - }, - "2": { - "name": "punctuation.definition.variable.php" - }, - "4": { - "name": "keyword.operator.class.php" - }, - "5": { - "name": "variable.other.property.php" - }, - "6": { - "name": "punctuation.section.array.begin.php" - }, - "7": { - "name": "constant.numeric.index.php" - }, - "8": { - "name": "variable.other.index.php" - }, - "9": { - "name": "punctuation.definition.variable.php" - }, - "10": { - "name": "string.unquoted.index.php" - }, - "11": { - "name": "punctuation.section.array.end.php" - } - }, - "match": "(?xi)\n((\\$)(?[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*))\n(?:\n (->)(\\g)\n |\n (\\[)(?:(\\d+)|((\\$)\\g)|([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*))(\\])\n)?" - }, - { - "captures": { - "1": { - "name": "variable.other.php" - }, - "2": { - "name": "punctuation.definition.variable.php" - }, - "4": { - "name": "punctuation.definition.variable.php" - } - }, - "match": "(?i)((\\${)(?[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)(}))" - } - ] - }, - "variables": { - "patterns": [ - { - "include": "#var_language" - }, - { - "include": "#var_global" - }, - { - "include": "#var_global_safer" - }, - { - "include": "#var_basic" - }, - { - "begin": "\\${(?=.*?})", - "beginCaptures": { - "0": { - "name": "punctuation.definition.variable.php" - } - }, - "end": "}", - "endCaptures": { - "0": { - "name": "punctuation.definition.variable.php" - } - }, - "patterns": [ - { - "include": "#language" - } - ] - } - ] - } - } -} diff --git a/my-snippets/laravel-blade2/tsconfig.json b/my-snippets/laravel-blade2/tsconfig.json deleted file mode 100644 index aa2a3b9..0000000 --- a/my-snippets/laravel-blade2/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "target": "es6", - "outDir": "dist", - "lib": [ - "es6" - ], - "sourceMap": true, - "rootDir": "src", - "strict": true - }, - "exclude": [ - "node_modules", - ".vscode-test" - ] -} diff --git a/my-snippets/laravel-blade2/yarn.lock b/my-snippets/laravel-blade2/yarn.lock deleted file mode 100644 index 3172c0f..0000000 --- a/my-snippets/laravel-blade2/yarn.lock +++ /dev/null @@ -1,1621 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/code-frame@^7.0.0": - "integrity" "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==" - "resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz" - "version" "7.8.3" - dependencies: - "@babel/highlight" "^7.8.3" - -"@babel/helper-validator-identifier@^7.9.0": - "integrity" "sha512-6G8bQKjOh+of4PV/ThDm/rRqlU7+IGoJuofpagU5GlEl29Vv0RGqqt86ZGRV8ZuSOY3o+8yXl5y782SMcG7SHw==" - "resolved" "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.0.tgz" - "version" "7.9.0" - -"@babel/highlight@^7.8.3": - "integrity" "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==" - "resolved" "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz" - "version" "7.9.0" - dependencies: - "@babel/helper-validator-identifier" "^7.9.0" - "chalk" "^2.0.0" - "js-tokens" "^4.0.0" - -"@types/color-name@^1.1.1": - "integrity" "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" - "resolved" "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz" - "version" "1.1.1" - -"@types/eslint-visitor-keys@^1.0.0": - "integrity" "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==" - "resolved" "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz" - "version" "1.0.0" - -"@types/events@*": - "integrity" "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==" - "resolved" "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz" - "version" "3.0.0" - -"@types/glob@^7.1.1": - "integrity" "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==" - "resolved" "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz" - "version" "7.1.1" - dependencies: - "@types/events" "*" - "@types/minimatch" "*" - "@types/node" "*" - -"@types/json-schema@^7.0.3": - "integrity" "sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==" - "resolved" "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz" - "version" "7.0.4" - -"@types/minimatch@*": - "integrity" "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" - "resolved" "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz" - "version" "3.0.3" - -"@types/mocha@^7.0.1": - "integrity" "sha512-ZvO2tAcjmMi8V/5Z3JsyofMe3hasRcaw88cto5etSVMwVQfeivGAlEYmaQgceUSVYFofVjT+ioHsATjdWcFt1w==" - "resolved" "https://registry.npmjs.org/@types/mocha/-/mocha-7.0.2.tgz" - "version" "7.0.2" - -"@types/node@*", "@types/node@^12.11.7": - "integrity" "sha512-sz9MF/zk6qVr3pAnM0BSQvYIBK44tS75QC5N+VbWSE4DjCV/pJ+UzCW/F+vVnl7TkOPcuwQureKNtSSwjBTaMg==" - "resolved" "https://registry.npmjs.org/@types/node/-/node-12.12.30.tgz" - "version" "12.12.30" - -"@types/vscode@^1.37.0": - "integrity" "sha512-kIaR9qzd80rJOxePKpCB/mdy00mz8Apt2QA5Y6rdrKFn13QNFNeP3Hzmsf37Bwh/3cS7QjtAeGSK7wSqAU0sYQ==" - "resolved" "https://registry.npmjs.org/@types/vscode/-/vscode-1.43.0.tgz" - "version" "1.43.0" - -"@typescript-eslint/eslint-plugin@^2.18.0": - "integrity" "sha512-wJRBeaMeT7RLQ27UQkDFOu25MqFOBus8PtOa9KaT5ZuxC1kAsd7JEHqWt4YXuY9eancX0GK9C68i5OROnlIzBA==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.24.0.tgz" - "version" "2.24.0" - dependencies: - "@typescript-eslint/experimental-utils" "2.24.0" - "eslint-utils" "^1.4.3" - "functional-red-black-tree" "^1.0.1" - "regexpp" "^3.0.0" - "tsutils" "^3.17.1" - -"@typescript-eslint/experimental-utils@2.24.0": - "integrity" "sha512-DXrwuXTdVh3ycNCMYmWhUzn/gfqu9N0VzNnahjiDJvcyhfBy4gb59ncVZVxdp5XzBC77dCncu0daQgOkbvPwBw==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.24.0.tgz" - "version" "2.24.0" - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "2.24.0" - "eslint-scope" "^5.0.0" - -"@typescript-eslint/parser@^2.0.0", "@typescript-eslint/parser@^2.18.0": - "integrity" "sha512-H2Y7uacwSSg8IbVxdYExSI3T7uM1DzmOn2COGtCahCC3g8YtM1xYAPi2MAHyfPs61VKxP/J/UiSctcRgw4G8aw==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.24.0.tgz" - "version" "2.24.0" - dependencies: - "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "2.24.0" - "@typescript-eslint/typescript-estree" "2.24.0" - "eslint-visitor-keys" "^1.1.0" - -"@typescript-eslint/typescript-estree@2.24.0": - "integrity" "sha512-RJ0yMe5owMSix55qX7Mi9V6z2FDuuDpN6eR5fzRJrp+8in9UF41IGNQHbg5aMK4/PjVaEQksLvz0IA8n+Mr/FA==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.24.0.tgz" - "version" "2.24.0" - dependencies: - "debug" "^4.1.1" - "eslint-visitor-keys" "^1.1.0" - "glob" "^7.1.6" - "is-glob" "^4.0.1" - "lodash" "^4.17.15" - "semver" "^6.3.0" - "tsutils" "^3.17.1" - -"abbrev@1": - "integrity" "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - "resolved" "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" - "version" "1.1.1" - -"acorn-jsx@^5.2.0": - "integrity" "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==" - "resolved" "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz" - "version" "5.2.0" - -"acorn@^6.0.0 || ^7.0.0", "acorn@^7.1.1": - "integrity" "sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==" - "resolved" "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz" - "version" "7.1.1" - -"agent-base@^4.3.0", "agent-base@4": - "integrity" "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==" - "resolved" "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "es6-promisify" "^5.0.0" - -"ajv@^6.10.0", "ajv@^6.10.2": - "integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==" - "resolved" "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - "version" "6.12.6" - dependencies: - "fast-deep-equal" "^3.1.1" - "fast-json-stable-stringify" "^2.0.0" - "json-schema-traverse" "^0.4.1" - "uri-js" "^4.2.2" - -"ansi-colors@3.2.3": - "integrity" "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==" - "resolved" "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz" - "version" "3.2.3" - -"ansi-escapes@^4.2.1": - "integrity" "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==" - "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz" - "version" "4.3.1" - dependencies: - "type-fest" "^0.11.0" - -"ansi-regex@^3.0.0": - "integrity" "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" - "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz" - "version" "3.0.1" - -"ansi-regex@^4.1.0": - "integrity" "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" - "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz" - "version" "4.1.1" - -"ansi-regex@^5.0.0": - "integrity" "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" - "version" "5.0.1" - -"ansi-styles@^3.2.0", "ansi-styles@^3.2.1": - "integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" - "version" "3.2.1" - dependencies: - "color-convert" "^1.9.0" - -"ansi-styles@^4.1.0": - "integrity" "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz" - "version" "4.2.1" - dependencies: - "@types/color-name" "^1.1.1" - "color-convert" "^2.0.1" - -"anymatch@~3.1.1": - "integrity" "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==" - "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz" - "version" "3.1.1" - dependencies: - "normalize-path" "^3.0.0" - "picomatch" "^2.0.4" - -"argparse@^1.0.7": - "integrity" "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==" - "resolved" "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" - "version" "1.0.10" - dependencies: - "sprintf-js" "~1.0.2" - -"astral-regex@^1.0.0": - "integrity" "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==" - "resolved" "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz" - "version" "1.0.0" - -"balanced-match@^1.0.0": - "integrity" "sha1-ibTRmasr7kneFk6gK4nORi1xt2c= sha512-9Y0g0Q8rmSt+H33DfKv7FOc3v+iRI+o1lbzt8jGcIosYW37IIW/2XVYq5NPdmaD5NQ59Nk26Kl/vZbwW9Fr8vg==" - "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz" - "version" "1.0.0" - -"binary-extensions@^2.0.0": - "integrity" "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==" - "resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz" - "version" "2.0.0" - -"brace-expansion@^1.1.7": - "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==" - "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - "version" "1.1.11" - dependencies: - "balanced-match" "^1.0.0" - "concat-map" "0.0.1" - -"braces@~3.0.2": - "integrity" "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==" - "resolved" "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "fill-range" "^7.0.1" - -"browser-stdout@1.3.1": - "integrity" "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" - "resolved" "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz" - "version" "1.3.1" - -"callsites@^3.0.0": - "integrity" "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - "resolved" "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - "version" "3.1.0" - -"camelcase@^5.0.0": - "integrity" "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" - "version" "5.3.1" - -"chalk@^2.0.0", "chalk@^2.1.0", "chalk@^2.4.2": - "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - "version" "2.4.2" - dependencies: - "ansi-styles" "^3.2.1" - "escape-string-regexp" "^1.0.5" - "supports-color" "^5.3.0" - -"chalk@^3.0.0": - "integrity" "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "ansi-styles" "^4.1.0" - "supports-color" "^7.1.0" - -"chardet@^0.7.0": - "integrity" "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" - "resolved" "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz" - "version" "0.7.0" - -"chokidar@3.3.0": - "integrity" "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==" - "resolved" "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz" - "version" "3.3.0" - dependencies: - "anymatch" "~3.1.1" - "braces" "~3.0.2" - "glob-parent" "~5.1.0" - "is-binary-path" "~2.1.0" - "is-glob" "~4.0.1" - "normalize-path" "~3.0.0" - "readdirp" "~3.2.0" - optionalDependencies: - "fsevents" "~2.1.1" - -"cli-cursor@^3.1.0": - "integrity" "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==" - "resolved" "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "restore-cursor" "^3.1.0" - -"cli-width@^2.0.0": - "integrity" "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= sha512-EJLbKSuvHTrVRynOXCYFTbQKZOFXWNe3/6DN1yrEH3TuuZT1x4dMQnCHnfCrBUUiGjO63enEIfaB17VaRl2d4A==" - "resolved" "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz" - "version" "2.2.0" - -"cliui@^5.0.0": - "integrity" "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==" - "resolved" "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "string-width" "^3.1.0" - "strip-ansi" "^5.2.0" - "wrap-ansi" "^5.1.0" - -"color-convert@^1.9.0": - "integrity" "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==" - "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" - "version" "1.9.3" - dependencies: - "color-name" "1.1.3" - -"color-convert@^2.0.1": - "integrity" "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" - "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "color-name" "~1.1.4" - -"color-name@~1.1.4": - "integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - "version" "1.1.4" - -"color-name@1.1.3": - "integrity" "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - "version" "1.1.3" - -"commander@^2.19.0": - "integrity" "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - "resolved" "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" - "version" "2.20.3" - -"concat-map@0.0.1": - "integrity" "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - "version" "0.0.1" - -"config-chain@^1.1.12": - "integrity" "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==" - "resolved" "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz" - "version" "1.1.12" - dependencies: - "ini" "^1.3.4" - "proto-list" "~1.2.1" - -"cross-spawn@^6.0.5": - "integrity" "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==" - "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" - "version" "6.0.5" - dependencies: - "nice-try" "^1.0.4" - "path-key" "^2.0.1" - "semver" "^5.5.0" - "shebang-command" "^1.2.0" - "which" "^1.2.9" - -"debug@^3.1.0": - "integrity" "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==" - "resolved" "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz" - "version" "3.2.6" - dependencies: - "ms" "^2.1.1" - -"debug@^4.0.1", "debug@^4.1.1": - "integrity" "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==" - "resolved" "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz" - "version" "4.1.1" - dependencies: - "ms" "^2.1.1" - -"debug@3.1.0": - "integrity" "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==" - "resolved" "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "ms" "2.0.0" - -"debug@3.2.6": - "integrity" "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==" - "resolved" "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz" - "version" "3.2.6" - dependencies: - "ms" "^2.1.1" - -"decamelize@^1.2.0": - "integrity" "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" - "resolved" "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" - "version" "1.2.0" - -"deep-is@~0.1.3": - "integrity" "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= sha512-GtxAN4HvBachZzm4OnWqc45ESpUCMwkYcsjnsPs23FwJbsO+k4t0k9bQCgOmzIlpHO28+WPK/KRbRk0DDHuuDw==" - "resolved" "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz" - "version" "0.1.3" - -"define-properties@^1.1.2", "define-properties@^1.1.3": - "integrity" "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==" - "resolved" "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz" - "version" "1.1.3" - dependencies: - "object-keys" "^1.0.12" - -"diff@3.5.0": - "integrity" "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" - "resolved" "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz" - "version" "3.5.0" - -"doctrine@^3.0.0": - "integrity" "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==" - "resolved" "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "esutils" "^2.0.2" - -"editorconfig@^0.15.3": - "integrity" "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==" - "resolved" "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz" - "version" "0.15.3" - dependencies: - "commander" "^2.19.0" - "lru-cache" "^4.1.5" - "semver" "^5.6.0" - "sigmund" "^1.0.1" - -"emoji-regex@^7.0.1": - "integrity" "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz" - "version" "7.0.3" - -"emoji-regex@^8.0.0": - "integrity" "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" - "version" "8.0.0" - -"es-abstract@^1.17.0-next.1": - "integrity" "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==" - "resolved" "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz" - "version" "1.17.5" - dependencies: - "es-to-primitive" "^1.2.1" - "function-bind" "^1.1.1" - "has" "^1.0.3" - "has-symbols" "^1.0.1" - "is-callable" "^1.1.5" - "is-regex" "^1.0.5" - "object-inspect" "^1.7.0" - "object-keys" "^1.1.1" - "object.assign" "^4.1.0" - "string.prototype.trimleft" "^2.1.1" - "string.prototype.trimright" "^2.1.1" - -"es-to-primitive@^1.2.1": - "integrity" "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==" - "resolved" "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" - "version" "1.2.1" - dependencies: - "is-callable" "^1.1.4" - "is-date-object" "^1.0.1" - "is-symbol" "^1.0.2" - -"es6-promise@^4.0.3": - "integrity" "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" - "resolved" "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz" - "version" "4.2.8" - -"es6-promisify@^5.0.0": - "integrity" "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM= sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==" - "resolved" "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "es6-promise" "^4.0.3" - -"escape-string-regexp@^1.0.5", "escape-string-regexp@1.0.5": - "integrity" "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - "version" "1.0.5" - -"eslint-scope@^5.0.0": - "integrity" "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==" - "resolved" "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "esrecurse" "^4.1.0" - "estraverse" "^4.1.1" - -"eslint-utils@^1.4.3": - "integrity" "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==" - "resolved" "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz" - "version" "1.4.3" - dependencies: - "eslint-visitor-keys" "^1.1.0" - -"eslint-visitor-keys@^1.1.0": - "integrity" "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==" - "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz" - "version" "1.1.0" - -"eslint@*", "eslint@^5.0.0 || ^6.0.0", "eslint@^6.8.0": - "integrity" "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==" - "resolved" "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz" - "version" "6.8.0" - dependencies: - "@babel/code-frame" "^7.0.0" - "ajv" "^6.10.0" - "chalk" "^2.1.0" - "cross-spawn" "^6.0.5" - "debug" "^4.0.1" - "doctrine" "^3.0.0" - "eslint-scope" "^5.0.0" - "eslint-utils" "^1.4.3" - "eslint-visitor-keys" "^1.1.0" - "espree" "^6.1.2" - "esquery" "^1.0.1" - "esutils" "^2.0.2" - "file-entry-cache" "^5.0.1" - "functional-red-black-tree" "^1.0.1" - "glob-parent" "^5.0.0" - "globals" "^12.1.0" - "ignore" "^4.0.6" - "import-fresh" "^3.0.0" - "imurmurhash" "^0.1.4" - "inquirer" "^7.0.0" - "is-glob" "^4.0.0" - "js-yaml" "^3.13.1" - "json-stable-stringify-without-jsonify" "^1.0.1" - "levn" "^0.3.0" - "lodash" "^4.17.14" - "minimatch" "^3.0.4" - "mkdirp" "^0.5.1" - "natural-compare" "^1.4.0" - "optionator" "^0.8.3" - "progress" "^2.0.0" - "regexpp" "^2.0.1" - "semver" "^6.1.2" - "strip-ansi" "^5.2.0" - "strip-json-comments" "^3.0.1" - "table" "^5.2.3" - "text-table" "^0.2.0" - "v8-compile-cache" "^2.0.3" - -"espree@^6.1.2": - "integrity" "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==" - "resolved" "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz" - "version" "6.2.1" - dependencies: - "acorn" "^7.1.1" - "acorn-jsx" "^5.2.0" - "eslint-visitor-keys" "^1.1.0" - -"esprima@^4.0.0": - "integrity" "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - "resolved" "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" - "version" "4.0.1" - -"esquery@^1.0.1": - "integrity" "sha512-MxYW9xKmROWF672KqjO75sszsA8Mxhw06YFeS5VHlB98KDHbOSurm3ArsjO60Eaf3QmGMCP1yn+0JQkNLo/97Q==" - "resolved" "https://registry.npmjs.org/esquery/-/esquery-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "estraverse" "^4.0.0" - -"esrecurse@^4.1.0": - "integrity" "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==" - "resolved" "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz" - "version" "4.2.1" - dependencies: - "estraverse" "^4.1.0" - -"estraverse@^4.0.0", "estraverse@^4.1.0", "estraverse@^4.1.1": - "integrity" "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" - "version" "4.3.0" - -"esutils@^2.0.2": - "integrity" "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - "resolved" "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" - "version" "2.0.3" - -"external-editor@^3.0.3": - "integrity" "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==" - "resolved" "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "chardet" "^0.7.0" - "iconv-lite" "^0.4.24" - "tmp" "^0.0.33" - -"fast-deep-equal@^3.1.1": - "integrity" "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==" - "resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz" - "version" "3.1.1" - -"fast-json-stable-stringify@^2.0.0": - "integrity" "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - "resolved" "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" - "version" "2.1.0" - -"fast-levenshtein@~2.0.6": - "integrity" "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" - "resolved" "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" - "version" "2.0.6" - -"figures@^3.0.0": - "integrity" "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==" - "resolved" "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz" - "version" "3.2.0" - dependencies: - "escape-string-regexp" "^1.0.5" - -"file-entry-cache@^5.0.1": - "integrity" "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==" - "resolved" "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "flat-cache" "^2.0.1" - -"fill-range@^7.0.1": - "integrity" "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==" - "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - "version" "7.0.1" - dependencies: - "to-regex-range" "^5.0.1" - -"find-up@^3.0.0", "find-up@3.0.0": - "integrity" "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "locate-path" "^3.0.0" - -"flat-cache@^2.0.1": - "integrity" "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==" - "resolved" "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "flatted" "^2.0.0" - "rimraf" "2.6.3" - "write" "1.0.3" - -"flat@^4.1.0": - "integrity" "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==" - "resolved" "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "is-buffer" "~2.0.3" - -"flatted@^2.0.0": - "integrity" "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==" - "resolved" "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz" - "version" "2.0.1" - -"fs.realpath@^1.0.0": - "integrity" "sha1-FQStJSMVjKpA20onh8sBQRmU6k8= sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - "version" "1.0.0" - -"function-bind@^1.1.1": - "integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" - "version" "1.1.1" - -"functional-red-black-tree@^1.0.1": - "integrity" "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==" - "resolved" "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" - "version" "1.0.1" - -"get-caller-file@^2.0.1": - "integrity" "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - "resolved" "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" - "version" "2.0.5" - -"glob-parent@^5.0.0", "glob-parent@~5.1.0": - "integrity" "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==" - "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - "version" "5.1.2" - dependencies: - "is-glob" "^4.0.1" - -"glob@^7.1.3", "glob@^7.1.6": - "integrity" "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==" - "resolved" "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz" - "version" "7.1.6" - dependencies: - "fs.realpath" "^1.0.0" - "inflight" "^1.0.4" - "inherits" "2" - "minimatch" "^3.0.4" - "once" "^1.3.0" - "path-is-absolute" "^1.0.0" - -"glob@7.1.3": - "integrity" "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==" - "resolved" "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz" - "version" "7.1.3" - dependencies: - "fs.realpath" "^1.0.0" - "inflight" "^1.0.4" - "inherits" "2" - "minimatch" "^3.0.4" - "once" "^1.3.0" - "path-is-absolute" "^1.0.0" - -"globals@^12.1.0": - "integrity" "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==" - "resolved" "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz" - "version" "12.4.0" - dependencies: - "type-fest" "^0.8.1" - -"growl@1.10.5": - "integrity" "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==" - "resolved" "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz" - "version" "1.10.5" - -"has-flag@^3.0.0": - "integrity" "sha1-tdRU3CGZriJWmfNGfloH87lVuv0= sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - "version" "3.0.0" - -"has-flag@^4.0.0": - "integrity" "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - "version" "4.0.0" - -"has-symbols@^1.0.0", "has-symbols@^1.0.1": - "integrity" "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" - "resolved" "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz" - "version" "1.0.1" - -"has@^1.0.3": - "integrity" "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==" - "resolved" "https://registry.npmjs.org/has/-/has-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "function-bind" "^1.1.1" - -"he@1.2.0": - "integrity" "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - "resolved" "https://registry.npmjs.org/he/-/he-1.2.0.tgz" - "version" "1.2.0" - -"http-proxy-agent@^2.1.0": - "integrity" "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==" - "resolved" "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "agent-base" "4" - "debug" "3.1.0" - -"https-proxy-agent@^2.2.4": - "integrity" "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==" - "resolved" "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz" - "version" "2.2.4" - dependencies: - "agent-base" "^4.3.0" - "debug" "^3.1.0" - -"iconv-lite@^0.4.24": - "integrity" "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==" - "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" - "version" "0.4.24" - dependencies: - "safer-buffer" ">= 2.1.2 < 3" - -"ignore@^4.0.6": - "integrity" "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" - "resolved" "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" - "version" "4.0.6" - -"import-fresh@^3.0.0": - "integrity" "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==" - "resolved" "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz" - "version" "3.2.1" - dependencies: - "parent-module" "^1.0.0" - "resolve-from" "^4.0.0" - -"imurmurhash@^0.1.4": - "integrity" "sha1-khi5srkoojixPcT7a21XbyMUU+o= sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" - "resolved" "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - "version" "0.1.4" - -"inflight@^1.0.4": - "integrity" "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==" - "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - "version" "1.0.6" - dependencies: - "once" "^1.3.0" - "wrappy" "1" - -"inherits@2": - "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - "version" "2.0.4" - -"ini@^1.3.4": - "integrity" "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - "resolved" "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" - "version" "1.3.8" - -"inquirer@^7.0.0": - "integrity" "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==" - "resolved" "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz" - "version" "7.1.0" - dependencies: - "ansi-escapes" "^4.2.1" - "chalk" "^3.0.0" - "cli-cursor" "^3.1.0" - "cli-width" "^2.0.0" - "external-editor" "^3.0.3" - "figures" "^3.0.0" - "lodash" "^4.17.15" - "mute-stream" "0.0.8" - "run-async" "^2.4.0" - "rxjs" "^6.5.3" - "string-width" "^4.1.0" - "strip-ansi" "^6.0.0" - "through" "^2.3.6" - -"is-binary-path@~2.1.0": - "integrity" "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==" - "resolved" "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "binary-extensions" "^2.0.0" - -"is-buffer@~2.0.3": - "integrity" "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==" - "resolved" "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz" - "version" "2.0.4" - -"is-callable@^1.1.4", "is-callable@^1.1.5": - "integrity" "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==" - "resolved" "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz" - "version" "1.1.5" - -"is-date-object@^1.0.1": - "integrity" "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" - "resolved" "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz" - "version" "1.0.2" - -"is-extglob@^2.1.1": - "integrity" "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" - "resolved" "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - "version" "2.1.1" - -"is-fullwidth-code-point@^2.0.0": - "integrity" "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" - "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" - "version" "2.0.0" - -"is-fullwidth-code-point@^3.0.0": - "integrity" "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" - "version" "3.0.0" - -"is-glob@^4.0.0", "is-glob@^4.0.1", "is-glob@~4.0.1": - "integrity" "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==" - "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "is-extglob" "^2.1.1" - -"is-number@^7.0.0": - "integrity" "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - "resolved" "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" - "version" "7.0.0" - -"is-promise@^2.1.0": - "integrity" "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= sha512-NECAi6wp6CgMesHuVUEK8JwjCvm/tvnn5pCbB42JOHp3mgUizN0nagXu4HEqQZBkieGEQ+jVcMKWqoVd6CDbLQ==" - "resolved" "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz" - "version" "2.1.0" - -"is-regex@^1.0.5": - "integrity" "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==" - "resolved" "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz" - "version" "1.0.5" - dependencies: - "has" "^1.0.3" - -"is-symbol@^1.0.2": - "integrity" "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==" - "resolved" "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "has-symbols" "^1.0.1" - -"isexe@^2.0.0": - "integrity" "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - "resolved" "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - "version" "2.0.0" - -"js-beautify@^1.10.3": - "integrity" "sha512-wfk/IAWobz1TfApSdivH5PJ0miIHgDoYb1ugSqHcODPmaYu46rYe5FVuIEkhjg8IQiv6rDNPyhsqbsohI/C2vQ==" - "resolved" "https://registry.npmjs.org/js-beautify/-/js-beautify-1.10.3.tgz" - "version" "1.10.3" - dependencies: - "config-chain" "^1.1.12" - "editorconfig" "^0.15.3" - "glob" "^7.1.3" - "mkdirp" "~0.5.1" - "nopt" "~4.0.1" - -"js-tokens@^4.0.0": - "integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - "resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - "version" "4.0.0" - -"js-yaml@^3.13.1", "js-yaml@3.13.1": - "integrity" "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==" - "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz" - "version" "3.13.1" - dependencies: - "argparse" "^1.0.7" - "esprima" "^4.0.0" - -"json-schema-traverse@^0.4.1": - "integrity" "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" - "version" "0.4.1" - -"json-stable-stringify-without-jsonify@^1.0.1": - "integrity" "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" - "resolved" "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" - "version" "1.0.1" - -"levn@^0.3.0", "levn@~0.3.0": - "integrity" "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==" - "resolved" "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" - "version" "0.3.0" - dependencies: - "prelude-ls" "~1.1.2" - "type-check" "~0.3.2" - -"locate-path@^3.0.0": - "integrity" "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==" - "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "p-locate" "^3.0.0" - "path-exists" "^3.0.0" - -"lodash@^4.17.14", "lodash@^4.17.15": - "integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - "version" "4.17.21" - -"log-symbols@3.0.0": - "integrity" "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==" - "resolved" "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "chalk" "^2.4.2" - -"lru-cache@^4.1.5": - "integrity" "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==" - "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz" - "version" "4.1.5" - dependencies: - "pseudomap" "^1.0.2" - "yallist" "^2.1.2" - -"mimic-fn@^2.1.0": - "integrity" "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - "resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" - "version" "2.1.0" - -"minimatch@^3.0.4", "minimatch@3.0.4": - "integrity" "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==" - "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "brace-expansion" "^1.1.7" - -"minimist@^1.2.5": - "integrity" "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==" - "resolved" "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz" - "version" "1.2.7" - -"mkdirp@^0.5.1", "mkdirp@~0.5.1", "mkdirp@0.5.3": - "integrity" "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==" - "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz" - "version" "0.5.3" - dependencies: - "minimist" "^1.2.5" - -"mocha@^7.0.1": - "integrity" "sha512-3qQsu3ijNS3GkWcccT5Zw0hf/rWvu1fTN9sPvEd81hlwsr30GX2GcDSSoBxo24IR8FelmrAydGC6/1J5QQP4WA==" - "resolved" "https://registry.npmjs.org/mocha/-/mocha-7.1.1.tgz" - "version" "7.1.1" - dependencies: - "ansi-colors" "3.2.3" - "browser-stdout" "1.3.1" - "chokidar" "3.3.0" - "debug" "3.2.6" - "diff" "3.5.0" - "escape-string-regexp" "1.0.5" - "find-up" "3.0.0" - "glob" "7.1.3" - "growl" "1.10.5" - "he" "1.2.0" - "js-yaml" "3.13.1" - "log-symbols" "3.0.0" - "minimatch" "3.0.4" - "mkdirp" "0.5.3" - "ms" "2.1.1" - "node-environment-flags" "1.0.6" - "object.assign" "4.1.0" - "strip-json-comments" "2.0.1" - "supports-color" "6.0.0" - "which" "1.3.1" - "wide-align" "1.1.3" - "yargs" "13.3.2" - "yargs-parser" "13.1.2" - "yargs-unparser" "1.6.0" - -"ms@^2.1.1": - "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - "version" "2.1.2" - -"ms@2.0.0": - "integrity" "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" - "version" "2.0.0" - -"ms@2.1.1": - "integrity" "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz" - "version" "2.1.1" - -"mute-stream@0.0.8": - "integrity" "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - "resolved" "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz" - "version" "0.0.8" - -"natural-compare@^1.4.0": - "integrity" "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" - "resolved" "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" - "version" "1.4.0" - -"nice-try@^1.0.4": - "integrity" "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - "resolved" "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" - "version" "1.0.5" - -"node-environment-flags@1.0.6": - "integrity" "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==" - "resolved" "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz" - "version" "1.0.6" - dependencies: - "object.getownpropertydescriptors" "^2.0.3" - "semver" "^5.7.0" - -"nopt@~4.0.1": - "integrity" "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==" - "resolved" "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz" - "version" "4.0.3" - dependencies: - "abbrev" "1" - "osenv" "^0.1.4" - -"normalize-path@^3.0.0", "normalize-path@~3.0.0": - "integrity" "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" - "version" "3.0.0" - -"object-inspect@^1.7.0": - "integrity" "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==" - "resolved" "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz" - "version" "1.7.0" - -"object-keys@^1.0.11", "object-keys@^1.0.12", "object-keys@^1.1.1": - "integrity" "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - "resolved" "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" - "version" "1.1.1" - -"object.assign@^4.1.0", "object.assign@4.1.0": - "integrity" "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==" - "resolved" "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "define-properties" "^1.1.2" - "function-bind" "^1.1.1" - "has-symbols" "^1.0.0" - "object-keys" "^1.0.11" - -"object.getownpropertydescriptors@^2.0.3": - "integrity" "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==" - "resolved" "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "define-properties" "^1.1.3" - "es-abstract" "^1.17.0-next.1" - -"once@^1.3.0": - "integrity" "sha1-WDsap3WWHUsROsF9nFC6753Xa9E= sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==" - "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "wrappy" "1" - -"onetime@^5.1.0": - "integrity" "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==" - "resolved" "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz" - "version" "5.1.0" - dependencies: - "mimic-fn" "^2.1.0" - -"optionator@^0.8.3": - "integrity" "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==" - "resolved" "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz" - "version" "0.8.3" - dependencies: - "deep-is" "~0.1.3" - "fast-levenshtein" "~2.0.6" - "levn" "~0.3.0" - "prelude-ls" "~1.1.2" - "type-check" "~0.3.2" - "word-wrap" "~1.2.3" - -"os-homedir@^1.0.0": - "integrity" "sha1-/7xJiDNuDoM94MFox+8VISGqf7M= sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==" - "resolved" "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz" - "version" "1.0.2" - -"os-tmpdir@^1.0.0", "os-tmpdir@~1.0.2": - "integrity" "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" - "resolved" "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" - "version" "1.0.2" - -"osenv@^0.1.4": - "integrity" "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==" - "resolved" "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz" - "version" "0.1.5" - dependencies: - "os-homedir" "^1.0.0" - "os-tmpdir" "^1.0.0" - -"p-limit@^2.0.0": - "integrity" "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==" - "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz" - "version" "2.2.2" - dependencies: - "p-try" "^2.0.0" - -"p-locate@^3.0.0": - "integrity" "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==" - "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "p-limit" "^2.0.0" - -"p-try@^2.0.0": - "integrity" "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - "resolved" "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" - "version" "2.2.0" - -"parent-module@^1.0.0": - "integrity" "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==" - "resolved" "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "callsites" "^3.0.0" - -"path-exists@^3.0.0": - "integrity" "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" - "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" - "version" "3.0.0" - -"path-is-absolute@^1.0.0": - "integrity" "sha1-F0uSaHNVNP+8es5r9TpanhtcX18= sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - "version" "1.0.1" - -"path-key@^2.0.1": - "integrity" "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==" - "resolved" "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" - "version" "2.0.1" - -"picomatch@^2.0.4": - "integrity" "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" - "resolved" "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz" - "version" "2.2.2" - -"prelude-ls@~1.1.2": - "integrity" "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==" - "resolved" "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" - "version" "1.1.2" - -"progress@^2.0.0": - "integrity" "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" - "resolved" "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" - "version" "2.0.3" - -"proto-list@~1.2.1": - "integrity" "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==" - "resolved" "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz" - "version" "1.2.4" - -"pseudomap@^1.0.2": - "integrity" "sha1-8FKijacOYYkX7wqKw0wa5aaChrM= sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" - "resolved" "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz" - "version" "1.0.2" - -"punycode@^2.1.0": - "integrity" "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - "resolved" "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" - "version" "2.1.1" - -"readdirp@~3.2.0": - "integrity" "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==" - "resolved" "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz" - "version" "3.2.0" - dependencies: - "picomatch" "^2.0.4" - -"regexpp@^2.0.1": - "integrity" "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==" - "resolved" "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz" - "version" "2.0.1" - -"regexpp@^3.0.0": - "integrity" "sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g==" - "resolved" "https://registry.npmjs.org/regexpp/-/regexpp-3.0.0.tgz" - "version" "3.0.0" - -"require-directory@^2.1.1": - "integrity" "sha1-jGStX9MNqxyXbiNE/+f3kqam30I= sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" - "resolved" "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" - "version" "2.1.1" - -"require-main-filename@^2.0.0": - "integrity" "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - "resolved" "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" - "version" "2.0.0" - -"resolve-from@^4.0.0": - "integrity" "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" - "version" "4.0.0" - -"restore-cursor@^3.1.0": - "integrity" "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==" - "resolved" "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "onetime" "^5.1.0" - "signal-exit" "^3.0.2" - -"rimraf@^2.6.3", "rimraf@2.6.3": - "integrity" "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==" - "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz" - "version" "2.6.3" - dependencies: - "glob" "^7.1.3" - -"run-async@^2.4.0": - "integrity" "sha512-xJTbh/d7Lm7SBhc1tNvTpeCHaEzoyxPrqNlvSdMfBTYwaY++UJFyXUOxAtsRUXjlqOfj8luNaR9vjCh4KeV+pg==" - "resolved" "https://registry.npmjs.org/run-async/-/run-async-2.4.0.tgz" - "version" "2.4.0" - dependencies: - "is-promise" "^2.1.0" - -"rxjs@^6.5.3": - "integrity" "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==" - "resolved" "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz" - "version" "6.5.4" - dependencies: - "tslib" "^1.9.0" - -"safer-buffer@>= 2.1.2 < 3": - "integrity" "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - "resolved" "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" - "version" "2.1.2" - -"semver@^5.5.0": - "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - "version" "5.7.1" - -"semver@^5.6.0": - "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - "version" "5.7.1" - -"semver@^5.7.0": - "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - "version" "5.7.1" - -"semver@^6.1.2", "semver@^6.3.0": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" - -"set-blocking@^2.0.0": - "integrity" "sha1-BF+XgtARrppoA93TgrJDkrPYkPc= sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" - "resolved" "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" - "version" "2.0.0" - -"shebang-command@^1.2.0": - "integrity" "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==" - "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "shebang-regex" "^1.0.0" - -"shebang-regex@^1.0.0": - "integrity" "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==" - "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" - "version" "1.0.0" - -"sigmund@^1.0.1": - "integrity" "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA= sha512-fCvEXfh6NWpm+YSuY2bpXb/VIihqWA6hLsgboC+0nl71Q7N7o2eaCW8mJa/NLvQhs6jpd3VZV4UiUQlV6+lc8g==" - "resolved" "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz" - "version" "1.0.1" - -"signal-exit@^3.0.2": - "integrity" "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= sha512-meQNNykwecVxdu1RlYMKpQx4+wefIYpmxi6gexo/KAbwquJrBUrBmKYJrE8KFkVQAAVWEnwNdu21PgrD77J3xA==" - "resolved" "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz" - "version" "3.0.2" - -"slice-ansi@^2.1.0": - "integrity" "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==" - "resolved" "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "ansi-styles" "^3.2.0" - "astral-regex" "^1.0.0" - "is-fullwidth-code-point" "^2.0.0" - -"sprintf-js@~1.0.2": - "integrity" "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - "resolved" "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - "version" "1.0.3" - -"string-width@^1.0.2 || 2": - "integrity" "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==" - "resolved" "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "is-fullwidth-code-point" "^2.0.0" - "strip-ansi" "^4.0.0" - -"string-width@^3.0.0": - "integrity" "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==" - "resolved" "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "emoji-regex" "^7.0.1" - "is-fullwidth-code-point" "^2.0.0" - "strip-ansi" "^5.1.0" - -"string-width@^3.1.0": - "integrity" "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==" - "resolved" "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "emoji-regex" "^7.0.1" - "is-fullwidth-code-point" "^2.0.0" - "strip-ansi" "^5.1.0" - -"string-width@^4.1.0": - "integrity" "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==" - "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz" - "version" "4.2.0" - dependencies: - "emoji-regex" "^8.0.0" - "is-fullwidth-code-point" "^3.0.0" - "strip-ansi" "^6.0.0" - -"string.prototype.trimleft@^2.1.1": - "integrity" "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==" - "resolved" "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "define-properties" "^1.1.3" - "function-bind" "^1.1.1" - -"string.prototype.trimright@^2.1.1": - "integrity" "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==" - "resolved" "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "define-properties" "^1.1.3" - "function-bind" "^1.1.1" - -"strip-ansi@^4.0.0": - "integrity" "sha1-qEeQIusaw2iocTibY1JixQXuNo8= sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==" - "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "ansi-regex" "^3.0.0" - -"strip-ansi@^5.0.0", "strip-ansi@^5.1.0", "strip-ansi@^5.2.0": - "integrity" "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==" - "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" - "version" "5.2.0" - dependencies: - "ansi-regex" "^4.1.0" - -"strip-ansi@^6.0.0": - "integrity" "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==" - "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "ansi-regex" "^5.0.0" - -"strip-json-comments@^3.0.1": - "integrity" "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==" - "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz" - "version" "3.0.1" - -"strip-json-comments@2.0.1": - "integrity" "sha1-PFMZQukIwml8DsNEhYwobHygpgo= sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==" - "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" - "version" "2.0.1" - -"supports-color@^5.3.0": - "integrity" "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - "version" "5.5.0" - dependencies: - "has-flag" "^3.0.0" - -"supports-color@^7.1.0": - "integrity" "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz" - "version" "7.1.0" - dependencies: - "has-flag" "^4.0.0" - -"supports-color@6.0.0": - "integrity" "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "has-flag" "^3.0.0" - -"table@^5.2.3": - "integrity" "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==" - "resolved" "https://registry.npmjs.org/table/-/table-5.4.6.tgz" - "version" "5.4.6" - dependencies: - "ajv" "^6.10.2" - "lodash" "^4.17.14" - "slice-ansi" "^2.1.0" - "string-width" "^3.0.0" - -"text-table@^0.2.0": - "integrity" "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" - "resolved" "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - "version" "0.2.0" - -"through@^2.3.6": - "integrity" "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" - "resolved" "https://registry.npmjs.org/through/-/through-2.3.8.tgz" - "version" "2.3.8" - -"tmp@^0.0.33": - "integrity" "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==" - "resolved" "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz" - "version" "0.0.33" - dependencies: - "os-tmpdir" "~1.0.2" - -"to-regex-range@^5.0.1": - "integrity" "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==" - "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "is-number" "^7.0.0" - -"tslib@^1.8.1", "tslib@^1.9.0": - "integrity" "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==" - "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz" - "version" "1.11.1" - -"tsutils@^3.17.1": - "integrity" "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==" - "resolved" "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz" - "version" "3.17.1" - dependencies: - "tslib" "^1.8.1" - -"type-check@~0.3.2": - "integrity" "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==" - "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" - "version" "0.3.2" - dependencies: - "prelude-ls" "~1.1.2" - -"type-fest@^0.11.0": - "integrity" "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz" - "version" "0.11.0" - -"type-fest@^0.8.1": - "integrity" "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz" - "version" "0.8.1" - -"typescript@^3.7.5", "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta": - "integrity" "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==" - "resolved" "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz" - "version" "3.8.3" - -"uri-js@^4.2.2": - "integrity" "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==" - "resolved" "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz" - "version" "4.2.2" - dependencies: - "punycode" "^2.1.0" - -"v8-compile-cache@^2.0.3": - "integrity" "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==" - "resolved" "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz" - "version" "2.1.0" - -"vscode-test@^1.3.0": - "integrity" "sha512-LddukcBiSU2FVTDr3c1D8lwkiOvwlJdDL2hqVbn6gIz+rpTqUCkMZSKYm94Y1v0WXlHSDQBsXyY+tchWQgGVsw==" - "resolved" "https://registry.npmjs.org/vscode-test/-/vscode-test-1.3.0.tgz" - "version" "1.3.0" - dependencies: - "http-proxy-agent" "^2.1.0" - "https-proxy-agent" "^2.2.4" - "rimraf" "^2.6.3" - -"which-module@^2.0.0": - "integrity" "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==" - "resolved" "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz" - "version" "2.0.0" - -"which@^1.2.9", "which@1.3.1": - "integrity" "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==" - "resolved" "https://registry.npmjs.org/which/-/which-1.3.1.tgz" - "version" "1.3.1" - dependencies: - "isexe" "^2.0.0" - -"wide-align@1.1.3": - "integrity" "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==" - "resolved" "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz" - "version" "1.1.3" - dependencies: - "string-width" "^1.0.2 || 2" - -"word-wrap@~1.2.3": - "integrity" "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" - "resolved" "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" - "version" "1.2.3" - -"wrap-ansi@^5.1.0": - "integrity" "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==" - "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz" - "version" "5.1.0" - dependencies: - "ansi-styles" "^3.2.0" - "string-width" "^3.0.0" - "strip-ansi" "^5.0.0" - -"wrappy@1": - "integrity" "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - "version" "1.0.2" - -"write@1.0.3": - "integrity" "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==" - "resolved" "https://registry.npmjs.org/write/-/write-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "mkdirp" "^0.5.1" - -"y18n@^4.0.0": - "integrity" "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - "resolved" "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz" - "version" "4.0.3" - -"yallist@^2.1.2": - "integrity" "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" - "resolved" "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz" - "version" "2.1.2" - -"yargs-parser@^13.1.2", "yargs-parser@13.1.2": - "integrity" "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==" - "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz" - "version" "13.1.2" - dependencies: - "camelcase" "^5.0.0" - "decamelize" "^1.2.0" - -"yargs-unparser@1.6.0": - "integrity" "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==" - "resolved" "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz" - "version" "1.6.0" - dependencies: - "flat" "^4.1.0" - "lodash" "^4.17.15" - "yargs" "^13.3.0" - -"yargs@^13.3.0", "yargs@13.3.2": - "integrity" "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==" - "resolved" "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz" - "version" "13.3.2" - dependencies: - "cliui" "^5.0.0" - "find-up" "^3.0.0" - "get-caller-file" "^2.0.1" - "require-directory" "^2.1.1" - "require-main-filename" "^2.0.0" - "set-blocking" "^2.0.0" - "string-width" "^3.0.0" - "which-module" "^2.0.0" - "y18n" "^4.0.0" - "yargs-parser" "^13.1.2" diff --git a/my-snippets/laravel5/.gitignore b/my-snippets/laravel5/.gitignore deleted file mode 100644 index 6da76e7..0000000 --- a/my-snippets/laravel5/.gitignore +++ /dev/null @@ -1,15 +0,0 @@ -### Windows ### -# Windows image file caches -Thumbs.db -ehthumbs.db - -# Folder config file -Desktop.ini - -### macOS ### -*.DS_Store -.AppleDouble -.LSOverride - -# Thumbnails -._* \ No newline at end of file diff --git a/my-snippets/laravel5/.vscode/launch.json b/my-snippets/laravel5/.vscode/launch.json deleted file mode 100644 index 9b423c3..0000000 --- a/my-snippets/laravel5/.vscode/launch.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "version": "1.0.0", - "configurations": [ - { - "name": "Launch Extension", - "type": "extensionHost", - "request": "launch", - "runtimeExecutable": "${execPath}", - "args": ["--extensionDevelopmentPath=${workspaceRoot}" ] - } - ] -} \ No newline at end of file diff --git a/my-snippets/laravel5/.vscodeignore b/my-snippets/laravel5/.vscodeignore deleted file mode 100644 index 7a316d6..0000000 --- a/my-snippets/laravel5/.vscodeignore +++ /dev/null @@ -1,2 +0,0 @@ -.vscode/**/* -.gitignore diff --git a/my-snippets/laravel5/CHANGELOG.md b/my-snippets/laravel5/CHANGELOG.md deleted file mode 100644 index c062ef1..0000000 --- a/my-snippets/laravel5/CHANGELOG.md +++ /dev/null @@ -1,96 +0,0 @@ -## 1.15.0 - -* Add `Eloquent-getter` and `Eloquent-setter` snippets ([@fabrola22](https://github.com/fabrola22) - [PR #36](https://github.com/onecentlin/laravel5-snippets-vscode/pull/36)) -* Fix snippets - -## 1.14.0 - -[Laravel 9.x](https://laravel.com/docs/9.x/releases) new features - -* Add `Eloquent-attribute` for eloquent accessors / mutators -* Add `Rotue-controller-group` for controller route groups -* Add `Route-get-scopeBindings` and `Route-group-scopeBindings` for forcing scoping of route bindings - -## 1.13.0 - -* Fix `Route::resource` syntax issue ([#33](https://github.com/onecentlin/laravel5-snippets-vscode/issues/33)) - -## 1.12.0 - -* Add `Route-get-name`, `Route-post-name` for naming routes -* Add `Route::current`, `Route::currentRouteName` -* Update `Route-controllerAction` with naming route -* Replace log message with double-quotes ([@MartinP7r](https://github.com/MartinP7r) - [PR #32](https://github.com/onecentlin/laravel5-snippets-vscode/pull/32)) - -## 1.11.0 - -* Add relation return type ([@samir-araujo](https://github.com/samir-araujo) - [PR #27](https://github.com/onecentlin/laravel5-snippets-vscode/pull/27)) -* Route & Relation compatible with Laravel 8 ([@MrEduar](https://github.com/MrEduar) - [PR #30](https://github.com/onecentlin/laravel5-snippets-vscode/pull/30)) - -## 1.10.0 - -* Fix `Column::decimal` ([@dittoex](https://github.com/dittoex) - [PR #24](https://github.com/onecentlin/laravel5-snippets-vscode/pull/24)) -* Update helper snippets -* Add `Helper::dd` - -## 1.9.0 - -* Sync `Str` api to Laravel v7.x -* Add `Str::after`, `Str::afterLast`, `Str::ascii` ([@gentritabazi01](https://github.com/gentritabazi01) - [PR #22](https://github.com/onecentlin/laravel5-snippets-vscode/pull/22)) - -## 1.8.0 - -* Add `Str::plural` and `Str::limit` ([@wdog](https://github.com/wdog) - [PR #19](https://github.com/onecentlin/laravel5-snippets-vscode/pull/19)) -* Fix syntax error View ::makeCompact ([#17](https://github.com/onecentlin/laravel5-snippets-vscode/issues/17)) -* Add `Route::dispatch` and `Route::dispatchToRoute` ([#12](https://github.com/onecentlin/laravel5-snippets-vscode/issues/12)) -* Rename VS Code extension name to `Laravel Snippets` in order to support for Laravel 5 and above version. - -## 1.7.0 - -* Update Cache parameters using ttl instead of minutes ([@nicoeg](https://github.com/nicoeg)) - [PR #16](https://github.com/onecentlin/laravel5-snippets-vscode/pull/16) - -## 1.6.0 - -* Added snippets for laravel collective form and html ([@mnshankar](https://github.com/mnshankar) - [PR #10](https://github.com/onecentlin/laravel5-snippets-vscode/pull/10)) -* Changed increments to bigIncrements ([@sidvanvliet](https://github.com/sidvanvliet) - [PR #15](https://github.com/onecentlin/laravel5-snippets-vscode/pull/15)) - -## 1.5.0 - -Support new snippets for Laravel 5.6 - -* Add `Str::uuid` and `Str::orderedUuid` -* Add `Broadcast::channel` - -Support new snippets for Laravel 5.5 - -* Add `Route::redirect` -* Add `Route::view` -* Add `Cache::lock` with `get`, `release`, `block` - -## 1.4.0 - -* Add `Helper::dd` for `dd()` die and dump helper ([#8](https://github.com/onecentlin/laravel5-snippets-vscode/issues/8)) -* Fix response format ([#5](https://github.com/onecentlin/laravel5-snippets-vscode/issues/5)) - -## 1.3.4 - -* Fix syntax for PSR2 ([@tradzero](https://github.com/tradzero) - [PR #4](https://github.com/onecentlin/laravel5-snippets-vscode/pull/4)) -* Fix `Route` syntax issues. - -## 1.3.3 - -* Added `Blueprint` type check to table update snippet. ([@thelfensdrfer](https://github.com/thelfensdrfer) - [PR #3](https://github.com/onecentlin/laravel5-snippets-vscode/pull/3)) - -## 1.3.2 - -* Add `$table->timestamps();` as defualt fields while creating table schema. ([#2](https://github.com/onecentlin/laravel5-snippets-vscode/issues/2)) -* Fix snippets stop position. - -## 1.3.1 - -* Add missing support in DB: `DB::table` ([#1](https://github.com/onecentlin/laravel5-snippets-vscode/issues/1)) - -## 1.3.0 - -* Support new snippets for Laravel 5.3 API Authentication ([Passport](https://laravel.com/docs/5.3/passport)) -* Add missing support in Authentication: `Auth::guard`, `Auth::attempt`, `Auth::login`, `Auth::loginUsingId`, `Auth::viaRemember`, `Auth::routes` diff --git a/my-snippets/laravel5/LICENSE.md b/my-snippets/laravel5/LICENSE.md deleted file mode 100644 index fd5ad8c..0000000 --- a/my-snippets/laravel5/LICENSE.md +++ /dev/null @@ -1,9 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2016 Winnie Lin - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/my-snippets/laravel5/README.md b/my-snippets/laravel5/README.md deleted file mode 100644 index 02607e1..0000000 --- a/my-snippets/laravel5/README.md +++ /dev/null @@ -1,56 +0,0 @@ -# Laravel Snippets - -[`Laravel snippets`](https://marketplace.visualstudio.com/items?itemName=onecentlin.laravel5-snippets) extension for Visual Studio Code (Support Laravel 5 and above version). - -- Laravel 5.x-9.x - -## Screenshot - -![Screenshot](https://github.com/onecentlin/laravel5-snippets-vscode/raw/master/images/screenshot.gif) - -## Usage - -Snippet prefix follows Laravel Facades. For example: `Request::`, `Route::` - -## Support Snippet Prefix - -* Auth -* Broadcast -* Cache -* Config -* Console -* Cookie -* Crypt -* DB -* Eloquent -* Event -* Form ([Laravel Collective Form/Html](https://packagist.org/packages/laravelcollective/html) needs to be installed and available as `blade` snippets) -* Hash -* Helper -* Log -* Mail - Contains `Mail::` and `Mailable::` prefix for mail related settings -* Passport (Laravel v5.3 - [API Authentication](https://laravel.com/docs/5.3/passport)) -* Redirect -* Relation -* Request -* Response -* Route -* Schema - Contains `Schema::` and `Column::` prefix for database related settings -* Session -* Storage -* Str -* View - -> Blade - Please install [`Laravel Blade Snippets` extension](https://marketplace.visualstudio.com/items?itemName=onecentlin.laravel-blade) for blade syntax highlighting and better support with blade and emmet. - -## Contact - -Please file any [issues](https://github.com/onecentlin/laravel5-snippets-vscode/issues) or have a suggestion please tweet me [@onecentlin](https://twitter.com/onecentlin). - -## Credits - -* Snippets based on [Laravel 5 Snippets for Sublime Text](https://github.com/Lykegenes/laravel-5-snippets) - -## License - -Please read [License](https://github.com/onecentlin/laravel5-snippets-vscode/blob/master/LICENSE.md) for more information. diff --git a/my-snippets/laravel5/images/icon.png b/my-snippets/laravel5/images/icon.png deleted file mode 100644 index f7a62a7..0000000 Binary files a/my-snippets/laravel5/images/icon.png and /dev/null differ diff --git a/my-snippets/laravel5/images/screenshot.gif b/my-snippets/laravel5/images/screenshot.gif deleted file mode 100644 index 4fd0cbf..0000000 Binary files a/my-snippets/laravel5/images/screenshot.gif and /dev/null differ diff --git a/my-snippets/laravel5/package.json b/my-snippets/laravel5/package.json deleted file mode 100644 index b6aa710..0000000 --- a/my-snippets/laravel5/package.json +++ /dev/null @@ -1,148 +0,0 @@ -{ - "name": "laravel5-snippets", - "displayName": "Laravel Snippets", - "description": "Laravel snippets for Visual Studio Code (Support Laravel 5 and above)", - "version": "1.15.0", - "publisher": "onecentlin", - "author": { - "name": "Winnie Lin", - "email": "onecentlin@gmail.com", - "url": "https://devmanna.blogspot.com" - }, - "homepage": "https://github.com/onecentlin/laravel5-snippets-vscode", - "repository": { - "type": "git", - "url": "https://github.com/onecentlin/laravel5-snippets-vscode" - }, - "bugs": { - "url": "https://github.com/onecentlin/laravel5-snippets-vscode/issues" - }, - "engines": { - "vscode": "^1.0.0" - }, - "keywords": [ - "laravel", - "snippet", - "laravel5", - "laravel6", - "laravel7", - "laravel8", - "laravel9" - ], - "icon": "images/icon.png", - "galleryBanner": { - "color": "#f66f62", - "theme": "dark" - }, - "categories": [ - "Snippets" - ], - "contributes": { - "snippets": [ - { - "language": "php", - "path": "./snippets/auth.json" - }, - { - "language": "php", - "path": "./snippets/cache.json" - }, - { - "language": "php", - "path": "./snippets/config.json" - }, - { - "language": "php", - "path": "./snippets/console.json" - }, - { - "language": "php", - "path": "./snippets/cookie.json" - }, - { - "language": "php", - "path": "./snippets/crypt.json" - }, - { - "language": "php", - "path": "./snippets/db.json" - }, - { - "language": "php", - "path": "./snippets/eloquent.json" - }, - { - "language": "php", - "path": "./snippets/event.json" - }, - { - "language": "php", - "path": "./snippets/hash.json" - }, - { - "language": "php", - "path": "./snippets/helper.json" - }, - { - "language": "php", - "path": "./snippets/log.json" - }, - { - "language": "php", - "path": "./snippets/mail.json" - }, - { - "language": "php", - "path": "./snippets/redirect.json" - }, - { - "language": "php", - "path": "./snippets/relation.json" - }, - { - "language": "php", - "path": "./snippets/request.json" - }, - { - "language": "php", - "path": "./snippets/response.json" - }, - { - "language": "php", - "path": "./snippets/route.json" - }, - { - "language": "php", - "path": "./snippets/schema.json" - }, - { - "language": "php", - "path": "./snippets/session.json" - }, - { - "language": "php", - "path": "./snippets/storage.json" - }, - { - "language": "php", - "path": "./snippets/view.json" - }, - { - "language": "php", - "path": "./snippets/passport.json" - }, - { - "language": "php", - "path": "./snippets/str.json" - }, - { - "language": "php", - "path": "./snippets/broadcast.json" - }, - { - "language": "blade", - "path": "./snippets/collective_form_html.json" - } - ] - } -} diff --git a/my-snippets/laravel5/snippets/auth.json b/my-snippets/laravel5/snippets/auth.json deleted file mode 100644 index ffe8dc4..0000000 --- a/my-snippets/laravel5/snippets/auth.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "Auth-check.sublime-snippet": { - "prefix": "Auth::check", - "body": [ - "Auth::check()" - ], - "description": "Determine if the current user is authenticated." - }, - "Auth-guest.sublime-snippet": { - "prefix": "Auth::guest", - "body": [ - "Auth::guest()" - ], - "description": "Determine if the current user is a guest." - }, - "Auth-logout.sublime-snippet": { - "prefix": "Auth::logout", - "body": [ - "Auth::logout();" - ], - "description": "Log the user out of the application." - }, - "Auth-user.sublime-snippet": { - "prefix": "Auth::user", - "body": [ - "Auth::user()" - ], - "description": "Get the currently authenticated user." - }, - "Auth-guard": { - "prefix": "Auth::guard", - "body": [ - "Auth::guard('${1:guardName}')$2" - ], - "description": "customize the \"guard\" that is used to authenticate and register users" - }, - "Auth-attempt": { - "prefix": "Auth::attempt", - "body": [ - "Auth::attempt([${1:'email' => \\$email, 'password' => \\$password}])$2" - ], - "description": "Log by passing an array with key-value" - }, - "Auth-login": { - "prefix": "Auth::login", - "body": [ - "Auth::login(${1:\\$user});$2" - ], - "description": "Log an existing user instance into your application" - }, - "Auth-loginUsingId": { - "prefix": "Auth::loginUsingId", - "body": [ - "Auth::loginUsingId($1);$2" - ], - "description": "To log a user into the application by their ID" - }, - "Auth-viaRemember": { - "prefix": "Auth::viaRemember", - "body": [ - "Auth::viaRemember()" - ], - "description": "Determine if the user was authenticated using the \"remember me\" cookie." - }, - "Auth-routes": { - "prefix": "Auth::routes", - "body": [ - "Auth::routes();" - ], - "description": "Set authentication routes (v5.3)" - } -} \ No newline at end of file diff --git a/my-snippets/laravel5/snippets/broadcast.json b/my-snippets/laravel5/snippets/broadcast.json deleted file mode 100644 index 595c805..0000000 --- a/my-snippets/laravel5/snippets/broadcast.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "Broadcast-channel": { - "prefix": "Broadcast::channel", - "body": "Broadcast::channel('${1}', ${2}::class);${3}", - "description": "Broadcast Channel Classes" - } -} \ No newline at end of file diff --git a/my-snippets/laravel5/snippets/cache.json b/my-snippets/laravel5/snippets/cache.json deleted file mode 100644 index f4d9994..0000000 --- a/my-snippets/laravel5/snippets/cache.json +++ /dev/null @@ -1,105 +0,0 @@ -{ - "Cache-add.sublime-snippet": { - "prefix": "Cache::add", - "body": [ - "Cache::add('${1:key}', ${2:\\$value}, ${3:\\$ttl});$4" - ], - "description": "Store an item in the Cache if it doesn't exist." - }, - "Cache-decrement.sublime-snippet": { - "prefix": "Cache::decrement", - "body": [ - "Cache::decrement('${1:key}', ${2:\\$amount});$3" - ], - "description": "Decrement a Cached value" - }, - "Cache-flush.sublime-snippet": { - "prefix": "Cache::flush", - "body": [ - "Cache::flush();" - ], - "description": "Remove all items from the cache." - }, - "Cache-forever.sublime-snippet": { - "prefix": "Cache::forever", - "body": [ - "Cache::forever('${1:key}', ${2:\\$value});$3" - ], - "description": "Store an item in the Cache Permanently" - }, - "Cache-forget.sublime-snippet": { - "prefix": "Cache::forget", - "body": [ - "Cache::forget('${1:key}');$2" - ], - "description": "Remove an Item from the Cache" - }, - "Cache-get.sublime-snippet": { - "prefix": "Cache::get", - "body": [ - "Cache::get('${1:key}', '${2:default}');$3" - ], - "description": "Retrieve an Item from the Cache" - }, - "Cache-has.sublime-snippet": { - "prefix": "Cache::has", - "body": [ - "Cache::has('${1:key}')$2" - ], - "description": "Check for existence in Cache" - }, - "Cache-increment.sublime-snippet": { - "prefix": "Cache::increment", - "body": [ - "Cache::increment('${1:key}', ${2:\\$amount});$3" - ], - "description": "Increment a Cached value" - }, - "Cache-pull.sublime-snippet": { - "prefix": "Cache::pull", - "body": [ - "Cache::pull('${1:key}');$2" - ], - "description": "Pulling An Item From The Cache" - }, - "Cache-put.sublime-snippet": { - "prefix": "Cache::put", - "body": [ - "Cache::put('${1:key}', ${2:\\$value}, ${3:\\$ttl});$4" - ], - "description": "Store an item in the Cache (key, value, ttl)" - }, - "Cache-remember.sublime-snippet": { - "prefix": "Cache::remember", - "body": [ - "Cache::remember('${1:key}', ${2:\\$ttl}, function () {", - " $3", - "});" - ], - "description": "Retrieve item or Store a default value if it doesn't exist" - }, - "Cache-rememberForever.sublime-snippet": { - "prefix": "Cache::rememberForever", - "body": [ - "Cache::rememberForever('${1:key}', function () {", - " $2", - "});" - ], - "description": "Retrieve item or Store a default value permanently" - }, - "Cache-lock-get": { - "prefix": "Cache::lock-get", - "body": "Cache::lock('${1:lock-name}', ${2:60})->get()", - "description": "obtaining arbitrary locks" - }, - "Cache-lock-release": { - "prefix": "Cache::lock-release", - "body": "Cache::lock('${1:lock-name}')->release()", - "description": "release locks" - }, - "Cache-lock-block": { - "prefix": "Cache::lock-block", - "body": "Cache::lock('${1:lock-name}', ${2:60})->block(${3:10})", - "description": "block until the lock becomes available" - } -} diff --git a/my-snippets/laravel5/snippets/collective_form_html.json b/my-snippets/laravel5/snippets/collective_form_html.json deleted file mode 100644 index 8fdbe45..0000000 --- a/my-snippets/laravel5/snippets/collective_form_html.json +++ /dev/null @@ -1,191 +0,0 @@ -{ - "Form-checkbox": { - "prefix": "Form::checkbox", - "body": [ - "{!! Form::checkbox(${1:$$name}, ${2:$$value}, ${3:$$checked}, [${4:$$options}]) !!}" - ], - "description": "Create a checkbox input field." - }, - "Form-close": { - "prefix": "Form::close", - "body": [ - "{!! Form::close(${1}) !!}" - ], - "description": "Closes a form tag" - }, - "Form-date": { - "prefix": "Form::date", - "body": [ - "{!! Form::date(${1:$$name}, ${2:$$value}, [${3:$$options}]) !!}" - ], - "description": "Create a date input field" - }, - "Form-datetime": { - "prefix": "Form::datetime", - "body": [ - "{!! Form::datetime(${1:$$name}, ${2:$$value}, [${3:$$options}]) !!}" - ], - "description": "Create a datetime input field" - }, - "Form-datetimeLocal": { - "prefix": "Form::datetimeLocal", - "body": [ - "{!! Form::datetimeLocal(${1:$$name}, ${2:$$value}, [${3:$$options}]) !!}" - ], - "description": "Create a datetime-local input field" - }, - "Form-email": { - "prefix": "Form::email", - "body": [ - "{!! Form::email(${1:$$name}, ${2:$$value}, [${3:$$options}]) !!}" - ], - "description": "Create an e-mail input field" - }, - "Form-file": { - "prefix": "Form::file", - "body": [ - "{!! Form::file(${1:$$name}, [${2:$$options}]) !!}" - ], - "description": "Create a file input field" - }, - "Form-hidden": { - "prefix": "Form::hidden", - "body": [ - "{!! Form::hidden(${1:$$name}, ${2:$$value}, [${3:$$options}]) !!}" - ], - "description": "Create a hidden input field" - }, - "Form-label": { - "prefix": "Form::label", - "body": [ - "{!! Form::label(${1:$$for}, ${2:$$text}, [${3:$$options}]) !!}" - ], - "description": "Create a form label element." - }, - "Form-model": { - "prefix": "Form::model", - "body": [ - "{!! Form::model(${1:$$user}, [${2:$$options}]) !!}" - ], - "description": "Create a new model based form builder." - }, - "Form-number": { - "prefix": "Form::number", - "body": [ - "{!! Form::number(${1:$$name}, ${2:$$value}, [${3:$$options}]) !!}" - ], - "description": "Create a number input field" - }, - "Form-open": { - "prefix": "Form::open", - "body": [ - "{!! Form::open(${1}) !!}" - ], - "description": "Open up a new HTML form" - }, - "Form-password": { - "prefix": "Form::password", - "body": [ - "{!! Form::password(${1:$$name}, [${2:$$options}]) !!}" - ], - "description": "Create a password input field" - }, - "Form-radio": { - "prefix": "Form::radio", - "body": [ - "{!! Form::radio(${1:$$name}, ${2:$$value}, ${3:$$checked}, [${4:$$options}]) !!}" - ], - "description": "Create a radio button input field" - }, - "Form-select": { - "prefix": "Form::select", - "body": [ - "{!! Form::select(${1:$$name}, ${2:$$list}, ${3:$$selected}, [${4:$$options}]) !!}" - ], - "description": "Create a select box field" - }, - "Form-selectMonth": { - "prefix": "Form::selectMonth", - "body": [ - "{!! Form::selectMonth(${1:$$name}, ${2:$$selected}, [${3:$$options}]) !!}" - ], - "description": "Create a select month field" - }, - "Form-selectRange": { - "prefix": "Form::selectRange", - "body": [ - "{!! Form::selectRange(${1:$$name}, ${2:$$min}, ${3:$$max}), ${4:$$selected}, [${5:$$options} !!}" - ], - "description": "Create a select range field" - }, - "Form-submit": { - "prefix": "Form::submit", - "body": [ - "{!! Form::submit(${1:$$text}, [${2:$$options}]) !!}" - ], - "description": "Create a submit button element" - }, - "Form-text": { - "prefix": "Form::text", - "body": [ - "{!! Form::text(${1:$$name}, ${2:$$value}, [${3:$$options}]) !!}" - ], - "description": "Create a text input field" - }, - "Form-textarea": { - "prefix": "Form::textarea", - "body": [ - "{!! Form::textarea(${1:$$name}, ${2:$$value}, [${3:$$options}]) !!}" - ], - "description": "Create a textarea input field" - }, - "Form-time": { - "prefix": "Form::time", - "body": [ - "{!! Form::time(${1:$$name}, ${2:$$value}, [${3:$$options}]) !!}" - ], - "description": "Create a time input field" - }, - "Form-token": { - "prefix": "Form::token", - "body": [ - "{!! Form::token(${1}) !!}" - ], - "description": "Generate a hidden field with the current CSRF token" - }, - "Form-url": { - "prefix": "Form::url", - "body": [ - "{!! Form::url(${1:$$name}, ${2:$$value}, [${3:$$options}]) !!}" - ], - "description": "Create a url input field" - }, - "link_to": { - "prefix": "link_to", - "body": [ - "{!! link_to(${1:$url}, ${2:$title = null}, ${3:$attributes = []}, ${4:$secure = null}, ${5:$escape = true}) !!}" - ], - "description": "Generate an HTML link" - }, - "link_to_asset": { - "prefix": "link_to_asset", - "body": [ - "{!! link_to_asset(${1:$url}, ${2:$title = null}, ${3:$attributes = []}, ${4:$secure = null}) !!}" - ], - "description": "Generate an HTML link to an asset" - }, - "link_to_route": { - "prefix": "link_to_route", - "body": [ - "{!! link_to_route(${1:$name}, ${2:$title = null}, ${3:$parameters = []}, ${4:$attributes = []}) !!}" - ], - "description": "Generate an HTML link to a named route" - }, - "link_to_action": { - "prefix": "link_to_action", - "body": [ - "{!! link_to_action(${1:$action}, ${2:$title = null}, ${3:$parameters = []}, ${4:$attributes = []}) !!}" - ], - "description": "Generate an HTML link to a controller action" - } -} \ No newline at end of file diff --git a/my-snippets/laravel5/snippets/config.json b/my-snippets/laravel5/snippets/config.json deleted file mode 100644 index 8a1f34f..0000000 --- a/my-snippets/laravel5/snippets/config.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "Config-all.sublime-snippet": { - "prefix": "Config::all", - "body": [ - "Config::all();" - ], - "description": "Get all of the configuration items for the application." - }, - "Config-get.sublime-snippet": { - "prefix": "Config::get", - "body": [ - "Config::get('${1:key}', '${2:default}');$3" - ], - "description": "Get the specified configuration value." - }, - "Config-has.sublime-snippet": { - "prefix": "Config::has", - "body": [ - "Config::has('${1:key}')$2" - ], - "description": "Determine if the given configuration value exists." - }, - "Config-set.sublime-snippet": { - "prefix": "Config::set", - "body": [ - "Config::set('${1:key}', ${2:\\$value});$3" - ], - "description": "Set a given configuration value." - }, - "Config-setMany.sublime-snippet": { - "prefix": "Config::setMany", - "body": [ - "Config::set([", - " '${1:key}' => ${2:\\$value},$3", - "]);$4" - ], - "description": "Set a given configuration value." - } -} \ No newline at end of file diff --git a/my-snippets/laravel5/snippets/console.json b/my-snippets/laravel5/snippets/console.json deleted file mode 100644 index c549a96..0000000 --- a/my-snippets/laravel5/snippets/console.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "Command-anticipate.sublime-snippet": { - "prefix": "Console::anticipate", - "body": [ - "\\$this->anticipate('${1:Message}');$2" - ], - "description": "Give the user options for repsonse" - }, - "Command-ask.sublime-snippet": { - "prefix": "Console::ask", - "body": [ - "\\$this->ask('${1:Question}');$2" - ], - "description": "Prompts the user with a question in the console" - }, - "Command-choice.sublime-snippet": { - "prefix": "Console::choice", - "body": [ - "\\$this->choice('${1:Question?}', [${2'Choice1', 'Choice2'}], ${3:\\$default});$4" - ], - "description": "Give the user a predefined set of choices" - }, - "Command-comment.sublime-snippet": { - "prefix": "Console::comment", - "body": [ - "\\$this->comment('${1:Message}');$2" - ], - "description": "Log a comment to the console" - }, - "Command-confirm.sublime-snippet": { - "prefix": "", - "body": [ - "\\$this->confirm('${1:Do you wish to continue? [Y|N]}');$2" - ], - "description": "Logs a confirmation prompt to the console" - }, - "Command-error.sublime-snippet": { - "prefix": "Console::error", - "body": [ - "\\$this->error('${1:Message}');$2" - ], - "description": "Log error to the console in red" - }, - "Command-info.sublime-snippet": { - "prefix": "Console::info", - "body": [ - "\\$this->info('${1:Message}');$2" - ], - "description": "Log information to the console in green" - }, - "Command-line.sublime-snippet": { - "prefix": "Console::line", - "body": [ - "\\$this->line('${1:Display this on the screen}');$2" - ], - "description": "Log plain information to the console" - }, - "Command-option.sublime-snippet": { - "prefix": "Console::option", - "body": [ - "\\$this->option('$1');$2" - ], - "description": "Get an option from constructor" - }, - "Command-question.sublime-snippet": { - "prefix": "Console::question", - "body": [ - "\\$this->question('${1:Message}');$2" - ], - "description": "Logs a question to the console" - }, - "Command-secret.sublime-snippet": { - "prefix": "Console::secret", - "body": [ - "\\$this->secret('${1:What is the password?}');$2" - ], - "description": "Prompt the user for hidden input" - }, - "Command-table.sublime-snippet": { - "prefix": "Console::table", - "body": [ - "\\$this->table('${1:\\$header}, ${2:\\$row}');$3" - ], - "description": "Prints a nicely formatted table to the console" - }, - "Command-warn.sublime-snippet": { - "prefix": "Console::warn", - "body": [ - "\\$this->warn('${1:Message}');$2" - ], - "description": "Logs a warn message to the console" - } -} \ No newline at end of file diff --git a/my-snippets/laravel5/snippets/cookie.json b/my-snippets/laravel5/snippets/cookie.json deleted file mode 100644 index 4b673ac..0000000 --- a/my-snippets/laravel5/snippets/cookie.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Cookie-forever.sublime-snippet": { - "prefix": "Cookie::forever", - "body": [ - "\\$response->withCookie(cookie()->forever('${1:key}', ${2:\\$value}));$3" - ], - "description": "Make a Permanent Cookie" - }, - "Cookie-get.sublime-snippet": { - "prefix": "Cookie::get", - "body": [ - "\\$request->cookie('${1:key}');$2" - ], - "description": "Retrieve a Cookie value" - }, - "Cookie-set.sublime-snippet": { - "prefix": "Cookie::set", - "body": [ - "\\$response->withCookie(cookie('${1:key}', ${2:\\$value}));$3" - ], - "description": "Attach a Cookie to a Response." - } -} \ No newline at end of file diff --git a/my-snippets/laravel5/snippets/crypt.json b/my-snippets/laravel5/snippets/crypt.json deleted file mode 100644 index 833304d..0000000 --- a/my-snippets/laravel5/snippets/crypt.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "Crypt-decrypt.sublime-snippet": { - "prefix": "Crypt::decrypt", - "body": [ - "try {", - " ${1:\\$decrypted} = Crypt::decrypt(${2:\\$encryptedValue});", - "} catch (Illuminate\\Contracts\\Encryption\\DecryptException $e) {", - " $3", - "}$4" - ], - "description": "Decrypt a value" - }, - "Crypt-encrypt.sublime-snippet": { - "prefix": "Crypt::encrypt", - "body": [ - "Crypt::encrypt(${1:\\$value});$2" - ], - "description": "Encrypt a value" - } -} \ No newline at end of file diff --git a/my-snippets/laravel5/snippets/db.json b/my-snippets/laravel5/snippets/db.json deleted file mode 100644 index 0f8e1ed..0000000 --- a/my-snippets/laravel5/snippets/db.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "DB-delete.sublime-snippet": { - "prefix": "DB::delete", - "body": [ - "DB::delete(${1:'delete users where name = ?'}${2:, ['John']})$3" - ], - "description": "Run an delete statement against the database." - }, - "DB-insert.sublime-snippet": { - "prefix": "DB::insert", - "body": [ - "DB::insert(${1:'insert into users (id, name) values (?, ?)'}${2:, [1, 'Dayle']})$3" - ], - "description": "Run an insert statement against the database." - }, - "DB-select.sublime-snippet": { - "prefix": "DB::select", - "body": [ - "DB::select(${1:'select * from users where active = ?'}${2:, [1]})$3" - ], - "description": "Run a select statement against the database." - }, - "DB-statement.sublime-snippet": { - "prefix": "DB::select", - "body": [ - "DB::statement(${1:'drop table users'})$2" - ], - "description": "Execute an SQL statement and return the boolean result." - }, - "DB-transaction-begin.sublime-snippet": { - "prefix": "DB::transaction_begin", - "body": [ - "DB::beginTransaction();" - ], - "description": "Start a new database transaction." - }, - "DB-transaction-commit.sublime-snippet": { - "prefix": "DB::transaction_commit", - "body": [ - "DB::commit();" - ], - "description": "Commit the active database transaction." - }, - "DB-transaction-rollback.sublime-snippet": { - "prefix": "DB::transaction_rollback", - "body": [ - "DB::rollback();" - ], - "description": "Rollback the active database transaction." - }, - "DB-transaction.sublime-snippet": { - "prefix": "DB::transaction", - "body": [ - "DB::transaction(function () {", - " $1", - "});$2" - ], - "description": "Execute a Closure within a transaction." - }, - "DB-update.sublime-snippet": { - "prefix": "DB::update", - "body": [ - "DB::update(${1:'update users set votes = 100 where name = ?'}${2:, ['John']});$3" - ], - "description": "Run an update statement against the database." - }, - "DB-table": { - "prefix": "DB::table", - "body": [ - "DB::table('${1:users}')$2" - ], - "description": "Retrieving rows from a table" - } -} \ No newline at end of file diff --git a/my-snippets/laravel5/snippets/eloquent.json b/my-snippets/laravel5/snippets/eloquent.json deleted file mode 100644 index af06508..0000000 --- a/my-snippets/laravel5/snippets/eloquent.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "eloquent-getter": { - "prefix": "Eloquent-getter", - "body": [ - "public function get${1:Name}Attribute(\\$value) {", - " return ${2:strtoupper(\\$value)};", - "}" - ], - "description": "Eloquent getter (Laravel 5.1+)" - }, - "eloquent-setter": { - "prefix": "Eloquent-setter", - "body": [ - "public function set${1:Name}Attribute(\\$value) {", - " \\$this->attributes['${2:column}'] = ${3:\\$value};", - "}" - ], - "description": "Eloquent setter (Laravel 5.1+)" - }, - "eloquent-attribute": { - "prefix": "Eloquent-attribute", - "body": [ - "public function ${1:name}(): Attribute", - "{", - " return new Attribute(", - " get: fn (\\$value) => ${2:strtoupper(\\$value)},", - " set: fn (\\$value) => ${3:\\$value},", - " );", - "}" - ], - "description": "Eloquent accessors / mutators (Laravel 9.x)" - } -} diff --git a/my-snippets/laravel5/snippets/event.json b/my-snippets/laravel5/snippets/event.json deleted file mode 100644 index 1751e61..0000000 --- a/my-snippets/laravel5/snippets/event.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "Event-createClassListener.sublime-snippet": { - "prefix": "Event::createClassListener", - "body": [ - "Event::createClassListener(${1:listener});$2" - ], - "description": "Create a class based listener using the IoC container." - }, - "Event-fire.sublime-snippet": { - "prefix": "Event::fire", - "body": [ - "Event::fire(${1:new MyCustomEvent()});$2" - ], - "description": "Fire an event and call the listeners." - }, - "Event-firing.sublime-snippet": { - "prefix": "Event::firing", - "body": [ - "Event::firing();" - ], - "description": "Get the event that is currently firing." - }, - "Event-flush.sublime-snippet": { - "prefix": "Event::flush", - "body": [ - "Event::flush('${1:event}');$2" - ], - "description": "Flush a set of pushed events." - }, - "Event-forget.sublime-snippet": { - "prefix": "Event::forget", - "body": [ - "Event::forget('${1:event}');$2" - ], - "description": "Remove a set of listeners from the dispatcher." - }, - "Event-getListeners.sublime-snippet": { - "prefix": "Event::getListeners", - "body": [ - "Event::getListeners('${1:eventName}');$2" - ], - "description": "Get all of the listeners for a given event name." - }, - "Event-hasListeners.sublime-snippet": { - "prefix": "Event::hasListeners", - "body": [ - "Event::hasListeners('${1:eventName}');$2" - ], - "description": "Determine if a given event has listeners." - }, - "Event-listen.sublime-snippet": { - "prefix": "Event::listen", - "body": [ - "Event::listen(${1:events}, ${2:listener}, ${3:priority});$4" - ], - "description": "Register an event listener with the dispatcher." - }, - "Event-makeListener.sublime-snippet": { - "prefix": "Event::makeListener", - "body": [ - "Event::makeListener(${1:listener});$2" - ], - "description": "Register an event listener with the dispatcher." - }, - "Event-push.sublime-snippet": { - "prefix": "Event::push", - "body": [ - "Event::push(${1:event}, ${2:payload});$3" - ], - "description": "Register an event and payload to be fired later." - }, - "Event-subscribe.sublime-snippet": { - "prefix": "Event::subscribe", - "body": [ - "Event::subscribe(${1:subscriber});$2" - ], - "description": "Register an event subscriber with the dispatcher." - }, - "Event-until.sublime-snippet": { - "prefix": "Event::until", - "body": [ - "Event::until(${1:event}, ${2:payload});$3" - ], - "description": "Fire an event until the first non-null response is returned." - } -} \ No newline at end of file diff --git a/my-snippets/laravel5/snippets/hash.json b/my-snippets/laravel5/snippets/hash.json deleted file mode 100644 index ea27b36..0000000 --- a/my-snippets/laravel5/snippets/hash.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "Hash-check.sublime-snippet": { - "prefix": "Hash::check", - "body": [ - "Hash::check(${1:\\$value}, ${2:\\$hashedValue})$3" - ], - "description": "Check the given plain value against a hash." - }, - "Hash-make.sublime-snippet": { - "prefix": "Hash::make", - "body": [ - "Hash::make(${1:\\$value})$2" - ], - "description": "Hash the given value." - }, - "Hash-needsRehash.sublime-snippet": { - "prefix": "Hash::needsRehash", - "body": [ - "if (Hash::needsRehash(${1:\\$hashedValue}))", - "{", - " ${2:\\$hashed} = Hash::make(${3:\\$value});", - "}$4" - ], - "description": "Check if the given hash has been hashed using the given options." - } -} \ No newline at end of file diff --git a/my-snippets/laravel5/snippets/helper.json b/my-snippets/laravel5/snippets/helper.json deleted file mode 100644 index 3d1daad..0000000 --- a/my-snippets/laravel5/snippets/helper.json +++ /dev/null @@ -1,423 +0,0 @@ -{ - "Helper-array-add.sublime-snippet": { - "prefix": "Helper::array_add", - "body": [ - "array_add(${1:\\$array}, ${2:'key'}, ${3:'value'})" - ], - "description": "Add an element to an array using \"dot\" notation if it doesn't exist." - }, - "Helper-array-collapse.sublime-snippet": { - "prefix": "Helper::array_collapse", - "body": [ - "array_collapse(${1:\\$array})" - ], - "description": "Collapse an array of arrays into a single array." - }, - "Helper-array-data_get.sublime-snippet": { - "prefix": "Helper::array-data_get", - "body": [ - "data_get(${1:\\$array}, ${2:'names.john'}, ${3:'default'})" - ], - "description": "Get an item from an array using \"dot\" notation." - }, - "Helper-array-divide.sublime-snippet": { - "prefix": "Helper::array_divide", - "body": [ - "list(${1:\\$keys}, ${2:\\$values}) = array_divide(${3:\\$array});" - ], - "description": "Divide an array into two arrays. One with keys and the other with values." - }, - "Helper-array-dot.sublime-snippet": { - "prefix": "Helper::array_dot", - "body": [ - "array_dot(${1:\\$array})" - ], - "description": "Flatten a multi-dimensional associative array with dots." - }, - "Helper-array-end.sublime-snippet": { - "prefix": "Helper::array_last", - "body": [ - "last(${1:\\$array})" - ], - "description": "Get the last element of an array. Useful for method chaining." - }, - "Helper-array-except.sublime-snippet": { - "prefix": "Helper::array_except", - "body": [ - "array_except(${1:\\$array}, ${2:['key', 'otherKey']})" - ], - "description": "Get all of the given array except for a specified array of items." - }, - "Helper-array-first.sublime-snippet": { - "prefix": "Helper::array_first", - "body": [ - "array_first(${1:\\$array}, function (${2:\\$key}, ${3:\\$value}) {", - " return ${4:\\$value >= 150;}", - "});" - ], - "description": "Return the first element in an array passing a given truth test." - }, - "Helper-array-flatten.sublime-snippet": { - "prefix": "Helper::array_flatten", - "body": [ - "array_flatten(${1:\\$array})" - ], - "description": "Will flatten a multi-dimensional array into a single level." - }, - "Helper-array-forget.sublime-snippet": { - "prefix": "Helper::array_forget", - "body": [ - "array_forget(${1:\\$array}, ${2:'names.joe'})" - ], - "description": "Remove one or many array items from a given array using \"dot\" notation." - }, - "Helper-array-get.sublime-snippet": { - "prefix": "Helper::array_get", - "body": [ - "array_get(${1:\\$array}, ${2:'names.john'}, ${3:'default'})" - ], - "description": "Get an item from an array using \"dot\" notation." - }, - "Helper-array-has.sublime-snippet": { - "prefix": "Helper::array_has", - "body": [ - "array_has(${1:\\$array}, ${2:key})$3" - ], - "description": "Check if an item exists in an array using \"dot\" notation." - }, - "Helper-array-head.sublime-snippet": { - "prefix": "Helper::array-head", - "body": [ - "head(${1:\\$array})" - ], - "description": "Get the first element of an array. Useful for method chaining." - }, - "Helper-array-last.sublime-snippet": { - "prefix": "Helper::array_last", - "body": [ - "array_last(${1:\\$array}, function (${2:\\$key}, ${3:\\$value}) {", - " return ${4:\\$value >= 150;}", - "});" - ], - "description": "Return the last element in an array passing a given truth test." - }, - "Helper-array-only.sublime-snippet": { - "prefix": "Helper::array_only", - "body": [ - "array_only(${1:\\$array}, ${2:['key', 'otherKey']})" - ], - "description": "Get a subset of the items from the given array." - }, - "Helper-array-pluck.sublime-snippet": { - "prefix": "Helper::array_pluck", - "body": [ - "array_pluck(${1:\\$array}, ${2:'value'})" - ], - "description": "Pluck an array of values from an array." - }, - "Helper-array-prepend.sublime-snippet": { - "prefix": "Helper::array_prepend", - "body": [ - "array_prepend(${1:\\$array}, ${2:'value'})" - ], - "description": "Push an item onto the beginning of an array." - }, - "Helper-array-pull.sublime-snippet": { - "prefix": "Helper::array_pull", - "body": [ - "array_pull(${1:\\$array}, ${2:'value'})" - ], - "description": "Get a value from the array, and remove it." - }, - "Helper-array-set.sublime-snippet": { - "prefix": "Helper::array_set", - "body": [ - "array_set(${1:\\$array}, ${2:'products.desk.price'}, ${3:200})" - ], - "description": "Set an array item to a given value using \"dot\" notation." - }, - "Helper-array-sort-recursive.sublime-snippet": { - "prefix": "Helper::array_sort_recursive", - "body": [ - "array_sort_recursive(${1:\\$array});" - ], - "description": "Recursively sort an array by keys and values." - }, - "Helper-array-sort.sublime-snippet": { - "prefix": "Helper::array_sort", - "body": [ - "array_values(array_sort(${1:\\$array}, function (${2:\\$key}, ${3:\\$value}) {", - " return ${3:\\$value}['${4:name}'];", - "}));" - ], - "description": "Sort the array using the given callback." - }, - "Helper-array-where.sublime-snippet": { - "prefix": "Helper::array_where", - "body": [ - "array_where(${2:\\$array}, function (${3:\\$key}, ${4:\\$value}) {", - " return ${4:is_string(\\$value);}", - "});" - ], - "description": "Filter the array using the given callback." - }, - "Helper-misc-class_uses-recursive.sublime-snippet": { - "prefix": "Helper::misc-class_uses_recursive", - "body": [ - "class_uses_recursive(${1:'Foo\\Bar\\Baz'})" - ], - "description": "Returns all traits used by a class, its subclasses and trait of their traits." - }, - "Helper-misc-collect.sublime-snippet": { - "prefix": "Helper::misc-collect", - "body": [ - "collect(${1:'Foo\\Bar\\Baz'})" - ], - "description": "Create a collection from the given value." - }, - "Helper-misc-csrf_field.sublime-snippet": { - "prefix": "Helper::misc-csrf_field", - "body": [ - "csrf_field()" - ], - "description": "Get the value of the current CSRF token." - }, - "Helper-misc-csrf_token.sublime-snippet": { - "prefix": "Helper::misc-csrf_token", - "body": [ - "csrf_token()" - ], - "description": "Get the value of the current CSRF token." - }, - "Helper-misc-dd.sublime-snippet": { - "prefix": "Helper::misc-dd", - "body": [ - "dd(${1:\\$value});" - ], - "description": "Dump the passed variables and end the script." - }, - "Helper-misc-object_get.sublime-snippet": { - "prefix": "Helper::misc-object_get", - "body": [ - "object_get(${1:\\$object, ${2:'names.john'}, ${3:'default'})" - ], - "description": "Get an item from an object using \"dot\" notation." - }, - "Helper-misc-trait_uses-recursive.sublime-snippet": { - "prefix": "Helper::misc-trait_uses_recursive", - "body": [ - "trait_uses_recursive(${1:'Foo\\Bar\\Baz'})" - ], - "description": "Returns all traits used by a trait and its traits." - }, - "Helper-path-app.sublime-snippet": { - "prefix": "Helper::path-app", - "body": [ - "app_path()" - ], - "description": "Get the fully qualified path to the app directory." - }, - "Helper-path-base.sublime-snippet": { - "prefix": "Helper::path-base", - "body": [ - "base_path(${1:'file'})" - ], - "description": "Get the fully qualified path to the root of the application install." - }, - "Helper-path-config.sublime-snippet": { - "prefix": "Helper::path-config", - "body": [ - "config_path()" - ], - "description": "Get the fully qualified path to the app directory." - }, - "Helper-path-elixir.sublime-snippet": { - "prefix": "Helper::path-elixir", - "body": [ - "elixir('${1:file}')" - ], - "description": "Get the path to the versionned Elixir file." - }, - "Helper-path-public.sublime-snippet": { - "prefix": "Helper::path-public", - "body": [ - "public_path()" - ], - "description": "Get the fully qualified path to the public directory." - }, - "Helper-path-storage.sublime-snippet": { - "prefix": "Helper::path-storage", - "body": [ - "storage_path(${1:'file'})" - ], - "description": "Get the fully qualified path to the app/storage directory." - }, - "Helper-strings-camel_case.sublime-snippet": { - "prefix": "Helper::strings-camel_case", - "body": [ - "camel_case(${1:'foo_bar'})" - ], - "description": "Convert a value to camel case." - }, - "Helper-strings-class_basename.sublime-snippet": { - "prefix": "Helper::strings-class_basename", - "body": [ - "class_basename(${1:'Foo\\Bar\\Baz'})$2" - ], - "description": "Get the class \"basename\" of the given object / class." - }, - "Helper-strings-e.sublime-snippet": { - "prefix": "Helper::strings-e", - "body": [ - "e(${1:'foo'})" - ], - "description": "Escape HTML entities in a string." - }, - "Helper-strings-ends_with.sublime-snippet": { - "prefix": "Helper::strings-ends_with", - "body": [ - "ends_with(${1:'haystack'}, ${2:'needles'})" - ], - "description": "Determine if a given string ends with a given substring." - }, - "Helper-strings-snake_case.sublime-snippet": { - "prefix": "Helper::strings-snake_case", - "body": [ - "snake_case(${1:'fooBar'})" - ], - "description": "Convert the given string to snake_case." - }, - "Helper-strings-starts_with.sublime-snippet": { - "prefix": "Helper::strings-starts_with", - "body": [ - "starts_with(${1:'haystack'}, ${2:'needle'})" - ], - "description": "Determine if the given haystack begins with the given needle." - }, - "Helper-strings-str_contains.sublime-snippet": { - "prefix": "Helper::strings-str_contains", - "body": [ - "str_contains(${1:'This is my name'}, ${2:'my'})" - ], - "description": "Determine if the given haystack contains the given needle." - }, - "Helper-strings-str_finish.sublime-snippet": { - "prefix": "Helper::strings-str_finish", - "body": [ - "str_finish(${1:'this/string'}, ${2:'/'})" - ], - "description": "Determine if a given string matches a given pattern. Asterisks may be used to indicate wildcards." - }, - "Helper-strings-str_is.sublime-snippet": { - "prefix": "Helper::strings-str_is", - "body": [ - "str_is(${1:'foo*'}, ${2:'foobar'})" - ], - "description": "Add a single instance of the given needle to the haystack. Remove any extra instances." - }, - "Helper-strings-str_limit.sublime-snippet": { - "prefix": "Helper::strings-str_limit", - "body": [ - "str_limit(${1:\\$value}, ${2:100})" - ], - "description": "Limit the number of characters in a string." - }, - "Helper-strings-str_random.sublime-snippet": { - "prefix": "Helper::strings-str_random", - "body": [ - "str_random(${1:40})" - ], - "description": "Generate a random string of the given length." - }, - "Helper-strings-str_singular.sublime-snippet": { - "prefix": "Helper::strings-str_singular", - "body": [ - "str_singular(${1:'string'})" - ], - "description": "Convert a string to its singular form (English only)." - }, - "Helper-strings-str_slug.sublime-snippet": { - "prefix": "Helper::strings-str_slug", - "body": [ - "str_slug(${1:'fooBar'})" - ], - "description": "Generate a URL friendly \"slug\" from a given string." - }, - "Helper-strings-studly_case.sublime-snippet": { - "prefix": "Helper::strings-studly_case", - "body": [ - "studly_case(${1:'foo_bar'})" - ], - "description": "Convert the given string to StudlyCase." - }, - "Helper-strings-title_case.sublime-snippet": { - "prefix": "Helper::strings-title_case", - "body": [ - "title_case(${1:'fooBar'})" - ], - "description": "Convert a value to title case." - }, - "Helper-strings-trans.sublime-snippet": { - "prefix": "Helper::strings-trans", - "body": [ - "trans(${1:'validation.required'})" - ], - "description": "Translate a given language line. Alias of Lang::get." - }, - "Helper-strings-trans_choice.sublime-snippet": { - "prefix": "Helper::strings-trans_choice", - "body": [ - "trans_choice(${1:'foo.bar'}, ${2:\\$count})" - ], - "description": "Translate a given language line with inflection. Alias of Lang::choice." - }, - "Helper-strings_plural.sublime-snippet": { - "prefix": "Helper::strings-str_plural", - "body": [ - "str_plural(${1:'string'})" - ], - "description": "Convert a string to its plural form (English only)." - }, - "Helper-url-action.sublime-snippet": { - "prefix": "Helper::url-action", - "body": [ - "action(${1:'HomeController@getIndex'}, ${2:\\$params})" - ], - "description": "Generate a URL for a given controller action." - }, - "Helper-url-asset.sublime-snippet": { - "prefix": "Helper::url-asset", - "body": [ - "asset(${1:'img/photo.jpg'})" - ], - "description": "Generate a URL for an asset." - }, - "Helper-url-route.sublime-snippet": { - "prefix": "Helper::url-route", - "body": [ - "route(${1:'routeName'}, ${2:\\$params})" - ], - "description": "Generate a URL for a given named route." - }, - "Helper-url-secure_asset.sublime-snippet": { - "prefix": "Helper::url-secure_asset", - "body": [ - "secure_asset(${1:'foo/bar'}, ${2:\\$title}, ${3:\\$attributes})" - ], - "description": "Generate a HTML link to the given asset using HTTPS." - }, - "Helper-url-secure_url.sublime-snippet": { - "prefix": "Helper::secure_url", - "body": [ - "secure_url(${1:'foo/bar'}, ${2:\\$parameters})" - ], - "description": "Generate a fully qualified URL to a given path using HTTPS." - }, - "Helper-url.sublime-snippet": { - "prefix": "Helper::url-url", - "body": [ - "url(${1:'foo/bar'}, ${2:\\$parameters}, ${3:\\$secure})" - ], - "description": "Generate a fully qualified URL to the given path." - } -} diff --git a/my-snippets/laravel5/snippets/log.json b/my-snippets/laravel5/snippets/log.json deleted file mode 100644 index e4a9ccb..0000000 --- a/my-snippets/laravel5/snippets/log.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "Log-alert.sublime-snippet": { - "prefix": "Log::alert", - "body": [ - "Log::alert(\"${1:message}\");" - ], - "description": "Log an alert message to the logs." - }, - "Log-critical.sublime-snippet": { - "prefix": "Log::critical", - "body": [ - "Log::critical(\"${1:message}\");" - ], - "description": "Log a critical message to the logs." - }, - "Log-debug.sublime-snippet": { - "prefix": "Log::debug", - "body": [ - "Log::debug(\"${1:message}\");" - ], - "description": "Log a debug message to the logs." - }, - "Log-emergency.sublime-snippet": { - "prefix": "Log::emergency", - "body": [ - "Log::emergency(\"${1:message}\");" - ], - "description": "Log an emergency message to the logs." - }, - "Log-error.sublime-snippet": { - "prefix": "Log::error", - "body": [ - "Log::error(\"${1:message}\");" - ], - "description": "Log an error message to the logs." - }, - "Log-info.sublime-snippet": { - "prefix": "Log::info", - "body": [ - "Log::info(\"${1:message}\");" - ], - "description": "Log an informational message to the logs." - }, - "Log-log.sublime-snippet": { - "prefix": "Log::log", - "body": [ - "Log::log(\"${1:level}\", \"${2:message}\");" - ], - "description": "Log a message to the logs." - }, - "Log-notice.sublime-snippet": { - "prefix": "Log::notice", - "body": [ - "Log::notice(\"${1:message}\");" - ], - "description": "Log a notice to the logs." - }, - "Log-useDailyFiles.sublime-snippet": { - "prefix": "Log::useDailyFiles", - "body": [ - "Log::useDailyFiles('${1:path}', ${2:days}, '${3:level}');" - ], - "description": "Register a daily file log handler." - }, - "Log-useFiles.sublime-snippet": { - "prefix": "Log::useFiles", - "body": [ - "Log::useFiles('${1:path}', '${2:level}');" - ], - "description": "Register a file log handler." - }, - "Log-warning.sublime-snippet": { - "prefix": "Log::warning", - "body": [ - "Log::warning(\"${1:message}\");" - ], - "description": "Log a warning message to the logs." - } -} diff --git a/my-snippets/laravel5/snippets/mail.json b/my-snippets/laravel5/snippets/mail.json deleted file mode 100644 index 258938b..0000000 --- a/my-snippets/laravel5/snippets/mail.json +++ /dev/null @@ -1,175 +0,0 @@ -{ - "Mail-later.sublime-snippet": { - "prefix": "Mail::later", - "body": [ - "Mail::later(${1:5}, '${2:Html.view}', ${3:\\$data}, function (${4:\\$message}) {", - " ${4}->from(${5:'john@johndoe.com'}, ${6:'John Doe'});", - " ${4}->sender(${7:'john@johndoe.com'}, ${8:'John Doe'});", - " ${4}->to(${9:'john@johndoe.com'}, ${10:'John Doe'});", - " ${4}->cc(${11:'john@johndoe.com'}, ${12:'John Doe'});", - " ${4}->bcc(${13:'john@johndoe.com'}, ${14:'John Doe'});", - " ${4}->replyTo(${15:'john@johndoe.com'}, ${16:'John Doe'});", - " ${4}->subject(${17:'Subject'});", - " ${4}->priority(${18:3});", - " ${4}->attach(${19:'pathToFile'});", - "});$20" - ], - "description": "Queue a new e-mail message for sending after (n) seconds." - }, - "Mail-laterOn.sublime-snippet": { - "prefix": "Mail::laterOn", - "body": [ - "Mail::queueOn(${1:'queue-name'}, ${2:5}, '${3:Html.view}', ${4:\\$data}, function (${5:\\$message}) {", - " ${5}->from(${6:'john@johndoe.com'}, ${7:'John Doe'});", - " ${5}->sender(${8:'john@johndoe.com'}, ${9:'John Doe'});", - " ${5}->to(${10:'john@johndoe.com'}, ${11:'John Doe'});", - " ${5}->cc(${12:'john@johndoe.com'}, ${13:'John Doe'});", - " ${5}->bcc(${14:'john@johndoe.com'}, ${15:'John Doe'});", - " ${5}->replyTo(${16:'john@johndoe.com'}, ${17:'John Doe'});", - " ${5}->subject(${18:'Subject'});", - " ${5}->priority(${19:3});", - " ${5}->attach(${20:'pathToFile'});", - "});$21" - ], - "description": "Queue a new e-mail message for sending after (n) seconds on the given queue." - }, - "Mail-plain.sublime-snippet": { - "prefix": "Mail::plain", - "body": [ - "Mail::plain('${1:plainText.view}', ${2:\\$data}, function (${3:\\$message}) {", - " ${3}->from(${4:'john@johndoe.com'}, ${5:'John Doe'});", - " ${3}->sender(${6:'john@johndoe.com'}, ${7:'John Doe'});", - " ${3}->to(${8:'john@johndoe.com'}, ${9:'John Doe'});", - " ${3}->cc(${10:'john@johndoe.com'}, ${11:'John Doe'});", - " ${3}->bcc(${12:'john@johndoe.com'}, ${13:'John Doe'});", - " ${3}->replyTo(${14:'john@johndoe.com'}, ${15:'John Doe'});", - " ${3}->subject(${16:'Subject'});", - " ${3}->priority(${17:3});", - " ${3}->attach(${18:'pathToFile'});", - "});$19" - ], - "description": "Send a new message when only a plain part." - }, - "Mail-queue.sublime-snippet": { - "prefix": "Mail::queue", - "body": [ - "Mail::queue('${1:Html.view}', ${2:\\$data}, function (${3:\\$message}) {", - " ${3}->from(${4:'john@johndoe.com'}, ${5:'John Doe'});", - " ${3}->sender(${6:'john@johndoe.com'}, ${7:'John Doe'});", - " ${3}->to(${8:'john@johndoe.com'}, ${9:'John Doe'});", - " ${3}->cc(${10:'john@johndoe.com'}, ${11:'John Doe'});", - " ${3}->bcc(${12:'john@johndoe.com'}, ${13:'John Doe'});", - " ${3}->replyTo(${14:'john@johndoe.com'}, ${15:'John Doe'});", - " ${3}->subject(${16:'Subject'});", - " ${3}->priority(${17:3});", - " ${3}->attach(${18:'pathToFile'});", - "});$19" - ], - "description": "Queue a new e-mail message for sending." - }, - "Mail-queueOn.sublime-snippet": { - "prefix": "Mail::queueOn", - "body": [ - "Mail::queueOn(${1:'queue-name'}, '${2:Html.view}', ${3:\\$data}, function (${4:\\$message}) {", - " ${4}->from(${5:'john@johndoe.com'}, ${6:'John Doe'});", - " ${4}->sender(${7:'john@johndoe.com'}, ${8:'John Doe'});", - " ${4}->to(${9:'john@johndoe.com'}, ${10:'John Doe'});", - " ${4}->cc(${11:'john@johndoe.com'}, ${12:'John Doe'});", - " ${4}->bcc(${13:'john@johndoe.com'}, ${14:'John Doe'});", - " ${4}->replyTo(${15:'john@johndoe.com'}, ${16:'John Doe'});", - " ${4}->subject(${17:'Subject'});", - " ${4}->priority(${18:3});", - " ${4}->attach(${19:'pathToFile'});", - "});$20" - ], - "description": "Queue a new e-mail message for sending on the given queue." - }, - "Mail-raw.sublime-snippet": { - "prefix": "Mail::raw", - "body": [ - "Mail::raw('${1:plain text message}', function (${2:\\$message}) {", - " ${2}->from(${3:'john@johndoe.com'}, ${4:'John Doe'});", - " ${2}->sender(${5:'john@johndoe.com'}, ${6:'John Doe'});", - " ${2}->to(${7:'john@johndoe.com'}, ${8:'John Doe'});", - " ${2}->cc(${9:'john@johndoe.com'}, ${10:'John Doe'});", - " ${2}->bcc(${11:'john@johndoe.com'}, ${12:'John Doe'});", - " ${2}->replyTo(${13:'john@johndoe.com'}, ${14:'John Doe'});", - " ${2}->subject(${15:'Subject'});", - " ${2}->priority(${16:3});", - " ${2}->attach(${17:'pathToFile'});", - "});$18" - ], - "description": "Send a new message when only a raw text part." - }, - "Mail-send.sublime-snippet": { - "prefix": "Mail::send", - "body": [ - "Mail::send('${1:Html.view}', ${2:\\$data}, function (${3:\\$message}) {", - " ${3}->from(${4:'john@johndoe.com'}, ${5:'John Doe'});", - " ${3}->sender(${6:'john@johndoe.com'}, ${7:'John Doe'});", - " ${3}->to(${8:'john@johndoe.com'}, ${9:'John Doe'});", - " ${3}->cc(${10:'john@johndoe.com'}, ${11:'John Doe'});", - " ${3}->bcc(${12:'john@johndoe.com'}, ${13:'John Doe'});", - " ${3}->replyTo(${14:'john@johndoe.com'}, ${15:'John Doe'});", - " ${3}->subject(${16:'Subject'});", - " ${3}->priority(${17:3});", - " ${3}->attach(${18:'pathToFile'});", - "});$19" - ], - "description": "Send a new message using a view." - }, - - // 5.3 - - "Mail-to": { - "prefix": "Mail::to", - "body": [ - "Mail::to(${1:\\$request->user()})->send(new ${2:MailableClass});$3" - ], - "description": "Mail with Mailable - mailer will automatically use collection 'email' and 'name' properties" - }, - "Mail-to-more": { - "prefix": "Mail::to-more", - "body": [ - "Mail::to(${1:\\$request->user()})", - " ->cc(${2:\\$moreUsers})", - " ->bcc(${3:\\$evenMoreUsers})", - " ->send(new ${4:MailableClass});$5" - ], - "description": "Mail with Mailable - mail to more recipients" - }, - "Mail-queue-mailable": { - "prefix": "Mail::queue-mailable", - "body": [ - "Mail::to(${1:\\$request->user()})", - " ->cc(${2:\\$moreUsers})", - " ->bcc(${3:\\$evenMoreUsers})", - " ->queue(new ${4:MailableClass});$5" - ], - "description": "Mail with Mailable - Queueing A Mail Message" - }, - "Mail-later-mailable": { - "prefix": "Mail::later-mailable", - "body": [ - "Mail::to(${1:\\$request->user()})", - " ->cc(${2:\\$moreUsers})", - " ->bcc(${3:\\$evenMoreUsers})", - " ->later(${4:\\$when}, new ${5:MailableClass});$6" - ], - "description": "Mail with Mailable - Delayed Message Queueing" - }, - - // Mailable - - "Mailable-build-config": { - "prefix": "Mailable::build-config", - "body": [ - "return $this->from('${1:example@example.com}')", - " ->${2:view}('${3:mails.viewName}')", - " ->with([", - " ${4:'orderName' => $this->order->name,}", - " ]);$5" - ], - "description": "Mailable - Configuring Mailable build()" - } -} \ No newline at end of file diff --git a/my-snippets/laravel5/snippets/passport.json b/my-snippets/laravel5/snippets/passport.json deleted file mode 100644 index f46847e..0000000 --- a/my-snippets/laravel5/snippets/passport.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "Passport-routes": { - "prefix": "Passport::routes", - "body": [ - "Passport::routes();" - ], - "description": "Passport - routes" - }, - "Passport-tokensExpireIn": { - "prefix": "Passport::tokensExpireIn", - "body": [ - "Passport::tokensExpireIn(Carbon::now()->addDays(${1:15}));$2" - ], - "description": "Passport - tokensExpireIn" - }, - "Passport-refreshTokensExpireIn": { - "prefix": "Passport::refreshTokensExpireIn", - "body": [ - "Passport::refreshTokensExpireIn(Carbon::now()->addDays(${1:30}));$2" - ], - "description": "Passport - refreshTokensExpireIn" - }, - "Passport-pruneRevokedTokens": { - "prefix": "Passport::pruneRevokedTokens", - "body": [ - "Passport::pruneRevokedTokens();" - ], - "description": "Passport - pruneRevokedTokens" - } -} \ No newline at end of file diff --git a/my-snippets/laravel5/snippets/redirect.json b/my-snippets/laravel5/snippets/redirect.json deleted file mode 100644 index cafd896..0000000 --- a/my-snippets/laravel5/snippets/redirect.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "Redirect-action.sublime-snippet": { - "prefix": "Redirect::action", - "body": [ - "return redirect()->action('${App\\Http\\Controllers\\HomeController@index}', ${2:['parameterKey' => 'value']});$3" - ], - "description": "Redirect to a controller action, with parameters" - }, - "Redirect-back.sublime-snippet": { - "prefix": "Redirect::back", - "body": [ - "return redirect()->back()${1:->withErrors(\\$validator)}${2:->withInput()};$3" - ], - "description": "Redirect to URL, Route or Controller" - }, - "Redirect-namedRoute.sublime-snippet": { - "prefix": "Redirect::namedRoute", - "body": [ - "return redirect()->route('${named_route}', ${2:['parameterKey' => 'value']});$3" - ], - "description": "Redirect to a named route, with parameters" - }, - "Redirect-to.sublime-snippet": { - "prefix": "Redirect::to", - "body": [ - "return redirect('${1:some/url}');$2" - ], - "description": "Redirect to URL, Route or Controller" - }, - "Redirect-withErrors.sublime-snippet": { - "prefix": "Redirect::withErrors", - "body": [ - "->withErrors(${1:\\$validator})$2" - ], - "description": "Redirect to URL, Route or Controller with Errors" - }, - "Redirect-withFlashData.sublime-snippet": { - "prefix": "Redirect::withFlashData", - "body": [ - "->with('${1:flashKey}', '${2:flashValue}')$3" - ], - "description": "Redirect to URL, Route or Controller with Flash Data" - }, - "Redirect-withInput.sublime-snippet": { - "prefix": "Redirect::withInput", - "body": [ - "->withInput(${1:[1, 2])})$2" - ], - "description": "Redirect to URL, Route or Controller with Input" - }, - "Redirect-withInputAndErrors.sublime-snippet": { - "prefix": "Redirect::withInputAndErrors", - "body": [ - "->withInput(${1:\\$request->except('key')})", - "->withErrors(${2:\\$validator})$3" - ], - "description": "Redirect with Inputs and Errors" - }, - "Redirect-withNamedInput.sublime-snippet": { - "prefix": "Redirect::withNamedInput", - "body": [ - "->withInput(${1:['key' => 'value'])})$2" - ], - "description": "Redirect to URL, Route or Controller with Input" - } -} \ No newline at end of file diff --git a/my-snippets/laravel5/snippets/relation.json b/my-snippets/laravel5/snippets/relation.json deleted file mode 100644 index c9eb538..0000000 --- a/my-snippets/laravel5/snippets/relation.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "Relation-belongsTo.sublime-snippet": { - "prefix": "Relation::belongsTo", - "body": [ - "/**", - " * Get the ${1:user} that owns the ${TM_FILENAME_BASE}", - " *", - " * @return \\Illuminate\\Database\\Eloquent\\Relations\\BelongsTo", - " */", - "public function ${1:user}(): BelongsTo", - "{", - " return \\$this->belongsTo(${2:User}::class${3:, '${4:foreign_key}'}${5:, '${6:other_key}'});", - "}$7" - ], - "description": "A one-to-one inverse relationship." - }, - "Relation-belongsToMany.sublime-snippet": { - "prefix": "Relation::belongsToMany", - "body": [ - "/**", - " * The ${1:roles} that belong to the ${TM_FILENAME_BASE}", - " *", - " * @return \\Illuminate\\Database\\Eloquent\\Relations\\BelongsToMany", - " */", - "public function ${1:roles}(): BelongsToMany", - "{", - " return \\$this->belongsToMany(${2:Role}::class${3:, '${4:role_user_table}'}${5:, '${6:user_id}'}${7:, '${8:role_id}'});", - "}$9" - ], - "description": "A many-to-many relationship." - }, - "Relation-hasMany.sublime-snippet": { - "prefix": "Relation::hasMany", - "body": [ - "/**", - " * Get all of the ${1:comments} for the ${TM_FILENAME_BASE}", - " *", - " * @return \\Illuminate\\Database\\Eloquent\\Relations\\HasMany", - " */", - "public function ${1:comments}(): HasMany", - "{", - " return \\$this->hasMany(${2:Comment}::class${3:, '${4:foreign_key}'}${5:, '${6:local_key}'});", - "}$7" - ], - "description": "A one-to-many relationship." - }, - "Relation-hasManyThrough.sublime-snippet": { - "prefix": "Relation::hasManyThrough", - "body": [ - "/**", - " * Get all of the ${1:comments} for the ${TM_FILENAME_BASE}", - " *", - " * @return \\Illuminate\\Database\\Eloquent\\Relations\\HasManyThrough", - " */", - "public function ${1:comments}(): HasManyThrough", - "{", - " return \\$this->hasManyThrough(${2:Comment}::class, ${3:Post}::class);", - "}$4" - ], - "description": "A Has Many Through relationship." - }, - "Relation-hasOne.sublime-snippet": { - "prefix": "Relation::hasOne", - "body": [ - "/**", - " * Get the ${1:user} associated with the ${TM_FILENAME_BASE}", - " *", - " * @return \\Illuminate\\Database\\Eloquent\\Relations\\HasOne", - " */", - "public function ${1:user}(): HasOne", - "{", - " return \\$this->hasOne(${2:User}::class${3:, '${4:foreign_key}'}${5:, '${6:local_key}'});", - "}$7" - ], - "description": "A one-to-one relationship." - } -} diff --git a/my-snippets/laravel5/snippets/request.json b/my-snippets/laravel5/snippets/request.json deleted file mode 100644 index 4b44dc6..0000000 --- a/my-snippets/laravel5/snippets/request.json +++ /dev/null @@ -1,423 +0,0 @@ -{ - "Request-method.sublime-snippet": { - "prefix": "Request::method", - "body": [ - "\\$request->method()" - ], - "description": "Get the request method (GET, POST, ...)." - }, - "Request-root.sublime-snippet": { - "prefix": "Request::root", - "body": [ - "\\$request->root()" - ], - "description": "Get the root URL for the application." - }, - "Request-url.sublime-snippet": { - "prefix": "Request::url", - "body": [ - "\\$request->url()" - ], - "description": "Get the URL (no query string) for the request." - }, - "Request-fullUrl.sublime-snippet": { - "prefix": "Request::fullUrl", - "body": [ - "\\$request->fullUrl()" - ], - "description": "Get the full URL for the request." - }, - "Request-fullUrlWithQuery": { - "prefix": "Request::fullUrlWithQuery", - "body": [ - "\\$request->fullUrlWithQuery(${1:\\$query})$2" - ], - "description": "Get the full URL for the request with the added query string parameters." - }, - "Request-path.sublime-snippet": { - "prefix": "Request::path", - "body": [ - "\\$request->path()" - ], - "description": "Get the current path info for the request." - }, - "Request-decodedPath.sublime-snippet": { - "prefix": "Request::decodedPath", - "body": [ - "\\$request->decodedPath()" - ], - "description": "Get the current encoded path info for the request." - }, - "Request-segment.sublime-snippet": { - "prefix": "Request::segment", - "body": [ - "\\$request->segment(${1:\\$index}, '${2:default}')$3" - ], - "description": "Get a segment from the URI (1 based index)." - }, - "Request-segments.sublime-snippet": { - "prefix": "Request::segments", - "body": [ - "\\$request->segments()" - ], - "description": "Get all of the segments for the request path." - }, - "Request-is": { - "prefix": "Request::is", - "body": [ - "\\$request->is()" - ], - "description": "Determine if the current request URI matches a pattern." - }, - "Request-fullUrlIs": { - "prefix": "Request::fullUrlIs", - "body": [ - "\\$request->fullUrlIs()" - ], - "description": "Determine if the current request URL and query string matches a pattern." - }, - "Request-ajax.sublime-snippet": { - "prefix": "Request::ajax", - "body": [ - "\\$request->ajax()" - ], - "description": "Determine if the request is the result of an AJAX call." - }, - "Request-pjax.sublime-snippet": { - "prefix": "Request::pjax", - "body": [ - "\\$request->pjax()" - ], - "description": "Determine if the request is the result of an PJAX call." - }, - "Request-secure.sublime-snippet": { - "prefix": "Request::secure", - "body": [ - "\\$request->secure()" - ], - "description": "Determine if the request is over HTTPS." - }, - "Request-ip.sublime-snippet": { - "prefix": "Request::ip", - "body": [ - "\\$request->ip()" - ], - "description": "Returns the client IP address." - }, - "Request-ips.sublime-snippet": { - "prefix": "Request::ips", - "body": [ - "\\$request->ips()" - ], - "description": "Returns the client IP addresses." - }, - "Request-exists.sublime-snippet": { - "prefix": "Request::exists", - "body": [ - "\\$request->exists('${1:key}')$2" - ], - "description": "Determine if the request contains a given input item key." - }, - "Request-has.sublime-snippet": { - "prefix": "Request::has", - "body": [ - "\\$request->has('${1:key}')$2" - ], - "description": "Determine if the request contains a non-empty value for an input item." - }, - "Request-all.sublime-snippet": { - "prefix": "Request::all", - "body": [ - "\\$request->all()" - ], - "description": "Get all of the input and files for the request." - }, - "Request-input.sublime-snippet": { - "prefix": "Request::input", - "body": [ - "\\$request->input('${1:key}'${2:, 'default'})$3" - ], - "description": "Retrieve an input item from the request." - }, - "Request-only.sublime-snippet": { - "prefix": "Request::only", - "body": [ - "\\$request->only(${1:\\$keys})$2" - ], - "description": "Get a subset of the items from the input data." - }, - "Request-except.sublime-snippet": { - "prefix": "Request::except", - "body": [ - "\\$request->except(${1:\\$keys})$2" - ], - "description": "Get all of the input except for a specified array of items." - }, - "Request-intersect": { - "prefix": "Request::intersect", - "body": [ - "\\$request->intersect(${1:\\$keys})$2" - ], - "description": "Intersect an array of items with the input data." - }, - "Request-query.sublime-snippet": { - "prefix": "Request::query", - "body": [ - "\\$request->query('${1:key}', '${2:default'})$3" - ], - "description": "Retrieve a query string item from the request." - }, - "Request-hasCookie": { - "prefix": "Request::hasCookie", - "body": [ - "\\$request->hasCookie('${1:key}')$2" - ], - "description": "Determine if a cookie is set on the request." - }, - "Request-cookie": { - "prefix": "Request::cookie", - "body": [ - "\\$request->cookie('${1:key}', '${2:default'})$3" - ], - "description": "Retrieve a cookie from the request." - }, - "Request-allFiles.sublime-snippet": { - "prefix": "Request::allFiles", - "body": [ - "\\$request->allFiles()" - ], - "description": "Get an array of all of the files on the request." - }, - "Request-file.sublime-snippet": { - "prefix": "Request::file", - "body": [ - "\\$request->file('${1:key}'${2:, 'default'})$2" - ], - "description": "Retrieve a file from the request." - }, - "Request-hasFile.sublime-snippet": { - "prefix": "Request::hasFile", - "body": [ - "\\$request->hasFile('${1:key}')$2" - ], - "description": "Determine if the uploaded data contains a file." - }, - "Request-hasHeader": { - "prefix": "Request::hasHeader", - "body": [ - "\\$request->hasHeader('${1:key}')$2" - ], - "description": "Determine if a header is set on the request." - }, - "Request-header.sublime-snippet": { - "prefix": "Request::header", - "body": [ - "\\$request->header('${1:key}', ${2:\\$default})$3" - ], - "description": "Retrieve a header from the request." - }, - "Request-server": { - "prefix": "Request::server", - "body": [ - "\\$request->server('${1:key}', ${2:\\$default})$3" - ], - "description": "Retrieve a server variable from the request." - }, - "Request-old.sublime-snippet": { - "prefix": "Request::old", - "body": [ - "\\$request->old('${1:key}'${2:, 'default'})$3" - ], - "description": "Retrieve an old input item." - }, - "Input-flash.sublime-snippet": { - "prefix": "Request::flash", - "body": [ - "\\$request->flash();" - ], - "description": "Flash Input to the Session" - }, - "Input-flashOnly.sublime-snippet": { - "prefix": "Request::flashOnly", - "body": [ - "\\$request->flashOnly(${1:\\$keys});$2" - ], - "description": "Flash only some Input to the Session" - }, - "Input-flashExcept.sublime-snippet": { - "prefix": "Request::flashExcept", - "body": [ - "\\$request->flashExcept(${1:\\$keys});$2" - ], - "description": "Flash only some Input to the Session" - }, - "Request-flush": { - "prefix": "Request::flush", - "body": [ - "\\$request->flush();" - ], - "description": "Flush all of the old input from the session." - }, - "Request-merge": { - "prefix": "Request::merge", - "body": [ - "\\$request->merge(${1:\\$input})$2" - ], - "description": "Merge new input into the current request's input array." - }, - "Request-replace": { - "prefix": "Request::replace", - "body": [ - "\\$request->replace(${1:\\$input})$2" - ], - "description": "Replace the input for the current request." - }, - "Request-json.sublime-snippet": { - "prefix": "Request::json", - "body": [ - "\\$request->json()" - ], - "description": "Determine if the request is sending JSON." - }, - "Request-isJson": { - "prefix": "Request::isJson", - "body": [ - "\\$request->isJson()" - ], - "description": "Determine if the request is sending JSON." - }, - "Request-wantsJson": { - "prefix": "Request::wantsJson", - "body": [ - "\\$request->wantsJson()" - ], - "description": "Determine if the current request is asking for JSON in return." - }, - "Request-accepts": { - "prefix": "Request::accepts", - "body": [ - "\\$request->accepts(${1:\\$contentTypes})$2" - ], - "description": "Determines whether the current requests accepts a given content type." - }, - "Request-prefers": { - "prefix": "Request::prefers", - "body": [ - "\\$request->prefers(${1:\\$contentTypes})$2" - ], - "description": "Return the most suitable content type from the given array based on content negotiation." - }, - "Request-acceptsJson": { - "prefix": "Request::acceptsJson", - "body": [ - "\\$request->acceptsJson()" - ], - "description": "Determines whether a request accepts JSON." - }, - "Request-acceptsHtml": { - "prefix": "Request::acceptsHtml", - "body": [ - "\\$request->acceptsHtml()" - ], - "description": "Determines whether a request accepts HTML." - }, - "Request-format": { - "prefix": "Request::format", - "body": [ - "\\$request->format('${1:html}')$2" - ], - "description": "Get the data format expected in the response." - }, - "Request-bearerToken": { - "prefix": "Request::bearerToken", - "body": [ - "\\$request->bearerToken()" - ], - "description": "Get the bearer token from the request headers." - }, - "Request-session.sublime-snippet": { - "prefix": "Request::session", - "body": [ - "\\$request->session()" - ], - "description": "Get the session associated with the request." - }, - "Request-user.sublime-snippet": { - "prefix": "Request::user", - "body": [ - "\\$request->user()" - ], - "description": "Get the user making the request." - }, - "Request-route": { - "prefix": "Request::route", - "body": [ - "\\$request->route(${1:\\$param})" - ], - "description": "Get the route handling the request." - }, - "Request-fingerprint.sublime-snippet": { - "prefix": "Request::fingerprint", - "body": [ - "\\$request->fingerprint()" - ], - "description": "Get a unique fingerprint for the request / route / IP address." - }, - "Request-getUserResolver": { - "prefix": "Request::getUserResolver", - "body": [ - "\\$request->getUserResolver()" - ], - "description": "Get the user resolver callback." - }, - "Request-setUserResolver": { - "prefix": "Request::setUserResolver", - "body": [ - "\\$request->setUserResolver(${1:\\$callback})$2" - ], - "description": "Set the user resolver callback." - }, - - "Request-getRouteResolver": { - "prefix": "Request::getRouteResolver", - "body": [ - "\\$request->getRouteResolver()" - ], - "description": "Get the route resolver callback." - }, - "Request-setRouteResolver": { - "prefix": "Request::setRouteResolver", - "body": [ - "\\$request->setRouteResolver(${1:\\$callback})$2" - ], - "description": "Set the route resolver callback." - }, - "Request-toArray": { - "prefix": "Request::toArray", - "body": [ - "\\$request->toArray()" - ], - "description": "Get all of the input and files for the request." - }, - "Request-offsetExists": { - "prefix": "Request::offsetExists", - "body": [ - "\\$request->offsetExists('${1:offset}')$2" - ], - "description": "Determine if the given offset exists." - }, - "Request-offsetSet": { - "prefix": "Request::offsetSet", - "body": [ - "\\$request->offsetSet('${1:offset}', ${2:\\$value});$3" - ], - "description": "Set the value at the given offset." - }, - "Request-offsetUnset": { - "prefix": "Request::offsetUnset", - "body": [ - "\\$request->offsetUnset('${1:offset}');$2" - ], - "description": "Remove the value at the given offset." - } -} \ No newline at end of file diff --git a/my-snippets/laravel5/snippets/response.json b/my-snippets/laravel5/snippets/response.json deleted file mode 100644 index 5c0a5c2..0000000 --- a/my-snippets/laravel5/snippets/response.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "Response-download.sublime-snippet": { - "prefix": "Response::download", - "body": [ - "return response()->download(${1:\\$pathToFile}, ${2:\\$name}, ${3:\\$headers});" - ], - "description": "Create a File Download Response" - }, - "Response-json.sublime-snippet": { - "prefix": "Response::json", - "body": [ - "return response()->json(${1:\\$data}, ${2:200}, ${3:\\$headers});" - ], - "description": "Create a JSON Response" - }, - "Response-JSONP.sublime-snippet": { - "prefix": "Response::jsonp", - "body": [ - "return response()->jsonp(${1:\\$callback}, ${2:\\$data}, ${3:200}, ${4:\\$headers});" - ], - "description": "Create a JSONP Response" - }, - "Response-make.sublime-snippet": { - "prefix": "Response::make", - "body": [ - "return Response::make(${1:\\$contents}, ${2:200}, ${3:\\$headers});" - ], - "description": "Create a Custom Response" - } -} \ No newline at end of file diff --git a/my-snippets/laravel5/snippets/route.json b/my-snippets/laravel5/snippets/route.json deleted file mode 100644 index a262d46..0000000 --- a/my-snippets/laravel5/snippets/route.json +++ /dev/null @@ -1,203 +0,0 @@ -{ - "Route-any.sublime-snippet": { - "prefix": "Route::any", - "body": [ - "Route::any('${2:users/{id\\}}', function (${3:\\$id}) {", - " $4", - "});" - ], - "description": "Basic Route with Closure." - }, - "Route-closure.sublime-snippet": { - "prefix": "Route::closure", - "body": [ - "Route::${1:get}('${2:users/{id\\}}', function (${3:\\$id}) {", - " $4", - "});" - ], - "description": "Basic Route with Closure." - }, - "Route-controller.sublime-snippet": { - "prefix": "Route::controller", - "body": [ - "Route::controller('${1:users}', '${2:UserController}');" - ], - "description": "Route a controller to a URI with wildcard routing. (Deprecated)" - }, - "Route-controllerAction.sublime-snippet": { - "prefix": "Route-controllerAction", - "body": [ - "Route::${1:get}('${2:users/{id\\}}', [${3:$User}Controller::class, '${4:index}'])->name('${5:user.index}');" - ], - "description": "Basic route to a controller action." - }, - "Route-current": { - "prefix": "Route::current", - "body": "Route::current()", - "description": "Accessing current route; Return type: Illuminate\\Routing\\Route" - }, - "Route-currentRouteName": { - "prefix": "Route::currentRouteName", - "body": "Route::currentRouteName()", - "description": "Accessing current route; Return type: string" - }, - "Route-currentRouteAction.sublime-snippet": { - "prefix": "Route::currentRouteAction", - "body": [ - "Route::currentRouteAction();" - ], - "description": "Get the current route name." - }, - "Route-delete.sublime-snippet": { - "prefix": "Route::delete", - "body": [ - "Route::delete('${1:users/{id\\}}', function (${2:\\$id}) {", - " $3", - "});" - ], - "description": "Basic Delete Route." - }, - "Route-dispatch": { - "prefix": "Route::dispatch", - "body": "Route::dispatch(${1:\\$request});", - "description": "Dispatch the request to the application." - }, - "Route-dispatchToRoute": { - "prefix": "Route::dispatchToRoute", - "body": "Route::dispatchToRoute(${1:\\$request});", - "description": "Dispatch the request to a route and return the response." - }, - "Route-get.sublime-snippet": { - "prefix": "Route::get", - "body": [ - "Route::get('${1:users/{id\\}}', function (${2:\\$id}) {", - " $3", - "});" - ], - "description": "Basic Get Route." - }, - "Router-post.sublime-snippet": { - "prefix": "Route::post", - "body": [ - "Route::post('${1:users/{id\\}}', function (${2:\\$id}) {", - " $3", - "});" - ], - "description": "Basic Post Route." - }, - "Route-get-with-name": { - "prefix": "Route-get-name", - "body": "Route::get('${1:user}', '${2:User}Controller@${3:index}')->name('${4:user}');", - "description": "Get route with naming" - }, - "Route-post-with-name": { - "prefix": "Route-post-name", - "body": "Route::post('${1:user}', '${2:User}Controller@${3:index}')->name('${4:user}');", - "description": "Post route with naming" - }, - "Route-group.sublime-snippet": { - "prefix": "Route::group", - "body": [ - "Route::prefix('${1:admin}')->group(function () {", - " $2", - "});" - ], - "description": "Create a Group of Routes" - }, - "Route-group-middleware": { - "prefix": "Route::group-middleware", - "body": [ - "Route::middleware(['${1:auth}'${2:, '${3:second}'}])->group(function () {", - " $4", - "});" - ], - "description": "Create a Group of Routers with middleware defined in RouteServiceProvider" - }, - "Route-match.sublime-snippet": { - "prefix": "Route::match", - "body": [ - "Route::match([${1:'get', 'post'}], '${2:/user/profile}', function () {", - " $3", - "});" - ], - "description": "Register a new route with the given verbs." - }, - "Route-put.sublime-snippet": { - "prefix": "Route::put", - "body": [ - "Route::put('${1:users/{id\\}}', function (${2:\\$id}) {", - " $3", - "});" - ], - "description": "Basic Put Route." - }, - "Route-resource.sublime-snippet": { - "prefix": "Route::resource", - "body": [ - "Route::resource('${1:user}', ${2:User}Controller::class);" - ], - "description": "Route to a RESTful Controller" - }, - "Route-when.sublime-snippet": { - "prefix": "Route::when", - "body": [ - "\\$router->when('${1:admin/*}', '${2:admin}', ${3:['post']})$4" - ], - "description": "Pattern based filters on routes" - }, - "Router-model.sublime-snippet": { - "prefix": "Route::model", - "body": [ - "\\$router->model('${1:user}', '${2:App\\Models\\User}')$3" - ], - "description": "Register a model binder for a wildcard." - }, - "Router-pattern.sublime-snippet": { - "prefix": "Route::pattern", - "body": [ - "\\$router->pattern('${1:id}', '${2:[0-9]+}')$3" - ], - "description": "Set a global where pattern on all routes." - }, - "Route-redirect": { - "prefix": "Route::redirect", - "body": "Route::redirect('${1:URI}', '${2:URI}', ${3:301});", - "description": "a convenient shortcut for performing a simple redirect" - }, - "Route-view": { - "prefix": "Route::view", - "body": "Route::view('${1:URI}', '${2:viewName}');", - "description": "route only needs to return a view; you may provide an array of data to pass to the view as an optional third argument" - }, - - // Laravel 9.x - - "Route-controller-group": { - "prefix": "Rotue-controller-group", - "body": [ - "Route::controller(${1:Order}Controller::class)->group(function () {", - " Route::get('/${2:orders}/{id}', 'show');", - " Route::post('/${2:orders}', 'store');", - "});" - ], - "description": "Controller route groups (Laravel 9.x)" - }, - "Route-get-scopeBindings": { - "prefix": "Route-get-scopeBindings", - "body": [ - "Route::get('${1:/users/{user\\}/posts/{post\\}}', function (${2:User \\$user, Post \\$post}) {", - " return ${3:\\$post};", - "})->scopeBindings();" - ], - "description": "Scope binding (Laravel 9.x)" - }, - "Route-group-scopeBindings": { - "prefix": "Route-group-scopeBindings", - "body": [ - "Route::scopeBindings()->group(function () {", - " $1", - "});" - ], - "description": "Group scope binding (Laravel 9.x)" - } -} diff --git a/my-snippets/laravel5/snippets/schema.json b/my-snippets/laravel5/snippets/schema.json deleted file mode 100644 index caa15f8..0000000 --- a/my-snippets/laravel5/snippets/schema.json +++ /dev/null @@ -1,348 +0,0 @@ -{ - /* Table Schema */ - - "Schema-connection.sublime-snippet": { - "prefix": "Schema::connection", - "body": [ - "Schema::connection('${1:foo}')->create('${2:users}', function (${3:\\$table}) {", - " \\$table->bigIncrements('id');$0", - "});" - ], - "description": "Specify connection for schema operation" - }, - "Schema-create-table.sublime-snippet": { - "prefix": "Schema::create-table", - "body": [ - "Schema::create('${1:users}', function (Blueprint \\$table) {", - " \\$table->bigIncrements('id');", - " $0", - " \\$table->timestamps();", - "});" - ], - "description": "Create new table" - }, - "Schema-drop.sublime-snippet": { - "prefix": "Schema::drop", - "body": [ - "Schema::drop('${1:table}');$0" - ], - "description": "Drop an existing database table" - }, - "Schema-dropIfExists.sublime-snippet": { - "prefix": "Schema::dropIfExists", - "body": [ - "Schema::dropIfExists('${1:table}');$0" - ], - "description": "Drop an existing database table if it exists" - }, - "Schema-hasColumn.sublime-snippet": { - "prefix": "Schema::hasColumn", - "body": [ - "if (Schema::hasColumn('${1:table}', '${2:column}')) {", - " $0", - "}" - ], - "description": "Check for existence of column(s)" - }, - "Schema-hasTable.sublime-snippet": { - "prefix": "Schema::hasTable", - "body": [ - "if (Schema::hasTable('${1:table}')) {", - " $0", - "}" - ], - "description": "Check for existence of table" - }, - "Schema-rename-table.sublime-snippet": { - "prefix": "Schema::rename-table", - "body": [ - "Schema::rename(${1:\\$from}, ${2:\\$to});$0" - ], - "description": "Rename an existing database table" - }, - "Schema-table-update.sublime-snippet": { - "prefix": "Schema::table-update", - "body": [ - "Schema::table('${1:users}', function (Blueprint \\$table) {", - " $0", - "});" - ], - "description": "Update an existing table" - }, - - /* Table Column */ - - "table-bigIncrements.sublime-snippet": { - "prefix": "Column::bigIncrements", - "body": [ - "\\$table->bigIncrements('${1:id}');$2" - ], - "description": "Incrementing ID using a \"big integer\" equivalent." - }, - "table-bigInteger.sublime-snippet": { - "prefix": "Column::bigInteger", - "body": [ - "\\$table->bigInteger('${1:votes}')${2:->nullable()}${3:->default(${4:12})};$0" - ], - "description": "BIGINT equivalent to the table" - }, - "table-binary.sublime-snippet": { - "prefix": "Column::binary", - "body": [ - "\\$table->binary('${1:data}')${2:->nullable()}${3:->default(${4:12})};$0" - ], - "description": "BLOB equivalent to the table" - }, - "table-boolean.sublime-snippet": { - "prefix": "Column::boolean", - "body": [ - "\\$table->boolean('${1:confirmed}')${2:->nullable()}${3:->default(${4:false})};$0" - ], - "description": "BOOLEAN equivalent to the table" - }, - "table-char.sublime-snippet": { - "prefix": "Column::char", - "body": [ - "\\$table->char('${1:name}', ${2:4})${2:->nullable()}${3:->default(${4:'text'})};$0" - ], - "description": "CHAR equivalent with a length (optional)" - }, - "table-date.sublime-snippet": { - "prefix": "Column::date", - "body": [ - "\\$table->date('${1:created_at}')${2:->nullable()}${3:->default(${4:new DateTime()})};$0" - ], - "description": "DATE equivalent to the table" - }, - "table-dateTime.sublime-snippet": { - "prefix": "Column::dateTime", - "body": [ - "\\$table->dateTime('${1:created_at}')${2:->nullable()}${3:->default(${4:new DateTime()})};$0" - ], - "description": "DATETIME equivalent to the table" - }, - "table-decimal.sublime-snippet": { - "prefix": "Column::decimal", - "body": [ - "\\$table->decimal('${1:amount}', ${2:5}, ${3:2})${4:->nullable()}${5:->default(${6:123.45})};$0" - ], - "description": "DECIMAL equivalent with a precision and scale" - }, - "table-double.sublime-snippet": { - "prefix": "Column::double", - "body": [ - "\\$table->double('${1:column}', ${2:15}, ${3:8})${4:->nullable()}${5:->default(${6:123.4567})};$0" - ], - "description": "DOUBLE equivalent with precision" - }, - "table-dropColumn.sublime-snippet": { - "prefix": "Column::dropColumn", - "body": [ - "\\$table->dropColumn('${1:column}');$0" - ], - "description": "Drop a column" - }, - "table-dropForeign.sublime-snippet": { - "prefix": "Column::dropForeign", - "body": [ - "\\$table->dropForeign('${1:posts_user_id_foreign}');$0" - ], - "description": "Drop a Foreign Key" - }, - "table-dropIndex.sublime-snippet": { - "prefix": "Column::dropIndex", - "body": [ - "\\$table->dropIndex('${1:geo_state_index}');$0" - ], - "description": "Drop a basic Index" - }, - "table-dropPrimary.sublime-snippet": { - "prefix": "Column::dropPrimary", - "body": [ - "\\$table->dropPrimary('${1:users_id_primary}');$0" - ], - "description": "Drop a Primary key" - }, - "table-dropUnique.sublime-snippet": { - "prefix": "Column::dropUnique", - "body": [ - "\\$table->dropUnique('${1:users_email_unique}');$0" - ], - "description": "Drop a Unique Index" - }, - "table-engine.sublime-snippet": { - "prefix": "Column::engine", - "body": [ - "\\$table->engine = '${1:InnoDB}';$0" - ], - "description": "Set the storage engine for a table" - }, - "table-enum.sublime-snippet": { - "prefix": "Column::enum", - "body": [ - "\\$table->enum('${1:choices}', ${2:['foo', 'bar']})${3:->nullable()}${4:->default(${5:['foo', 'bar']})};$0" - ], - "description": "ENUM equivalent to the table" - }, - "table-float.sublime-snippet": { - "prefix": "Column::float", - "body": [ - "\\$table->float('${1:amount}')${2:->nullable()}${3:->default(${4:123.45})};$0" - ], - "description": "FLOAT equivalent to the table" - }, - "table-increments.sublime-snippet": { - "prefix": "Column::increments", - "body": [ - "\\$table->increments('${1:id}');$0" - ], - "description": "Incrementing ID" - }, - "table-index-foreign.sublime-snippet": { - "prefix": "Column::index-foreign", - "body": [ - "\\$table->foreign('${1:user_id}')->references('${2:id}')->on('${3:users}')${4:->onDelete('${5:cascade}')};$0" - ], - "description": "Add a Foreign Key to a table" - }, - "table-index-index.sublime-snippet": { - "prefix": "Column::index", - "body": [ - "\\$table->index('${1:column}');$0" - ], - "description": "Adding a basic index" - }, - "table-index-primary.sublime-snippet": { - "prefix": "Column::index-primary", - "body": [ - "\\$table->primary('${1:id}');$0" - ], - "description": "Add a primary or array of composite keys" - }, - "table-index-unique.sublime-snippet": { - "prefix": "Column::index-unique", - "body": [ - "\\$table->unique('${1:column}');$0" - ], - "description": "Add a unique index" - }, - "table-integer.sublime-snippet": { - "prefix": "Column::integer", - "body": [ - "\\$table->integer('${1:votes}')${2:->unsigned()}${3:->nullable()}${4:->default(${5:12})};$0" - ], - "description": "INTEGER equivalent to the table" - }, - "table-json.sublime-snippet": { - "prefix": "Column::json", - "body": [ - "\\$table->json('${1:column}')${2:->nullable()};$0" - ], - "description": "JSON equivalent to the table" - }, - "table-jsonb.sublime-snippet": { - "prefix": "Column::jsonb", - "body": [ - "\\$table->jsonb('${1:column}')${2:->nullable()};$0" - ], - "description": "JSON equivalent to the table" - }, - "table-longText.sublime-snippet": { - "prefix": "Column::longText", - "body": [ - "\\$table->longText('${1:description}')${2:->nullable()}${3:->default(${4:'text'})};$0" - ], - "description": "LONGTEXT equivalent to the table" - }, - "table-mediumText.sublime-snippet": { - "prefix": "Column::mediumText", - "body": [ - "\\$table->mediumText('${1:mediumText}')${2:->nullable()}${3:->default(${4:'text'})};$0" - ], - "description": "MEDIUMTEXT equivalent to the table" - }, - "table-morphs.sublime-snippet": { - "prefix": "Column::morphs", - "body": [ - "\\$table->morphs('${1:taggable}');$0" - ], - "description": "Adds INTEGER taggable_id and STRING taggable_type" - }, - "table-rememberToken.sublime-snippet": { - "prefix": "Column::rememberToken", - "body": [ - "\\$table->rememberToken();" - ], - "description": "Adds remember_token as VARCHAR(100) NULL" - }, - "table-renameColumn.sublime-snippet": { - "prefix": "Column::renameColumn", - "body": [ - "\\$table->renameColumn('${1:from}', '${2:to}');$0" - ], - "description": "Rename a column" - }, - "table-smallInteger.sublime-snippet": { - "prefix": "Column::smallInteger", - "body": [ - "\\$table->smallInteger('${1:votes}')${2:->nullable()}${3:->default(${4:12})};$0" - ], - "description": "SMALLINT equivalent to the table" - }, - "table-softDeletes.sublime-snippet": { - "prefix": "Column::softDeletes", - "body": [ - "\\$table->softDeletes();" - ], - "description": "Adds deleted_at column for soft deletes" - }, - "table-string.sublime-snippet": { - "prefix": "Column::string", - "body": [ - "\\$table->string('${1:name}', ${2:100})${3:->nullable()}${5:->default(${6:'text'})};$0" - ], - "description": "VARCHAR equivalent with a length (optional)" - }, - "table-text.sublime-snippet": { - "prefix": "Column::text", - "body": [ - "\\$table->text('${1:description}')${2:->nullable()}${3:->default(${4:'text'})};$0" - ], - "description": "TEXT equivalent to the table" - }, - "table-time.sublime-snippet": { - "prefix": "Column::time", - "body": [ - "\\$table->time('${1:sunrise}')${2:->nullable()}${3:->default(${4:new DateTime()})};$0" - ], - "description": "TIME equivalent to the table" - }, - "table-timestamp.sublime-snippet": { - "prefix": "Column::timestamp", - "body": [ - "\\$table->timestamp('${1:added_on}')${2:->nullable()}${3:->default(${4:time()})};$0" - ], - "description": "TIMESTAMP equivalent to the table" - }, - "table-timestamps.sublime-snippet": { - "prefix": "Column::timestamps", - "body": [ - "\\$table->timestamps();" - ], - "description": "Adds created_at and updated_at columns" - }, - "table-tinyInteger.sublime-snippet": { - "prefix": "Column::tinyInteger", - "body": [ - "\\$table->tinyInteger('${1:numbers}');$0" - ], - "description": "TINYINT equivalent to the table" - }, - "table-uuid.sublime-snippet": { - "prefix": "Column::uuid", - "body": [ - "\\$table->uuid('${1:id}')${2:->nullable()}${3:->default(${4:null})};$0" - ], - "description": "UUID equivalent to the table" - } -} diff --git a/my-snippets/laravel5/snippets/session.json b/my-snippets/laravel5/snippets/session.json deleted file mode 100644 index 5a7f59a..0000000 --- a/my-snippets/laravel5/snippets/session.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "Session-all.sublime-snippet": { - "prefix": "Session::all", - "body": [ - "\\$request->session()->all();" - ], - "description": "Retrieve All Data from the Session" - }, - "Session-flash.sublime-snippet": { - "prefix": "Session::flash", - "body": [ - "\\$request->session()->flash('${1:key}', ${2:\\$value});$3" - ], - "description": "Flash an Item in the Session" - }, - "Session-flush.sublime-snippet": { - "prefix": "Session::flush", - "body": [ - "\\$request->session()->flush();" - ], - "description": "Remove All Items from the Session" - }, - "Session-forget.sublime-snippet": { - "prefix": "Session::forget", - "body": [ - "\\$request->session()->forget('${1:key}');$2" - ], - "description": "Remove an Item from the Session" - }, - "Session-get.sublime-snippet": { - "prefix": "Session::get", - "body": [ - "\\$request->session()->get('${1:key}', '${2:default}');$3" - ], - "description": "Retrieve an Item from the Session or Default Value" - }, - "Session-has.sublime-snippet": { - "prefix": "Session::has", - "body": [ - "\\$request->session()->has('${1:key}');$2" - ], - "description": "Determin if an Item Exists in the Session" - }, - "Session-keep.sublime-snippet": { - "prefix": "Session::keep", - "body": [ - "\\$request->session()->keep(${1:['key', 'otherkey']});$2" - ], - "description": "Reflash Only a Subset of Flash Data" - }, - "Session-push.sublime-snippet": { - "prefix": "Session::push", - "body": [ - "\\$request->session()->push('${1:key.subArray}', '${2:value}');$3" - ], - "description": "Push a Value onto an Array Session Value" - }, - "Session-put.sublime-snippet": { - "prefix": "Session::put", - "body": [ - "\\$request->session()->put('${1:key}', ${2:\\$value});$3" - ], - "description": "Store an Item in the Session" - }, - "Session-reflash.sublime-snippet": { - "prefix": "Session::reflash", - "body": [ - "\\$request->session()->reflash();" - ], - "description": "Reflash the Current Flash Data" - }, - "Session-regenerate.sublime-snippet": { - "prefix": "Session::regenerate", - "body": [ - "\\$request->session()->regenerate();" - ], - "description": "Regenerate the Session ID" - } -} \ No newline at end of file diff --git a/my-snippets/laravel5/snippets/storage.json b/my-snippets/laravel5/snippets/storage.json deleted file mode 100644 index ce36166..0000000 --- a/my-snippets/laravel5/snippets/storage.json +++ /dev/null @@ -1,170 +0,0 @@ -{ - "Storage-allDirectories.sublime-snippet": { - "prefix": "Storage::allDirectories", - "body": [ - "Storage::allDirectories(${1:directory});$2" - ], - "description": "Returns an array of all the directories within a given directory and all of its sub-directories" - }, - "Storage-allFiles.sublime-snippet": { - "prefix": "Storage::allFiles", - "body": [ - "Storage::allFiles(${1:directory});$2" - ], - "description": "Returns an array of all of the files in a directory and it's sub-directories" - }, - "Storage-append.sublime-snippet": { - "prefix": "Storage::append", - "body": [ - "Storage::append(${1:filePath}, ${2:Appended Text});$3" - ], - "description": "Insert content at the end of a file" - }, - "Storage-cleanDirectory.sublime-snippet": { - "prefix": "Storage::cleanDirectory", - "body": [ - "Storage::cleanDirectory(${1:directory});$2" - ], - "description": "Empty the specified directory of all files and folders." - }, - "Storage-copy.sublime-snippet": { - "prefix": "Storage::copy", - "body": [ - "Storage::copy(${1:path}, ${2:target});$3" - ], - "description": "Copy an existing file to another location on the disk" - }, - "Storage-delete.sublime-snippet": { - "prefix": "Storage::delete", - "body": [ - "Storage::delete(${1:['file', 'otherFile']});$2" - ], - "description": "Remove one or multiple files from the disk" - }, - "Storage-deleteDirectory.sublime-snippet": { - "prefix": "Storage::deleteDirectory", - "body": [ - "Storage::deleteDirectory(${1:directory});$2" - ], - "description": "May be used to remove a directory, including all of its files, from the disk" - }, - "Storage-directories.sublime-snippet": { - "prefix": "Storage::directories", - "body": [ - "Storage::directories(${1:directory});$2" - ], - "description": "Returns an array of all the directories within a given directory" - }, - "Storage-exists.sublime-snippet": { - "prefix": "Storage::exists", - "body": [ - "Storage::exists(${1:filePath});$2" - ], - "description": "Determine if a file exists." - }, - "Storage-extension.sublime-snippet": { - "prefix": "Storage::extension", - "body": [ - "Storage::extension(${1:filePath});$2" - ], - "description": "Extract the file extension from a file path." - }, - "Storage-files.sublime-snippet": { - "prefix": "Storage::files", - "body": [ - "Storage::files(${1:directory});$2" - ], - "description": "Returns an array of all of the files in a directory" - }, - "Storage-get.sublime-snippet": { - "prefix": "Storage::get", - "body": [ - "Storage::get(${1:filePath});$2" - ], - "description": "Retrieve the contents of a given file" - }, - "Storage-isDirectory.sublime-snippet": { - "prefix": "Storage::isDirectory", - "body": [ - "Storage::isDirectory(${1:directory});$2" - ], - "description": "Determine if the given path is a directory." - }, - "Storage-isFile.sublime-snippet": { - "prefix": "Storage::isFile", - "body": [ - "Storage::isFile(${1:path});$2" - ], - "description": "Determine if the given path is a directory." - }, - "Storage-isWritable.sublime-snippet": { - "prefix": "Storage::iswritable", - "body": [ - "Storage::isWritable(${1:path});$2" - ], - "description": "Determine if the given path is writable." - }, - "Storage-lastModified.sublime-snippet": { - "prefix": "Storage::lastModified", - "body": [ - "Storage::lastModified(${1:filePath});$2" - ], - "description": "Returns the UNIX timestamp of the last time the file was modified" - }, - "Storage-makeDirectory.sublime-snippet": { - "prefix": "Storage::makeDirectory", - "body": [ - "Storage::makeDirectory(${1:directory});$2" - ], - "description": "Will create the given directory, including any needed sub-directories" - }, - "Storage-mimeType.sublime-snippet": { - "prefix": "Storage::mimeType", - "body": [ - "Storage::mimeType(${1:path});$2" - ], - "description": "Get the mime-type of a given file." - }, - "Storage-move.sublime-snippet": { - "prefix": "Storage::move", - "body": [ - "Storage::move(${1:path}, ${2:target});$3" - ], - "description": "Move an existing file to a new location on the disk" - }, - "Storage-name.sublime-snippet": { - "prefix": "Storage::name", - "body": [ - "Storage::name(${1:filePath});$2" - ], - "description": "Extract the file name from a file path." - }, - "Storage-prepend.sublime-snippet": { - "prefix": "Storage::prepend", - "body": [ - "Storage::prepend(${1:filePath}, ${2:Prepended Text});$3" - ], - "description": "Insert content at the beginning of a file" - }, - "Storage-put.sublime-snippet": { - "prefix": "Storage::put", - "body": [ - "Storage::put(${1:filePath}, ${2:\\$contents});$3" - ], - "description": "Store a file on disk" - }, - "Storage-size.sublime-snippet": { - "prefix": "Storage::size", - "body": [ - "Storage::size(${1:filePath});$2" - ], - "description": "Get the size of the file in bytes" - }, - "Storage-type.sublime-snippet": { - "prefix": "Storage::type", - "body": [ - "Storage::type(${1:filePath});$2" - ], - "description": "Get the file type of a given file." - } -} \ No newline at end of file diff --git a/my-snippets/laravel5/snippets/str.json b/my-snippets/laravel5/snippets/str.json deleted file mode 100644 index 2cf872d..0000000 --- a/my-snippets/laravel5/snippets/str.json +++ /dev/null @@ -1,212 +0,0 @@ -{ - "Str-of": { - "prefix": "Str::of", - "body": "Str::of(${1:\\$string})", - "description": "Get a new stringable object from the given string. (v7.x)" - }, - "Str-after": { - "prefix": "Str::after", - "body": "Str::after(${1:\\$subject}, '${2:search}')", - "description": "The Str::after method returns everything after the given value in a string. The entire string will be returned if the value does not exist within the string." - }, - "Str-afterLast": { - "prefix": "Str::afterLast", - "body": "Str::afterLast(${1:\\$subject}, '${2:search}')", - "description": "The Str::afterLast method returns everything after the last occurrence of the given value in a string. The entire string will be returned if the value does not exist within the string. (v6.x)" - }, - "Str-ascii": { - "prefix": "Str::ascii", - "body": "Str::ascii('${1:รป}')", - "description": "The Str::ascii method will attempt to transliterate the string into an ASCII value." - }, - "Str-before": { - "prefix": "Str::before", - "body": "Str::before(${1:\\$subject}, '${2:search}')", - "description": "Get the portion of a string before the first occurrence of a given value." - }, - "Str-beforeLast": { - "prefix": "Str::beforeLast", - "body": "Str::beforeLast(${1:\\$subject}, '${2:search}')", - "description": "Get the portion of a string before the last occurrence of a given value. (v6.x)" - }, - "Str-between": { - "prefix": "Str::between", - "body": "Str::between(${1:\\$subject}, '${2:from}', '${3:to}');", - "description": "Get the portion of a string between two given values. (v7.x)" - }, - "Str-camel": { - "prefix": "Str::camel", - "body": "Str::camel(${1:\\$value})", - "description": "Convert a value to camel case." - }, - "Str-contains": { - "prefix": "Str::contains", - "body": "Str::contains(${1:\\$haystack}, '${2:needles}')", - "description": "Return boolean. Determine if a given string contains a given substring." - }, - "Str-containsAll": { - "prefix": "Str::containsAll", - "body": "Str::containsAll(${1:\\$haystack}, '${2:needles}')", - "description": "Determine if a given string contains all array values. (v5.8)" - }, - "Str-endsWith": { - "prefix": "Str::endsWith", - "body": "Str::endsWith(${1:\\$haystack}, '${2:needles}')", - "description": "Return boolean. Determine if a given string ends with a given substring." - }, - "Str-finish": { - "prefix": "Str::finish", - "body": "Str::finish(${1:\\$value}, '${2:cap}')", - "description": "Cap a string with a single instance of a given value." - }, - "Str-is": { - "prefix": "Str::is", - "body": "Str::is(${1:\\$pattern}, '${2:value}')", - "description": "Return boolean. Determine if a given string matches a given pattern." - }, - "Str-isAscii": { - "prefix": "Str::isAscii", - "body": "Str::isAscii(${1:\\$value})", - "description": "Determine if a given string is 7 bit ASCII. (v7.x)" - }, - "Str-isUuid": { - "prefix": "Str::isUuid", - "body": "Str::isUuid(${1:\\$value})", - "description": "Return boolean. Determine if a given string is a valid UUID. (v6.x)" - }, - "Str-kebab": { - "prefix": "Str::kebab", - "body": "Str::kebab(${1:\\$value})", - "description": "Convert a string to kebab case." - }, - "Str-length": { - "prefix": "Str::length", - "body": "Str::length(${1:\\$value})", - "description": "Return the length of the given string." - }, - "Str-limit": { - "prefix":"Str::limit", - "body": "Str::limit(${1:\\$string}, ${2:\\$limit}, '${3:...}')", - "description": "Truncates the given string at the specified length" - }, - "Str-lower": { - "prefix": "Str::lower", - "body": "Str::lower(${1:\\$value})", - "description": "Convert the given string to lower-case." - }, - "Str-words": { - "prefix": "Str::words", - "body": "Str::words(${1:\\$value}, ${2:\\$words}, '${3:...}')", - "description": "Limit the number of words in a string." - }, - "Str-parseCallback": { - "prefix": "Str::parseCallback", - "body": "Str::parseCallback('${1:callback}', ${2:\\$default})", - "description": "Return array. Parse a Class@method style callback into class and method. $default is null or given string." - }, - "Str-plural": { - "prefix":"Str::plural", - "body": "Str::plural(${1:\\$value}, ${2:\\$count})", - "description": "Get the plural form of an English word." - }, - "Str-pluralStudly": { - "prefix":"Str::pluralStudly", - "body": "Str::pluralStudly(${1:\\$value}, ${2:\\$count})", - "description": "Pluralize the last word of an English, studly caps case string. (v5.8)" - }, - "Str-random": { - "prefix": "Str::random", - "body": "Str::random(${1:\\$length})", - "description": "Generate a more truly random alpha-numeric string." - }, - "Str-replaceArray": { - "prefix": "Str::replaceArray", - "body": "Str::replaceArray('${1:search}', '${2:replace}', ${3:\\$subject})", - "description": "Replace a given value in the string sequentially with an array." - }, - "Str-replaceFirst": { - "prefix": "Str::replaceFirst", - "body": "Str::replaceFirst('${1:search}', '${2:replace}', ${3:\\$subject})", - "description": "Replace the first occurrence of a given value in the string." - }, - "Str-replaceLast": { - "prefix": "Str::replaceLast", - "body": "Str::replaceLast('${1:search}', '${2:replace}', ${3:\\$subject})", - "description": "Replace the last occurrence of a given value in the string." - }, - "Str-start": { - "prefix": "Str::start", - "body": "Str::start(${1:\\$value}, '${2:prefix}')", - "description": "Begin a string with a single instance of a given value." - }, - "Str-upper": { - "prefix": "Str::upper", - "body": "Str::upper(${1:\\$value})", - "description": "Convert the given string to upper-case." - }, - "Str-title": { - "prefix": "Str::title", - "body": "Str::title(${1:\\$value})", - "description": "Convert the given string to title case." - }, - "Str-singular": { - "prefix": "Str::singular", - "body": "Str::singular(${1:\\$value})", - "description": "Get the singular form of an English word." - }, - "Str-slug": { - "prefix": "Str::slug", - "body": "Str::slug(${1:\\$title})", - "description": "Generate a URL friendly slug from a given string." - }, - "Str-snake": { - "prefix": "Str::snake", - "body": "Str::snake(${1:\\$value})", - "description": "Convert a string to snake case." - }, - "Str-startsWith": { - "prefix": "Str::startsWith", - "body": "Str::startsWith(${1:\\$haystack}, '${2:needles}')", - "description": "Return boolean. Determine if a given string starts with a given substring." - }, - "Str-studly": { - "prefix": "Str::studly", - "body": "Str::studly(${1:\\$value})", - "description": "Convert a value to studly caps case." - }, - "Str-substr": { - "prefix": "Str::substr", - "body": "Str::substr(${1:\\$string}, ${2:\\$start}, ${3:\\$length})", - "description": "Returns the portion of string specified by the start and length parameters." - }, - "Str-substrCount": { - "prefix": "Str::substrCount", - "body": "Str::substrCount(${1:\\$haystack}, ${2:\\$needle}, ${3:\\$offset}, ${4:\\$length})", - "description": "Returns the number of substring occurrences. (v7.x)" - }, - "Str-ucfirst": { - "prefix": "Str::ucfirst", - "body": "Str::ucfirst(${1:\\$string})", - "description": "Make a string's first character uppercase." - }, - "Str-uuid": { - "prefix": "Str::uuid", - "body": "Str::uuid()", - "description": "Generate a UUID (version 4)." - }, - "Str-orderedUuid": { - "prefix": "Str::orderedUuid", - "body": "Str::orderedUuid()", - "description": "Generate a time-ordered UUID (version 4)." - }, - "Str-createUuidsUsing": { - "prefix": "Str::createUuidsUsing", - "body": "Str::createUuidsUsing(${1:callable})", - "description": "void. Set the callable that will be used to generate UUIDs. (v6.x)" - }, - "Str-createUuidsNormally": { - "prefix": "Str::createUuidsNormally", - "body": "Str::createUuidsNormally()", - "description": "void. Indicate that UUIDs should be created normally and not using a custom factory. (v6.x)" - } -} diff --git a/my-snippets/laravel5/snippets/view.json b/my-snippets/laravel5/snippets/view.json deleted file mode 100644 index 13d4946..0000000 --- a/my-snippets/laravel5/snippets/view.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "View-composer.sublime-snippet": { - "prefix": "View::composer", - "body": [ - "view()->composer('${1:name}', function (${2:\\$view}) {", - " $3", - "});" - ], - "description": "Define a View Composer" - }, - "View-composerClass.sublime-snippet": { - "prefix": "View::composerClass", - "body": [ - "view()->composer('${1:name}', '${2:App\\Http\\ViewComposers\\SomeComposer}');$3" - ], - "description": "Define a Class-based View Composer" - }, - "View-exists.sublime-snippet": { - "prefix": "View::exists", - "body": [ - "if (view()->exists('${1:view.name}'))", - "{", - " $2", - "}" - ], - "description": "Determine if a view exists" - }, - "View-make.sublime-snippet": { - "prefix": "View::make", - "body": [ - "view('${1:view.name}', ${2:\\$data});$3" - ], - "description": "Create a View with Data" - }, - "View-makeCompact.sublime-snippet": { - "prefix": "View::makeCompact", - "body": [ - "view('${1:view.name}', compact('${2:data}'));$3" - ], - "description": "Create a View, Pass Data with compact()" - }, - "View-makeWith.sublime-snippet": { - "prefix": "View::makeWith", - "body": [ - "view(${1:'view.name'})->with('${2:key}', ${3:\\$value});$4" - ], - "description": "Create a View, Pass Data using with()" - }, - "View-render.sublime-snippet": { - "prefix": "View::render", - "body": [ - "view(${1:'name'}, ${2:\\$data})->render();$3" - ], - "description": "Render a view with some data" - }, - "View-share.sublime-snippet": { - "prefix": "View::share", - "body": [ - "view()->share('${1:key}', ${2:\\$value});$3" - ], - "description": "Share Data across all Views" - } -} \ No newline at end of file diff --git a/my-snippets/package.json b/my-snippets/package.json deleted file mode 100644 index f97173b..0000000 --- a/my-snippets/package.json +++ /dev/null @@ -1,144 +0,0 @@ -{ - "name": "html-snippets", - "displayName": "HTML/CSS/JavaScript Snippets", - "description": "HTML/CSS/JavaScript/Jade/Pug/Less/Sass/Stylus/ES6 Snippets Support", - "version": "1.0.6", - "publisher": "wscats", - "icon": "images/logo.png", - "engines": { - "vscode": "^1.40.0" - }, - "keywords": [ - "html", - "html5", - "css", - "css3", - "javascript", - "typescript", - "ES6", - "ES7", - "snippets" - ], - "author": { - "name": "Eno Yao", - "email": "kalone.cool@gmail.com", - "url": "https://github.com/Wscats" - }, - "galleryBanner": { - "color": "#58bc58", - "theme": "light" - }, - "categories": [ - "Programming Languages", - "Snippets" - ], - "scripts": { - "build": "vsce package" - }, - "contributes": { - "snippets": [ - { - "language": "html", - "path": "./html/snippets/javascript.json" - }, - { - "language": "html", - "path": "./html/javascript/javascript.json" - }, - { - "language": "html", - "path": "./html/javascript/typescript.json" - }, - - - { - "language": "blade", - "path": "./B5-Snippets/snippets/bootstrap.json" - }, - { - "language": "ejs", - "path": "./B5-Snippets/snippets/bootstrap.json" - }, - { - "language": "html", - "path": "./B5-Snippets/snippets/bootstrap.json" - }, - { - "language": "handlebars", - "path": "./B5-Snippets/snippets/bootstrap.json" - }, - { - "language": "latte", - "path": "./B5-Snippets/snippets/bootstrap.json" - }, - { - "language": "php", - "path": "./B5-Snippets/snippets/bootstrap.json" - }, - { - "language": "plaintext", - "path": "./B5-Snippets/snippets/bootstrap.json" - }, - { - "language": "razor", - "path": "./B5-Snippets/snippets/bootstrap.json" - }, - { - "language": "tpl", - "path": "./B5-Snippets/snippets/bootstrap.json" - }, - { - "language": "typescript", - "path": "./B5-Snippets/snippets/bootstrap.json" - }, - { - "language": "typescriptreact", - "path": "./B5-Snippets/snippets/bootstrap.json" - }, - { - "language": "javascriptreact", - "path": "./B5-Snippets/snippets/bootstrap.json" - }, - { - "language": "javascript", - "path": "./B5-Snippets/snippets/bootstrap.json" - }, - { - "language": "twig", - "path": "./B5-Snippets/snippets/bootstrap.json" - }, - { - "language": "vue", - "path": "./B5-Snippets/snippets/bootstrap.json" - }, - { - "language": "vue-html", - "path": "./B5-Snippets/snippets/bootstrap.json" - }, - { - "language": "django-html", - "path": "./B5-Snippets/snippets/bootstrap.json" - }, - { - "language": "jinja-html", - "path": "./B5-Snippets/snippets/bootstrap.json" - }, - { - "language": "erb", - "path": "./B5-Snippets/snippets/bootstrap.json" - }, - { - "language": "HTML (Eex)", - "path": "./B5-Snippets/snippets/bootstrap.json" - }, - { - "language": "volt", - "path": "./B5-Snippets/snippets/bootstrap.json" - }, - { - "language": "nunjucks", - "path": "./B5-Snippets/snippets/bootstrap.json" - } - ] - } -} \ No newline at end of file diff --git a/mysnippets/go/snippets.json b/mysnippets/go/snippets.json new file mode 100644 index 0000000..6732087 --- /dev/null +++ b/mysnippets/go/snippets.json @@ -0,0 +1,48 @@ +{ + "author": { + "prefix": "@author", + "body": [ + "/*", + "Author = Pojok Code", + "email = pojokcodeid@gmail.com", + "Github = https://github.com/pojokcodeid", + "Youtube = https://youtube.com/pojokcode", + "Date = $CURRENT_YEAR-$CURRENT_MONTH-${CURRENT_DATE}", + "File = $TM_FILENAME", + "note = Penyalahgunaan kode ini bukan tanggung jawab pojok code", + "*/", + "$1" + ], + "description": "Komentar Author" + }, + "/*": { + "prefix": "/*", + "body": ["/*", "* $1", "*/"], + "description": "Komentar" + }, + "/": { + "prefix": "/", + "body": "// $1", + "description": "Komentar" + }, + "main": { + "prefix": "main", + "body": [ + "package main", + "", + "import (", + "\t\"fmt\"", + ")", + "", + "func main() {", + "\tfmt.Println($1)", + "}" + ], + "description": "main" + }, + "func": { + "prefix": "func", + "body": ["func $1($2) {", "\t$3", "}"], + "description": "func" + } +} diff --git a/my-snippets/html/snippets/javascript.json b/mysnippets/html/snippets.json similarity index 96% rename from my-snippets/html/snippets/javascript.json rename to mysnippets/html/snippets.json index 20b1a7d..3c61540 100644 --- a/my-snippets/html/snippets/javascript.json +++ b/mysnippets/html/snippets.json @@ -1,88 +1,88 @@ -{ - "consoledotLog": { - "prefix": "console", - "body": "console.log(${1:object});", - "description": "Displays a message in the console" - }, - "alert": { - "prefix": "alert", - "body": "alert(${1:object});", - "description": "Displays a message in the Popup Alert" - }, - "author": { - "prefix": "@author", - "body": [ - "" - ], - "description": "@author = Pojok Code" - }, - "html5": { - "prefix": "html5-All", - "body": [ - "", - "", - "", - "\t", - "\t\t$2", - "\t\t", - "\t\t", - "\t\t", - "\t\t", - "\t\t", - "\t", - "\t", - "\t$0", - "\t", - "" - ], - "description": "HTML-All - Defines a template for a html5 document Full", - "scope": "text.html" - }, - "document.getElementById": { - "prefix": "document.getElementById", - "body": "document.getElementById(${1:object});", - "description": "document.getElementById" - }, - "document.getElementsByName": { - "prefix": "document.getElementsByName", - "body": "document.getElementsByName(${1:object});", - "description": "document.getElementsByName" - }, - "document.getElementsByTagName": { - "prefix": "document.getElementsByTagName", - "body": "document.getElementsByTagName(${1:object});", - "description": "document.getElementsByTagName" - }, - "document.getElementsByClassName": { - "prefix": "document.getElementsByClassName", - "body": "document.getElementsByClassName(${1:object});", - "description": "document.getElementsByClassName" - }, - "document.getElementsByTagNameNS": { - "prefix": "document.getElementsByTagNameNS", - "body": "document.getElementsByTagNameNS(${1:object});", - "description": "document.getElementsByTagNameNS" - }, - "document.write": { - "prefix": "document.write", - "body": "document.write(${1:object});", - "description": "document.write" - }, - "document.writeln": { - "prefix": "document.writeln", - "body": "document.writeln(${1:object});", - "description": "document.writeln" - } -} +{ + "consoledotLog": { + "prefix": "console", + "body": "console.log(${1:object});", + "description": "Displays a message in the console" + }, + "alert": { + "prefix": "alert", + "body": "alert(${1:object});", + "description": "Displays a message in the Popup Alert" + }, + "author": { + "prefix": "@author", + "body": [ + "" + ], + "description": "@author = Pojok Code" + }, + "html5": { + "prefix": "html5-All", + "body": [ + "", + "", + "", + "\t", + "\t\t$2", + "\t\t", + "\t\t", + "\t\t", + "\t\t", + "\t", + "\t", + "\t\t$0", + "\t\t", + "\t", + "" + ], + "description": "HTML-All - Defines a template for a html5 document Full", + "scope": "text.html" + }, + "document.getElementById": { + "prefix": "document.getElementById", + "body": "document.getElementById(${1:object});", + "description": "document.getElementById" + }, + "document.getElementsByName": { + "prefix": "document.getElementsByName", + "body": "document.getElementsByName(${1:object});", + "description": "document.getElementsByName" + }, + "document.getElementsByTagName": { + "prefix": "document.getElementsByTagName", + "body": "document.getElementsByTagName(${1:object});", + "description": "document.getElementsByTagName" + }, + "document.getElementsByClassName": { + "prefix": "document.getElementsByClassName", + "body": "document.getElementsByClassName(${1:object});", + "description": "document.getElementsByClassName" + }, + "document.getElementsByTagNameNS": { + "prefix": "document.getElementsByTagNameNS", + "body": "document.getElementsByTagNameNS(${1:object});", + "description": "document.getElementsByTagNameNS" + }, + "document.write": { + "prefix": "document.write", + "body": "document.write(${1:object});", + "description": "document.write" + }, + "document.writeln": { + "prefix": "document.writeln", + "body": "document.writeln(${1:object});", + "description": "document.writeln" + } +} \ No newline at end of file diff --git a/mysnippets/javascript/snippets.json b/mysnippets/javascript/snippets.json new file mode 100644 index 0000000..88f8aaa --- /dev/null +++ b/mysnippets/javascript/snippets.json @@ -0,0 +1,33 @@ +{ + "author": { + "prefix": "@author", + "body": [ + "/*", + "Author = Pojok Code", + "email = pojokcodeid@gmail.com", + "Github = https://github.com/pojokcodeid", + "Youtube = https://youtube.com/pojokcode", + "Date = $CURRENT_YEAR-$CURRENT_MONTH-${CURRENT_DATE}", + "File = $TM_FILENAME", + "note = Penyalahgunaan kode ini bukan tanggung jawab pojok code", + "*/", + "$1" + ], + "description": "Komentar Author" + }, + "/*": { + "prefix": "/*", + "body": ["/*", "* $1", "*/"], + "description": "Komentar" + }, + "/": { + "prefix": "/", + "body": "// $1", + "description": "Komentar" + }, + "function": { + "prefix": "function", + "body": ["function $1($2) {", "$0", "}"], + "description": "function" + } +} diff --git a/mysnippets/package.json b/mysnippets/package.json new file mode 100644 index 0000000..1c7dc5f --- /dev/null +++ b/mysnippets/package.json @@ -0,0 +1,22 @@ +{ + "contributes": { + "snippets": [ + { + "language": "html", + "path": "./html/snippets.json" + }, + { + "language": "go", + "path": "./go/snippets.json" + }, + { + "language": "javascript", + "path": "./javascript/snippets.json" + }, + { + "language": "typescript", + "path": "./javascript/snippets.json" + } + ] + } +} diff --git a/queries/blade/folds.scm b/queries/blade/folds.scm new file mode 100644 index 0000000..0705d92 --- /dev/null +++ b/queries/blade/folds.scm @@ -0,0 +1,8 @@ +((directive_start) @start + (directive_end) @end.after + (#set! role block)) + + +((bracket_start) @start + (bracket_end) @end + (#set! role block)) diff --git a/queries/blade/highlights.scm b/queries/blade/highlights.scm new file mode 100644 index 0000000..2c9c2cd --- /dev/null +++ b/queries/blade/highlights.scm @@ -0,0 +1,4 @@ +(directive) @tag +(directive_start) @tag +(directive_end) @tag +(comment) @comment @spell diff --git a/queries/blade/injections.scm b/queries/blade/injections.scm new file mode 100644 index 0000000..5283841 --- /dev/null +++ b/queries/blade/injections.scm @@ -0,0 +1,16 @@ +((text) @injection.content + (#not-has-ancestor? @injection.content "envoy") + (#set! injection.combined) + (#set! injection.language php)) + +((text) @injection.content + (#has-ancestor? @injection.content "envoy") + (#set! injection.combined) + (#set! injection.language bash)) + + +((php_only) @injection.content + (#set! injection.combined) + (#set! injection.language php_only)) +((parameter) @injection.content + (#set! injection.language php_only)) diff --git a/queries/php/folds.scm b/queries/php/folds.scm new file mode 100644 index 0000000..f324638 --- /dev/null +++ b/queries/php/folds.scm @@ -0,0 +1 @@ +; inherits: php_only diff --git a/queries/php/highlights.scm b/queries/php/highlights.scm new file mode 100644 index 0000000..f324638 --- /dev/null +++ b/queries/php/highlights.scm @@ -0,0 +1 @@ +; inherits: php_only diff --git a/queries/php/indents.scm b/queries/php/indents.scm new file mode 100644 index 0000000..f324638 --- /dev/null +++ b/queries/php/indents.scm @@ -0,0 +1 @@ +; inherits: php_only diff --git a/queries/php/injections.scm b/queries/php/injections.scm new file mode 100644 index 0000000..3ccbb2b --- /dev/null +++ b/queries/php/injections.scm @@ -0,0 +1,5 @@ +; inherits: php_only + +((text) @injection.content + (#set! injection.language "html") + (#set! injection.combined)) diff --git a/queries/php/locals.scm b/queries/php/locals.scm new file mode 100644 index 0000000..f324638 --- /dev/null +++ b/queries/php/locals.scm @@ -0,0 +1 @@ +; inherits: php_only