diff options
author | Adam Stankiewicz <sheerun@sher.pl> | 2020-10-24 16:34:21 +0200 |
---|---|---|
committer | Adam Stankiewicz <sheerun@sher.pl> | 2020-10-24 16:34:29 +0200 |
commit | 73245289847c4e806e9bc20b7382f2a46eb9337c (patch) | |
tree | e2539857fec2ca81c08c3f17073162fb92efb15c | |
parent | 0a2f2cc04d39f996d5afcdbc99f5b4190f094bbb (diff) | |
download | vim-polyglot-73245289847c4e806e9bc20b7382f2a46eb9337c.tar.gz vim-polyglot-73245289847c4e806e9bc20b7382f2a46eb9337c.zip |
Fix detecting shell filetypes, closes #603
-rw-r--r-- | after/syntax/c.vim | 3 | ||||
-rw-r--r-- | extras/filetype.vim | 104 | ||||
-rwxr-xr-x | scripts/build | 1 | ||||
-rw-r--r-- | syntax/qml.vim | 2 |
4 files changed, 56 insertions, 54 deletions
diff --git a/after/syntax/c.vim b/after/syntax/c.vim index 821350c3..80501e19 100644 --- a/after/syntax/c.vim +++ b/after/syntax/c.vim @@ -7,7 +7,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cpp-modern') == " http://www.vim.org/scripts/script.php?script_id=3064 " Maintainer: bfrg <bfrg@users.noreply.github.com> " Website: https://github.com/bfrg/vim-cpp-modern -" Last Change: Oct 22, 2020 +" Last Change: Oct 23, 2020 " " Extended C syntax highlighting including highlighting of user-defined " functions. @@ -63,6 +63,7 @@ hi def link cAnsiName Identifier if get(g:, 'cpp_simple_highlight', 0) hi link cStorageClass Statement hi link cStructure Statement + hi link cTypedef Statement hi link cLabel Statement endif diff --git a/extras/filetype.vim b/extras/filetype.vim index dbc797f8..feb30448 100644 --- a/extras/filetype.vim +++ b/extras/filetype.vim @@ -54,7 +54,7 @@ endfunc au BufNewFile,BufRead $VIMRUNTIME/doc/*.txt setf help " Abaqus or Trasys -au BufNewFile,BufRead *.inp call dist#ft#Check_inp() +au BufNewFile,BufRead *.inp call polyglot#ft#Check_inp() " 8th (Firth-derivative) au BufNewFile,BufRead *.8th setf 8th @@ -160,7 +160,7 @@ au BufNewFile,BufRead */boot/grub/menu.lst,*/boot/grub/grub.conf,*/etc/grub.conf " Assembly (all kinds) " *.lst is not pure assembly, it has two extra columns (address, byte codes) -au BufNewFile,BufRead *.asm,*.[sS],*.[aA],*.mac,*.lst call dist#ft#FTasm() +au BufNewFile,BufRead *.asm,*.[sS],*.[aA],*.mac,*.lst call polyglot#ft#FTasm() " Macro (VAX) au BufNewFile,BufRead *.mar setf vmasm @@ -190,7 +190,7 @@ au BufNewFile,BufRead *.awk,*.gawk setf awk au BufNewFile,BufRead *.mch,*.ref,*.imp setf b " BASIC or Visual Basic -au BufNewFile,BufRead *.bas call dist#ft#FTVB("basic") +au BufNewFile,BufRead *.bas call polyglot#ft#FTVB("basic") " Visual Basic Script (close to Visual Basic) or Visual Basic .NET au BufNewFile,BufRead *.vb,*.vbs,*.dsm,*.ctl setf vb @@ -208,7 +208,7 @@ au BufNewFile,BufRead *.cmd \ if getline(1) =~ '^/\*' | setf rexx | else | setf dosbatch | endif " Batch file for 4DOS -au BufNewFile,BufRead *.btm call dist#ft#FTbtm() +au BufNewFile,BufRead *.btm call polyglot#ft#FTbtm() " BC calculator au BufNewFile,BufRead *.bc setf bc @@ -228,7 +228,7 @@ au BufNewFile,BufRead named*.conf,rndc*.conf,rndc*.key setf named " BIND zone au BufNewFile,BufRead named.root setf bindzone -au BufNewFile,BufRead *.db call dist#ft#BindzoneCheck('') +au BufNewFile,BufRead *.db call polyglot#ft#BindzoneCheck('') " Blank au BufNewFile,BufRead *.bl setf blank @@ -247,7 +247,7 @@ if has("fname_case") endif " C or lpc -au BufNewFile,BufRead *.c call dist#ft#FTlpc() +au BufNewFile,BufRead *.c call polyglot#ft#FTlpc() au BufNewFile,BufRead *.lpc,*.ulpc setf lpc " Calendar @@ -302,7 +302,7 @@ endif " .h files can be C, Ch C++, ObjC or ObjC++. " Set c_syntax_for_h if you want C, ch_syntax_for_h if you want Ch. ObjC is " detected automatically. -au BufNewFile,BufRead *.h call dist#ft#FTheader() +au BufNewFile,BufRead *.h call polyglot#ft#FTheader() " Ch (CHscript) au BufNewFile,BufRead *.chf setf ch @@ -336,7 +336,7 @@ au BufNewFile,BufRead NEWS au BufNewFile,BufRead *..ch setf chill " Changes for WEB and CWEB or CHILL -au BufNewFile,BufRead *.ch call dist#ft#FTchange() +au BufNewFile,BufRead *.ch call polyglot#ft#FTchange() " ChordPro au BufNewFile,BufRead *.chopro,*.crd,*.cho,*.crdpro,*.chordpro setf chordpro @@ -348,7 +348,7 @@ au BufNewFile,BufRead *.dcl,*.icl setf clean au BufNewFile,BufRead *.eni setf cl " Clever or dtd -au BufNewFile,BufRead *.ent call dist#ft#FTent() +au BufNewFile,BufRead *.ent call polyglot#ft#FTent() " Clipper (or FoxPro; could also be eviews) au BufNewFile,BufRead *.prg @@ -403,9 +403,9 @@ au BufNewFile,BufRead *enlightenment/*.cfg setf c au BufNewFile,BufRead *Eterm/*.cfg setf eterm " Euphoria 3 or 4 -au BufNewFile,BufRead *.eu,*.ew,*.ex,*.exu,*.exw call dist#ft#EuphoriaCheck() +au BufNewFile,BufRead *.eu,*.ew,*.ex,*.exu,*.exw call polyglot#ft#EuphoriaCheck() if has("fname_case") - au BufNewFile,BufRead *.EU,*.EW,*.EX,*.EXU,*.EXW call dist#ft#EuphoriaCheck() + au BufNewFile,BufRead *.EU,*.EW,*.EX,*.EXU,*.EXW call polyglot#ft#EuphoriaCheck() endif " Lynx config files @@ -462,7 +462,7 @@ au BufNewFile,BufRead */etc/dnsmasq.conf setf dnsmasq au BufNewFile,BufRead *.desc setf desc " the D language or dtrace -au BufNewFile,BufRead *.d call dist#ft#DtraceCheck() +au BufNewFile,BufRead *.d call polyglot#ft#DtraceCheck() " Desktop files au BufNewFile,BufRead *.desktop,*.directory setf desktop @@ -494,7 +494,7 @@ au BufNewFile,BufRead *.rul \ endif " DCL (Digital Command Language - vms) or DNS zone file -au BufNewFile,BufRead *.com call dist#ft#BindzoneCheck('dcl') +au BufNewFile,BufRead *.com call polyglot#ft#BindzoneCheck('dcl') " DOT au BufNewFile,BufRead *.dot,*.gv setf dot @@ -542,7 +542,7 @@ au BufNewFile,BufRead .editorconfig setf dosini au BufNewFile,BufRead *.ecd setf ecd " Eiffel or Specman or Euphoria -au BufNewFile,BufRead *.e,*.E call dist#ft#FTe() +au BufNewFile,BufRead *.e,*.E call polyglot#ft#FTe() " Elinks configuration au BufNewFile,BufRead elinks.conf setf elinks @@ -720,7 +720,7 @@ au BufRead,BufNewFile *.hws setf hollywood au BufNewFile,BufRead *.t.html setf tilde " HTML (.shtml and .stm for server side) -au BufNewFile,BufRead *.html,*.htm,*.shtml,*.stm call dist#ft#FThtml() +au BufNewFile,BufRead *.html,*.htm,*.shtml,*.stm call polyglot#ft#FThtml() " HTML with Ruby - eRuby au BufNewFile,BufRead *.erb,*.rhtml setf eruby @@ -747,7 +747,7 @@ au BufNewFile,BufRead *.htt,*.htb setf httest au BufNewFile,BufRead *.icn setf icon " IDL (Interface Description Language) -au BufNewFile,BufRead *.idl call dist#ft#FTidl() +au BufNewFile,BufRead *.idl call polyglot#ft#FTidl() " Microsoft IDL (Interface Description Language) Also *.idl " MOF = WMI (Windows Management Instrumentation) Managed Object Format @@ -758,10 +758,10 @@ au BufNewFile,BufRead */.icewm/menu setf icemenu " Indent profile (must come before IDL *.pro!) au BufNewFile,BufRead .indent.pro setf indent -au BufNewFile,BufRead indent.pro call dist#ft#ProtoCheck('indent') +au BufNewFile,BufRead indent.pro call polyglot#ft#ProtoCheck('indent') " IDL (Interactive Data Language) -au BufNewFile,BufRead *.pro call dist#ft#ProtoCheck('idlang') +au BufNewFile,BufRead *.pro call polyglot#ft#ProtoCheck('idlang') " Indent RC au BufNewFile,BufRead indentrc setf indent @@ -981,7 +981,7 @@ au BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,*.mdwn,*.md setf markdown au BufNewFile,BufRead *.mason,*.mhtml,*.comp setf mason " Mathematica, Matlab, Murphi or Objective C -au BufNewFile,BufRead *.m call dist#ft#FTm() +au BufNewFile,BufRead *.m call polyglot#ft#FTm() " Mathematica notebook au BufNewFile,BufRead *.nb setf mma @@ -1014,7 +1014,7 @@ au BufNewFile,BufRead *.mgl setf mgl au BufNewFile,BufRead *.mix,*.mixal setf mix " MMIX or VMS makefile -au BufNewFile,BufRead *.mms call dist#ft#FTmms() +au BufNewFile,BufRead *.mms call polyglot#ft#FTmms() " Symbian meta-makefile definition (MMP) au BufNewFile,BufRead *.mmp setf mmp @@ -1105,10 +1105,10 @@ au BufNewFile,BufRead *.me \ setf nroff | \ endif au BufNewFile,BufRead *.tr,*.nr,*.roff,*.tmac,*.mom setf nroff -au BufNewFile,BufRead *.[1-9] call dist#ft#FTnroff() +au BufNewFile,BufRead *.[1-9] call polyglot#ft#FTnroff() " Nroff or Objective C++ -au BufNewFile,BufRead *.mm call dist#ft#FTmm() +au BufNewFile,BufRead *.mm call polyglot#ft#FTmm() " Not Quite C au BufNewFile,BufRead *.nqc setf nqc @@ -1175,9 +1175,9 @@ au BufNewFile,BufRead *.pcmk setf pcmk " Perl if has("fname_case") - au BufNewFile,BufRead *.pl,*.PL call dist#ft#FTpl() + au BufNewFile,BufRead *.pl,*.PL call polyglot#ft#FTpl() else - au BufNewFile,BufRead *.pl call dist#ft#FTpl() + au BufNewFile,BufRead *.pl call polyglot#ft#FTpl() endif au BufNewFile,BufRead *.plx,*.al,*.psgi setf perl au BufNewFile,BufRead *.p6,*.pm6,*.pl6 setf perl6 @@ -1253,7 +1253,7 @@ au BufNewFile,BufRead *.pov setf pov au BufNewFile,BufRead .povrayrc setf povini " Povray, PHP or assembly -au BufNewFile,BufRead *.inc call dist#ft#FTinc() +au BufNewFile,BufRead *.inc call polyglot#ft#FTinc() " Printcap and Termcap au BufNewFile,BufRead *printcap @@ -1282,13 +1282,13 @@ au BufNewFile,BufRead *.action setf privoxy au BufNewFile,BufRead .procmail,.procmailrc setf procmail " Progress or CWEB -au BufNewFile,BufRead *.w call dist#ft#FTprogress_cweb() +au BufNewFile,BufRead *.w call polyglot#ft#FTprogress_cweb() " Progress or assembly -au BufNewFile,BufRead *.i call dist#ft#FTprogress_asm() +au BufNewFile,BufRead *.i call polyglot#ft#FTprogress_asm() " Progress or Pascal -au BufNewFile,BufRead *.p call dist#ft#FTprogress_pascal() +au BufNewFile,BufRead *.p call polyglot#ft#FTprogress_pascal() " Software Distributor Product Specification File (POSIX 1387.2-1995) au BufNewFile,BufRead *.psf setf psf @@ -1371,7 +1371,7 @@ else endif " Rexx, Rebol or R -au BufNewFile,BufRead *.r,*.R call dist#ft#FTr() +au BufNewFile,BufRead *.r,*.R call polyglot#ft#FTr() " Remind au BufNewFile,BufRead .reminders,*.remind,*.rem setf remind @@ -1467,7 +1467,7 @@ au BufNewFile,BufRead *.siv,*.sieve setf sieve au BufNewFile,BufRead sendmail.cf setf sm " Sendmail .mc files are actually m4. Could also be MS Message text file. -au BufNewFile,BufRead *.mc call dist#ft#McSetf() +au BufNewFile,BufRead *.mc call polyglot#ft#McSetf() " Services au BufNewFile,BufRead */etc/services setf services @@ -1508,9 +1508,9 @@ au BufNewFile,BufRead catalog setf catalog " Shell scripts (sh, ksh, bash, bash2, csh); Allow .profile_foo etc. " Gentoo ebuilds and Arch Linux PKGBUILDs are actually bash scripts " NOTE: Patterns ending in a star are further down, these have lower priority. -au BufNewFile,BufRead .bashrc,bashrc,bash.bashrc,.bash[_-]profile,.bash[_-]logout,.bash[_-]aliases,bash-fc[-.],*.bash,*/{,.}bash[_-]completion{,.d,.sh}{,/*},*.ebuild,*.eclass,PKGBUILD call dist#ft#SetFileTypeSH("bash") -au BufNewFile,BufRead .kshrc,*.ksh call dist#ft#SetFileTypeSH("ksh") -au BufNewFile,BufRead */etc/profile,.profile,*.sh,*.env call dist#ft#SetFileTypeSH(getline(1)) +au BufNewFile,BufRead .bashrc,bashrc,bash.bashrc,.bash[_-]profile,.bash[_-]logout,.bash[_-]aliases,bash-fc[-.],*.bash,*/{,.}bash[_-]completion{,.d,.sh}{,/*},*.ebuild,*.eclass,PKGBUILD call polyglot#ft#SetFileTypeSH("bash") +au BufNewFile,BufRead .kshrc,*.ksh call polyglot#ft#SetFileTypeSH("ksh") +au BufNewFile,BufRead */etc/profile,.profile,*.sh,*.env call polyglot#ft#SetFileTypeSH(getline(1)) " Shell script (Arch Linux) or PHP file (Drupal) @@ -1518,15 +1518,15 @@ au BufNewFile,BufRead *.install \ if getline(1) =~ '<?php' | \ setf php | \ else | - \ call dist#ft#SetFileTypeSH("bash") | + \ call polyglot#ft#SetFileTypeSH("bash") | \ endif " tcsh scripts (patterns ending in a star further below) -au BufNewFile,BufRead .tcshrc,*.tcsh,tcsh.tcshrc,tcsh.login call dist#ft#SetFileTypeShell("tcsh") +au BufNewFile,BufRead .tcshrc,*.tcsh,tcsh.tcshrc,tcsh.login call polyglot#ft#SetFileTypeShell("tcsh") " csh scripts, but might also be tcsh scripts (on some systems csh is tcsh) " (patterns ending in a start further below) -au BufNewFile,BufRead .login,.cshrc,csh.cshrc,csh.login,csh.logout,*.csh,.alias call dist#ft#CSH() +au BufNewFile,BufRead .login,.cshrc,csh.cshrc,csh.login,csh.logout,*.csh,.alias call polyglot#ft#CSH() " Z-Shell script (patterns ending in a star further below) au BufNewFile,BufRead .zprofile,*/etc/zprofile,.zfbfmarks setf zsh @@ -1597,7 +1597,7 @@ au BufNewFile,BufRead *.mib,*.my setf mib " Snort Configuration au BufNewFile,BufRead *.hog,snort.conf,vision.conf setf hog -au BufNewFile,BufRead *.rules call dist#ft#FTRules() +au BufNewFile,BufRead *.rules call polyglot#ft#FTRules() " Spec (Linux RPM) au BufNewFile,BufRead *.spec setf spec @@ -1621,7 +1621,7 @@ au BufNewFile,BufRead squid.conf setf squid au BufNewFile,BufRead *.tyb,*.typ,*.tyc,*.pkb,*.pks setf sql " SQL -au BufNewFile,BufRead *.sql call dist#ft#SQL() +au BufNewFile,BufRead *.sql call polyglot#ft#SQL() " SQLJ au BufNewFile,BufRead *.sqlj setf sqlj @@ -1688,7 +1688,7 @@ au BufNewFile,BufRead *.svg setf svg " Tads (or Nroff or Perl test file) au BufNewFile,BufRead *.t - \ if !dist#ft#FTnroff() && !dist#ft#FTperl() | setf tads | endif + \ if !polyglot#ft#FTnroff() && !polyglot#ft#FTperl() | setf tads | endif " Tags au BufNewFile,BufRead tags setf tags @@ -1717,7 +1717,7 @@ au BufNewFile,BufRead *.ti setf terminfo " TeX au BufNewFile,BufRead *.latex,*.sty,*.dtx,*.ltx,*.bbl setf tex -au BufNewFile,BufRead *.tex call dist#ft#FTtex() +au BufNewFile,BufRead *.tex call polyglot#ft#FTtex() " ConTeXt au BufNewFile,BufRead *.mkii,*.mkiv,*.mkvi setf context @@ -1820,7 +1820,7 @@ au BufRead,BufNewFile *.hw,*.module,*.pkg \ endif " Visual Basic (also uses *.bas) or FORM -au BufNewFile,BufRead *.frm call dist#ft#FTVB("form") +au BufNewFile,BufRead *.frm call polyglot#ft#FTVB("form") " SaxBasic is close to Visual Basic au BufNewFile,BufRead *.sba setf vb @@ -1916,10 +1916,10 @@ au BufNewFile,BufRead .Xdefaults,.Xpdefaults,.Xresources,xdm-config,*.ad setf xd " Xmath au BufNewFile,BufRead *.msc,*.msf setf xmath au BufNewFile,BufRead *.ms - \ if !dist#ft#FTnroff() | setf xmath | endif + \ if !polyglot#ft#FTnroff() | setf xmath | endif " XML specific variants: docbk and xbl -au BufNewFile,BufRead *.xml call dist#ft#FTxml() +au BufNewFile,BufRead *.xml call polyglot#ft#FTxml() " XMI (holding UML models) is also XML au BufNewFile,BufRead *.xmi setf xml @@ -1966,7 +1966,7 @@ au BufNewFile,BufRead *.xsl,*.xslt setf xslt au BufNewFile,BufRead *.yy,*.yxx,*.y++ setf yacc " Yacc or racc -au BufNewFile,BufRead *.y call dist#ft#FTy() +au BufNewFile,BufRead *.y call polyglot#ft#FTy() " Yaml au BufNewFile,BufRead *.yaml,*.yml setf yaml @@ -1985,9 +1985,9 @@ au BufNewFile,BufRead *.zut setf zimbutempl " Zope " dtml (zope dynamic template markup language), pt (zope page template), " cpt (zope form controller page template) -au BufNewFile,BufRead *.dtml,*.pt,*.cpt call dist#ft#FThtml() +au BufNewFile,BufRead *.dtml,*.pt,*.cpt call polyglot#ft#FThtml() " zsql (zope sql method) -au BufNewFile,BufRead *.zsql call dist#ft#SQL() +au BufNewFile,BufRead *.zsql call polyglot#ft#SQL() " Z80 assembler asz80 au BufNewFile,BufRead *.z8a setf z8a @@ -2152,7 +2152,7 @@ au BufNewFile,BufRead *termcap* " ReDIF " Only used when the .rdf file was not detected to be XML. -au BufRead,BufNewFile *.rdf call dist#ft#Redif() +au BufRead,BufNewFile *.rdf call polyglot#ft#Redif() " Remind au BufNewFile,BufRead .reminders* call s:StarSetf('remind') @@ -2161,15 +2161,15 @@ au BufNewFile,BufRead .reminders* call s:StarSetf('remind') au BufNewFile,BufRead sgml.catalog* call s:StarSetf('catalog') " Shell scripts ending in a star -au BufNewFile,BufRead .bashrc*,.bash[_-]profile*,.bash[_-]logout*,.bash[_-]aliases*,bash-fc[-.]*,,PKGBUILD* call dist#ft#SetFileTypeSH("bash") -au BufNewFile,BufRead .kshrc* call dist#ft#SetFileTypeSH("ksh") -au BufNewFile,BufRead .profile* call dist#ft#SetFileTypeSH(getline(1)) +au BufNewFile,BufRead .bashrc*,.bash[_-]profile*,.bash[_-]logout*,.bash[_-]aliases*,bash-fc[-.]*,,PKGBUILD* call polyglot#ft#SetFileTypeSH("bash") +au BufNewFile,BufRead .kshrc* call polyglot#ft#SetFileTypeSH("ksh") +au BufNewFile,BufRead .profile* call polyglot#ft#SetFileTypeSH(getline(1)) " tcsh scripts ending in a star -au BufNewFile,BufRead .tcshrc* call dist#ft#SetFileTypeShell("tcsh") +au BufNewFile,BufRead .tcshrc* call polyglot#ft#SetFileTypeShell("tcsh") " csh scripts ending in a star -au BufNewFile,BufRead .login*,.cshrc* call dist#ft#CSH() +au BufNewFile,BufRead .login*,.cshrc* call polyglot#ft#CSH() " VHDL au BufNewFile,BufRead *.vhdl_[0-9]* call s:StarSetf('vhdl') diff --git a/scripts/build b/scripts/build index 15d12333..efae3219 100755 --- a/scripts/build +++ b/scripts/build @@ -890,6 +890,7 @@ def generate_fallback filetype_content.gsub!(/^au BufNewFile,BufRead \*\n.+?runtime!.+?endif/m) {} filetype_content.gsub!(/^au StdinReadPost \* .+?runtime!.+?endif/m) {} filetype_content.gsub!(/^au filetypedetect BufNewFile,BufRead,StdinReadPost \*\n.+?endif/m) {} + filetype_content.gsub!("dist#ft#", "polyglot#ft#") File.write('extras/filetype.vim', filetype_content) File.write('extras/menu.vim', File.read('tmp/vim/vim/runtime/menu.vim')) diff --git a/syntax/qml.vim b/syntax/qml.vim index 268c9f8e..15f1d255 100644 --- a/syntax/qml.vim +++ b/syntax/qml.vim @@ -54,7 +54,7 @@ syn keyword qmlRepeat while for do in syn keyword qmlBranch break continue syn keyword qmlOperator new delete instanceof typeof syn keyword qmlJsType Array Boolean Date Function Number Object String RegExp -syn keyword qmlType action alias bool color date double enumeration font int list point real rect size string time url variant vector3d +syn keyword qmlType action alias bool color date double enumeration font int list point real rect size string time url variant vector2d vector3d vector4d syn keyword qmlStatement return with syn keyword qmlBoolean true false syn keyword qmlNull null undefined |