From be092d6f430ca802d7200e68a5c987195bccd0e9 Mon Sep 17 00:00:00 2001 From: Adam Stankiewicz Date: Thu, 10 Sep 2020 12:18:29 +0200 Subject: Fix jsx indentation, closes #543 --- after/ftplugin/javascript-1.vim | 16 ++++++++++++++ after/ftplugin/javascript-2.vim | 9 ++++++++ after/ftplugin/javascript.vim | 28 +++--------------------- after/indent/javascript.vim | 47 ----------------------------------------- after/indent/typescript.vim | 47 ----------------------------------------- 5 files changed, 28 insertions(+), 119 deletions(-) create mode 100644 after/ftplugin/javascript-1.vim create mode 100644 after/ftplugin/javascript-2.vim delete mode 100644 after/indent/typescript.vim (limited to 'after') diff --git a/after/ftplugin/javascript-1.vim b/after/ftplugin/javascript-1.vim new file mode 100644 index 00000000..9f6c9314 --- /dev/null +++ b/after/ftplugin/javascript-1.vim @@ -0,0 +1,16 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'javascript') == -1 + +" Vim filetype plugin file +" Language: JavaScript +" Maintainer: vim-javascript community +" URL: https://github.com/pangloss/vim-javascript + +setlocal iskeyword+=$ suffixesadd+=.js + +if exists('b:undo_ftplugin') + let b:undo_ftplugin .= ' | setlocal iskeyword< suffixesadd<' +else + let b:undo_ftplugin = 'setlocal iskeyword< suffixesadd<' +endif + +endif diff --git a/after/ftplugin/javascript-2.vim b/after/ftplugin/javascript-2.vim new file mode 100644 index 00000000..2992e942 --- /dev/null +++ b/after/ftplugin/javascript-2.vim @@ -0,0 +1,9 @@ +if !exists('g:polyglot_disabled') || (index(g:polyglot_disabled, 'javascript') == -1 && index(g:polyglot_disabled, 'jsx') == -1) + +if get(g:, 'vim_jsx_pretty_disable_js', 0) + finish +endif + +source :h/jsx.vim + +endif diff --git a/after/ftplugin/javascript.vim b/after/ftplugin/javascript.vim index 8ff3938a..e3d355fc 100644 --- a/after/ftplugin/javascript.vim +++ b/after/ftplugin/javascript.vim @@ -1,25 +1,3 @@ -if !exists('g:polyglot_disabled') || (index(g:polyglot_disabled, 'javascript') == -1 && index(g:polyglot_disabled, 'jsx') == -1) - -if get(g:, 'vim_jsx_pretty_disable_js', 0) - finish -endif - -source :h/jsx.vim - -endif -if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'javascript') == -1 - -" Vim filetype plugin file -" Language: JavaScript -" Maintainer: vim-javascript community -" URL: https://github.com/pangloss/vim-javascript - -setlocal iskeyword+=$ suffixesadd+=.js - -if exists('b:undo_ftplugin') - let b:undo_ftplugin .= ' | setlocal iskeyword< suffixesadd<' -else - let b:undo_ftplugin = 'setlocal iskeyword< suffixesadd<' -endif - -endif +" Polyglot metafile +source :h/javascript-1.vim +source :h/javascript-2.vim diff --git a/after/indent/javascript.vim b/after/indent/javascript.vim index 0add1da1..2992e942 100644 --- a/after/indent/javascript.vim +++ b/after/indent/javascript.vim @@ -1,50 +1,3 @@ -if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'graphql') == -1 - -" Copyright (c) 2016-2020 Jon Parise -" -" 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. -" -" Language: GraphQL -" Maintainer: Jon Parise - -runtime! indent/graphql.vim - -" Don't redefine our function and also require the standard Javascript indent -" function to exist. -if exists('*GetJavascriptGraphQLIndent') || !exists('*GetJavascriptIndent') - finish -endif - -" Set the indentexpr with our own version that will call GetGraphQLIndent when -" we're inside of a GraphQL string and otherwise defer to GetJavascriptIndent. -setlocal indentexpr=GetJavascriptGraphQLIndent() - -function GetJavascriptGraphQLIndent() - let l:stack = map(synstack(v:lnum, 1), "synIDattr(v:val,'name')") - if !empty(l:stack) && l:stack[0] ==# 'graphqlTemplateString' - return GetGraphQLIndent() - endif - - return GetJavascriptIndent() -endfunction - -endif if !exists('g:polyglot_disabled') || (index(g:polyglot_disabled, 'javascript') == -1 && index(g:polyglot_disabled, 'jsx') == -1) if get(g:, 'vim_jsx_pretty_disable_js', 0) diff --git a/after/indent/typescript.vim b/after/indent/typescript.vim deleted file mode 100644 index 968517c8..00000000 --- a/after/indent/typescript.vim +++ /dev/null @@ -1,47 +0,0 @@ -if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'graphql') == -1 - -" Copyright (c) 2016-2020 Jon Parise -" -" 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. -" -" Language: GraphQL -" Maintainer: Jon Parise - -runtime! indent/graphql.vim - -" Don't redefine our function and also require the standard Typescript indent -" function to exist. -if exists('*GetTypescriptGraphQLIndent') || !exists('*GetTypescriptIndent') - finish -endif - -" Set the indentexpr with our own version that will call GetGraphQLIndent when -" we're inside of a GraphQL string and otherwise defer to GetTypescriptIndent. -setlocal indentexpr=GetTypescriptGraphQLIndent() - -function GetTypescriptGraphQLIndent() - let l:stack = map(synstack(v:lnum, 1), "synIDattr(v:val,'name')") - if !empty(l:stack) && l:stack[0] ==# 'graphqlTemplateString' - return GetGraphQLIndent() - endif - - return GetTypescriptIndent() -endfunction - -endif -- cgit v1.2.3