From d1c44f4a2d9f4b52fe13518d09f8b8257d2e7cf5 Mon Sep 17 00:00:00 2001 From: Dmitriy Date: Mon, 28 Jun 2021 14:34:37 +0300 Subject: feat: Adding support for prettier svelte plugin --- README.md | 4 ++-- doc/prettier.txt | 8 ++++---- ftdetect/svelte.vim | 3 +++ ftplugin/svelte.vim | 3 +++ package.json | 3 ++- plugin/prettier.vim | 2 +- yarn.lock | 5 +++++ 7 files changed, 20 insertions(+), 8 deletions(-) create mode 100644 ftdetect/svelte.vim create mode 100644 ftplugin/svelte.vim diff --git a/README.md b/README.md index 5f8da66..69d8fae 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ yarn|npm installed globally. " post install (yarn install | npm install) then load plugin only for editing supported files Plug 'prettier/vim-prettier', { \ 'do': 'yarn install', - \ 'for': ['javascript', 'typescript', 'css', 'less', 'scss', 'json', 'graphql', 'markdown', 'vue', 'yaml', 'html'] } + \ 'for': ['javascript', 'typescript', 'css', 'less', 'scss', 'json', 'graphql', 'markdown', 'vue', 'svelte', 'yaml', 'html'] } ``` or simply enable for all formats by: @@ -225,7 +225,7 @@ To run vim-prettier not only before saving, but also after changing text or leav " when running at every change you may want to disable quickfix let g:prettier#quickfix_enabled = 0 -autocmd TextChanged,InsertLeave *.js,*.jsx,*.mjs,*.ts,*.tsx,*.css,*.less,*.scss,*.json,*.graphql,*.md,*.vue,*.yaml,*.html PrettierAsync +autocmd TextChanged,InsertLeave *.js,*.jsx,*.mjs,*.ts,*.tsx,*.css,*.less,*.scss,*.json,*.graphql,*.md,*.vue,*.svelte,*.yaml,*.html PrettierAsync ``` ### Overwrite default prettier configuration diff --git a/doc/prettier.txt b/doc/prettier.txt index 716f66a..bbbad05 100644 --- a/doc/prettier.txt +++ b/doc/prettier.txt @@ -47,7 +47,7 @@ node and yarn|npm installed globally. Plug 'prettier/vim-prettier', { \ 'do': 'yarn install', \ 'for': ['javascript', 'typescript', 'css', - \ 'less', 'scss', 'json', 'graphql', 'markdown', 'vue', 'yaml', + \ 'less', 'scss', 'json', 'graphql', 'markdown', 'vue', 'svelte', 'yaml', 'html'] } < or simply enable for all formats by: @@ -146,17 +146,17 @@ First ensure that `g:prettier#autoformat` is not enabled on your `vimrc` (it sho Running before saving sync: > - autocmd BufWritePre *.js,*.jsx,*.mjs,*.ts,*.tsx,*.css,*.less,*.scss,*.json,*.graphql,*.md,*.vue,*.yaml,*.html Prettier + autocmd BufWritePre *.js,*.jsx,*.mjs,*.ts,*.tsx,*.css,*.less,*.scss,*.json,*.graphql,*.md,*.vue,*.svelte,*.yaml,*.html Prettier < Running before saving async (vim 8+): > - autocmd BufWritePre *.js,*.jsx,*.mjs,*.ts,*.tsx,*.css,*.less,*.scss,*.json,*.graphql,*.md,*.vue,*.yaml,*.html PrettierAsync + autocmd BufWritePre *.js,*.jsx,*.mjs,*.ts,*.tsx,*.css,*.less,*.scss,*.json,*.graphql,*.md,*.vue,*.svelte,*.yaml,*.html PrettierAsync < Running before saving, changing text or leaving insert mode: > " when running at every change you may want to disable quickfix let g:prettier#quickfix_enabled = 0 - autocmd BufWritePre,TextChanged,InsertLeave *.js,*.jsx,*.mjs,*.ts,*.tsx,*.css,*.less,*.scss,*.json,*.graphql,*.md,*.vue,*.yaml,*.html PrettierAsync + autocmd BufWritePre,TextChanged,InsertLeave *.js,*.jsx,*.mjs,*.ts,*.tsx,*.css,*.less,*.scss,*.json,*.graphql,*.md,*.vue,*.svelte,*.yaml,*.html PrettierAsync < Buffer-level custom commands diff --git a/ftdetect/svelte.vim b/ftdetect/svelte.vim new file mode 100644 index 0000000..14560cb --- /dev/null +++ b/ftdetect/svelte.vim @@ -0,0 +1,3 @@ +augroup PrettierFileDetect + autocmd BufNewFile,BufReadPost *.svelte setfiletype svelte +augroup end diff --git a/ftplugin/svelte.vim b/ftplugin/svelte.vim new file mode 100644 index 0000000..529307e --- /dev/null +++ b/ftplugin/svelte.vim @@ -0,0 +1,3 @@ +let b:prettier_ft_default_args = { + \ 'parser': 'svelte', + \ } diff --git a/package.json b/package.json index 37f35e7..39f528d 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "@prettier/plugin-php": "^0.16.3", "@prettier/plugin-ruby": "^0.8.0", "@prettier/plugin-xml": "^0.7.2", + "prettier-plugin-svelte": "^2.3.1", "prettier": "^2.0.4" }, "devDependencies": { @@ -24,4 +25,4 @@ "jest": "^23.6.0", "vim-driver": "^1.0.0" } -} +} \ No newline at end of file diff --git a/plugin/prettier.vim b/plugin/prettier.vim index a49a2ad..b85195e 100644 --- a/plugin/prettier.vim +++ b/plugin/prettier.vim @@ -174,5 +174,5 @@ nnoremap (PrettierCliPath) :PrettierCliPath augroup Prettier autocmd! - autocmd BufWritePre *.js,*.jsx,*.mjs,*.ts,*.tsx,*.css,*.less,*.scss,*.json,*.graphql,*.gql,*.markdown,*.md,*.mdown,*.mkd,*.mkdn,*.mdx,*.vue,*.yml,*.yaml,*.html,*.php,*.rb,*.ruby,*.xml noautocmd call prettier#Autoformat() + autocmd BufWritePre *.js,*.jsx,*.mjs,*.ts,*.tsx,*.css,*.less,*.scss,*.json,*.graphql,*.gql,*.markdown,*.md,*.mdown,*.mkd,*.mkdn,*.mdx,*.vue,*.svelte,*.yml,*.yaml,*.html,*.php,*.rb,*.ruby,*.xml noautocmd call prettier#Autoformat() augroup end diff --git a/yarn.lock b/yarn.lock index 4d1f75e..cbf1235 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2655,6 +2655,11 @@ preserve@^0.2.0: resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks= +prettier-plugin-svelte@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/prettier-plugin-svelte/-/prettier-plugin-svelte-2.3.1.tgz#926184a490549688dbea0a8d61c1b1ae20218368" + integrity sha512-F1/r6OYoBq8Zgurhs1MN25tdrhPw0JW5JjioPRqpxbYdmrZ3gY/DzHGs0B6zwd4DLyRsfGB2gqhxUCbHt/D1fw== + prettier@>=1.10, prettier@^1.16.4: version "1.19.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz" -- cgit v1.3