From a441c9a8465e22a74397034875975e7638b7e357 Mon Sep 17 00:00:00 2001 From: Buddy Sandidge Date: Wed, 2 Sep 2015 01:13:38 -0700 Subject: [PATCH] Remove jsx vim plugin --- vim/bundle/jsx/.gitignore | 2 - vim/bundle/jsx/README.md | 59 ------- vim/bundle/jsx/autoload/jsx.vim | 217 ------------------------- vim/bundle/jsx/compiler/jsx.vim | 21 --- vim/bundle/jsx/ctags/jsx.conf | 7 - vim/bundle/jsx/example.jsx | 54 ------ vim/bundle/jsx/ftplugin/jsx.vim | 43 ----- vim/bundle/jsx/indent/jsx.vim | 13 -- vim/bundle/jsx/plugin/jsx.vim | 10 -- vim/bundle/jsx/screenshot.png | Bin 65076 -> 0 bytes vim/bundle/jsx/syntax/jsx.vim | 152 ----------------- vim/bundle/jsx/template/jsx-app.jsx | 11 -- vim/bundle/jsx/template/jsx-module.jsx | 25 --- vim/bundle/jsx/template/jsx-test.jsx | 11 -- 14 files changed, 625 deletions(-) delete mode 100644 vim/bundle/jsx/.gitignore delete mode 100644 vim/bundle/jsx/README.md delete mode 100644 vim/bundle/jsx/autoload/jsx.vim delete mode 100644 vim/bundle/jsx/compiler/jsx.vim delete mode 100644 vim/bundle/jsx/ctags/jsx.conf delete mode 100644 vim/bundle/jsx/example.jsx delete mode 100644 vim/bundle/jsx/ftplugin/jsx.vim delete mode 100644 vim/bundle/jsx/indent/jsx.vim delete mode 100644 vim/bundle/jsx/plugin/jsx.vim delete mode 100644 vim/bundle/jsx/screenshot.png delete mode 100644 vim/bundle/jsx/syntax/jsx.vim delete mode 100644 vim/bundle/jsx/template/jsx-app.jsx delete mode 100644 vim/bundle/jsx/template/jsx-module.jsx delete mode 100644 vim/bundle/jsx/template/jsx-test.jsx diff --git a/vim/bundle/jsx/.gitignore b/vim/bundle/jsx/.gitignore deleted file mode 100644 index b72f9be..0000000 --- a/vim/bundle/jsx/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -*~ -*.swp diff --git a/vim/bundle/jsx/README.md b/vim/bundle/jsx/README.md deleted file mode 100644 index 91d461c..0000000 --- a/vim/bundle/jsx/README.md +++ /dev/null @@ -1,59 +0,0 @@ -# NAME - -jsx.vim - VIM support for JSX - -# USAGE - -Set the following command in your `.vimrc`: - -```VimL - " add the repository path - set rtp+=/path/to/jsx.vim - - " when you use a plugin manager (vundle or NeoBundle), - " just declare the repository path in your .vimrc - - " for vundle - Bundle 'git://github.com/jsx/jsx.vim.git' - - " for NeoBundle - NeoBundle 'git://github.com/jsx/jsx.vim.git' -``` - -# KEY BINDINGS - -* `t` (i.e. `\t` by default) in normal mode executes the current test method -* `g:jsx_no_default_key_mappings` prevents default key mappings - -# CODE COMPLETION - -There is an experimental code completion invoked by omni function (^x^o) as an interface to jsx --complete. - -![screenshot](https://raw.github.com/jsx/jsx.vim/master/screenshot.png) - -# AUTHOR - -Fuji Goro (gfx) - -# COPYRIGHT AND LICENSE - -Copyright (c) 2012 DeNA, Co., Ltd (http://dena.jp/intl/). - -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/vim/bundle/jsx/autoload/jsx.vim b/vim/bundle/jsx/autoload/jsx.vim deleted file mode 100644 index 113d4b9..0000000 --- a/vim/bundle/jsx/autoload/jsx.vim +++ /dev/null @@ -1,217 +0,0 @@ -" Language: JSX -" Maintainer: Fuji, Goro (gfx) -" URL: http://github.com/jsx/jsx.vim -" License: MIT License -" -" JSX omni-complition function - -let s:save_cpo = &cpo -set cpo&vim - -let s:jsx_complete_ignore_syntax_type = { - \ "jsxComment" : 1, - \ "jsxLineComment" : 1, - \ "jsxStringD" : 1, - \ "jsxStringS" : 1, - \ "jsxRegExp" : 1 - \ } - -function! s:abbr(word, maxlen) abort - if strdisplaywidth(a:word) > a:maxlen - return a:word[0 : a:maxlen]. " ..." - else - return a:word - endif -endfunction - - -" borrowed from html.vim in https://github.com/mattn/webapi-vim - -function! s:nr2byte(nr) - if a:nr < 0x80 - return nr2char(a:nr) - elseif a:nr < 0x800 - return nr2char(a:nr/64+192).nr2char(a:nr%64+128) - else - return nr2char(a:nr/4096%16+224).nr2char(a:nr/64%64+128).nr2char(a:nr%64+128) - endif -endfunction - -function! s:nr2enc_char(charcode) - if &encoding == 'utf-8' - return nr2char(a:charcode) - endif - let char = s:nr2byte(a:charcode) - if strlen(char) > 1 - let char = strtrans(iconv(char, 'utf-8', &encoding)) - endif - return char -endfunction - -function! s:format_doc(str) abort - let str = a:str - - let str = substitute(str, '[ \t\r\n]*

[ \t\r\n]*', "\n", 'g') - let str = substitute(str, '<[^>]*>', '', 'g') - - let str = substitute(str, '>', '>', 'g') - let str = substitute(str, '<', '<', 'g') - let str = substitute(str, '"', '"', 'g') - let str = substitute(str, ''', "'", 'g') - let str = substitute(str, ' ', ' ', 'g') - let str = substitute(str, '&#\(\d\+\);', '\=s:nr2enc_char(submatch(1))', 'g') - let str = substitute(str, '&', '&', 'g') - - return str -endfunction - -function! s:add_to_info(candidate, sep, message) - if strlen(a:candidate.info) > 0 - let a:candidate.info = a:candidate.info . a:sep . a:message - else - let a:candidate.info = a:message - endif -endfunction - -function! s:current_word_starting_pos() abort - let line = getline('.') - let pos = col('.') - if pos == col('$') - let pos -= 1 - endif - if pos > 0 && line[pos - 1] =~ '\w' - while pos > 0 && line[pos - 1] =~ '\w' - let pos -= 1 - endwhile - endif - return pos -endfunction - - -function! s:get_data_source() - let input_content = join(getline(1, '$'), "\n") - - let command = printf('%s --input-filename %s --complete %d:%d -- -', - \ get(g:, 'jsx_command', 'jsx-with-server'), - \ shellescape(bufname('%')), - \ line('.'), col('.') - \) - - try - let ret = system(command, input_content) - sandbox let data_source = eval(ret) - catch - let data_source = [] - endtry - - return data_source -endfunction - -function! s:is_completion_for_this(base) - let this_pos = col('.') - len(a:base) - len("this.") - 1 - if this_pos >= 0 - return stridx(getline(".")[this_pos : ], "this.") == 0 - else - return 0 - endif -endfunction - -function! jsx#complete(findstart, base) abort - if a:findstart - " see :help complete-functions - if has_key(s:jsx_complete_ignore_syntax_type, synIDattr(synID(line('.'), col('.')-1, 0), "name")) - return -2 - endif - return s:current_word_starting_pos() - endif - - let data_source = s:get_data_source() - - let is_completion_for_this = s:is_completion_for_this(a:base) - - let max_menu_width = winwidth(winnr()) - \ - wincol() - \ - get(g:, 'jsx_complete_max_menu_width', 22) - - - let show_private = (len(a:base) > 0 && a:base[0] == "_") || is_completion_for_this - - let output = [] - for candidate in data_source - if stridx(candidate.word, a:base) != 0 - continue - endif - - if candidate.word[0] == "_" && !show_private - continue - endif - - " show overloaded functions - let candidate.dup = 1 - " show mis-cased candidates - let candidate.icase = 1 - - let candidate.info = "" - - " menu (extra information) - if has_key(candidate, "args") - " function type - let w = candidate.word . "(" . join(map(candidate.args, 'v:val.name . " : " . v:val.type'), ", ") . ")" - - let candidate.abbr = s:abbr(w, max_menu_width) - let candidate.menu = ": " . candidate.returnType - let candidate.info = w . " : " . candidate.returnType - elseif has_key(candidate, "type") - " variable type - let candidate.abbr = s:abbr(candidate.word, max_menu_width) - let candidate.menu = ": " . candidate.type - let candidate.info = "var " . candidate.word . " : " . candidate.type - endif - - if has_key(candidate, "doc") && strlen(candidate.doc) > 0 - call s:add_to_info(candidate, "\n", s:format_doc(candidate.doc)) - endif - - if has_key(candidate, "definedClass") - call s:add_to_info(candidate, "\n", "[" . candidate.definedClass . "]") - endif - - if strlen(candidate.info) == 0 - let candidate.info = candidate.word - endif - - call add(output, candidate) - endfor - return output -endfunction - -function! jsx#test_it() abort - let l = line('.') - let c = col('.') - - let pattern = '\(\C\ -endif - -let s:cpo_save = &cpo -set cpo&vim - -CompilerSet makeprg=jsx\ --test\ % -CompilerSet errorformat=[%f:%l:%c]\ %m - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/vim/bundle/jsx/ctags/jsx.conf b/vim/bundle/jsx/ctags/jsx.conf deleted file mode 100644 index 8219f5a..0000000 --- a/vim/bundle/jsx/ctags/jsx.conf +++ /dev/null @@ -1,7 +0,0 @@ ---langdef=JSX ---langmap=jsx:.jsx ---regex-jsx=/^[ \t]*import[ \t]+([^;]+)/\1/r,import,imports/ ---regex-jsx=/^[ \t]*([a-z]+[ \t]+)*function[ \t]+([A-Za-z0-9_]+[ \t]*[^{;]*)/\2/f,function,functions/ ---regex-jsx=/^[ \t]*([a-z]+[ \t]+)*class[ \t]+([A-Za-z0-9_]+)[ \t]*([^)])/\2/c,class,classes/ ---regex-jsx=/^[ \t]*([a-z]+[ \t]+)*interface[ \t]+([A-Za-z0-9_]+)[ \t]*([^)])/\2/i,interface,interfaces/ ---regex-jsx=/^[ \t]*([a-z]+[ \t]+)*mixin[ \t]+([A-Za-z0-9_]+)[ \t]*([^)])/\2/m,mixin,mixins/ diff --git a/vim/bundle/jsx/example.jsx b/vim/bundle/jsx/example.jsx deleted file mode 100644 index 360fa04..0000000 --- a/vim/bundle/jsx/example.jsx +++ /dev/null @@ -1,54 +0,0 @@ -interface I { - abstract function foo(a : int) : void; -} -mixin M implements I { - override function foo(a : int) : void { - log a; - } -} - -class _Main { - static function main(args : string[]) : void { - var i0 = 0xabcdef; - var i0 = 0XABCDEF; - - var n0 = 3.14; - var n1 = 1e100; - var n2 = 1e+10; - var n3 = 1e-10; - - var r0 = /foo/; - var r1 = /foo/m; - var r2 = /foo/i; - var r3 = /foo/g; - var r4 = /foo/gim; - var r5 = /\bfoo\b/; - - var a0xff = -0; - var a1e10 = +0; - - var s0 = "\x0a\x0d"; - var s1 = "\u000d"; - - var ms = """ - foo - bar - """; - - log true; - log false; - log null; - log Infinity; - log NaN; - - try { - throw new Error(); - } - catch (e : Error) { - - } - finally { - log "finally"; - } - } -} diff --git a/vim/bundle/jsx/ftplugin/jsx.vim b/vim/bundle/jsx/ftplugin/jsx.vim deleted file mode 100644 index 570e71d..0000000 --- a/vim/bundle/jsx/ftplugin/jsx.vim +++ /dev/null @@ -1,43 +0,0 @@ -" Language: JSX -" Maintainer: Fuji, Goro (gfx) -" URL: http://github.com/jsx/jsx.vim -" License: MIT License -" - -setlocal omnifunc=jsx#complete - -nnoremap (jsx-test) :call jsx#test_it() - -if !get(g:, 'jsx_no_default_key_mappings', 0) - nmap t (jsx-test) -endif - -compiler jsx - -" Tagbar http://majutsushi.github.com/tagbar/ -let g:tagbar_type_jsx = {} -let g:tagbar_type_jsx.ctagstype = "jsx" -let g:tagbar_type_jsx.kinds = [ - \ 'r:imports', - \ 'i:interfaces', - \ 'm:mixins', - \ 'c:classes', - \ 'f:functions' -\ ] -let g:tagbar_type_jsx.sro = '.' - -"let g:tagbar_type_jsx.kind2scope = { -" \ 'i' : 'interface', -" \ 'm' : 'mixin', -" \ 'c' : 'class' -"\ } -"let g:tagbar_type_jsx.scope2kind = { -" \ 'interface' : 'i', -" \ 'mixin' : 'm', -" \ 'class' : 'c' -"\ } - -let g:tagbar_type_jsx.sort = 0 -let g:tagbar_type_jsx.deffile = expand(':p:h:h') . '/ctags/jsx.conf' -" End of Tagbar setting - diff --git a/vim/bundle/jsx/indent/jsx.vim b/vim/bundle/jsx/indent/jsx.vim deleted file mode 100644 index 5769e56..0000000 --- a/vim/bundle/jsx/indent/jsx.vim +++ /dev/null @@ -1,13 +0,0 @@ -" Vim indent file -" Language: JSX -" Maintainer: - -if exists("b:did_indent") - finish -endif -let b:did_indent = 1 - -setlocal cindent -setlocal cinoptions+=j1,J1 - -let b:undo_indent = "setl cin<" diff --git a/vim/bundle/jsx/plugin/jsx.vim b/vim/bundle/jsx/plugin/jsx.vim deleted file mode 100644 index 99a0569..0000000 --- a/vim/bundle/jsx/plugin/jsx.vim +++ /dev/null @@ -1,10 +0,0 @@ -" Language: JSX -" Maintainer: Fuji, Goro (gfx) -" URL: http://github.com/jsx/jsx.vim -" License: MIT License - -autocmd! BufRead,BufNewFile *.{jsx,jx} setlocal filetype=jsx - -autocmd! BufNewFile *.jsx 0r :h/../template/jsx-app.jsx -autocmd! BufNewFile lib/*.jsx 0r :h/../template/jsx-module.jsx -autocmd! BufNewFile t/*.jsx 0r :h/../template/jsx-test.jsx diff --git a/vim/bundle/jsx/screenshot.png b/vim/bundle/jsx/screenshot.png deleted file mode 100644 index 53da9dd7b16bf39ec63d3df450f994f592139376..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65076 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%0Aoh(* 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 -" URL: http://github.com/jsx/jsx.vim -" License: MIT License - -" For version 5.x: Clear all syntax items -" For version 6.x: Quit when a syntax file was already loaded -" tuning parameters: - -if !exists("main_syntax") - if version < 600 - syntax clear - elseif exists("b:current_syntax") - finish - endif - let main_syntax = 'jsx' -endif - -" Drop fold if it set but vim doesn't support it. -if version < 600 && exists("jsx_fold") - unlet jsx_fold -endif - -" jsx -syn keyword jsxCommentTodo contained TODO FIXME XXX TBD -syn match jsxLineComment "\/\/.*" contains=@Spell,jsxCommentTodo -syn match jsxCommentSkip "^[ \t]*\*\($\|[ \t]\+\)" -syn region jsxComment start="/\*" end="\*/" contains=@Spell,jsxCommentTodo - -syn match jsxEscape /\\x\x\{2\}\|\\u\x\{4\}\|\\./ -syn region jsxString start=+"+ skip=+\\\\\|\\"+ end=+"\|$+ contains=jsxEscape,@Special -syn region jsxString start=+'+ skip=+\\\\\|\\'+ end=+'\|$+ contains=jsxEscape,@htmlPreproc -syn region jsxString start=+"""+ end=+"""+ keepend contains=jsxEscape,@htmlPreproc -syn region jsxString start=+'''+ end=+'''+ keepend contains=jsxEscape,@htmlPreproc -" 15.10.1 Patterns (ECMA 262 5th) -syn match jsxRegExpMeta /\\[\\bwWsSdD]/ -syn region jsxRegExp start=+/[^/*]+me=e-1 skip=+\\\\\|\\/+ end=+/[gim]*\s*$+ end=+/[gim]*\s*[;.,)\]}]+me=e-1 contains=@htmlPreproc,jsxRegExpMeta,jsxEscape oneline - -" see the JSX parser -syn match jsxInteger /\<\d\+\>\|\<0[xX][0-9a-fA-F]\+\>/ -syn match jsxFloat /\<\%(\d\+\.\d\+\|\d\+\.\|\.\d\+\)\%([eE][+-]\=\d\+\)\=\>/ -syn match jsxFloatX /\<\d\+\%([eE][+-]\=\d\+\)\>/ -syn keyword jsxSpecialNumbers NaN Infinity - -syn keyword jsxConditional if else switch -syn keyword jsxRepeat while for do -syn keyword jsxBranch break continue -syn keyword jsxOperator new delete in instanceof typeof as __noconvert__ -syn keyword jsxType Array boolean Boolean Date number Number Map int Object string String RegExp JSON Nullable variant void JSX Transferable ArrayBuffer ArrayBufferView Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array DataView - -syn keyword jsxException Error EvalError RangeError ReferenceError SyntaxError TypeError URIError -syn keyword jsxStatement return var const yield -syn keyword jsxBoolean true false -syn keyword jsxNull null -syn keyword jsxIdentifier this super __FILE__ __LINE__ -syn keyword jsxLabel case default -syn keyword jsxException try catch finally throw -syn keyword jsxClass class interface mixin -syn keyword jsxModifiers final override native __fake__ extends abstract static implements __readonly__ __pure__ -syn keyword jsxImport import from into -syn keyword jsxEntryPoint _Main _Test -" reserved by ECMA-262 but not used in JSX -syn keyword jsxReserved enum export let private public protected arguments with -" reserved by Google Closure Compiler -" defined in src/com/google/javascript/rhino/TokenStream.java -syn keyword jsxGCCReserved byte char double float long short goto synchronized throws transient volatile -syn keyword jsxDebug debugger assert log - -" jsxdoc -syn region jsxDocComment start="/\*\*" end="\*/" contains=@Spell,jsxDocTags,jsxCommentTodo -syn match jsxDocTags contained /@\(param\|return\)\>/ -syn match jsxDocTags contained /@\(see\|deprecated\|since\)\>/ -syn match jsxDocTags contained /@\(author\|version\)\>/ - -if exists("jsx_fold") - syn match jsxFunction "\" - syn region jsxFunctionFold start="\.*[^};]$" end="^\z1}.*$" transparent fold keepend - - syn sync match jsxSync grouphere jsxFunctionFold "\" - syn sync match jsxSync grouphere NONE "^}" - - setlocal foldmethod=syntax - setlocal foldtext=getline(v:foldstart) -else - syn keyword jsxFunction function - syn match jsxBraces "[{}\[\]]" - syn match jsxParens "[()]" -endif - -syn sync fromstart -syn sync maxlines=100 - -if main_syntax == "jsx" - syn sync ccomment jsxComment -endif - -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_jsx_syn_inits") - if version < 508 - let did_jsx_syn_inits = 1 - command -nargs=+ HiLink hi link - else - command -nargs=+ HiLink hi def link - endif - - HiLink jsxDocComment Comment - HiLink jsxDocTags Special - HiLink jsxComment Comment - HiLink jsxLineComment Comment - HiLink jsxCommentTodo Todo - HiLink jsxEscape Special - HiLink jsxString String - HiLink jsxInteger Number - HiLink jsxFloat Number - HiLink jsxFloatX Number - HiLink jsxSpecialNumbers Number - HiLink jsxConditional Conditional - HiLink jsxRepeat Repeat - HiLink jsxBranch Conditional - HiLink jsxOperator Operator - HiLink jsxType Type - HiLink jsxStatement Statement - HiLink jsxFunction Function - HiLink jsxBraces Function - HiLink jsxNull Constant - HiLink jsxBoolean Boolean - HiLink jsxRegExp String - - HiLink jsxIdentifier Identifier - HiLink jsxLabel Label - HiLink jsxException Exception - HiLink jsxClass Structure - HiLink jsxModifiers Structure - HiLink jsxImport Special - HiLink jsxEntryPoint Keyword - HiLink jsxReserved Error - HiLink jsxGCCReserved Error - HiLink jsxDebug Debug - - delcommand HiLink -endif - -let b:current_syntax = 'jsx' -if main_syntax == 'jsx' - unlet main_syntax -endif - -" vim: ts=8 -" vim: noexpandtab diff --git a/vim/bundle/jsx/template/jsx-app.jsx b/vim/bundle/jsx/template/jsx-app.jsx deleted file mode 100644 index 93a2cd1..0000000 --- a/vim/bundle/jsx/template/jsx-app.jsx +++ /dev/null @@ -1,11 +0,0 @@ -/*** - * A JSX application. - */ - -class _Main { - static function main(args : string[]) : void { - log "Hello, world!"; - } -} - -// vim: set tabstop=2 shiftwidth=2 expandtab: diff --git a/vim/bundle/jsx/template/jsx-module.jsx b/vim/bundle/jsx/template/jsx-module.jsx deleted file mode 100644 index 472c7aa..0000000 --- a/vim/bundle/jsx/template/jsx-module.jsx +++ /dev/null @@ -1,25 +0,0 @@ -/*** - * A JSX module. - */ - -/** - * The class of this module. - */ -class Foo { - - /** - * The constructor. - */ - function constructor() { - } - - /** - * Do nothing. - */ - function method() : void { - - } -} - -// vim: set tabstop=2 shiftwidth=2 expandtab: - diff --git a/vim/bundle/jsx/template/jsx-test.jsx b/vim/bundle/jsx/template/jsx-test.jsx deleted file mode 100644 index 3f518f0..0000000 --- a/vim/bundle/jsx/template/jsx-test.jsx +++ /dev/null @@ -1,11 +0,0 @@ -import "test-case.jsx"; - -class _Test extends TestCase { - function testHello() : void { - var got = "foo bar"; - this.expect(got).toBe("Hello, world!"); - } -} - -// vim: set tabstop=2 shiftwidth=2 expandtab: -