diff options
49 files changed, 4557 insertions, 743 deletions
diff --git a/runtime/autoload/ccomplete.vim b/runtime/autoload/ccomplete.vim index d5bfa076a9..156b3af025 100644 --- a/runtime/autoload/ccomplete.vim +++ b/runtime/autoload/ccomplete.vim @@ -1,7 +1,7 @@ " Vim completion script " Language: C " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2012 Jun 20 +" Last Change: 2018 Aug 20 let s:cpo_save = &cpo set cpo&vim @@ -72,8 +72,10 @@ function! ccomplete#Complete(findstart, base) " Split item in words, keep empty word after "." or "->". " "aa" -> ['aa'], "aa." -> ['aa', ''], "aa.bb" -> ['aa', 'bb'], etc. " We can't use split, because we need to skip nested [...]. + " "aa[...]" -> ['aa', '[...]'], "aa.bb[...]" -> ['aa', 'bb', '[...]'], etc. let items = [] let s = 0 + let arrays = 0 while 1 let e = match(base, '\.\|->\|\[', s) if e < 0 @@ -107,6 +109,7 @@ function! ccomplete#Complete(findstart, base) endwhile let e += 1 call add(items, strpart(base, s, e - s)) + let arrays += 1 let s = e endif endwhile @@ -161,15 +164,26 @@ function! ccomplete#Complete(findstart, base) endif endif let res = [{'match': match, 'tagline' : '', 'kind' : kind, 'info' : line}] + elseif len(items) == arrays + 1 + " Completing one word and it's a local array variable: build tagline + " from declaration line + let match = items[0] + let kind = 'v' + let tagline = "\t/^" . line . '$/' + let res = [{'match': match, 'tagline' : tagline, 'kind' : kind, 'info' : line}] else " Completing "var.", "var.something", etc. let res = s:Nextitem(strpart(line, 0, col), items[1:], 0, 1) endif endif - if len(items) == 1 + if len(items) == 1 || len(items) == arrays + 1 " Only one part, no "." or "->": complete from tags file. - let tags = taglist('^' . base) + if len(items) == 1 + let tags = taglist('^' . base) + else + let tags = taglist('^' . items[0] . '$') + endif " Remove members, these can't appear without something in front. call filter(tags, 'has_key(v:val, "kind") ? v:val["kind"] != "m" : 1') @@ -516,11 +530,24 @@ function! s:StructMembers(typename, items, all) endif endif + " Skip over [...] items + let idx = 0 + while 1 + if idx >= len(a:items) + let target = '' " No further items, matching all members + break + endif + if a:items[idx][0] != '[' + let target = a:items[idx] + break + endif + let idx += 1 + endwhile " Put matching members in matches[]. let matches = [] for l in qflist let memb = matchstr(l['text'], '[^\t]*') - if memb =~ '^' . a:items[0] + if memb =~ '^' . target " Skip matches local to another file. if match(l['text'], "\tfile:") < 0 || bufnr('%') == bufnr(matchstr(l['text'], '\t\zs[^\t]*')) let item = {'match': memb, 'tagline': l['text']} @@ -540,8 +567,8 @@ function! s:StructMembers(typename, items, all) endfor if len(matches) > 0 - " Skip over [...] items - let idx = 1 + " Skip over next [...] items + let idx += 1 while 1 if idx >= len(a:items) return matches " No further items, return the result. diff --git a/runtime/autoload/dist/ft.vim b/runtime/autoload/dist/ft.vim index 81fdc9d956..160cdcff64 100644 --- a/runtime/autoload/dist/ft.vim +++ b/runtime/autoload/dist/ft.vim @@ -632,7 +632,7 @@ endfunc " Choose context, plaintex, or tex (LaTeX) based on these rules: " 1. Check the first line of the file for "%&<format>". " 2. Check the first 1000 non-comment lines for LaTeX or ConTeXt keywords. -" 3. Default to "latex" or to g:tex_flavor, can be set in user's vimrc. +" 3. Default to "plain" or to g:tex_flavor, can be set in user's vimrc. func dist#ft#FTtex() let firstline = getline(1) if firstline =~ '^%&\s*\a\+' diff --git a/runtime/autoload/haskellcomplete.vim b/runtime/autoload/haskellcomplete.vim new file mode 100644 index 0000000000..520ab93700 --- /dev/null +++ b/runtime/autoload/haskellcomplete.vim @@ -0,0 +1,3382 @@ +" Vim completion script +" Language: Haskell +" Maintainer: Daniel Campoverde <alx@sillybytes.net> +" URL: https://github.com/alx741/haskellcomplete.vim +" Last Change: 2018 Aug 26 + +" Usage: setlocal omnifunc=haskellcomplete#Complete + + +" Language extensions from: +" https://hackage.haskell.org/package/Cabal-2.2.0.1/docs/Language-Haskell-Extension.html +" +" GHC options from: +" https://downloads.haskell.org/~ghc/7.0.4/docs/html/users_guide/flag-reference.html +" https://downloads.haskell.org/~ghc/8.4.3/docs/html/users_guide/flags.html + + + +" Available completions +let b:completingLangExtension = 0 +let b:completingOptionsGHC = 0 +let b:completingModule = 0 + +function! haskellcomplete#Complete(findstart, base) + if a:findstart + let l:line = getline('.') + let l:start = col('.') - 1 + + if l:line =~ '^\s*{-#\s*LANGUAGE.*' + while l:start >= 0 && l:line[l:start - 1] !~ '[, ]' + let l:start -= 1 + endwhile + let b:completingLangExtension = 1 + return l:start + + elseif l:line =~ '^\s*{-#\s*OPTIONS_GHC.*' + while l:start >= 0 && l:line[l:start - 1] !~ '[, ]' + let l:start -= 1 + endwhile + let b:completingOptionsGHC = 1 + return l:start + + elseif l:line =~ '^\s*import\s*.*' + while l:start >= 0 && l:line[l:start - 1] !~ ' ' + let l:start -= 1 + endwhile + let b:completingModule = 1 + return l:start + + endif + + return start + endif + + if b:completingLangExtension + if a:base ==? "" + " Return all posible Lang extensions + return s:langExtensions + else + let l:matches = [] + for extension in s:langExtensions + if extension =~? '^' . a:base + call add(l:matches, extension) + endif + endfor + return l:matches + endif + + + elseif b:completingOptionsGHC + if a:base ==? "" + " Return all posible GHC options + return s:optionsGHC + else + let l:matches = [] + for flag in s:optionsGHC + if flag =~? '^' . a:base + call add(l:matches, flag) + endif + endfor + return l:matches + endif + + + elseif b:completingModule + if a:base ==? "" + " Return all posible modules + return s:commonModules + else + let l:matches = [] + for module in s:commonModules + if module =~? '^' . a:base + call add(l:matches, module) + endif + endfor + return l:matches + endif + + endif + + return -1 +endfunction + +let s:langExtensions = + \ [ "OverlappingInstances" + \ , "UndecidableInstances" + \ , "IncoherentInstances" + \ , "DoRec" + \ , "RecursiveDo" + \ , "ParallelListComp" + \ , "MultiParamTypeClasses" + \ , "MonomorphismRestriction" + \ , "FunctionalDependencies" + \ , "Rank2Types" + \ , "RankNTypes" + \ , "PolymorphicComponents" + \ , "ExistentialQuantification" + \ , "ScopedTypeVariables" + \ , "PatternSignatures" + \ , "ImplicitParams" + \ , "FlexibleContexts" + \ , "FlexibleInstances" + \ , "EmptyDataDecls" + \ , "CPP" + \ , "KindSignatures" + \ , "BangPatterns" + \ , "TypeSynonymInstances" + \ , "TemplateHaskell" + \ , "ForeignFunctionInterface" + \ , "Arrows" + \ , "Generics" + \ , "ImplicitPrelude" + \ , "NamedFieldPuns" + \ , "PatternGuards" + \ , "GeneralizedNewtypeDeriving" + \ , "ExtensibleRecords" + \ , "RestrictedTypeSynonyms" + \ , "HereDocuments" + \ , "MagicHash" + \ , "TypeFamilies" + \ , "StandaloneDeriving" + \ , "UnicodeSyntax" + \ , "UnliftedFFITypes" + \ , "InterruptibleFFI" + \ , "CApiFFI" + \ , "LiberalTypeSynonyms" + \ , "TypeOperators" + \ , "RecordWildCards" + \ , "RecordPuns" + \ , "DisambiguateRecordFields" + \ , "TraditionalRecordSyntax" + \ , "OverloadedStrings" + \ , "GADTs" + \ , "GADTSyntax" + \ , "MonoPatBinds" + \ , "RelaxedPolyRec" + \ , "ExtendedDefaultRules" + \ , "UnboxedTuples" + \ , "DeriveDataTypeable" + \ , "DeriveGeneric" + \ , "DefaultSignatures" + \ , "InstanceSigs" + \ , "ConstrainedClassMethods" + \ , "PackageImports" + \ , "ImpredicativeTypes" + \ , "NewQualifiedOperators" + \ , "PostfixOperators" + \ , "QuasiQuotes" + \ , "TransformListComp" + \ , "MonadComprehensions" + \ , "ViewPatterns" + \ , "XmlSyntax" + \ , "RegularPatterns" + \ , "TupleSections" + \ , "GHCForeignImportPrim" + \ , "NPlusKPatterns" + \ , "DoAndIfThenElse" + \ , "MultiWayIf" + \ , "LambdaCase" + \ , "RebindableSyntax" + \ , "ExplicitForAll" + \ , "DatatypeContexts" + \ , "MonoLocalBinds" + \ , "DeriveFunctor" + \ , "DeriveTraversable" + \ , "DeriveFoldable" + \ , "NondecreasingIndentation" + \ , "SafeImports" + \ , "Safe" + \ , "Trustworthy" + \ , "Unsafe" + \ , "ConstraintKinds" + \ , "PolyKinds" + \ , "DataKinds" + \ , "ParallelArrays" + \ , "RoleAnnotations" + \ , "OverloadedLists" + \ , "EmptyCase" + \ , "AutoDeriveTypeable" + \ , "NegativeLiterals" + \ , "BinaryLiterals" + \ , "NumDecimals" + \ , "NullaryTypeClasses" + \ , "ExplicitNamespaces" + \ , "AllowAmbiguousTypes" + \ , "JavaScriptFFI" + \ , "PatternSynonyms" + \ , "PartialTypeSignatures" + \ , "NamedWildCards" + \ , "DeriveAnyClass" + \ , "DeriveLift" + \ , "StaticPointers" + \ , "StrictData" + \ , "Strict" + \ , "ApplicativeDo" + \ , "DuplicateRecordFields" + \ , "TypeApplications" + \ , "TypeInType" + \ , "UndecidableSuperClasses" + \ , "MonadFailDesugaring" + \ , "TemplateHaskellQuotes" + \ , "OverloadedLabels" + \ , "TypeFamilyDependencies" + \ , "DerivingStrategies" + \ , "UnboxedSums" + \ , "HexFloatLiterals" + \ ] + +let s:optionsGHC = + \ [ "-n" + \ , "-v" + \ , "-vn" + \ , "-c" + \ , "-hcsuf" + \ , "-hidir" + \ , "-hisuf" + \ , "-o" + \ , "-odir" + \ , "-ohi" + \ , "-osuf" + \ , "-stubdir" + \ , "-outputdir" + \ , "-keep-hc-file" + \ , "-keep-llvm-file" + \ , "-keep-s-file" + \ , "-keep-raw-s-file" + \ , "-keep-tmp-files" + \ , "-tmpdir" + \ , "-ddump-hi" + \ , "-ddump-hi-diffs" + \ , "-ddump-minimal-imports" + \ , "-fforce-recomp" + \ , "-fno-force-recomp" + \ , "-fbreak-on-exception" + \ , "-fno-break-on-exception" + \ , "-fbreak-on-error" + \ , "-fno-break-on-error" + \ , "-fprint-evld-with-show" + \ , "-fno-print-evld-with-show" + \ , "-fprint-bind-result" + \ , "-fno-print-bind-result" + \ , "-fno-print-bind-contents" + \ , "-fno-implicit-import-qualified" + \ , "-package-name" + \ , "-no-auto-link-packages" + \ , "-fglasgow-exts" + \ , "-fno-glasgow-exts" + \ , "-XOverlappingInstances" + \ , "-XNoOverlappingInstances" + \ , "-XIncoherentInstances" + \ , "-XNoIncoherentInstances" + \ , "-XUndecidableInstances" + \ , "-XNoUndecidableInstances" + \ , "-fcontext-stack=Nn" + \ , "-XArrows" + \ , "-XNoArrows" + \ , "-XDisambiguateRecordFields" + \ , "-XNoDisambiguateRecordFields" + \ , "-XForeignFunctionInterface" + \ , "-XNoForeignFunctionInterface" + \ , "-XGenerics" + \ , "-XNoGenerics" + \ , "-XImplicitParams" + \ , "-XNoImplicitParams" + \ , "-firrefutable-tuples" + \ , "-fno-irrefutable-tuples" + \ , "-XNoImplicitPrelude" + \ , "-XImplicitPrelude" + \ , "-XRebindableSyntax" + \ , "-XNoRebindableSyntax" + \ , "-XNoMonomorphismRestriction" + \ , "-XMonomorphismRrestriction" + \ , "-XNoNPlusKPatterns" + \ , "-XNPlusKPatterns" + \ , "-XNoMonoPatBinds" + \ , "-XMonoPatBinds" + \ , "-XRelaxedPolyRec" + \ , "-XNoRelaxedPolyRec" + \ , "-XExtendedDefaultRules" + \ , "-XNoExtendedDefaultRules" + \ , "-XOverloadedStrings" + \ , "-XNoOverloadedStrings" + \ , "-XGADTs" + \ , "-XNoGADTs" + \ , "-XTypeFamilies" + \ , "-XNoTypeFamilies" + \ , "-XScopedTypeVariables" + \ , "-XNoScopedTypeVariables" + \ , "-XMonoLocalBinds" + \ , "-XNoMonoLocalBinds" + \ , "-XTemplateHaskell" + \ , "-XNoTemplateHaskell" + \ , "-XQuasiQuotes" + \ , "-XNoQuasiQuotes" + \ , "-XBangPatterns" + \ , "-XNoBangPatterns" + \ , "-XCPP" + \ , "-XNoCPP" + \ , "-XPatternGuards" + \ , "-XNoPatternGuards" + \ , "-XViewPatterns" + \ , "-XNoViewPatterns" + \ , "-XUnicodeSyntax" + \ , "-XNoUnicodeSyntax" + \ , "-XMagicHash" + \ , "-XNoMagicHash" + \ , "-XNewQualifiedOperators" + \ , "-XNoNewQualifiedOperators" + \ , "-XExplicitForALl" + \ , "-XNoExplicitForAll" + \ , "-XPolymorphicComponents" + \ , "-XNoPolymorphicComponents" + \ , "-XRank2Types" + \ , "-XNoRank2Types" + \ , "-XRankNTypes" + \ , "-XNoRankNTypes" + \ , "-XImpredicativeTypes" + \ , "-XNoImpredicativeTypes" + \ , "-XExistentialQuantification" + \ , "-XNoExistentialQuantification" + \ , "-XKindSignatures" + \ , "-XNoKindSignatures" + \ , "-XEmptyDataDecls" + \ , "-XNoEmptyDataDecls" + \ , "-XParallelListComp" + \ , "-XNoParallelListComp" + \ , "-XTransformListComp" + \ , "-XNoTransformListComp" + \ , "-XUnliftedFFITypes" + \ , "-XNoUnliftedFFITypes" + \ , "-XLiberalTypeSynonyms" + \ , "-XNoLiberalTypeSynonyms" + \ , "-XTypeOperators" + \ , "-XNoTypeOperators" + \ , "-XDoRec" + \ , "-XNoDoRec" + \ , "-XRecursiveDo" + \ , "-XNoRecursiveDo" + \ , "-XPArr" + \ , "-XNoPArr" + \ , "-XRecordWildCards" + \ , "-XNoRecordWildCards" + \ , "-XNamedFieldPuns" + \ , "-XNoNamedFieldPuns" + \ , "-XDisambiguateRecordFields" + \ , "-XNoDisambiguateRecordFields" + \ , "-XUnboxedTuples" + \ , "-XNoUnboxedTuples" + \ , "-XStandaloneDeriving" + \ , "-XNoStandaloneDeriving" + \ , "-XDeriveDataTypeable" + \ , "-XNoDeriveDataTypeable" + \ , "-XGeneralizedNewtypeDeriving" + \ , "-XNoGeneralizedNewtypeDeriving" + \ , "-XTypeSynonymInstances" + \ , "-XNoTypeSynonymInstances" + \ , "-XFlexibleContexts" + \ , "-XNoFlexibleContexts" + \ , "-XFlexibleInstances" + \ , "-XNoFlexibleInstances" + \ , "-XConstrainedClassMethods" + \ , "-XNoConstrainedClassMethods" + \ , "-XMultiParamTypeClasses" + \ , "-XNoMultiParamTypeClasses" + \ , "-XFunctionalDependencies" + \ , "-XNoFunctionalDependencies" + \ , "-XPackageImports" + \ , "-XNoPackageImports" + \ , "-W" + \ , "-w" + \ , "-w" + \ , "-Wall" + \ , "-w" + \ , "-Werror" + \ , "-Wwarn" + \ , "-Wwarn" + \ , "-Werror" + \ , "-fwarn-unrecognised-pragmas" + \ , "-fno-warn-unrecognised-pragmas" + \ , "-fwarn-warnings-deprecations" + \ , "-fno-warn-warnings-deprecations" + \ , "-fwarn-deprecated-flags" + \ , "-fno-warn-deprecated-flags" + \ , "-fwarn-duplicate-exports" + \ , "-fno-warn-duplicate-exports" + \ , "-fwarn-hi-shadowing" + \ , "-fno-warn-hi-shadowing" + \ , "-fwarn-implicit-prelude" + \ , "-fno-warn-implicit-prelude" + \ , "-fwarn-incomplete-patterns" + \ , "-fno-warn-incomplete-patterns" + \ , "-fwarn-incomplete-record-updates" + \ , "-fno-warn-incomplete-record-updates" + \ , "-fwarn-lazy-unlifted-bindings" + \ , "-fno-warn-lazy-unlifted-bindings" + \ , "-fwarn-missing-fields" + \ , "-fno-warn-missing-fields" + \ , "-fwarn-missing-import-lists" + \ , "-fnowarn-missing-import-lists" + \ , "-fwarn-missing-methods" + \ , "-fno-warn-missing-methods" + \ , "-fwarn-missing-signatures" + \ , "-fno-warn-missing-signatures" + \ , "-fwarn-name-shadowing" + \ , "-fno-warn-name-shadowing" + \ , "-fwarn-orphans" + \ , "-fno-warn-orphans" + \ , "-fwarn-overlapping-patterns" + \ , "-fno-warn-overlapping-patterns" + \ , "-fwarn-tabs" + \ , "-fno-warn-tabs" + \ , "-fwarn-type-defaults" + \ , "-fno-warn-type-defaults" + \ , "-fwarn-monomorphism-restriction" + \ , "-fno-warn-monomorphism-restriction" + \ , "-fwarn-unused-binds" + \ , "-fno-warn-unused-binds" + \ , "-fwarn-unused-imports" + \ , "-fno-warn-unused-imports" + \ , "-fwarn-unused-matches" + \ , "-fno-warn-unused-matches" + \ , "-fwarn-unused-do-bind" + \ , "-fno-warn-unused-do-bind" + \ , "-fwarn-wrong-do-bind" + \ , "-fno-warn-wrong-do-bind" + \ , "-O" + \ , "-O0" + \ , "-On" + \ , "-O0" + \ , "-fcase-merge" + \ , "-fno-case-merge" + \ , "-fmethod-sharing" + \ , "-fno-method-sharing" + \ , "-fdo-eta-reduction" + \ , "-fno-do-eta-reduction" + \ , "-fdo-lambda-eta-expansion" + \ , "-fno-do-lambda-eta-expansion" + \ , "-fexcess-precision" + \ , "-fno-excess-precision" + \ , "-fignore-asserts" + \ , "-fno-ignore-asserts" + \ , "-fignore-interface-pragmas" + \ , "-fno-ignore-interface-pragmas" + \ , "-fomit-interface-pragmas" + \ , "-fno-omit-interface-pragmas" + \ , "-fsimplifier-phases" + \ , "-fmax-simplifier-iterations" + \ , "-fcse" + \ , "-fno-cse" + \ , "-fspecialise" + \ , "-fno-specialise" + \ , "-ffull-laziness" + \ , "-fno-full-laziness" + \ , "-ffloat-in" + \ , "-fno-float-in" + \ , "-fenable-rewrite-rules" + \ , "-fno-enable-rewrite-rules" + \ , "-fstrictness" + \ , "-fno-strictness" + \ , "-fstrictness=before=n" + \ , "-fspec-constr" + \ , "-fno-spec-constr" + \ , "-fliberate-case" + \ , "-fno-liberate-case" + \ , "-fstatic-argument-transformation" + \ , "-fno-static-argument-transformation" + \ , "-funbox-strict-fields" + \ , "-fno-unbox-strict-fields" + \ , "-feager-blackholing" + \ , "-auto" + \ , "-no-auto" + \ , "-auto-all" + \ , "-no-auto-all" + \ , "-caf-all" + \ , "-no-caf-all" + \ , "-hpcdir" + \ , "-F" + \ , "-cpp" + \ , "-Dsymbol[=value]" + \ , "-Usymbol" + \ , "-Usymbol" + \ , "-Idir" + \ , "-fasm" + \ , "-fvia-C" + \ , "-fvia-C" + \ , "-fasm" + \ , "-fllvm" + \ , "-fasm" + \ , "-fno-code" + \ , "-fbyte-code" + \ , "-fobject-code" + \ , "-shared" + \ , "-dynamic" + \ , "-framework" + \ , "-framework-path" + \ , "-llib" + \ , "-Ldir" + \ , "-main-is" + \ , "--mk-dll" + \ , "-no-hs-main" + \ , "-rtsopts," + \ , "-with-rtsopts=opts" + \ , "-no-link" + \ , "-split-objs" + \ , "-fno-gen-manifest" + \ , "-fno-embed-manifest" + \ , "-fno-shared-implib" + \ , "-dylib-install-name" + \ , "-pgmL" + \ , "-pgmP" + \ , "-pgmc" + \ , "-pgmm" + \ , "-pgms" + \ , "-pgma" + \ , "-pgml" + \ , "-pgmdll" + \ , "-pgmF" + \ , "-pgmwindres" + \ , "-optL" + \ , "-optP" + \ , "-optF" + \ , "-optc" + \ , "-optlo" + \ , "-optlc" + \ , "-optm" + \ , "-opta" + \ , "-optl" + \ , "-optdll" + \ , "-optwindres" + \ , "-msse2" + \ , "-monly-[432]-regs" + \ , "-fext-core" + \ , "-dcore-lint" + \ , "-ddump-asm" + \ , "-ddump-bcos" + \ , "-ddump-cmm" + \ , "-ddump-cpranal" + \ , "-ddump-cse" + \ , "-ddump-deriv" + \ , "-ddump-ds" + \ , "-ddump-flatC" + \ , "-ddump-foreign" + \ , "-ddump-hpc" + \ , "-ddump-inlinings" + \ , "-ddump-llvm" + \ , "-ddump-occur-anal" + \ , "-ddump-opt-cmm" + \ , "-ddump-parsed" + \ , "-ddump-prep" + \ , "-ddump-rn" + \ , "-ddump-rules" + \ , "-ddump-simpl" + \ , "-ddump-simpl-phases" + \ , "-ddump-simpl-iterations" + \ , "-ddump-spec" + \ , "-ddump-splices" + \ , "-ddump-stg" + \ , "-ddump-stranal" + \ , "-ddump-tc" + \ , "-ddump-types" + \ , "-ddump-worker-wrapper" + \ , "-ddump-if-trace" + \ , "-ddump-tc-trace" + \ , "-ddump-rn-trace" + \ , "-ddump-rn-stats" + \ , "-ddump-simpl-stats" + \ , "-dsource-stats" + \ , "-dcmm-lint" + \ , "-dstg-lint" + \ , "-dstg-stats" + \ , "-dverbose-core2core" + \ , "-dverbose-stg2stg" + \ , "-dshow-passes" + \ , "-dfaststring-stats" + \ , "-fno-asm-mangling" + \ , "-fno-ghci-sandbox" + \ , "-fdiagnostics-color=" + \ , "-fdiagnostics-show-caret" + \ , "-fno-diagnostics-show-caret" + \ , "-ferror-spans" + \ , "-fhide-source-paths" + \ , "-fprint-equality-relations" + \ , "-fno-print-equality-relations" + \ , "-fprint-expanded-synonyms" + \ , "-fno-print-expanded-synonyms" + \ , "-fprint-explicit-coercions" + \ , "-fno-print-explicit-coercions" + \ , "-fprint-explicit-foralls" + \ , "-fno-print-explicit-foralls" + \ , "-fprint-explicit-kinds" + \ , "-fno-print-explicit-kinds" + \ , "-fprint-explicit-runtime-rep" + \ , "-fno-print-explicit-runtime-reps" + \ , "-fprint-explicit-runtime-reps" + \ , "-fno-print-explicit-runtime-reps" + \ , "-fprint-potential-instances" + \ , "-fno-print-potential-instances" + \ , "-fprint-typechecker-elaboration" + \ , "-fno-print-typechecker-elaboration" + \ , "-fprint-unicode-syntax" + \ , "-fno-print-unicode-syntax" + \ , "-fshow-hole-constraints" + \ , "-Rghc-timing" + \ , "-v" + \ , "-v" + \ , "-F" + \ , "-x" + \ , "--exclude-module=" + \ , "-ddump-mod-cycles" + \ , "-dep-makefile" + \ , "-dep-suffix" + \ , "-dumpdir" + \ , "-hcsuf" + \ , "-hidir" + \ , "-hisuf" + \ , "-include-pkg-deps" + \ , "-o" + \ , "-odir" + \ , "-ohi" + \ , "-osuf" + \ , "-outputdir" + \ , "-stubdir" + \ , "-keep-hc-file," + \ , "-keep-hi-files" + \ , "-no-keep-hi-files" + \ , "-keep-llvm-file," + \ , "-keep-o-files" + \ , "-no-keep-o-files" + \ , "-keep-s-file," + \ , "-keep-tmp-files" + \ , "-tmpdir" + \ , "-i" + \ , "-i[:]*" + \ , "-ddump-hi" + \ , "-ddump-hi-diffs" + \ , "-ddump-minimal-imports" + \ , "-fforce-recomp" + \ , "-fno-force-recomp" + \ , "-fignore-hpc-changes" + \ , "-fno-ignore-hpc-changes" + \ , "-fignore-optim-changes" + \ , "-fno-ignore-optim-changes" + \ , "-fbreak-on-error" + \ , "-fno-break-on-error" + \ , "-fbreak-on-exception" + \ , "-fno-break-on-exception" + \ , "-fghci-hist-size=" + \ , "-flocal-ghci-history" + \ , "-fno-local-ghci-history" + \ , "-fprint-bind-result" + \ , "-fno-print-bind-result" + \ , "-fshow-loaded-modules" + \ , "-ghci-script" + \ , "-ignore-dot-ghci" + \ , "-interactive-print" + \ , "-clear-package-db" + \ , "-distrust" + \ , "-distrust-all-packages" + \ , "-fpackage-trust" + \ , "-global-package-db" + \ , "-hide-all-packages" + \ , "-hide-package" + \ , "-ignore-package" + \ , "-no-auto-link-packages" + \ , "-no-global-package-db" + \ , "-no-user-package-db" + \ , "-package" + \ , "-package-db" + \ , "-package-env" + \ , "-package-id" + \ , "-this-unit-id" + \ , "-trust" + \ , "-user-package-db" + \ , "-fdefer-out-of-scope-variables" + \ , "-fno-defer-out-of-scope-variables" + \ , "-fdefer-type-errors" + \ , "-fno-defer-type-errors" + \ , "-fdefer-typed-holes" + \ , "-fno-defer-typed-holes" + \ , "-fhelpful-errors" + \ , "-fno-helpful-errors" + \ , "-fmax-pmcheck-iterations=" + \ , "-fshow-warning-groups" + \ , "-fno-show-warning-groups" + \ , "-W" + \ , "-w" + \ , "-w" + \ , "-Wall" + \ , "-w" + \ , "-Wall-missed-specialisations" + \ , "-Wno-all-missed-specialisations" + \ , "-Wamp" + \ , "-Wno-amp" + \ , "-Wcompat" + \ , "-Wno-compat" + \ , "-Wcpp-undef" + \ , "-Wdeferred-out-of-scope-variables" + \ , "-Wno-deferred-out-of-scope-variables" + \ , "-Wdeferred-type-errors" + \ , "-Wno-deferred-type-errors" + \ , "-Wdeprecated-flags" + \ , "-Wno-deprecated-flags" + \ , "-Wdeprecations" + \ , "-Wno-deprecations" + \ , "-Wdodgy-exports" + \ , "-Wno-dodgy-exports" + \ , "-Wdodgy-foreign-imports" + \ , "-Wno-dodgy-foreign-import" + \ , "-Wdodgy-imports" + \ , "-Wno-dodgy-imports" + \ , "-Wduplicate-constraints" + \ , "-Wno-duplicate-constraints" + \ , "-Wduplicate-exports" + \ , "-Wno-duplicate-exports" + \ , "-Wempty-enumerations" + \ , "-Wno-empty-enumerations" + \ , "-Werror" + \ , "-Wwarn" + \ , "-Weverything" + \ , "-Whi-shadowing" + \ , "-Wno-hi-shadowing" + \ , "-Widentities" + \ , "-Wno-identities" + \ , "-Wimplicit-prelude" + \ , "-Wno-implicit-prelude" + \ , "-Wincomplete-patterns" + \ , "-Wno-incomplete-patterns" + \ , "-Wincomplete-record-updates" + \ , "-Wno-incomplete-record-updates" + \ , "-Wincomplete-uni-patterns" + \ , "-Wno-incomplete-uni-patterns" + \ , "-Winline-rule-shadowing" + \ , "-Wno-inline-rule-shadowing" + \ , "-Wmissed-specialisations" + \ , "-Wno-missed-specialisations" + \ , "-Wmissing-export-lists" + \ , "-fnowarn-missing-export-lists" + \ , "-Wmissing-exported-signatures" + \ , "-Wno-missing-exported-signatures" + \ , "-Wmissing-exported-sigs" + \ , "-Wno-missing-exported-sigs" + \ , "-Wmissing-fields" + \ , "-Wno-missing-fields" + \ , "-Wmissing-home-modules" + \ , "-Wno-missing-home-modules" + \ , "-Wmissing-import-lists" + \ , "-fnowarn-missing-import-lists" + \ , "-Wmissing-local-signatures" + \ , "-Wno-missing-local-signatures" + \ , "-Wmissing-local-sigs" + \ , "-Wno-missing-local-sigs" + \ , "-Wmissing-methods" + \ , "-Wno-missing-methods" + \ , "-Wmissing-monadfail-instances" + \ , "-Wno-missing-monadfail-instances" + \ , "-Wmissing-pattern-synonym-signatures" + \ , "-Wno-missing-pattern-synonym-signatures" + \ , "-Wmissing-signatures" + \ , "-Wno-missing-signatures" + \ , "-Wmonomorphism-restriction" + \ , "-Wno-monomorphism-restriction" + \ , "-Wname-shadowing" + \ , "-Wno-name-shadowing" + \ , "-Wno-compat" + \ , "-Wcompat" + \ , "-Wnoncanonical-monad-instances" + \ , "-Wno-noncanonical-monad-instances" + \ , "-Wnoncanonical-monadfail-instances" + \ , "-Wno-noncanonical-monadfail-instances" + \ , "-Wnoncanonical-monoid-instances" + \ , "-Wno-noncanonical-monoid-instances" + \ , "-Worphans" + \ , "-Wno-orphans" + \ , "-Woverflowed-literals" + \ , "-Wno-overflowed-literals" + \ , "-Woverlapping-patterns" + \ , "-Wno-overlapping-patterns" + \ , "-Wpartial-fields" + \ , "-Wno-partial-fields" + \ , "-Wpartial-type-signatures" + \ , "-Wno-partial-type-signatures" + \ , "-Wredundant-constraints" + \ , "-Wno-redundant-constraints" + \ , "-Wsafe" + \ , "-Wno-safe" + \ , "-Wsemigroup" + \ , "-Wno-semigroup" + \ , "-Wsimplifiable-class-constraints" + \ , "-Wno-overlapping-patterns" + \ , "-Wtabs" + \ , "-Wno-tabs" + \ , "-Wtrustworthy-safe" + \ , "-Wno-safe" + \ , "-Wtype-defaults" + \ , "-Wno-type-defaults" + \ , "-Wtyped-holes" + \ , "-Wno-typed-holes" + \ , "-Wunbanged-strict-patterns" + \ , "-Wno-unbanged-strict-patterns" + \ , "-Wunrecognised-pragmas" + \ , "-Wno-unrecognised-pragmas" + \ , "-Wunrecognised-warning-flags" + \ , "-Wno-unrecognised-warning-flags" + \ , "-Wunsafe" + \ , "-Wno-unsafe" + \ , "-Wunsupported-calling-conventions" + \ , "-Wno-unsupported-calling-conventions" + \ , "-Wunsupported-llvm-version" + \ , "-Wno-monomorphism-restriction" + \ , "-Wunticked-promoted-constructors" + \ , "-Wno-unticked-promoted-constructors" + \ , "-Wunused-binds" + \ , "-Wno-unused-binds" + \ , "-Wunused-do-bind" + \ , "-Wno-unused-do-bind" + \ , "-Wunused-foralls" + \ , "-Wno-unused-foralls" + \ , "-Wunused-imports" + \ , "-Wno-unused-imports" + \ , "-Wunused-local-binds" + \ , "-Wno-unused-local-binds" + \ , "-Wunused-matches" + \ , "-Wno-unused-matches" + \ , "-Wunused-pattern-binds" + \ , "-Wno-unused-pattern-binds" + \ , "-Wunused-top-binds" + \ , "-Wno-unused-top-binds" + \ , "-Wunused-type-patterns" + \ , "-Wno-unused-type-patterns" + \ , "-Wwarn" + \ , "-Werror" + \ , "-Wwarnings-deprecations" + \ , "-Wno-warnings-deprecations" + \ , "-Wwrong-do-bind" + \ , "-Wno-wrong-do-bind" + \ , "-O," + \ , "-O0" + \ , "-O0" + \ , "-O2" + \ , "-O0" + \ , "-Odph" + \ , "-fcall-arity" + \ , "-fno-call-arity" + \ , "-fcase-folding" + \ , "-fno-case-folding" + \ , "-fcase-merge" + \ , "-fno-case-merge" + \ , "-fcmm-elim-common-blocks" + \ , "-fno-cmm-elim-common-blocks" + \ , "-fcmm-sink" + \ , "-fno-cmm-sink" + \ , "-fcpr-anal" + \ , "-fno-cpr-anal" + \ , "-fcross-module-specialise" + \ , "-fno-cross-module-specialise" + \ , "-fcse" + \ , "-fno-cse" + \ , "-fdicts-cheap" + \ , "-fno-dicts-cheap" + \ , "-fdicts-strict" + \ , "-fno-dicts-strict" + \ , "-fdmd-tx-dict-sel" + \ , "-fno-dmd-tx-dict-sel" + \ , "-fdo-eta-reduction" + \ , "-fno-do-eta-reduction" + \ , "-fdo-lambda-eta-expansion" + \ , "-fno-do-lambda-eta-expansion" + \ , "-feager-blackholing" + \ , "-fenable-rewrite-rules" + \ , "-fno-enable-rewrite-rules" + \ , "-fexcess-precision" + \ , "-fno-excess-precision" + \ , "-fexitification" + \ , "-fno-exitification" + \ , "-fexpose-all-unfoldings" + \ , "-fno-expose-all-unfoldings" + \ , "-ffloat-in" + \ , "-fno-float-in" + \ , "-ffull-laziness" + \ , "-fno-full-laziness" + \ , "-ffun-to-thunk" + \ , "-fno-fun-to-thunk" + \ , "-fignore-asserts" + \ , "-fno-ignore-asserts" + \ , "-fignore-interface-pragmas" + \ , "-fno-ignore-interface-pragmas" + \ , "-flate-dmd-anal" + \ , "-fno-late-dmd-anal" + \ , "-fliberate-case" + \ , "-fno-liberate-case" + \ , "-fliberate-case-threshold=" + \ , "-fno-liberate-case-threshold" + \ , "-fllvm-pass-vectors-in-regs" + \ , "-fno-llvm-pass-vectors-in-regs" + \ , "-floopification" + \ , "-fno-loopification" + \ , "-fmax-inline-alloc-size=" + \ , "-fmax-inline-memcpy-insns=" + \ , "-fmax-inline-memset-insns=" + \ , "-fmax-relevant-binds=" + \ , "-fno-max-relevant-bindings" + \ , "-fmax-simplifier-iterations=" + \ , "-fmax-uncovered-patterns=" + \ , "-fmax-valid-substitutions=" + \ , "-fno-max-valid-substitutions" + \ , "-fmax-worker-args=" + \ , "-fno-opt-coercion" + \ , "-fno-pre-inlining" + \ , "-fno-state-hack" + \ , "-fomit-interface-pragmas" + \ , "-fno-omit-interface-pragmas" + \ , "-fomit-yields" + \ , "-fno-omit-yields" + \ , "-foptimal-applicative-do" + \ , "-fno-optimal-applicative-do" + \ , "-fpedantic-bottoms" + \ , "-fno-pedantic-bottoms" + \ , "-fregs-graph" + \ , "-fno-regs-graph" + \ , "-fregs-iterative" + \ , "-fno-regs-iterative" + \ , "-fsimpl-tick-factor=" + \ , "-fsimplifier-phases=" + \ , "-fsolve-constant-dicts" + \ , "-fno-solve-constant-dicts" + \ , "-fspec-constr" + \ , "-fno-spec-constr" + \ , "-fspec-constr-count=" + \ , "-fno-spec-constr-count" + \ , "-fspec-constr-keen" + \ , "-fno-spec-constr-keen" + \ , "-fspec-constr-threshold=" + \ , "-fno-spec-constr-threshold" + \ , "-fspecialise" + \ , "-fno-specialise" + \ , "-fspecialise-aggressively" + \ , "-fno-specialise-aggressively" + \ , "-fstatic-argument-transformation" + \ , "-fno-static-argument-transformation" + \ , "-fstg-cse" + \ , "-fno-stg-cse" + \ , "-fstrictness" + \ , "-fno-strictness" + \ , "-fstrictness-before=" + \ , "-funbox-small-strict-fields" + \ , "-fno-unbox-small-strict-fields" + \ , "-funbox-strict-fields" + \ , "-fno-unbox-strict-fields" + \ , "-funfolding-creation-threshold=" + \ , "-funfolding-dict-discount=" + \ , "-funfolding-fun-discount=" + \ , "-funfolding-keeness-factor=" + \ , "-funfolding-use-threshold=" + \ , "-fvectorisation-avoidance" + \ , "-fno-vectorisation-avoidance" + \ , "-fvectorise" + \ , "-fno-vectorise" + \ , "-fno-prof-auto" + \ , "-fprof-auto" + \ , "-fno-prof-cafs" + \ , "-fprof-cafs" + \ , "-fno-prof-count-entries" + \ , "-fprof-count-entries" + \ , "-fprof-auto" + \ , "-fno-prof-auto" + \ , "-fprof-auto-calls" + \ , "-fno-prof-auto-calls" + \ , "-fprof-auto-exported" + \ , "-fno-prof-auto" + \ , "-fprof-auto-top" + \ , "-fno-prof-auto" + \ , "-fprof-cafs" + \ , "-fno-prof-cafs" + \ , "-prof" + \ , "-ticky" + \ , "-fhpc" + \ , "-cpp" + \ , "-D[=]" + \ , "-U" + \ , "-I" + \ , "-U" + \ , "-dynamic" + \ , "-too" + \ , "-fasm" + \ , "-fllvm" + \ , "-fbyte-code" + \ , "-fllvm" + \ , "-fasm" + \ , "-fno-code" + \ , "-fobject-code" + \ , "-fPIC" + \ , "-fPIE" + \ , "-fwrite-interface" + \ , "-debug" + \ , "-dylib-install-name" + \ , "-dynamic" + \ , "-dynload" + \ , "-eventlog" + \ , "-fno-embed-manifest" + \ , "-fno-gen-manifest" + \ , "-fno-shared-implib" + \ , "-framework" + \ , "-framework-path" + \ , "-fwhole-archive-hs-libs" + \ , "-L" + \ , "-l" + \ , "-main-is" + \ , "-no-hs-main" + \ , "-no-rtsopts-suggestions" + \ , "-package" + \ , "-pie" + \ , "-rdynamic" + \ , "-rtsopts[=]" + \ , "-shared" + \ , "-split-objs" + \ , "-split-sections" + \ , "-static" + \ , "-staticlib" + \ , "-threaded" + \ , "-with-rtsopts=" + \ , "-fplugin-opt=:" + \ , "-fplugin=" + \ , "-hide-all-plugin-packages" + \ , "-plugin-package" + \ , "-plugin-package-id" + \ , "-pgma" + \ , "-pgmc" + \ , "-pgmdll" + \ , "-pgmF" + \ , "-pgmi" + \ , "-pgmL" + \ , "-pgml" + \ , "-pgmlc" + \ , "-pgmlibtool" + \ , "-pgmlo" + \ , "-pgmP" + \ , "-pgms" + \ , "-pgmwindres" + \ , "-opta" + \ , "-optc" + \ , "-optdll" + \ , "-optF" + \ , "-opti" + \ , "-optL" + \ , "-optl" + \ , "-optlc" + \ , "-optlo" + \ , "-optP" + \ , "-optwindres" + \ , "-msse2" + \ , "-msse4.2" + \ , "-dcmm-lint" + \ , "-dcore-lint" + \ , "-ddump-asm" + \ , "-ddump-asm-expanded" + \ , "-ddump-asm-liveness" + \ , "-ddump-asm-native" + \ , "-ddump-asm-regalloc" + \ , "-ddump-asm-regalloc-stages" + \ , "-ddump-asm-stats" + \ , "-ddump-bcos" + \ , "-ddump-cmm" + \ , "-ddump-cmm-caf" + \ , "-ddump-cmm-cbe" + \ , "-ddump-cmm-cfg" + \ , "-ddump-cmm-cps" + \ , "-ddump-cmm-from-stg" + \ , "-ddump-cmm-info" + \ , "-ddump-cmm-proc" + \ , "-ddump-cmm-procmap" + \ , "-ddump-cmm-raw" + \ , "-ddump-cmm-sink" + \ , "-ddump-cmm-sp" + \ , "-ddump-cmm-split" + \ , "-ddump-cmm-switch" + \ , "-ddump-cmm-verbose" + \ , "-ddump-core-stats" + \ , "-ddump-cse" + \ , "-ddump-deriv" + \ , "-ddump-ds" + \ , "-ddump-ec-trace" + \ , "-ddump-foreign" + \ , "-ddump-if-trace" + \ , "-ddump-inlinings" + \ , "-ddump-json" + \ , "-ddump-llvm" + \ , "-ddump-occur-anal" + \ , "-ddump-opt-cmm" + \ , "-ddump-parsed" + \ , "-ddump-parsed-ast" + \ , "-ddump-prep" + \ , "-ddump-rn" + \ , "-ddump-rn-ast" + \ , "-ddump-rn-stats" + \ , "-ddump-rn-trace" + \ , "-ddump-rule-firings" + \ , "-ddump-rule-rewrites" + \ , "-ddump-rules" + \ , "-ddump-simpl" + \ , "-ddump-simpl-iterations" + \ , "-ddump-simpl-stats" + \ , "-ddump-spec" + \ , "-ddump-splices" + \ , "-ddump-stg" + \ , "-ddump-str-signatures" + \ , "-ddump-stranal" + \ , "-ddump-tc" + \ , "-ddump-tc-ast" + \ , "-ddump-tc-trace" + \ , "-ddump-timings" + \ , "-ddump-to-file" + \ , "-ddump-types" + \ , "-ddump-vect" + \ , "-ddump-vt-trace" + \ , "-ddump-worker-wrapper" + \ , "-dfaststring-stats" + \ , "-dinitial-unique=" + \ , "-dno-debug-output" + \ , "-ddebug-output" + \ , "-dppr-case-as-let" + \ , "-dppr-cols=" + \ , "-dppr-debug" + \ , "-dppr-user-length" + \ , "-dshow-passes" + \ , "-dstg-lint" + \ , "-dsuppress-all" + \ , "-dsuppress-coercions" + \ , "-dsuppress-idinfo" + \ , "-dsuppress-module-prefixes" + \ , "-dsuppress-stg-free-vars" + \ , "-dsuppress-ticks" + \ , "-dsuppress-type-applications" + \ , "-dsuppress-type-signatures" + \ , "-dsuppress-unfoldings" + \ , "-dsuppress-uniques" + \ , "-dsuppress-var-kinds" + \ , "-dth-dec-file=" + \ , "-dunique-increment=" + \ , "-dverbose-core2core" + \ , "-dverbose-stg2stg" + \ , "-falignment-sanitisation" + \ , "-fcatch-bottoms" + \ , "-fllvm-fill-undef-with-garbage" + \ , "-g," + \ , "-fexternal-interpreter" + \ , "-fglasgow-exts" + \ , "-fno-glasgow-exts" + \ , "-ghcversion-file" + \ , "-H" + \ , "-j[]" + \ ] + +let s:commonModules = + \ [ "Distribution.Backpack" + \ , "Distribution.Backpack.ComponentsGraph" + \ , "Distribution.Backpack.Configure" + \ , "Distribution.Backpack.ConfiguredComponent" + \ , "Distribution.Backpack.DescribeUnitId" + \ , "Distribution.Backpack.FullUnitId" + \ , "Distribution.Backpack.LinkedComponent" + \ , "Distribution.Backpack.ModSubst" + \ , "Distribution.Backpack.ModuleShape" + \ , "Distribution.Backpack.PreModuleShape" + \ , "Distribution.CabalSpecVersion" + \ , "Distribution.Compat.Binary" + \ , "Distribution.Compat.CharParsing" + \ , "Distribution.Compat.CreatePipe" + \ , "Distribution.Compat.DList" + \ , "Distribution.Compat.Directory" + \ , "Distribution.Compat.Environment" + \ , "Distribution.Compat.Exception" + \ , "Distribution.Compat.Graph" + \ , "Distribution.Compat.Internal.TempFile" + \ , "Distribution.Compat.Lens" + \ , "Distribution.Compat.Map.Strict" + \ , "Distribution.Compat.Newtype" + \ , "Distribution.Compat.Parsing" + \ , "Distribution.Compat.Prelude.Internal" + \ , "Distribution.Compat.ReadP" + \ , "Distribution.Compat.Semigroup" + \ , "Distribution.Compat.Stack" + \ , "Distribution.Compat.Time" + \ , "Distribution.Compiler" + \ , "Distribution.FieldGrammar" + \ , "Distribution.FieldGrammar.Class" + \ , "Distribution.FieldGrammar.FieldDescrs" + \ , "Distribution.FieldGrammar.Parsec" + \ , "Distribution.FieldGrammar.Pretty" + \ , "Distribution.InstalledPackageInfo" + \ , "Distribution.License" + \ , "Distribution.Make" + \ , "Distribution.ModuleName" + \ , "Distribution.Package" + \ , "Distribution.PackageDescription" + \ , "Distribution.PackageDescription.Check" + \ , "Distribution.PackageDescription.Configuration" + \ , "Distribution.PackageDescription.FieldGrammar" + \ , "Distribution.PackageDescription.Parsec" + \ , "Distribution.PackageDescription.PrettyPrint" + \ , "Distribution.PackageDescription.Quirks" + \ , "Distribution.PackageDescription.Utils" + \ , "Distribution.ParseUtils" + \ , "Distribution.Parsec.Class" + \ , "Distribution.Parsec.Common" + \ , "Distribution.Parsec.ConfVar" + \ , "Distribution.Parsec.Field" + \ , "Distribution.Parsec.FieldLineStream" + \ , "Distribution.Parsec.Lexer" + \ , "Distribution.Parsec.LexerMonad" + \ , "Distribution.Parsec.Newtypes" + \ , "Distribution.Parsec.ParseResult" + \ , "Distribution.Parsec.Parser" + \ , "Distribution.Pretty" + \ , "Distribution.PrettyUtils" + \ , "Distribution.ReadE" + \ , "Distribution.SPDX" + \ , "Distribution.SPDX.License" + \ , "Distribution.SPDX.LicenseExceptionId" + \ , "Distribution.SPDX.LicenseExpression" + \ , "Distribution.SPDX.LicenseId" + \ , "Distribution.SPDX.LicenseReference" + \ , "Distribution.Simple" + \ , "Distribution.Simple.Bench" + \ , "Distribution.Simple.Build" + \ , "Distribution.Simple.Build.Macros" + \ , "Distribution.Simple.Build.PathsModule" + \ , "Distribution.Simple.BuildPaths" + \ , "Distribution.Simple.BuildTarget" + \ , "Distribution.Simple.BuildToolDepends" + \ , "Distribution.Simple.CCompiler" + \ , "Distribution.Simple.Command" + \ , "Distribution.Simple.Compiler" + \ , "Distribution.Simple.Configure" + \ , "Distribution.Simple.Doctest" + \ , "Distribution.Simple.GHC" + \ , "Distribution.Simple.GHCJS" + \ , "Distribution.Simple.Haddock" + \ , "Distribution.Simple.HaskellSuite" + \ , "Distribution.Simple.Hpc" + \ , "Distribution.Simple.Install" + \ , "Distribution.Simple.InstallDirs" + \ , "Distribution.Simple.JHC" + \ , "Distribution.Simple.LHC" + \ , "Distribution.Simple.LocalBuildInfo" + \ , "Distribution.Simple.PackageIndex" + \ , "Distribution.Simple.PreProcess" + \ , "Distribution.Simple.PreProcess.Unlit" + \ , "Distribution.Simple.Program" + \ , "Distribution.Simple.Program.Ar" + \ , "Distribution.Simple.Program.Builtin" + \ , "Distribution.Simple.Program.Db" + \ , "Distribution.Simple.Program.Find" + \ , "Distribution.Simple.Program.GHC" + \ , "Distribution.Simple.Program.HcPkg" + \ , "Distribution.Simple.Program.Hpc" + \ , "Distribution.Simple.Program.Internal" + \ , "Distribution.Simple.Program.Ld" + \ , "Distribution.Simple.Program.ResponseFile" + \ , "Distribution.Simple.Program.Run" + \ , "Distribution.Simple.Program.Script" + \ , "Distribution.Simple.Program.Strip" + \ , "Distribution.Simple.Program.Types" + \ , "Distribution.Simple.Register" + \ , "Distribution.Simple.Setup" + \ , "Distribution.Simple.SrcDist" + \ , "Distribution.Simple.Test" + \ , "Distribution.Simple.Test.ExeV10" + \ , "Distribution.Simple.Test.LibV09" + \ , "Distribution.Simple.Test.Log" + \ , "Distribution.Simple.UHC" + \ , "Distribution.Simple.UserHooks" + \ , "Distribution.Simple.Utils" + \ , "Distribution.System" + \ , "Distribution.TestSuite" + \ , "Distribution.Text" + \ , "Distribution.Types.AbiDependency" + \ , "Distribution.Types.AbiHash" + \ , "Distribution.Types.AnnotatedId" + \ , "Distribution.Types.Benchmark" + \ , "Distribution.Types.Benchmark.Lens" + \ , "Distribution.Types.BenchmarkInterface" + \ , "Distribution.Types.BenchmarkType" + \ , "Distribution.Types.BuildInfo" + \ , "Distribution.Types.BuildInfo.Lens" + \ , "Distribution.Types.BuildType" + \ , "Distribution.Types.Component" + \ , "Distribution.Types.ComponentId" + \ , "Distribution.Types.ComponentInclude" + \ , "Distribution.Types.ComponentLocalBuildInfo" + \ , "Distribution.Types.ComponentName" + \ , "Distribution.Types.ComponentRequestedSpec" + \ , "Distribution.Types.CondTree" + \ , "Distribution.Types.Condition" + \ , "Distribution.Types.Dependency" + \ , "Distribution.Types.DependencyMap" + \ , "Distribution.Types.ExeDependency" + \ , "Distribution.Types.Executable" + \ , "Distribution.Types.Executable.Lens" + \ , "Distribution.Types.ExecutableScope" + \ , "Distribution.Types.ExposedModule" + \ , "Distribution.Types.ForeignLib" + \ , "Distribution.Types.ForeignLib.Lens" + \ , "Distribution.Types.ForeignLibOption" + \ , "Distribution.Types.ForeignLibType" + \ , "Distribution.Types.GenericPackageDescription" + \ , "Distribution.Types.GenericPackageDescription.Lens" + \ , "Distribution.Types.HookedBuildInfo" + \ , "Distribution.Types.IncludeRenaming" + \ , "Distribution.Types.InstalledPackageInfo" + \ , "Distribution.Types.InstalledPackageInfo.FieldGrammar" + \ , "Distribution.Types.InstalledPackageInfo.Lens" + \ , "Distribution.Types.LegacyExeDependency" + \ , "Distribution.Types.Lens" + \ , "Distribution.Types.Library" + \ , "Distribution.Types.Library.Lens" + \ , "Distribution.Types.LocalBuildInfo" + \ , "Distribution.Types.Mixin" + \ , "Distribution.Types.Module" + \ , "Distribution.Types.ModuleReexport" + \ , "Distribution.Types.ModuleRenaming" + \ , "Distribution.Types.MungedPackageId" + \ , "Distribution.Types.MungedPackageName" + \ , "Distribution.Types.PackageDescription" + \ , "Distribution.Types.PackageDescription.Lens" + \ , "Distribution.Types.PackageId" + \ , "Distribution.Types.PackageId.Lens" + \ , "Distribution.Types.PackageName" + \ , "Distribution.Types.PkgconfigDependency" + \ , "Distribution.Types.PkgconfigName" + \ , "Distribution.Types.SetupBuildInfo" + \ , "Distribution.Types.SetupBuildInfo.Lens" + \ , "Distribution.Types.SourceRepo" + \ , "Distribution.Types.SourceRepo.Lens" + \ , "Distribution.Types.TargetInfo" + \ , "Distribution.Types.TestSuite" + \ , "Distribution.Types.TestSuite.Lens" + \ , "Distribution.Types.TestSuiteInterface" + \ , "Distribution.Types.TestType" + \ , "Distribution.Types.UnitId" + \ , "Distribution.Types.UnqualComponentName" + \ , "Distribution.Types.Version" + \ , "Distribution.Types.VersionInterval" + \ , "Distribution.Types.VersionRange" + \ , "Distribution.Utils.Generic" + \ , "Distribution.Utils.IOData" + \ , "Distribution.Utils.LogProgress" + \ , "Distribution.Utils.MapAccum" + \ , "Distribution.Utils.NubList" + \ , "Distribution.Utils.Progress" + \ , "Distribution.Utils.ShortText" + \ , "Distribution.Verbosity" + \ , "Distribution.Version" + \ , "Language.Haskell.Extension" + \ , "Graphics.GLU" + \ , "Graphics.GLU.Callbacks" + \ , "Graphics.GLU.Functions" + \ , "Graphics.GLU.Tokens" + \ , "Graphics.GLU.Types" + \ , "Graphics.UI.GLUT" + \ , "Graphics.UI.GLUT.Begin" + \ , "Graphics.UI.GLUT.Callbacks" + \ , "Graphics.UI.GLUT.Callbacks.Global" + \ , "Graphics.UI.GLUT.Callbacks.Window" + \ , "Graphics.UI.GLUT.Colormap" + \ , "Graphics.UI.GLUT.Debugging" + \ , "Graphics.UI.GLUT.DeviceControl" + \ , "Graphics.UI.GLUT.Fonts" + \ , "Graphics.UI.GLUT.GameMode" + \ , "Graphics.UI.GLUT.Initialization" + \ , "Graphics.UI.GLUT.Menu" + \ , "Graphics.UI.GLUT.Objects" + \ , "Graphics.UI.GLUT.Overlay" + \ , "Graphics.UI.GLUT.State" + \ , "Graphics.UI.GLUT.Window" + \ , "Network.Browser" + \ , "Network.BufferType" + \ , "Network.HTTP" + \ , "Network.HTTP.Auth" + \ , "Network.HTTP.Base" + \ , "Network.HTTP.Cookie" + \ , "Network.HTTP.HandleStream" + \ , "Network.HTTP.Headers" + \ , "Network.HTTP.Proxy" + \ , "Network.HTTP.Stream" + \ , "Network.Stream" + \ , "Network.StreamDebugger" + \ , "Network.StreamSocket" + \ , "Network.TCP" + \ , "Test.HUnit" + \ , "Test.HUnit.Base" + \ , "Test.HUnit.Lang" + \ , "Test.HUnit.Terminal" + \ , "Test.HUnit.Text" + \ , "Data.ObjectName" + \ , "Graphics.Rendering.OpenGL" + \ , "Graphics.Rendering.OpenGL.GL" + \ , "Graphics.Rendering.OpenGL.GL.Antialiasing" + \ , "Graphics.Rendering.OpenGL.GL.BeginEnd" + \ , "Graphics.Rendering.OpenGL.GL.Bitmaps" + \ , "Graphics.Rendering.OpenGL.GL.BufferObjects" + \ , "Graphics.Rendering.OpenGL.GL.Clipping" + \ , "Graphics.Rendering.OpenGL.GL.ColorSum" + \ , "Graphics.Rendering.OpenGL.GL.Colors" + \ , "Graphics.Rendering.OpenGL.GL.ConditionalRendering" + \ , "Graphics.Rendering.OpenGL.GL.CoordTrans" + \ , "Graphics.Rendering.OpenGL.GL.DebugOutput" + \ , "Graphics.Rendering.OpenGL.GL.DisplayLists" + \ , "Graphics.Rendering.OpenGL.GL.Evaluators" + \ , "Graphics.Rendering.OpenGL.GL.Feedback" + \ , "Graphics.Rendering.OpenGL.GL.FlushFinish" + \ , "Graphics.Rendering.OpenGL.GL.Fog" + \ , "Graphics.Rendering.OpenGL.GL.Framebuffer" + \ , "Graphics.Rendering.OpenGL.GL.FramebufferObjects" + \ , "Graphics.Rendering.OpenGL.GL.FramebufferObjects.Attachments" + \ , "Graphics.Rendering.OpenGL.GL.FramebufferObjects.FramebufferObjects" + \ , "Graphics.Rendering.OpenGL.GL.FramebufferObjects.Queries" + \ , "Graphics.Rendering.OpenGL.GL.FramebufferObjects.RenderbufferObjects" + \ , "Graphics.Rendering.OpenGL.GL.Hints" + \ , "Graphics.Rendering.OpenGL.GL.LineSegments" + \ , "Graphics.Rendering.OpenGL.GL.PerFragment" + \ , "Graphics.Rendering.OpenGL.GL.PixelRectangles" + \ , "Graphics.Rendering.OpenGL.GL.PixelRectangles.ColorTable" + \ , "Graphics.Rendering.OpenGL.GL.PixelRectangles.Convolution" + \ , "Graphics.Rendering.OpenGL.GL.PixelRectangles.Histogram" + \ , "Graphics.Rendering.OpenGL.GL.PixelRectangles.Minmax" + \ , "Graphics.Rendering.OpenGL.GL.PixelRectangles.PixelMap" + \ , "Graphics.Rendering.OpenGL.GL.PixelRectangles.PixelStorage" + \ , "Graphics.Rendering.OpenGL.GL.PixelRectangles.PixelTransfer" + \ , "Graphics.Rendering.OpenGL.GL.PixelRectangles.Rasterization" + \ , "Graphics.Rendering.OpenGL.GL.PixellikeObject" + \ , "Graphics.Rendering.OpenGL.GL.Points" + \ , "Graphics.Rendering.OpenGL.GL.Polygons" + \ , "Graphics.Rendering.OpenGL.GL.PrimitiveMode" + \ , "Graphics.Rendering.OpenGL.GL.QueryObjects" + \ , "Graphics.Rendering.OpenGL.GL.RasterPos" + \ , "Graphics.Rendering.OpenGL.GL.ReadCopyPixels" + \ , "Graphics.Rendering.OpenGL.GL.Rectangles" + \ , "Graphics.Rendering.OpenGL.GL.SavingState" + \ , "Graphics.Rendering.OpenGL.GL.Selection" + \ , "Graphics.Rendering.OpenGL.GL.Shaders" + \ , "Graphics.Rendering.OpenGL.GL.Shaders.Attribs" + \ , "Graphics.Rendering.OpenGL.GL.Shaders.Limits" + \ , "Graphics.Rendering.OpenGL.GL.Shaders.ProgramBinaries" + \ , "Graphics.Rendering.OpenGL.GL.Shaders.ProgramObjects" + \ , "Graphics.Rendering.OpenGL.GL.Shaders.ShaderBinaries" + \ , "Graphics.Rendering.OpenGL.GL.Shaders.ShaderObjects" + \ , "Graphics.Rendering.OpenGL.GL.Shaders.Uniform" + \ , "Graphics.Rendering.OpenGL.GL.StringQueries" + \ , "Graphics.Rendering.OpenGL.GL.SyncObjects" + \ , "Graphics.Rendering.OpenGL.GL.Tensor" + \ , "Graphics.Rendering.OpenGL.GL.Texturing" + \ , "Graphics.Rendering.OpenGL.GL.Texturing.Application" + \ , "Graphics.Rendering.OpenGL.GL.Texturing.Environments" + \ , "Graphics.Rendering.OpenGL.GL.Texturing.Objects" + \ , "Graphics.Rendering.OpenGL.GL.Texturing.Parameters" + \ , "Graphics.Rendering.OpenGL.GL.Texturing.Queries" + \ , "Graphics.Rendering.OpenGL.GL.Texturing.Specification" + \ , "Graphics.Rendering.OpenGL.GL.TransformFeedback" + \ , "Graphics.Rendering.OpenGL.GL.VertexArrayObjects" + \ , "Graphics.Rendering.OpenGL.GL.VertexArrays" + \ , "Graphics.Rendering.OpenGL.GL.VertexSpec" + \ , "Graphics.Rendering.OpenGL.GLU" + \ , "Graphics.Rendering.OpenGL.GLU.Errors" + \ , "Graphics.Rendering.OpenGL.GLU.Initialization" + \ , "Graphics.Rendering.OpenGL.GLU.Matrix" + \ , "Graphics.Rendering.OpenGL.GLU.Mipmapping" + \ , "Graphics.Rendering.OpenGL.GLU.NURBS" + \ , "Graphics.Rendering.OpenGL.GLU.Quadrics" + \ , "Graphics.Rendering.OpenGL.GLU.Tessellation" + \ , "Graphics.GL" + \ , "Graphics.GL.AMD" + \ , "Graphics.GL.AMD.BlendMinmaxFactor" + \ , "Graphics.GL.AMD.DebugOutput" + \ , "Graphics.GL.AMD.DepthClampSeparate" + \ , "Graphics.GL.AMD.DrawBuffersBlend" + \ , "Graphics.GL.AMD.FramebufferMultisampleAdvanced" + \ , "Graphics.GL.AMD.FramebufferSamplePositions" + \ , "Graphics.GL.AMD.GPUShaderHalfFloat" + \ , "Graphics.GL.AMD.GPUShaderInt64" + \ , "Graphics.GL.AMD.InterleavedElements" + \ , "Graphics.GL.AMD.MultiDrawIndirect" + \ , "Graphics.GL.AMD.NameGenDelete" + \ , "Graphics.GL.AMD.OcclusionQueryEvent" + \ , "Graphics.GL.AMD.PerformanceMonitor" + \ , "Graphics.GL.AMD.PinnedMemory" + \ , "Graphics.GL.AMD.QueryBufferObject" + \ , "Graphics.GL.AMD.SamplePositions" + \ , "Graphics.GL.AMD.SeamlessCubemapPerTexture" + \ , "Graphics.GL.AMD.SparseTexture" + \ , "Graphics.GL.AMD.StencilOperationExtended" + \ , "Graphics.GL.AMD.TransformFeedback4" + \ , "Graphics.GL.AMD.VertexShaderTessellator" + \ , "Graphics.GL.APPLE" + \ , "Graphics.GL.APPLE.AuxDepthStencil" + \ , "Graphics.GL.APPLE.ClientStorage" + \ , "Graphics.GL.APPLE.ElementArray" + \ , "Graphics.GL.APPLE.Fence" + \ , "Graphics.GL.APPLE.FloatPixels" + \ , "Graphics.GL.APPLE.FlushBufferRange" + \ , "Graphics.GL.APPLE.ObjectPurgeable" + \ , "Graphics.GL.APPLE.RGB422" + \ , "Graphics.GL.APPLE.RowBytes" + \ , "Graphics.GL.APPLE.SpecularVector" + \ , "Graphics.GL.APPLE.TextureRange" + \ , "Graphics.GL.APPLE.TransformHint" + \ , "Graphics.GL.APPLE.VertexArrayObject" + \ , "Graphics.GL.APPLE.VertexArrayRange" + \ , "Graphics.GL.APPLE.VertexProgramEvaluators" + \ , "Graphics.GL.APPLE.YCbCr422" + \ , "Graphics.GL.ARB" + \ , "Graphics.GL.ARB.BaseInstance" + \ , "Graphics.GL.ARB.BindlessTexture" + \ , "Graphics.GL.ARB.BlendFuncExtended" + \ , "Graphics.GL.ARB.BufferStorage" + \ , "Graphics.GL.ARB.CLEvent" + \ , "Graphics.GL.ARB.ClearBufferObject" + \ , "Graphics.GL.ARB.ClearTexture" + \ , "Graphics.GL.ARB.ClipControl" + \ , "Graphics.GL.ARB.ColorBufferFloat" + \ , "Graphics.GL.ARB.CompressedTexturePixelStorage" + \ , "Graphics.GL.ARB.ComputeShader" + \ , "Graphics.GL.ARB.ComputeVariableGroupSize" + \ , "Graphics.GL.ARB.ConditionalRenderInverted" + \ , "Graphics.GL.ARB.CopyBuffer" + \ , "Graphics.GL.ARB.CopyImage" + \ , "Graphics.GL.ARB.CullDistance" + \ , "Graphics.GL.ARB.DebugOutput" + \ , "Graphics.GL.ARB.DepthBufferFloat" + \ , "Graphics.GL.ARB.DepthClamp" + \ , "Graphics.GL.ARB.DepthTexture" + \ , "Graphics.GL.ARB.DirectStateAccess" + \ , "Graphics.GL.ARB.DrawBuffers" + \ , "Graphics.GL.ARB.DrawBuffersBlend" + \ , "Graphics.GL.ARB.DrawElementsBaseVertex" + \ , "Graphics.GL.ARB.DrawIndirect" + \ , "Graphics.GL.ARB.DrawInstanced" + \ , "Graphics.GL.ARB.ES2Compatibility" + \ , "Graphics.GL.ARB.ES31Compatibility" + \ , "Graphics.GL.ARB.ES32Compatibility" + \ , "Graphics.GL.ARB.ES3Compatibility" + \ , "Graphics.GL.ARB.EnhancedLayouts" + \ , "Graphics.GL.ARB.ExplicitUniformLocation" + \ , "Graphics.GL.ARB.FragmentProgram" + \ , "Graphics.GL.ARB.FragmentShader" + \ , "Graphics.GL.ARB.FramebufferNoAttachments" + \ , "Graphics.GL.ARB.FramebufferObjectCompatibility" + \ , "Graphics.GL.ARB.FramebufferObjectCore" + \ , "Graphics.GL.ARB.FramebufferSRGB" + \ , "Graphics.GL.ARB.GPUShader5" + \ , "Graphics.GL.ARB.GPUShaderFP64" + \ , "Graphics.GL.ARB.GPUShaderInt64" + \ , "Graphics.GL.ARB.GeometryShader4" + \ , "Graphics.GL.ARB.GetProgramBinary" + \ , "Graphics.GL.ARB.GetTextureSubImage" + \ , "Graphics.GL.ARB.GlSpirv" + \ , "Graphics.GL.ARB.HalfFloatPixel" + \ , "Graphics.GL.ARB.HalfFloatVertex" + \ , "Graphics.GL.ARB.ImagingCompatibility" + \ , "Graphics.GL.ARB.ImagingCore" + \ , "Graphics.GL.ARB.IndirectParameters" + \ , "Graphics.GL.ARB.InstancedArrays" + \ , "Graphics.GL.ARB.InternalformatQuery" + \ , "Graphics.GL.ARB.InternalformatQuery2" + \ , "Graphics.GL.ARB.InvalidateSubdata" + \ , "Graphics.GL.ARB.MapBufferAlignment" + \ , "Graphics.GL.ARB.MapBufferRange" + \ , "Graphics.GL.ARB.MatrixPalette" + \ , "Graphics.GL.ARB.MultiBind" + \ , "Graphics.GL.ARB.MultiDrawIndirect" + \ , "Graphics.GL.ARB.Multisample" + \ , "Graphics.GL.ARB.Multitexture" + \ , "Graphics.GL.ARB.OcclusionQuery" + \ , "Graphics.GL.ARB.OcclusionQuery2" + \ , "Graphics.GL.ARB.ParallelShaderCompile" + \ , "Graphics.GL.ARB.PipelineStatisticsQuery" + \ , "Graphics.GL.ARB.PixelBufferObject" + \ , "Graphics.GL.ARB.PointParameters" + \ , "Graphics.GL.ARB.PointSprite" + \ , "Graphics.GL.ARB.PolygonOffsetClamp" + \ , "Graphics.GL.ARB.ProgramInterfaceQuery" + \ , "Graphics.GL.ARB.ProvokingVertex" + \ , "Graphics.GL.ARB.QueryBufferObject" + \ , "Graphics.GL.ARB.RobustnessCompatibility" + \ , "Graphics.GL.ARB.RobustnessCore" + \ , "Graphics.GL.ARB.SampleLocations" + \ , "Graphics.GL.ARB.SampleShading" + \ , "Graphics.GL.ARB.SamplerObjects" + \ , "Graphics.GL.ARB.SeamlessCubeMap" + \ , "Graphics.GL.ARB.SeamlessCubemapPerTexture" + \ , "Graphics.GL.ARB.SeparateShaderObjects" + \ , "Graphics.GL.ARB.ShaderAtomicCounters" + \ , "Graphics.GL.ARB.ShaderImageLoadStore" + \ , "Graphics.GL.ARB.ShaderObjects" + \ , "Graphics.GL.ARB.ShaderStorageBufferObject" + \ , "Graphics.GL.ARB.ShaderSubroutine" + \ , "Graphics.GL.ARB.ShadingLanguage100" + \ , "Graphics.GL.ARB.ShadingLanguageInclude" + \ , "Graphics.GL.ARB.Shadow" + \ , "Graphics.GL.ARB.ShadowAmbient" + \ , "Graphics.GL.ARB.SparseBuffer" + \ , "Graphics.GL.ARB.SparseTexture" + \ , "Graphics.GL.ARB.SpirvExtensions" + \ , "Graphics.GL.ARB.StencilTexturing" + \ , "Graphics.GL.ARB.Sync" + \ , "Graphics.GL.ARB.TessellationShader" + \ , "Graphics.GL.ARB.TextureBarrier" + \ , "Graphics.GL.ARB.TextureBorderClamp" + \ , "Graphics.GL.ARB.TextureBufferObject" + \ , "Graphics.GL.ARB.TextureBufferObjectRGB32" + \ , "Graphics.GL.ARB.TextureBufferRange" + \ , "Graphics.GL.ARB.TextureCompression" + \ , "Graphics.GL.ARB.TextureCompressionBPTC" + \ , "Graphics.GL.ARB.TextureCompressionRGTC" + \ , "Graphics.GL.ARB.TextureCubeMap" + \ , "Graphics.GL.ARB.TextureCubeMapArray" + \ , "Graphics.GL.ARB.TextureEnvCombine" + \ , "Graphics.GL.ARB.TextureEnvDot3" + \ , "Graphics.GL.ARB.TextureFilterAnisotropic" + \ , "Graphics.GL.ARB.TextureFilterMinmax" + \ , "Graphics.GL.ARB.TextureFloat" + \ , "Graphics.GL.ARB.TextureGather" + \ , "Graphics.GL.ARB.TextureMirrorClampToEdge" + \ , "Graphics.GL.ARB.TextureMirroredRepeat" + \ , "Graphics.GL.ARB.TextureMultisample" + \ , "Graphics.GL.ARB.TextureRG" + \ , "Graphics.GL.ARB.TextureRGB10A2UI" + \ , "Graphics.GL.ARB.TextureRectangle" + \ , "Graphics.GL.ARB.TextureStencil8" + \ , "Graphics.GL.ARB.TextureStorage" + \ , "Graphics.GL.ARB.TextureStorageMultisample" + \ , "Graphics.GL.ARB.TextureSwizzle" + \ , "Graphics.GL.ARB.TextureView" + \ , "Graphics.GL.ARB.TimerQuery" + \ , "Graphics.GL.ARB.TransformFeedback2" + \ , "Graphics.GL.ARB.TransformFeedback3" + \ , "Graphics.GL.ARB.TransformFeedbackInstanced" + \ , "Graphics.GL.ARB.TransformFeedbackOverflowQuery" + \ , "Graphics.GL.ARB.TransposeMatrix" + \ , "Graphics.GL.ARB.UniformBufferObject" + \ , "Graphics.GL.ARB.VertexArrayBGRA" + \ , "Graphics.GL.ARB.VertexArrayObject" + \ , "Graphics.GL.ARB.VertexAttrib64Bit" + \ , "Graphics.GL.ARB.VertexAttribBinding" + \ , "Graphics.GL.ARB.VertexBlend" + \ , "Graphics.GL.ARB.VertexBufferObject" + \ , "Graphics.GL.ARB.VertexProgram" + \ , "Graphics.GL.ARB.VertexShader" + \ , "Graphics.GL.ARB.VertexType10f11f11fRev" + \ , "Graphics.GL.ARB.VertexType2101010RevCompatibility" + \ , "Graphics.GL.ARB.VertexType2101010RevCore" + \ , "Graphics.GL.ARB.ViewportArray" + \ , "Graphics.GL.ARB.WindowPos" + \ , "Graphics.GL.ATI" + \ , "Graphics.GL.ATI.DrawBuffers" + \ , "Graphics.GL.ATI.ElementArray" + \ , "Graphics.GL.ATI.EnvmapBumpmap" + \ , "Graphics.GL.ATI.FragmentShader" + \ , "Graphics.GL.ATI.MapObjectBuffer" + \ , "Graphics.GL.ATI.Meminfo" + \ , "Graphics.GL.ATI.PNTriangles" + \ , "Graphics.GL.ATI.PixelFormatFloat" + \ , "Graphics.GL.ATI.SeparateStencil" + \ , "Graphics.GL.ATI.TextFragmentShader" + \ , "Graphics.GL.ATI.TextureEnvCombine3" + \ , "Graphics.GL.ATI.TextureFloat" + \ , "Graphics.GL.ATI.TextureMirrorOnce" + \ , "Graphics.GL.ATI.VertexArrayObject" + \ , "Graphics.GL.ATI.VertexAttribArrayObject" + \ , "Graphics.GL.ATI.VertexStreams" + \ , "Graphics.GL.Compatibility30" + \ , "Graphics.GL.Compatibility31" + \ , "Graphics.GL.Compatibility32" + \ , "Graphics.GL.Compatibility33" + \ , "Graphics.GL.Compatibility40" + \ , "Graphics.GL.Compatibility41" + \ , "Graphics.GL.Compatibility42" + \ , "Graphics.GL.Compatibility43" + \ , "Graphics.GL.Compatibility44" + \ , "Graphics.GL.Compatibility45" + \ , "Graphics.GL.Compatibility46" + \ , "Graphics.GL.Core30" + \ , "Graphics.GL.Core31" + \ , "Graphics.GL.Core32" + \ , "Graphics.GL.Core33" + \ , "Graphics.GL.Core40" + \ , "Graphics.GL.Core41" + \ , "Graphics.GL.Core42" + \ , "Graphics.GL.Core43" + \ , "Graphics.GL.Core44" + \ , "Graphics.GL.Core45" + \ , "Graphics.GL.Core46" + \ , "Graphics.GL.EXT" + \ , "Graphics.GL.EXT.ABGR" + \ , "Graphics.GL.EXT.BGRA" + \ , "Graphics.GL.EXT.BindableUniform" + \ , "Graphics.GL.EXT.BlendColor" + \ , "Graphics.GL.EXT.BlendEquationSeparate" + \ , "Graphics.GL.EXT.BlendFuncSeparate" + \ , "Graphics.GL.EXT.BlendMinmax" + \ , "Graphics.GL.EXT.BlendSubtract" + \ , "Graphics.GL.EXT.CMYKA" + \ , "Graphics.GL.EXT.ClipVolumeHint" + \ , "Graphics.GL.EXT.ColorSubtable" + \ , "Graphics.GL.EXT.CompiledVertexArray" + \ , "Graphics.GL.EXT.Convolution" + \ , "Graphics.GL.EXT.CoordinateFrame" + \ , "Graphics.GL.EXT.CopyTexture" + \ , "Graphics.GL.EXT.CullVertex" + \ , "Graphics.GL.EXT.DebugLabel" + \ , "Graphics.GL.EXT.DebugMarker" + \ , "Graphics.GL.EXT.DepthBoundsTest" + \ , "Graphics.GL.EXT.DirectStateAccess" + \ , "Graphics.GL.EXT.DrawBuffers2" + \ , "Graphics.GL.EXT.DrawInstanced" + \ , "Graphics.GL.EXT.DrawRangeElements" + \ , "Graphics.GL.EXT.EglImageStorage" + \ , "Graphics.GL.EXT.ExternalBuffer" + \ , "Graphics.GL.EXT.FogCoord" + \ , "Graphics.GL.EXT.FourTwoTwoPixels" + \ , "Graphics.GL.EXT.FramebufferBlit" + \ , "Graphics.GL.EXT.FramebufferMultisample" + \ , "Graphics.GL.EXT.FramebufferMultisampleBlitScaled" + \ , "Graphics.GL.EXT.FramebufferObject" + \ , "Graphics.GL.EXT.FramebufferSRGB" + \ , "Graphics.GL.EXT.GPUProgramParameters" + \ , "Graphics.GL.EXT.GPUShader4" + \ , "Graphics.GL.EXT.GeometryShader4" + \ , "Graphics.GL.EXT.Histogram" + \ , "Graphics.GL.EXT.IndexArrayFormats" + \ , "Graphics.GL.EXT.IndexFunc" + \ , "Graphics.GL.EXT.IndexMaterial" + \ , "Graphics.GL.EXT.LightTexture" + \ , "Graphics.GL.EXT.MemoryObject" + \ , "Graphics.GL.EXT.MemoryObjectFd" + \ , "Graphics.GL.EXT.MemoryObjectWin32" + \ , "Graphics.GL.EXT.MultiDrawArrays" + \ , "Graphics.GL.EXT.Multisample" + \ , "Graphics.GL.EXT.PackedDepthStencil" + \ , "Graphics.GL.EXT.PackedFloat" + \ , "Graphics.GL.EXT.PackedPixels" + \ , "Graphics.GL.EXT.PalettedTexture" + \ , "Graphics.GL.EXT.PixelBufferObject" + \ , "Graphics.GL.EXT.PixelTransform" + \ , "Graphics.GL.EXT.PointParameters" + \ , "Graphics.GL.EXT.PolygonOffset" + \ , "Graphics.GL.EXT.PolygonOffsetClamp" + \ , "Graphics.GL.EXT.ProvokingVertex" + \ , "Graphics.GL.EXT.RasterMultisample" + \ , "Graphics.GL.EXT.RescaleNormal" + \ , "Graphics.GL.EXT.SecondaryColor" + \ , "Graphics.GL.EXT.Semaphore" + \ , "Graphics.GL.EXT.SemaphoreFd" + \ , "Graphics.GL.EXT.SemaphoreWin32" + \ , "Graphics.GL.EXT.SeparateShaderObjects" + \ , "Graphics.GL.EXT.SeparateSpecularColor" + \ , "Graphics.GL.EXT.ShaderFramebufferFetch" + \ , "Graphics.GL.EXT.ShaderFramebufferFetchNonCoherent" + \ , "Graphics.GL.EXT.ShaderImageLoadStore" + \ , "Graphics.GL.EXT.SharedTexturePalette" + \ , "Graphics.GL.EXT.StencilClearTag" + \ , "Graphics.GL.EXT.StencilTwoSide" + \ , "Graphics.GL.EXT.StencilWrap" + \ , "Graphics.GL.EXT.Subtexture" + \ , "Graphics.GL.EXT.Texture" + \ , "Graphics.GL.EXT.Texture3D" + \ , "Graphics.GL.EXT.TextureArray" + \ , "Graphics.GL.EXT.TextureBufferObject" + \ , "Graphics.GL.EXT.TextureCompressionLATC" + \ , "Graphics.GL.EXT.TextureCompressionRGTC" + \ , "Graphics.GL.EXT.TextureCompressionS3TC" + \ , "Graphics.GL.EXT.TextureCubeMap" + \ , "Graphics.GL.EXT.TextureEnvCombine" + \ , "Graphics.GL.EXT.TextureEnvDot3" + \ , "Graphics.GL.EXT.TextureFilterAnisotropic" + \ , "Graphics.GL.EXT.TextureFilterMinmax" + \ , "Graphics.GL.EXT.TextureInteger" + \ , "Graphics.GL.EXT.TextureLODBias" + \ , "Graphics.GL.EXT.TextureMirrorClamp" + \ , "Graphics.GL.EXT.TextureObject" + \ , "Graphics.GL.EXT.TexturePerturbNormal" + \ , "Graphics.GL.EXT.TextureSNorm" + \ , "Graphics.GL.EXT.TextureSRGB" + \ , "Graphics.GL.EXT.TextureSRGBDecode" + \ , "Graphics.GL.EXT.TextureSharedExponent" + \ , "Graphics.GL.EXT.TextureSwizzle" + \ , "Graphics.GL.EXT.TimerQuery" + \ , "Graphics.GL.EXT.TransformFeedback" + \ , "Graphics.GL.EXT.VertexArray" + \ , "Graphics.GL.EXT.VertexArrayBGRA" + \ , "Graphics.GL.EXT.VertexAttrib64Bit" + \ , "Graphics.GL.EXT.VertexShader" + \ , "Graphics.GL.EXT.VertexWeighting" + \ , "Graphics.GL.EXT.Win32KeyedMutex" + \ , "Graphics.GL.EXT.WindowRectangles" + \ , "Graphics.GL.EXT.X11SyncObject" + \ , "Graphics.GL.Functions" + \ , "Graphics.GL.GREMEDY" + \ , "Graphics.GL.GREMEDY.FrameTerminator" + \ , "Graphics.GL.GREMEDY.StringMarker" + \ , "Graphics.GL.GetProcAddress" + \ , "Graphics.GL.Groups" + \ , "Graphics.GL.HP" + \ , "Graphics.GL.HP.ConvolutionBorderModes" + \ , "Graphics.GL.HP.ImageTransform" + \ , "Graphics.GL.HP.OcclusionTest" + \ , "Graphics.GL.HP.TextureLighting" + \ , "Graphics.GL.IBM" + \ , "Graphics.GL.IBM.CullVertex" + \ , "Graphics.GL.IBM.MultimodeDrawArrays" + \ , "Graphics.GL.IBM.RasterposClip" + \ , "Graphics.GL.IBM.StaticData" + \ , "Graphics.GL.IBM.TextureMirroredRepeat" + \ , "Graphics.GL.IBM.VertexArrayLists" + \ , "Graphics.GL.INGR" + \ , "Graphics.GL.INGR.BlendFuncSeparate" + \ , "Graphics.GL.INGR.ColorClamp" + \ , "Graphics.GL.INGR.InterlaceRead" + \ , "Graphics.GL.INTEL" + \ , "Graphics.GL.INTEL.BlackholeRender" + \ , "Graphics.GL.INTEL.ConservativeRasterization" + \ , "Graphics.GL.INTEL.FramebufferCmaa" + \ , "Graphics.GL.INTEL.MapTexture" + \ , "Graphics.GL.INTEL.ParallelArrays" + \ , "Graphics.GL.INTEL.PerformanceQuery" + \ , "Graphics.GL.KHR" + \ , "Graphics.GL.KHR.BlendEquationAdvanced" + \ , "Graphics.GL.KHR.BlendEquationAdvancedCoherent" + \ , "Graphics.GL.KHR.ContextFlushControl" + \ , "Graphics.GL.KHR.DebugCompatibility" + \ , "Graphics.GL.KHR.DebugCore" + \ , "Graphics.GL.KHR.NoError" + \ , "Graphics.GL.KHR.ParallelShaderCompile" + \ , "Graphics.GL.KHR.Robustness" + \ , "Graphics.GL.KHR.TextureCompressionASTCHDR" + \ , "Graphics.GL.KHR.TextureCompressionASTCLDR" + \ , "Graphics.GL.MESA" + \ , "Graphics.GL.MESA.PackInvert" + \ , "Graphics.GL.MESA.ProgramBinaryFormats" + \ , "Graphics.GL.MESA.ResizeBuffers" + \ , "Graphics.GL.MESA.TileRasterOrder" + \ , "Graphics.GL.MESA.WindowPos" + \ , "Graphics.GL.MESA.YCbCrTexture" + \ , "Graphics.GL.MESAX" + \ , "Graphics.GL.MESAX.TextureStack" + \ , "Graphics.GL.NV" + \ , "Graphics.GL.NV.AlphaToCoverageDitherControl" + \ , "Graphics.GL.NV.BindlessMultiDrawIndirect" + \ , "Graphics.GL.NV.BindlessMultiDrawIndirectCount" + \ , "Graphics.GL.NV.BindlessTexture" + \ , "Graphics.GL.NV.BlendEquationAdvanced" + \ , "Graphics.GL.NV.BlendEquationAdvancedCoherent" + \ , "Graphics.GL.NV.BlendMinmaxFactor" + \ , "Graphics.GL.NV.ClipSpaceWScaling" + \ , "Graphics.GL.NV.CommandList" + \ , "Graphics.GL.NV.ComputeProgram5" + \ , "Graphics.GL.NV.ConditionalRender" + \ , "Graphics.GL.NV.ConservativeRaster" + \ , "Graphics.GL.NV.ConservativeRasterDilate" + \ , "Graphics.GL.NV.ConservativeRasterPreSnap" + \ , "Graphics.GL.NV.ConservativeRasterPreSnapTriangles" + \ , "Graphics.GL.NV.CopyDepthToColor" + \ , "Graphics.GL.NV.CopyImage" + \ , "Graphics.GL.NV.DeepTexture3D" + \ , "Graphics.GL.NV.DepthBufferFloat" + \ , "Graphics.GL.NV.DepthClamp" + \ , "Graphics.GL.NV.DrawTexture" + \ , "Graphics.GL.NV.DrawVulkanImage" + \ , "Graphics.GL.NV.Evaluators" + \ , "Graphics.GL.NV.ExplicitMultisample" + \ , "Graphics.GL.NV.Fence" + \ , "Graphics.GL.NV.FillRectangle" + \ , "Graphics.GL.NV.FloatBuffer" + \ , "Graphics.GL.NV.FogDistance" + \ , "Graphics.GL.NV.FragmentCoverageToColor" + \ , "Graphics.GL.NV.FragmentProgram" + \ , "Graphics.GL.NV.FragmentProgram2" + \ , "Graphics.GL.NV.FramebufferMixedSamples" + \ , "Graphics.GL.NV.FramebufferMultisampleCoverage" + \ , "Graphics.GL.NV.GPUMulticast" + \ , "Graphics.GL.NV.GPUProgram4" + \ , "Graphics.GL.NV.GPUProgram5" + \ , "Graphics.GL.NV.GPUShader5" + \ , "Graphics.GL.NV.GeometryProgram4" + \ , "Graphics.GL.NV.HalfFloat" + \ , "Graphics.GL.NV.InternalformatSampleQuery" + \ , "Graphics.GL.NV.LightMaxExponent" + \ , "Graphics.GL.NV.MultisampleCoverage" + \ , "Graphics.GL.NV.MultisampleFilterHint" + \ , "Graphics.GL.NV.OcclusionQuery" + \ , "Graphics.GL.NV.PackedDepthStencil" + \ , "Graphics.GL.NV.ParameterBufferObject" + \ , "Graphics.GL.NV.PathRenderingCompatibility" + \ , "Graphics.GL.NV.PathRenderingCore" + \ , "Graphics.GL.NV.PathRenderingSharedEdge" + \ , "Graphics.GL.NV.PixelDataRange" + \ , "Graphics.GL.NV.PointSprite" + \ , "Graphics.GL.NV.PresentVideo" + \ , "Graphics.GL.NV.PrimitiveRestart" + \ , "Graphics.GL.NV.QueryResource" + \ , "Graphics.GL.NV.QueryResourceTag" + \ , "Graphics.GL.NV.RegisterCombiners" + \ , "Graphics.GL.NV.RegisterCombiners2" + \ , "Graphics.GL.NV.RobustnessVideoMemoryPurge" + \ , "Graphics.GL.NV.SampleLocations" + \ , "Graphics.GL.NV.ShaderBufferLoad" + \ , "Graphics.GL.NV.ShaderBufferStore" + \ , "Graphics.GL.NV.ShaderThreadGroup" + \ , "Graphics.GL.NV.TessellationProgram5" + \ , "Graphics.GL.NV.TexgenEmboss" + \ , "Graphics.GL.NV.TexgenReflection" + \ , "Graphics.GL.NV.TextureBarrier" + \ , "Graphics.GL.NV.TextureEnvCombine4" + \ , "Graphics.GL.NV.TextureExpandNormal" + \ , "Graphics.GL.NV.TextureMultisample" + \ , "Graphics.GL.NV.TextureRectangle" + \ , "Graphics.GL.NV.TextureShader" + \ , "Graphics.GL.NV.TextureShader2" + \ , "Graphics.GL.NV.TextureShader3" + \ , "Graphics.GL.NV.TransformFeedback" + \ , "Graphics.GL.NV.TransformFeedback2" + \ , "Graphics.GL.NV.UniformBufferUnifiedMemory" + \ , "Graphics.GL.NV.VDPAUInterop" + \ , "Graphics.GL.NV.VertexArrayRange" + \ , "Graphics.GL.NV.VertexArrayRange2" + \ , "Graphics.GL.NV.VertexAttribInteger64Bit" + \ , "Graphics.GL.NV.VertexBufferUnifiedMemory" + \ , "Graphics.GL.NV.VertexProgram" + \ , "Graphics.GL.NV.VertexProgram2Option" + \ , "Graphics.GL.NV.VertexProgram3" + \ , "Graphics.GL.NV.VertexProgram4" + \ , "Graphics.GL.NV.VideoCapture" + \ , "Graphics.GL.NV.ViewportSwizzle" + \ , "Graphics.GL.NVX" + \ , "Graphics.GL.NVX.ConditionalRender" + \ , "Graphics.GL.NVX.GPUMemoryInfo" + \ , "Graphics.GL.NVX.LinkedGPUMulticast" + \ , "Graphics.GL.OES" + \ , "Graphics.GL.OES.ByteCoordinates" + \ , "Graphics.GL.OES.CompressedPalettedTexture" + \ , "Graphics.GL.OES.FixedPoint" + \ , "Graphics.GL.OES.QueryMatrix" + \ , "Graphics.GL.OES.ReadFormat" + \ , "Graphics.GL.OES.SinglePrecision" + \ , "Graphics.GL.OML" + \ , "Graphics.GL.OML.Interlace" + \ , "Graphics.GL.OML.Resample" + \ , "Graphics.GL.OML.Subsample" + \ , "Graphics.GL.OVR" + \ , "Graphics.GL.OVR.Multiview" + \ , "Graphics.GL.PGI" + \ , "Graphics.GL.PGI.MiscHints" + \ , "Graphics.GL.PGI.VertexHints" + \ , "Graphics.GL.REND" + \ , "Graphics.GL.REND.ScreenCoordinates" + \ , "Graphics.GL.S3" + \ , "Graphics.GL.S3.S3TC" + \ , "Graphics.GL.SGI" + \ , "Graphics.GL.SGI.ColorMatrix" + \ , "Graphics.GL.SGI.ColorTable" + \ , "Graphics.GL.SGI.TextureColorTable" + \ , "Graphics.GL.SGIS" + \ , "Graphics.GL.SGIS.DetailTexture" + \ , "Graphics.GL.SGIS.FogFunction" + \ , "Graphics.GL.SGIS.GenerateMipmap" + \ , "Graphics.GL.SGIS.Multisample" + \ , "Graphics.GL.SGIS.PixelTexture" + \ , "Graphics.GL.SGIS.PointLineTexgen" + \ , "Graphics.GL.SGIS.PointParameters" + \ , "Graphics.GL.SGIS.SharpenTexture" + \ , "Graphics.GL.SGIS.Texture4D" + \ , "Graphics.GL.SGIS.TextureBorderClamp" + \ , "Graphics.GL.SGIS.TextureColorMask" + \ , "Graphics.GL.SGIS.TextureEdgeClamp" + \ , "Graphics.GL.SGIS.TextureFilter4" + \ , "Graphics.GL.SGIS.TextureLOD" + \ , "Graphics.GL.SGIS.TextureSelect" + \ , "Graphics.GL.SGIX" + \ , "Graphics.GL.SGIX.Async" + \ , "Graphics.GL.SGIX.AsyncHistogram" + \ , "Graphics.GL.SGIX.AsyncPixel" + \ , "Graphics.GL.SGIX.BlendAlphaMinmax" + \ , "Graphics.GL.SGIX.CalligraphicFragment" + \ , "Graphics.GL.SGIX.Clipmap" + \ , "Graphics.GL.SGIX.ConvolutionAccuracy" + \ , "Graphics.GL.SGIX.DepthTexture" + \ , "Graphics.GL.SGIX.FlushRaster" + \ , "Graphics.GL.SGIX.FogOffset" + \ , "Graphics.GL.SGIX.FragmentLighting" + \ , "Graphics.GL.SGIX.Framezoom" + \ , "Graphics.GL.SGIX.IglooInterface" + \ , "Graphics.GL.SGIX.Instruments" + \ , "Graphics.GL.SGIX.Interlace" + \ , "Graphics.GL.SGIX.IrInstrument1" + \ , "Graphics.GL.SGIX.ListPriority" + \ , "Graphics.GL.SGIX.PixelTexture" + \ , "Graphics.GL.SGIX.PixelTiles" + \ , "Graphics.GL.SGIX.PolynomialFFD" + \ , "Graphics.GL.SGIX.ReferencePlane" + \ , "Graphics.GL.SGIX.Resample" + \ , "Graphics.GL.SGIX.ScalebiasHint" + \ , "Graphics.GL.SGIX.Shadow" + \ , "Graphics.GL.SGIX.ShadowAmbient" + \ , "Graphics.GL.SGIX.Sprite" + \ , "Graphics.GL.SGIX.Subsample" + \ , "Graphics.GL.SGIX.TagSampleBuffer" + \ , "Graphics.GL.SGIX.TextureAddEnv" + \ , "Graphics.GL.SGIX.TextureCoordinateClamp" + \ , "Graphics.GL.SGIX.TextureLODBias" + \ , "Graphics.GL.SGIX.TextureMultiBuffer" + \ , "Graphics.GL.SGIX.TextureScaleBias" + \ , "Graphics.GL.SGIX.VertexPreclip" + \ , "Graphics.GL.SGIX.YCrCb" + \ , "Graphics.GL.SGIX.YCrCbA" + \ , "Graphics.GL.SUN" + \ , "Graphics.GL.SUN.ConvolutionBorderModes" + \ , "Graphics.GL.SUN.GlobalAlpha" + \ , "Graphics.GL.SUN.MeshArray" + \ , "Graphics.GL.SUN.SliceAccum" + \ , "Graphics.GL.SUN.TriangleList" + \ , "Graphics.GL.SUN.Vertex" + \ , "Graphics.GL.SUNX" + \ , "Graphics.GL.SUNX.ConstantData" + \ , "Graphics.GL.ThreeDFX" + \ , "Graphics.GL.ThreeDFX.Multisample" + \ , "Graphics.GL.ThreeDFX.Tbuffer" + \ , "Graphics.GL.ThreeDFX.TextureCompressionFXT1" + \ , "Graphics.GL.Tokens" + \ , "Graphics.GL.Types" + \ , "Graphics.GL.Version10" + \ , "Graphics.GL.Version11" + \ , "Graphics.GL.Version12" + \ , "Graphics.GL.Version13" + \ , "Graphics.GL.Version14" + \ , "Graphics.GL.Version15" + \ , "Graphics.GL.Version20" + \ , "Graphics.GL.Version21" + \ , "Graphics.GL.WIN" + \ , "Graphics.GL.WIN.PhongShading" + \ , "Graphics.GL.WIN.SpecularFog" + \ , "Test.QuickCheck" + \ , "Test.QuickCheck.All" + \ , "Test.QuickCheck.Arbitrary" + \ , "Test.QuickCheck.Exception" + \ , "Test.QuickCheck.Function" + \ , "Test.QuickCheck.Gen" + \ , "Test.QuickCheck.Gen.Unsafe" + \ , "Test.QuickCheck.Modifiers" + \ , "Test.QuickCheck.Monadic" + \ , "Test.QuickCheck.Poly" + \ , "Test.QuickCheck.Property" + \ , "Test.QuickCheck.Random" + \ , "Test.QuickCheck.State" + \ , "Test.QuickCheck.Test" + \ , "Test.QuickCheck.Text" + \ , "Data.StateVar" + \ , "Graphics.Win32" + \ , "Graphics.Win32.Control" + \ , "Graphics.Win32.Dialogue" + \ , "Graphics.Win32.GDI" + \ , "Graphics.Win32.GDI.AlphaBlend" + \ , "Graphics.Win32.GDI.Bitmap" + \ , "Graphics.Win32.GDI.Brush" + \ , "Graphics.Win32.GDI.Clip" + \ , "Graphics.Win32.GDI.Font" + \ , "Graphics.Win32.GDI.Graphics2D" + \ , "Graphics.Win32.GDI.HDC" + \ , "Graphics.Win32.GDI.Palette" + \ , "Graphics.Win32.GDI.Path" + \ , "Graphics.Win32.GDI.Pen" + \ , "Graphics.Win32.GDI.Region" + \ , "Graphics.Win32.GDI.Types" + \ , "Graphics.Win32.Icon" + \ , "Graphics.Win32.Key" + \ , "Graphics.Win32.LayeredWindow" + \ , "Graphics.Win32.Menu" + \ , "Graphics.Win32.Message" + \ , "Graphics.Win32.Misc" + \ , "Graphics.Win32.Resource" + \ , "Graphics.Win32.Window" + \ , "Graphics.Win32.Window.AnimateWindow" + \ , "Graphics.Win32.Window.ForegroundWindow" + \ , "Graphics.Win32.Window.HotKey" + \ , "Graphics.Win32.Window.IMM" + \ , "Graphics.Win32.Window.PostMessage" + \ , "Media.Win32" + \ , "System.Win32" + \ , "System.Win32.Automation" + \ , "System.Win32.Automation.Input" + \ , "System.Win32.Automation.Input.Key" + \ , "System.Win32.Automation.Input.Mouse" + \ , "System.Win32.Console" + \ , "System.Win32.Console.CtrlHandler" + \ , "System.Win32.Console.HWND" + \ , "System.Win32.Console.Title" + \ , "System.Win32.DLL" + \ , "System.Win32.DebugApi" + \ , "System.Win32.Encoding" + \ , "System.Win32.Exception.Unsupported" + \ , "System.Win32.File" + \ , "System.Win32.FileMapping" + \ , "System.Win32.HardLink" + \ , "System.Win32.Info" + \ , "System.Win32.Info.Computer" + \ , "System.Win32.Info.Version" + \ , "System.Win32.Mem" + \ , "System.Win32.MinTTY" + \ , "System.Win32.NLS" + \ , "System.Win32.Path" + \ , "System.Win32.Process" + \ , "System.Win32.Registry" + \ , "System.Win32.Security" + \ , "System.Win32.Shell" + \ , "System.Win32.SimpleMAPI" + \ , "System.Win32.String" + \ , "System.Win32.SymbolicLink" + \ , "System.Win32.Thread" + \ , "System.Win32.Time" + \ , "System.Win32.Types" + \ , "System.Win32.Utils" + \ , "System.Win32.Word" + \ , "Data.Array" + \ , "Data.Array.Base" + \ , "Data.Array.IArray" + \ , "Data.Array.IO" + \ , "Data.Array.IO.Internals" + \ , "Data.Array.IO.Safe" + \ , "Data.Array.MArray" + \ , "Data.Array.MArray.Safe" + \ , "Data.Array.ST" + \ , "Data.Array.ST.Safe" + \ , "Data.Array.Storable" + \ , "Data.Array.Storable.Internals" + \ , "Data.Array.Storable.Safe" + \ , "Data.Array.Unboxed" + \ , "Data.Array.Unsafe" + \ , "Control.Concurrent.Async" + \ , "Data.Attoparsec" + \ , "Data.Attoparsec.ByteString" + \ , "Data.Attoparsec.ByteString.Char8" + \ , "Data.Attoparsec.ByteString.Lazy" + \ , "Data.Attoparsec.Char8" + \ , "Data.Attoparsec.Combinator" + \ , "Data.Attoparsec.Internal" + \ , "Data.Attoparsec.Internal.Types" + \ , "Data.Attoparsec.Lazy" + \ , "Data.Attoparsec.Number" + \ , "Data.Attoparsec.Text" + \ , "Data.Attoparsec.Text.Lazy" + \ , "Data.Attoparsec.Types" + \ , "Data.Attoparsec.Zepto" + \ , "Control.Applicative" + \ , "Control.Arrow" + \ , "Control.Category" + \ , "Control.Concurrent" + \ , "Control.Concurrent.Chan" + \ , "Control.Concurrent.MVar" + \ , "Control.Concurrent.QSem" + \ , "Control.Concurrent.QSemN" + \ , "Control.Exception" + \ , "Control.Exception.Base" + \ , "Control.Monad" + \ , "Control.Monad.Fail" + \ , "Control.Monad.Fix" + \ , "Control.Monad.IO.Class" + \ , "Control.Monad.Instances" + \ , "Control.Monad.ST" + \ , "Control.Monad.ST.Lazy" + \ , "Control.Monad.ST.Lazy.Safe" + \ , "Control.Monad.ST.Lazy.Unsafe" + \ , "Control.Monad.ST.Safe" + \ , "Control.Monad.ST.Strict" + \ , "Control.Monad.ST.Unsafe" + \ , "Control.Monad.Zip" + \ , "Data.Bifoldable" + \ , "Data.Bifunctor" + \ , "Data.Bitraversable" + \ , "Data.Bits" + \ , "Data.Bool" + \ , "Data.Char" + \ , "Data.Coerce" + \ , "Data.Complex" + \ , "Data.Data" + \ , "Data.Dynamic" + \ , "Data.Either" + \ , "Data.Eq" + \ , "Data.Fixed" + \ , "Data.Foldable" + \ , "Data.Function" + \ , "Data.Functor" + \ , "Data.Functor.Classes" + \ , "Data.Functor.Compose" + \ , "Data.Functor.Const" + \ , "Data.Functor.Identity" + \ , "Data.Functor.Product" + \ , "Data.Functor.Sum" + \ , "Data.IORef" + \ , "Data.Int" + \ , "Data.Ix" + \ , "Data.Kind" + \ , "Data.List" + \ , "Data.List.NonEmpty" + \ , "Data.Maybe" + \ , "Data.Monoid" + \ , "Data.Ord" + \ , "Data.Proxy" + \ , "Data.Ratio" + \ , "Data.STRef" + \ , "Data.STRef.Lazy" + \ , "Data.STRef.Strict" + \ , "Data.Semigroup" + \ , "Data.String" + \ , "Data.Traversable" + \ , "Data.Tuple" + \ , "Data.Type.Bool" + \ , "Data.Type.Coercion" + \ , "Data.Type.Equality" + \ , "Data.Typeable" + \ , "Data.Unique" + \ , "Data.Version" + \ , "Data.Void" + \ , "Data.Word" + \ , "Debug.Trace" + \ , "Foreign" + \ , "Foreign.C" + \ , "Foreign.C.Error" + \ , "Foreign.C.String" + \ , "Foreign.C.Types" + \ , "Foreign.Concurrent" + \ , "Foreign.ForeignPtr" + \ , "Foreign.ForeignPtr.Safe" + \ , "Foreign.ForeignPtr.Unsafe" + \ , "Foreign.Marshal" + \ , "Foreign.Marshal.Alloc" + \ , "Foreign.Marshal.Array" + \ , "Foreign.Marshal.Error" + \ , "Foreign.Marshal.Pool" + \ , "Foreign.Marshal.Safe" + \ , "Foreign.Marshal.Unsafe" + \ , "Foreign.Marshal.Utils" + \ , "Foreign.Ptr" + \ , "Foreign.Safe" + \ , "Foreign.StablePtr" + \ , "Foreign.Storable" + \ , "GHC.Arr" + \ , "GHC.Base" + \ , "GHC.ByteOrder" + \ , "GHC.Char" + \ , "GHC.Clock" + \ , "GHC.Conc" + \ , "GHC.Conc.IO" + \ , "GHC.Conc.Signal" + \ , "GHC.Conc.Sync" + \ , "GHC.ConsoleHandler" + \ , "GHC.Constants" + \ , "GHC.Desugar" + \ , "GHC.Enum" + \ , "GHC.Environment" + \ , "GHC.Err" + \ , "GHC.Event" + \ , "GHC.Exception" + \ , "GHC.ExecutionStack" + \ , "GHC.ExecutionStack.Internal" + \ , "GHC.Exts" + \ , "GHC.Fingerprint" + \ , "GHC.Fingerprint.Type" + \ , "GHC.Float" + \ , "GHC.Float.ConversionUtils" + \ , "GHC.Float.RealFracMethods" + \ , "GHC.Foreign" + \ , "GHC.ForeignPtr" + \ , "GHC.GHCi" + \ , "GHC.Generics" + \ , "GHC.IO" + \ , "GHC.IO.Buffer" + \ , "GHC.IO.BufferedIO" + \ , "GHC.IO.Device" + \ , "GHC.IO.Encoding" + \ , "GHC.IO.Encoding.CodePage" + \ , "GHC.IO.Encoding.Failure" + \ , "GHC.IO.Encoding.Iconv" + \ , "GHC.IO.Encoding.Latin1" + \ , "GHC.IO.Encoding.Types" + \ , "GHC.IO.Encoding.UTF16" + \ , "GHC.IO.Encoding.UTF32" + \ , "GHC.IO.Encoding.UTF8" + \ , "GHC.IO.Exception" + \ , "GHC.IO.FD" + \ , "GHC.IO.Handle" + \ , "GHC.IO.Handle.FD" + \ , "GHC.IO.Handle.Internals" + \ , "GHC.IO.Handle.Lock" + \ , "GHC.IO.Handle.Text" + \ , "GHC.IO.Handle.Types" + \ , "GHC.IO.IOMode" + \ , "GHC.IO.Unsafe" + \ , "GHC.IOArray" + \ , "GHC.IORef" + \ , "GHC.Int" + \ , "GHC.List" + \ , "GHC.MVar" + \ , "GHC.Natural" + \ , "GHC.Num" + \ , "GHC.OldList" + \ , "GHC.OverloadedLabels" + \ , "GHC.PArr" + \ , "GHC.Pack" + \ , "GHC.Profiling" + \ , "GHC.Ptr" + \ , "GHC.RTS.Flags" + \ , "GHC.Read" + \ , "GHC.Real" + \ , "GHC.Records" + \ , "GHC.ST" + \ , "GHC.STRef" + \ , "GHC.Show" + \ , "GHC.Stable" + \ , "GHC.Stack" + \ , "GHC.Stack.CCS" + \ , "GHC.Stack.Types" + \ , "GHC.StaticPtr" + \ , "GHC.Stats" + \ , "GHC.Storable" + \ , "GHC.TopHandler" + \ , "GHC.TypeLits" + \ , "GHC.TypeNats" + \ , "GHC.Unicode" + \ , "GHC.Weak" + \ , "GHC.Word" + \ , "Numeric" + \ , "Numeric.Natural" + \ , "Prelude" + \ , "System.CPUTime" + \ , "System.Console.GetOpt" + \ , "System.Environment" + \ , "System.Environment.Blank" + \ , "System.Exit" + \ , "System.IO" + \ , "System.IO.Error" + \ , "System.IO.Unsafe" + \ , "System.Info" + \ , "System.Mem" + \ , "System.Mem.StableName" + \ , "System.Mem.Weak" + \ , "System.Posix.Internals" + \ , "System.Posix.Types" + \ , "System.Timeout" + \ , "Text.ParserCombinators.ReadP" + \ , "Text.ParserCombinators.ReadPrec" + \ , "Text.Printf" + \ , "Text.Read" + \ , "Text.Read.Lex" + \ , "Text.Show" + \ , "Text.Show.Functions" + \ , "Type.Reflection" + \ , "Type.Reflection.Unsafe" + \ , "Unsafe.Coerce" + \ , "Data.ByteString" + \ , "Data.ByteString.Builder" + \ , "Data.ByteString.Builder.Extra" + \ , "Data.ByteString.Builder.Internal" + \ , "Data.ByteString.Builder.Prim" + \ , "Data.ByteString.Builder.Prim.Internal" + \ , "Data.ByteString.Char8" + \ , "Data.ByteString.Internal" + \ , "Data.ByteString.Lazy" + \ , "Data.ByteString.Lazy.Builder" + \ , "Data.ByteString.Lazy.Builder.ASCII" + \ , "Data.ByteString.Lazy.Builder.Extras" + \ , "Data.ByteString.Lazy.Char8" + \ , "Data.ByteString.Lazy.Internal" + \ , "Data.ByteString.Short" + \ , "Data.ByteString.Short.Internal" + \ , "Data.ByteString.Unsafe" + \ , "Data.CallStack" + \ , "Data.CaseInsensitive" + \ , "Data.CaseInsensitive.Unsafe" + \ , "Network.CGI" + \ , "Network.CGI.Compat" + \ , "Network.CGI.Cookie" + \ , "Network.CGI.Monad" + \ , "Network.CGI.Protocol" + \ , "Data.Graph" + \ , "Data.IntMap" + \ , "Data.IntMap.Internal" + \ , "Data.IntMap.Internal.Debug" + \ , "Data.IntMap.Lazy" + \ , "Data.IntMap.Merge.Lazy" + \ , "Data.IntMap.Merge.Strict" + \ , "Data.IntMap.Strict" + \ , "Data.IntSet" + \ , "Data.IntSet.Internal" + \ , "Data.Map" + \ , "Data.Map.Internal" + \ , "Data.Map.Internal.Debug" + \ , "Data.Map.Lazy" + \ , "Data.Map.Lazy.Merge" + \ , "Data.Map.Merge.Lazy" + \ , "Data.Map.Merge.Strict" + \ , "Data.Map.Strict" + \ , "Data.Map.Strict.Internal" + \ , "Data.Map.Strict.Merge" + \ , "Data.Sequence" + \ , "Data.Sequence.Internal" + \ , "Data.Sequence.Internal.Sorting" + \ , "Data.Set" + \ , "Data.Set.Internal" + \ , "Data.Tree" + \ , "Utils.Containers.Internal.BitQueue" + \ , "Utils.Containers.Internal.BitUtil" + \ , "Utils.Containers.Internal.StrictPair" + \ , "Control.DeepSeq" + \ , "System.Directory" + \ , "System.Directory.Internal" + \ , "System.Directory.Internal.Prelude" + \ , "Control.Monad.Catch" + \ , "Control.Monad.Catch.Pure" + \ , "Control.Exception.Extensible" + \ , "Data.Graph.Inductive" + \ , "Data.Graph.Inductive.Basic" + \ , "Data.Graph.Inductive.Example" + \ , "Data.Graph.Inductive.Graph" + \ , "Data.Graph.Inductive.Internal.Heap" + \ , "Data.Graph.Inductive.Internal.Queue" + \ , "Data.Graph.Inductive.Internal.RootPath" + \ , "Data.Graph.Inductive.Internal.Thread" + \ , "Data.Graph.Inductive.Monad" + \ , "Data.Graph.Inductive.Monad.IOArray" + \ , "Data.Graph.Inductive.Monad.STArray" + \ , "Data.Graph.Inductive.NodeMap" + \ , "Data.Graph.Inductive.PatriciaTree" + \ , "Data.Graph.Inductive.Query" + \ , "Data.Graph.Inductive.Query.ArtPoint" + \ , "Data.Graph.Inductive.Query.BCC" + \ , "Data.Graph.Inductive.Query.BFS" + \ , "Data.Graph.Inductive.Query.DFS" + \ , "Data.Graph.Inductive.Query.Dominators" + \ , "Data.Graph.Inductive.Query.GVD" + \ , "Data.Graph.Inductive.Query.Indep" + \ , "Data.Graph.Inductive.Query.MST" + \ , "Data.Graph.Inductive.Query.MaxFlow" + \ , "Data.Graph.Inductive.Query.MaxFlow2" + \ , "Data.Graph.Inductive.Query.Monad" + \ , "Data.Graph.Inductive.Query.SP" + \ , "Data.Graph.Inductive.Query.TransClos" + \ , "Data.Graph.Inductive.Tree" + \ , "System.FilePath" + \ , "System.FilePath.Posix" + \ , "System.FilePath.Windows" + \ , "Numeric.Fixed" + \ , "Annotations" + \ , "ApiAnnotation" + \ , "Ar" + \ , "AsmCodeGen" + \ , "AsmUtils" + \ , "Avail" + \ , "Bag" + \ , "BasicTypes" + \ , "BinFingerprint" + \ , "BinIface" + \ , "Binary" + \ , "Bitmap" + \ , "BkpSyn" + \ , "BlockId" + \ , "BooleanFormula" + \ , "BufWrite" + \ , "BuildTyCl" + \ , "ByteCodeAsm" + \ , "ByteCodeGen" + \ , "ByteCodeInstr" + \ , "ByteCodeItbls" + \ , "ByteCodeLink" + \ , "ByteCodeTypes" + \ , "CLabel" + \ , "CPrim" + \ , "CSE" + \ , "CallArity" + \ , "CgUtils" + \ , "Check" + \ , "Class" + \ , "CmdLineParser" + \ , "Cmm" + \ , "CmmBuildInfoTables" + \ , "CmmCallConv" + \ , "CmmCommonBlockElim" + \ , "CmmContFlowOpt" + \ , "CmmExpr" + \ , "CmmImplementSwitchPlans" + \ , "CmmInfo" + \ , "CmmLayoutStack" + \ , "CmmLex" + \ , "CmmLint" + \ , "CmmLive" + \ , "CmmMachOp" + \ , "CmmMonad" + \ , "CmmNode" + \ , "CmmOpt" + \ , "CmmParse" + \ , "CmmPipeline" + \ , "CmmProcPoint" + \ , "CmmSink" + \ , "CmmSwitch" + \ , "CmmType" + \ , "CmmUtils" + \ , "CoAxiom" + \ , "CodeGen.Platform" + \ , "CodeGen.Platform.ARM" + \ , "CodeGen.Platform.ARM64" + \ , "CodeGen.Platform.NoRegs" + \ , "CodeGen.Platform.PPC" + \ , "CodeGen.Platform.PPC_Darwin" + \ , "CodeGen.Platform.SPARC" + \ , "CodeGen.Platform.X86" + \ , "CodeGen.Platform.X86_64" + \ , "CodeOutput" + \ , "Coercion" + \ , "ConLike" + \ , "Config" + \ , "Constants" + \ , "Convert" + \ , "CoreArity" + \ , "CoreFVs" + \ , "CoreLint" + \ , "CoreMonad" + \ , "CoreOpt" + \ , "CorePrep" + \ , "CoreSeq" + \ , "CoreStats" + \ , "CoreSubst" + \ , "CoreSyn" + \ , "CoreTidy" + \ , "CoreToStg" + \ , "CoreUnfold" + \ , "CoreUtils" + \ , "CostCentre" + \ , "Coverage" + \ , "Ctype" + \ , "DataCon" + \ , "Debug" + \ , "Debugger" + \ , "DebuggerUtils" + \ , "Demand" + \ , "Desugar" + \ , "Digraph" + \ , "DmdAnal" + \ , "DriverBkp" + \ , "DriverMkDepend" + \ , "DriverPhases" + \ , "DriverPipeline" + \ , "DsArrows" + \ , "DsBinds" + \ , "DsCCall" + \ , "DsExpr" + \ , "DsForeign" + \ , "DsGRHSs" + \ , "DsListComp" + \ , "DsMeta" + \ , "DsMonad" + \ , "DsUsage" + \ , "DsUtils" + \ , "Dwarf" + \ , "Dwarf.Constants" + \ , "Dwarf.Types" + \ , "DynFlags" + \ , "DynamicLoading" + \ , "Elf" + \ , "Encoding" + \ , "EnumSet" + \ , "ErrUtils" + \ , "Exception" + \ , "Exitify" + \ , "FV" + \ , "FamInst" + \ , "FamInstEnv" + \ , "FastFunctions" + \ , "FastMutInt" + \ , "FastString" + \ , "FastStringEnv" + \ , "FieldLabel" + \ , "FileCleanup" + \ , "Finder" + \ , "Fingerprint" + \ , "FiniteMap" + \ , "FlagChecker" + \ , "FloatIn" + \ , "FloatOut" + \ , "ForeignCall" + \ , "Format" + \ , "FunDeps" + \ , "GHC" + \ , "GHCi" + \ , "GhcMake" + \ , "GhcMonad" + \ , "GhcPlugins" + \ , "GraphBase" + \ , "GraphColor" + \ , "GraphOps" + \ , "GraphPpr" + \ , "HaddockUtils" + \ , "HeaderInfo" + \ , "Hooks" + \ , "Hoopl.Block" + \ , "Hoopl.Collections" + \ , "Hoopl.Dataflow" + \ , "Hoopl.Graph" + \ , "Hoopl.Label" + \ , "Hoopl.Unique" + \ , "HsBinds" + \ , "HsDecls" + \ , "HsDoc" + \ , "HsDumpAst" + \ , "HsExpr" + \ , "HsExtension" + \ , "HsImpExp" + \ , "HsLit" + \ , "HsPat" + \ , "HsSyn" + \ , "HsTypes" + \ , "HsUtils" + \ , "HscMain" + \ , "HscStats" + \ , "HscTypes" + \ , "IOEnv" + \ , "Id" + \ , "IdInfo" + \ , "IfaceEnv" + \ , "IfaceSyn" + \ , "IfaceType" + \ , "Inst" + \ , "InstEnv" + \ , "Instruction" + \ , "InteractiveEval" + \ , "InteractiveEvalTypes" + \ , "Json" + \ , "Kind" + \ , "KnownUniques" + \ , "Lexeme" + \ , "Lexer" + \ , "LiberateCase" + \ , "Linker" + \ , "ListSetOps" + \ , "ListT" + \ , "Literal" + \ , "Llvm" + \ , "Llvm.AbsSyn" + \ , "Llvm.MetaData" + \ , "Llvm.PpLlvm" + \ , "Llvm.Types" + \ , "LlvmCodeGen" + \ , "LlvmCodeGen.Base" + \ , "LlvmCodeGen.CodeGen" + \ , "LlvmCodeGen.Data" + \ , "LlvmCodeGen.Ppr" + \ , "LlvmCodeGen.Regs" + \ , "LlvmMangler" + \ , "LoadIface" + \ , "Match" + \ , "MatchCon" + \ , "MatchLit" + \ , "Maybes" + \ , "MkCore" + \ , "MkGraph" + \ , "MkId" + \ , "MkIface" + \ , "Module" + \ , "MonadUtils" + \ , "NCGMonad" + \ , "Name" + \ , "NameCache" + \ , "NameEnv" + \ , "NameSet" + \ , "NameShape" + \ , "OccName" + \ , "OccurAnal" + \ , "OptCoercion" + \ , "OrdList" + \ , "Outputable" + \ , "PIC" + \ , "PPC.CodeGen" + \ , "PPC.Cond" + \ , "PPC.Instr" + \ , "PPC.Ppr" + \ , "PPC.RegInfo" + \ , "PPC.Regs" + \ , "PackageConfig" + \ , "Packages" + \ , "Pair" + \ , "Panic" + \ , "Parser" + \ , "PatSyn" + \ , "PipelineMonad" + \ , "PlaceHolder" + \ , "Platform" + \ , "PlatformConstants" + \ , "Plugins" + \ , "PmExpr" + \ , "PprBase" + \ , "PprC" + \ , "PprCmm" + \ , "PprCmmDecl" + \ , "PprCmmExpr" + \ , "PprColour" + \ , "PprCore" + \ , "PprTyThing" + \ , "PrelInfo" + \ , "PrelNames" + \ , "PrelRules" + \ , "Pretty" + \ , "PrimOp" + \ , "ProfInit" + \ , "RdrHsSyn" + \ , "RdrName" + \ , "Reg" + \ , "RegAlloc.Graph.ArchBase" + \ , "RegAlloc.Graph.ArchX86" + \ , "RegAlloc.Graph.Coalesce" + \ , "RegAlloc.Graph.Main" + \ , "RegAlloc.Graph.Spill" + \ , "RegAlloc.Graph.SpillClean" + \ , "RegAlloc.Graph.SpillCost" + \ , "RegAlloc.Graph.Stats" + \ , "RegAlloc.Graph.TrivColorable" + \ , "RegAlloc.Linear.Base" + \ , "RegAlloc.Linear.FreeRegs" + \ , "RegAlloc.Linear.JoinToTargets" + \ , "RegAlloc.Linear.Main" + \ , "RegAlloc.Linear.PPC.FreeRegs" + \ , "RegAlloc.Linear.SPARC.FreeRegs" + \ , "RegAlloc.Linear.StackMap" + \ , "RegAlloc.Linear.State" + \ , "RegAlloc.Linear.Stats" + \ , "RegAlloc.Linear.X86.FreeRegs" + \ , "RegAlloc.Linear.X86_64.FreeRegs" + \ , "RegAlloc.Liveness" + \ , "RegClass" + \ , "RepType" + \ , "RnBinds" + \ , "RnEnv" + \ , "RnExpr" + \ , "RnFixity" + \ , "RnHsDoc" + \ , "RnModIface" + \ , "RnNames" + \ , "RnPat" + \ , "RnSource" + \ , "RnSplice" + \ , "RnTypes" + \ , "RnUnbound" + \ , "RnUtils" + \ , "RtClosureInspect" + \ , "Rules" + \ , "SAT" + \ , "SMRep" + \ , "SPARC.AddrMode" + \ , "SPARC.Base" + \ , "SPARC.CodeGen" + \ , "SPARC.CodeGen.Amode" + \ , "SPARC.CodeGen.Base" + \ , "SPARC.CodeGen.CondCode" + \ , "SPARC.CodeGen.Expand" + \ , "SPARC.CodeGen.Gen32" + \ , "SPARC.CodeGen.Gen64" + \ , "SPARC.CodeGen.Sanity" + \ , "SPARC.Cond" + \ , "SPARC.Imm" + \ , "SPARC.Instr" + \ , "SPARC.Ppr" + \ , "SPARC.Regs" + \ , "SPARC.ShortcutJump" + \ , "SPARC.Stack" + \ , "SetLevels" + \ , "SimplCore" + \ , "SimplEnv" + \ , "SimplMonad" + \ , "SimplStg" + \ , "SimplUtils" + \ , "Simplify" + \ , "SpecConstr" + \ , "Specialise" + \ , "SrcLoc" + \ , "State" + \ , "StaticPtrTable" + \ , "StgCmm" + \ , "StgCmmArgRep" + \ , "StgCmmBind" + \ , "StgCmmClosure" + \ , "StgCmmCon" + \ , "StgCmmEnv" + \ , "StgCmmExpr" + \ , "StgCmmExtCode" + \ , "StgCmmForeign" + \ , "StgCmmHeap" + \ , "StgCmmHpc" + \ , "StgCmmLayout" + \ , "StgCmmMonad" + \ , "StgCmmPrim" + \ , "StgCmmProf" + \ , "StgCmmTicky" + \ , "StgCmmUtils" + \ , "StgCse" + \ , "StgLint" + \ , "StgStats" + \ , "StgSyn" + \ , "Stream" + \ , "StringBuffer" + \ , "SysTools" + \ , "SysTools.BaseDir" + \ , "SysTools.ExtraObj" + \ , "SysTools.Info" + \ , "SysTools.Process" + \ , "SysTools.Tasks" + \ , "SysTools.Terminal" + \ , "THNames" + \ , "TargetReg" + \ , "TcAnnotations" + \ , "TcArrows" + \ , "TcBackpack" + \ , "TcBinds" + \ , "TcCanonical" + \ , "TcClassDcl" + \ , "TcDefaults" + \ , "TcDeriv" + \ , "TcDerivInfer" + \ , "TcDerivUtils" + \ , "TcEnv" + \ , "TcErrors" + \ , "TcEvidence" + \ , "TcExpr" + \ , "TcFlatten" + \ , "TcForeign" + \ , "TcGenDeriv" + \ , "TcGenFunctor" + \ , "TcGenGenerics" + \ , "TcHsSyn" + \ , "TcHsType" + \ , "TcIface" + \ , "TcInstDcls" + \ , "TcInteract" + \ , "TcMType" + \ , "TcMatches" + \ , "TcPat" + \ , "TcPatSyn" + \ , "TcPluginM" + \ , "TcRnDriver" + \ , "TcRnExports" + \ , "TcRnMonad" + \ , "TcRnTypes" + \ , "TcRules" + \ , "TcSMonad" + \ , "TcSigs" + \ , "TcSimplify" + \ , "TcSplice" + \ , "TcTyClsDecls" + \ , "TcTyDecls" + \ , "TcType" + \ , "TcTypeNats" + \ , "TcTypeable" + \ , "TcUnify" + \ , "TcValidity" + \ , "TidyPgm" + \ , "TmOracle" + \ , "ToIface" + \ , "TrieMap" + \ , "TyCoRep" + \ , "TyCon" + \ , "Type" + \ , "TysPrim" + \ , "TysWiredIn" + \ , "UnVarGraph" + \ , "UnariseStg" + \ , "Unify" + \ , "UniqDFM" + \ , "UniqDSet" + \ , "UniqFM" + \ , "UniqMap" + \ , "UniqSet" + \ , "UniqSupply" + \ , "Unique" + \ , "Util" + \ , "Var" + \ , "VarEnv" + \ , "VarSet" + \ , "Vectorise" + \ , "Vectorise.Builtins" + \ , "Vectorise.Builtins.Base" + \ , "Vectorise.Builtins.Initialise" + \ , "Vectorise.Convert" + \ , "Vectorise.Env" + \ , "Vectorise.Exp" + \ , "Vectorise.Generic.Description" + \ , "Vectorise.Generic.PADict" + \ , "Vectorise.Generic.PAMethods" + \ , "Vectorise.Generic.PData" + \ , "Vectorise.Monad" + \ , "Vectorise.Monad.Base" + \ , "Vectorise.Monad.Global" + \ , "Vectorise.Monad.InstEnv" + \ , "Vectorise.Monad.Local" + \ , "Vectorise.Monad.Naming" + \ , "Vectorise.Type.Classify" + \ , "Vectorise.Type.Env" + \ , "Vectorise.Type.TyConDecl" + \ , "Vectorise.Type.Type" + \ , "Vectorise.Utils" + \ , "Vectorise.Utils.Base" + \ , "Vectorise.Utils.Closure" + \ , "Vectorise.Utils.Hoisting" + \ , "Vectorise.Utils.PADict" + \ , "Vectorise.Utils.Poly" + \ , "Vectorise.Var" + \ , "Vectorise.Vect" + \ , "WorkWrap" + \ , "WwLib" + \ , "X86.CodeGen" + \ , "X86.Cond" + \ , "X86.Instr" + \ , "X86.Ppr" + \ , "X86.RegInfo" + \ , "X86.Regs" + \ , "Numeric.Half" + \ , "Data.Hashable" + \ , "Data.Hashable.Lifted" + \ , "Language.Haskell.Lexer" + \ , "Language.Haskell.ParseMonad" + \ , "Language.Haskell.ParseUtils" + \ , "Language.Haskell.Parser" + \ , "Language.Haskell.Pretty" + \ , "Language.Haskell.Syntax" + \ , "Control.Monad" + \ , "Data.Array" + \ , "Data.Bits" + \ , "Data.Char" + \ , "Data.Complex" + \ , "Data.Int" + \ , "Data.Ix" + \ , "Data.List" + \ , "Data.Maybe" + \ , "Data.Ratio" + \ , "Data.Word" + \ , "Foreign" + \ , "Foreign.C" + \ , "Foreign.C.Error" + \ , "Foreign.C.String" + \ , "Foreign.C.Types" + \ , "Foreign.ForeignPtr" + \ , "Foreign.Marshal" + \ , "Foreign.Marshal.Alloc" + \ , "Foreign.Marshal.Array" + \ , "Foreign.Marshal.Error" + \ , "Foreign.Marshal.Utils" + \ , "Foreign.Ptr" + \ , "Foreign.StablePtr" + \ , "Foreign.Storable" + \ , "Numeric" + \ , "Prelude" + \ , "System.Environment" + \ , "System.Exit" + \ , "System.IO" + \ , "System.IO.Error" + \ , "Array" + \ , "Bits" + \ , "CError" + \ , "CForeign" + \ , "CPUTime" + \ , "CString" + \ , "CTypes" + \ , "Char" + \ , "Complex" + \ , "Directory" + \ , "ForeignPtr" + \ , "IO" + \ , "Int" + \ , "Ix" + \ , "List" + \ , "Locale" + \ , "MarshalAlloc" + \ , "MarshalArray" + \ , "MarshalError" + \ , "MarshalUtils" + \ , "Maybe" + \ , "Monad" + \ , "Numeric" + \ , "Prelude" + \ , "Ptr" + \ , "Random" + \ , "Ratio" + \ , "StablePtr" + \ , "Storable" + \ , "System" + \ , "Time" + \ , "Word" + \ , "Trace.Hpc.Mix" + \ , "Trace.Hpc.Reflect" + \ , "Trace.Hpc.Tix" + \ , "Trace.Hpc.Util" + \ , "Text.Html" + \ , "Text.Html.BlockTable" + \ , "GHC.Integer.Logarithms.Compat" + \ , "Math.NumberTheory.Logarithms" + \ , "Math.NumberTheory.Powers.Integer" + \ , "Math.NumberTheory.Powers.Natural" + \ , "Control.Monad.Cont" + \ , "Control.Monad.Cont.Class" + \ , "Control.Monad.Error" + \ , "Control.Monad.Error.Class" + \ , "Control.Monad.Except" + \ , "Control.Monad.Identity" + \ , "Control.Monad.List" + \ , "Control.Monad.RWS" + \ , "Control.Monad.RWS.Class" + \ , "Control.Monad.RWS.Lazy" + \ , "Control.Monad.RWS.Strict" + \ , "Control.Monad.Reader" + \ , "Control.Monad.Reader.Class" + \ , "Control.Monad.State" + \ , "Control.Monad.State.Class" + \ , "Control.Monad.State.Lazy" + \ , "Control.Monad.State.Strict" + \ , "Control.Monad.Trans" + \ , "Control.Monad.Writer" + \ , "Control.Monad.Writer.Class" + \ , "Control.Monad.Writer.Lazy" + \ , "Control.Monad.Writer.Strict" + \ , "Network.Multipart" + \ , "Network.Multipart.Header" + \ , "Network" + \ , "Network.BSD" + \ , "Network.Socket" + \ , "Network.Socket.ByteString" + \ , "Network.Socket.ByteString.Lazy" + \ , "Network.Socket.Internal" + \ , "Network.URI" + \ , "System.Locale" + \ , "System.Time" + \ , "Control.Parallel" + \ , "Control.Parallel.Strategies" + \ , "Control.Seq" + \ , "Text.Parsec" + \ , "Text.Parsec.ByteString" + \ , "Text.Parsec.ByteString.Lazy" + \ , "Text.Parsec.Char" + \ , "Text.Parsec.Combinator" + \ , "Text.Parsec.Error" + \ , "Text.Parsec.Expr" + \ , "Text.Parsec.Language" + \ , "Text.Parsec.Perm" + \ , "Text.Parsec.Pos" + \ , "Text.Parsec.Prim" + \ , "Text.Parsec.String" + \ , "Text.Parsec.Text" + \ , "Text.Parsec.Text.Lazy" + \ , "Text.Parsec.Token" + \ , "Text.ParserCombinators.Parsec" + \ , "Text.ParserCombinators.Parsec.Char" + \ , "Text.ParserCombinators.Parsec.Combinator" + \ , "Text.ParserCombinators.Parsec.Error" + \ , "Text.ParserCombinators.Parsec.Expr" + \ , "Text.ParserCombinators.Parsec.Language" + \ , "Text.ParserCombinators.Parsec.Perm" + \ , "Text.ParserCombinators.Parsec.Pos" + \ , "Text.ParserCombinators.Parsec.Prim" + \ , "Text.ParserCombinators.Parsec.Token" + \ , "Text.PrettyPrint" + \ , "Text.PrettyPrint.Annotated" + \ , "Text.PrettyPrint.Annotated.HughesPJ" + \ , "Text.PrettyPrint.Annotated.HughesPJClass" + \ , "Text.PrettyPrint.HughesPJ" + \ , "Text.PrettyPrint.HughesPJClass" + \ , "Control.Monad.Primitive" + \ , "Data.Primitive" + \ , "Data.Primitive.Addr" + \ , "Data.Primitive.Array" + \ , "Data.Primitive.ByteArray" + \ , "Data.Primitive.MVar" + \ , "Data.Primitive.MachDeps" + \ , "Data.Primitive.MutVar" + \ , "Data.Primitive.PrimArray" + \ , "Data.Primitive.Ptr" + \ , "Data.Primitive.SmallArray" + \ , "Data.Primitive.Types" + \ , "Data.Primitive.UnliftedArray" + \ , "System.Cmd" + \ , "System.Process" + \ , "System.Process.Internals" + \ , "System.Random" + \ , "Text.Regex.Base" + \ , "Text.Regex.Base.Context" + \ , "Text.Regex.Base.Impl" + \ , "Text.Regex.Base.RegexLike" + \ , "Text.Regex" + \ , "Text.Regex.Posix" + \ , "Text.Regex.Posix.ByteString" + \ , "Text.Regex.Posix.ByteString.Lazy" + \ , "Text.Regex.Posix.Sequence" + \ , "Text.Regex.Posix.String" + \ , "Text.Regex.Posix.Wrap" + \ , "Data.ByteString.Builder.Scientific" + \ , "Data.Scientific" + \ , "Data.Text.Lazy.Builder.Scientific" + \ , "Data.List.Split" + \ , "Data.List.Split.Internals" + \ , "Control.Concurrent.STM" + \ , "Control.Concurrent.STM.TArray" + \ , "Control.Concurrent.STM.TBQueue" + \ , "Control.Concurrent.STM.TChan" + \ , "Control.Concurrent.STM.TMVar" + \ , "Control.Concurrent.STM.TQueue" + \ , "Control.Concurrent.STM.TSem" + \ , "Control.Concurrent.STM.TVar" + \ , "Control.Monad.STM" + \ , "Data.Generics" + \ , "Data.Generics.Aliases" + \ , "Data.Generics.Basics" + \ , "Data.Generics.Builders" + \ , "Data.Generics.Instances" + \ , "Data.Generics.Schemes" + \ , "Data.Generics.Text" + \ , "Data.Generics.Twins" + \ , "Generics.SYB" + \ , "Generics.SYB.Aliases" + \ , "Generics.SYB.Basics" + \ , "Generics.SYB.Builders" + \ , "Generics.SYB.Instances" + \ , "Generics.SYB.Schemes" + \ , "Generics.SYB.Text" + \ , "Generics.SYB.Twins" + \ , "Language.Haskell.TH" + \ , "Language.Haskell.TH.LanguageExtensions" + \ , "Language.Haskell.TH.Lib" + \ , "Language.Haskell.TH.Lib.Internal" + \ , "Language.Haskell.TH.Ppr" + \ , "Language.Haskell.TH.PprLib" + \ , "Language.Haskell.TH.Quote" + \ , "Language.Haskell.TH.Syntax" + \ , "Data.Text" + \ , "Data.Text.Array" + \ , "Data.Text.Encoding" + \ , "Data.Text.Encoding.Error" + \ , "Data.Text.Foreign" + \ , "Data.Text.IO" + \ , "Data.Text.Internal" + \ , "Data.Text.Internal.Builder" + \ , "Data.Text.Internal.Builder.Functions" + \ , "Data.Text.Internal.Builder.Int.Digits" + \ , "Data.Text.Internal.Builder.RealFloat.Functions" + \ , "Data.Text.Internal.Encoding.Fusion" + \ , "Data.Text.Internal.Encoding.Fusion.Common" + \ , "Data.Text.Internal.Encoding.Utf16" + \ , "Data.Text.Internal.Encoding.Utf32" + \ , "Data.Text.Internal.Encoding.Utf8" + \ , "Data.Text.Internal.Functions" + \ , "Data.Text.Internal.Fusion" + \ , "Data.Text.Internal.Fusion.CaseMapping" + \ , "Data.Text.Internal.Fusion.Common" + \ , "Data.Text.Internal.Fusion.Size" + \ , "Data.Text.Internal.Fusion.Types" + \ , "Data.Text.Internal.IO" + \ , "Data.Text.Internal.Lazy" + \ , "Data.Text.Internal.Lazy.Encoding.Fusion" + \ , "Data.Text.Internal.Lazy.Fusion" + \ , "Data.Text.Internal.Lazy.Search" + \ , "Data.Text.Internal.Private" + \ , "Data.Text.Internal.Read" + \ , "Data.Text.Internal.Search" + \ , "Data.Text.Internal.Unsafe" + \ , "Data.Text.Internal.Unsafe.Char" + \ , "Data.Text.Internal.Unsafe.Shift" + \ , "Data.Text.Lazy" + \ , "Data.Text.Lazy.Builder" + \ , "Data.Text.Lazy.Builder.Int" + \ , "Data.Text.Lazy.Builder.RealFloat" + \ , "Data.Text.Lazy.Encoding" + \ , "Data.Text.Lazy.IO" + \ , "Data.Text.Lazy.Internal" + \ , "Data.Text.Lazy.Read" + \ , "Data.Text.Read" + \ , "Data.Text.Unsafe" + \ , "System.Random.TF" + \ , "System.Random.TF.Gen" + \ , "System.Random.TF.Init" + \ , "System.Random.TF.Instances" + \ , "Data.Time" + \ , "Data.Time.Calendar" + \ , "Data.Time.Calendar.Easter" + \ , "Data.Time.Calendar.Julian" + \ , "Data.Time.Calendar.MonthDay" + \ , "Data.Time.Calendar.OrdinalDate" + \ , "Data.Time.Calendar.WeekDate" + \ , "Data.Time.Clock" + \ , "Data.Time.Clock.POSIX" + \ , "Data.Time.Clock.System" + \ , "Data.Time.Clock.TAI" + \ , "Data.Time.Format" + \ , "Data.Time.LocalTime" + \ , "Control.Applicative.Backwards" + \ , "Control.Applicative.Lift" + \ , "Control.Monad.Signatures" + \ , "Control.Monad.Trans.Accum" + \ , "Control.Monad.Trans.Class" + \ , "Control.Monad.Trans.Cont" + \ , "Control.Monad.Trans.Error" + \ , "Control.Monad.Trans.Except" + \ , "Control.Monad.Trans.Identity" + \ , "Control.Monad.Trans.List" + \ , "Control.Monad.Trans.Maybe" + \ , "Control.Monad.Trans.RWS" + \ , "Control.Monad.Trans.RWS.Lazy" + \ , "Control.Monad.Trans.RWS.Strict" + \ , "Control.Monad.Trans.Reader" + \ , "Control.Monad.Trans.Select" + \ , "Control.Monad.Trans.State" + \ , "Control.Monad.Trans.State.Lazy" + \ , "Control.Monad.Trans.State.Strict" + \ , "Control.Monad.Trans.Writer" + \ , "Control.Monad.Trans.Writer.Lazy" + \ , "Control.Monad.Trans.Writer.Strict" + \ , "Data.Functor.Constant" + \ , "Data.Functor.Reverse" + \ , "Control.Monad.Trans.Instances" + \ , "Data.Functor.Classes.Generic" + \ , "Data.Functor.Classes.Generic.Internal" + \ , "System.Posix" + \ , "System.Posix.ByteString" + \ , "System.Posix.ByteString.FilePath" + \ , "System.Posix.Directory" + \ , "System.Posix.Directory.ByteString" + \ , "System.Posix.DynamicLinker" + \ , "System.Posix.DynamicLinker.ByteString" + \ , "System.Posix.DynamicLinker.Module" + \ , "System.Posix.DynamicLinker.Module.ByteString" + \ , "System.Posix.DynamicLinker.Prim" + \ , "System.Posix.Env" + \ , "System.Posix.Env.ByteString" + \ , "System.Posix.Error" + \ , "System.Posix.Fcntl" + \ , "System.Posix.Files" + \ , "System.Posix.Files.ByteString" + \ , "System.Posix.IO" + \ , "System.Posix.IO.ByteString" + \ , "System.Posix.Process" + \ , "System.Posix.Process.ByteString" + \ , "System.Posix.Process.Internals" + \ , "System.Posix.Resource" + \ , "System.Posix.Semaphore" + \ , "System.Posix.SharedMem" + \ , "System.Posix.Signals" + \ , "System.Posix.Signals.Exts" + \ , "System.Posix.Temp" + \ , "System.Posix.Temp.ByteString" + \ , "System.Posix.Terminal" + \ , "System.Posix.Terminal.ByteString" + \ , "System.Posix.Time" + \ , "System.Posix.Unistd" + \ , "System.Posix.User" + \ , "Data.HashMap.Lazy" + \ , "Data.HashMap.Strict" + \ , "Data.HashSet" + \ , "Data.Vector" + \ , "Data.Vector.Fusion.Bundle" + \ , "Data.Vector.Fusion.Bundle.Monadic" + \ , "Data.Vector.Fusion.Bundle.Size" + \ , "Data.Vector.Fusion.Stream.Monadic" + \ , "Data.Vector.Fusion.Util" + \ , "Data.Vector.Generic" + \ , "Data.Vector.Generic.Base" + \ , "Data.Vector.Generic.Mutable" + \ , "Data.Vector.Generic.Mutable.Base" + \ , "Data.Vector.Generic.New" + \ , "Data.Vector.Internal.Check" + \ , "Data.Vector.Mutable" + \ , "Data.Vector.Primitive" + \ , "Data.Vector.Primitive.Mutable" + \ , "Data.Vector.Storable" + \ , "Data.Vector.Storable.Internal" + \ , "Data.Vector.Storable.Mutable" + \ , "Data.Vector.Unboxed" + \ , "Data.Vector.Unboxed.Base" + \ , "Data.Vector.Unboxed.Mutable" + \ , "Text.XHtml" + \ , "Text.XHtml.Debug" + \ , "Text.XHtml.Frameset" + \ , "Text.XHtml.Strict" + \ , "Text.XHtml.Table" + \ , "Text.XHtml.Transitional" + \ , "Codec.Compression.GZip" + \ , "Codec.Compression.Zlib" + \ , "Codec.Compression.Zlib.Internal" + \ , "Codec.Compression.Zlib.Raw" + \ , "Web.Spock" + \ , "Web.Spock.Config" + \ , "Web.Spock.Internal.SessionManager" + \ , "Web.Spock.Internal.SessionVault" + \ , "Web.Spock.SessionActions" + \ , "Web.Spock.Api" + \ , "Web.Spock.Auth" + \ , "Web.Spock.Action" + \ , "Web.Spock.Core" + \ , "Web.Spock.Internal.Cookies" + \ , "Web.Spock.Internal.Util" + \ , "Web.Spock.Routing" + \ , "Web.Spock.Digestive" + \ , "Database.Esqueleto" + \ , "Database.Esqueleto.Internal.Language" + \ , "Database.Esqueleto.Internal.Sql" + \ , "Database.Esqueleto.PostgreSQL" + \ , "Database.Persist" + \ , "Database.Persist.Class" + \ , "Database.Persist.Quasi" + \ , "Database.Persist.Sql" + \ , "Database.Persist.Sql.Types.Internal" + \ , "Database.Persist.Sql.Util" + \ , "Database.Persist.Types" + \ , "Database.Persist.MySQL" + \ , "Database.Persist.Postgresql" + \ , "Database.Persist.Postgresql.JSON" + \ , "Database.Persist.Redis" + \ , "Database.Persist.Sqlite" + \ , "Database.Sqlite" + \ , "Servant.API" + \ , "Servant.API.Alternative" + \ , "Servant.API.BasicAuth" + \ , "Servant.API.Capture" + \ , "Servant.API.ContentTypes" + \ , "Servant.API.Description" + \ , "Servant.API.Empty" + \ , "Servant.API.Experimental.Auth" + \ , "Servant.API.Generic" + \ , "Servant.API.Header" + \ , "Servant.API.HttpVersion" + \ , "Servant.API.Internal.Test.ComprehensiveAPI" + \ , "Servant.API.IsSecure" + \ , "Servant.API.Modifiers" + \ , "Servant.API.QueryParam" + \ , "Servant.API.Raw" + \ , "Servant.API.RemoteHost" + \ , "Servant.API.ReqBody" + \ , "Servant.API.ResponseHeaders" + \ , "Servant.API.Stream" + \ , "Servant.API.Sub" + \ , "Servant.API.TypeLevel" + \ , "Servant.API.Vault" + \ , "Servant.API.Verbs" + \ , "Servant.API.WithNamedContext" + \ , "Servant.Links" + \ , "Servant.Utils.Enter" + \ , "Servant.Utils.Links" + \ , "Servant.Auth" + \ , "Servant.Client" + \ , "Servant.Client.Internal.HttpClient" + \ , "Servant" + \ , "Servant.Server" + \ , "Servant.Server.Experimental.Auth" + \ , "Servant.Server.Generic" + \ , "Servant.Server.Internal" + \ , "Servant.Server.Internal.BasicAuth" + \ , "Servant.Server.Internal.Context" + \ , "Servant.Server.Internal.Handler" + \ , "Servant.Server.Internal.Router" + \ , "Servant.Server.Internal.RoutingApplication" + \ , "Servant.Server.Internal.ServantErr" + \ , "Servant.Server.StaticFiles" + \ , "Servant.Utils.StaticFiles" + \ ] diff --git a/runtime/autoload/phpcomplete.vim b/runtime/autoload/phpcomplete.vim index 8e38867a77..377baa8432 100644 --- a/runtime/autoload/phpcomplete.vim +++ b/runtime/autoload/phpcomplete.vim @@ -3,7 +3,7 @@ " Maintainer: Dávid Szabó ( complex857 AT gmail DOT com ) " Previous Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl ) " URL: https://github.com/shawncplus/phpcomplete.vim -" Last Change: 2016 Oct 10 +" Last Change: 2018 Oct 10 " " OPTIONS: " @@ -146,6 +146,8 @@ function! phpcomplete#CompletePHP(findstart, base) " {{{ end try + let eventignore = &eventignore + let &eventignore = 'all' let winheight = winheight(0) let winnr = winnr() @@ -216,6 +218,7 @@ function! phpcomplete#CompletePHP(findstart, base) " {{{ endif finally silent! exec winnr.'resize '.winheight + let &eventignore = eventignore endtry endfunction " }}} @@ -1393,23 +1396,28 @@ function! phpcomplete#GetCallChainReturnType(classname_candidate, class_candidat for classstructure in classcontents let docblock_target_pattern = 'function\s\+&\?'.method.'\>\|\(public\|private\|protected\|var\).\+\$'.method.'\>\|@property.\+\$'.method.'\>' let doc_str = phpcomplete#GetDocBlock(split(classstructure.content, '\n'), docblock_target_pattern) - if doc_str != '' + let return_type_hint = phpcomplete#GetFunctionReturnTypeHint(split(classstructure.content, '\n'), 'function\s\+&\?'.method.'\>') + if doc_str != '' || return_type_hint != '' break endif endfor - if doc_str != '' + if doc_str != '' || return_type_hint != '' let docblock = phpcomplete#ParseDocBlock(doc_str) - if has_key(docblock.return, 'type') || has_key(docblock.var, 'type') || len(docblock.properties) > 0 - let type = has_key(docblock.return, 'type') ? docblock.return.type : has_key(docblock.var, 'type') ? docblock.var.type : '' - - if type == '' - for property in docblock.properties - if property.description =~? method - let type = property.type - break - endif - endfor - endif + if has_key(docblock.return, 'type') || has_key(docblock.var, 'type') || len(docblock.properties) > 0 || return_type_hint != '' + if return_type_hint == '' + let type = has_key(docblock.return, 'type') ? docblock.return.type : has_key(docblock.var, 'type') ? docblock.var.type : '' + + if type == '' + for property in docblock.properties + if property.description =~? method + let type = property.type + break + endif + endfor + endif + else + let type = return_type_hint + end " there's a namespace in the type, threat the type as FQCN if type =~ '\\' @@ -1483,7 +1491,7 @@ function! phpcomplete#GetMethodStack(line) " {{{ continue endif - " if it's looks like a string + " if it looks like a string if current_char == "'" || current_char == '"' " and it is not escaped if prev_char != '\' || (prev_char == '\' && prev_prev_char == '\') @@ -1587,9 +1595,11 @@ function! phpcomplete#GetClassName(start_line, context, current_namespace, impor elseif function_file != '' && filereadable(function_file) let file_lines = readfile(function_file) let docblock_str = phpcomplete#GetDocBlock(file_lines, 'function\s*&\?\<'.function_name.'\>') + let return_type_hint = phpcomplete#GetFunctionReturnTypeHint(file_lines, 'function\s*&\?'.function_name.'\>') let docblock = phpcomplete#ParseDocBlock(docblock_str) - if has_key(docblock.return, 'type') - let classname_candidate = docblock.return.type + let type = has_key(docblock.return, 'type') ? docblock.return.type : return_type_hint + if type != '' + let classname_candidate = type let [class_candidate_namespace, function_imports] = phpcomplete#GetCurrentNameSpace(file_lines) " try to expand the classname of the returned type with the context got from the function's source file @@ -1821,9 +1831,11 @@ function! phpcomplete#GetClassName(start_line, context, current_namespace, impor elseif function_file != '' && filereadable(function_file) let file_lines = readfile(function_file) let docblock_str = phpcomplete#GetDocBlock(file_lines, 'function\s*&\?\<'.function_name.'\>') + let return_type_hint = phpcomplete#GetFunctionReturnTypeHint(file_lines, 'function\s*&\?'.function_name.'\>') let docblock = phpcomplete#ParseDocBlock(docblock_str) - if has_key(docblock.return, 'type') - let classname_candidate = docblock.return.type + let type = has_key(docblock.return, 'type') ? docblock.return.type : return_type_hint + if type != '' + let classname_candidate = type let [class_candidate_namespace, function_imports] = phpcomplete#GetCurrentNameSpace(file_lines) " try to expand the classname of the returned type with the context got from the function's source file let [classname_candidate, class_candidate_namespace] = phpcomplete#ExpandClassName(classname_candidate, class_candidate_namespace, function_imports) @@ -2413,6 +2425,44 @@ function! phpcomplete#ParseDocBlock(docblock) " {{{ endfunction " }}} +function! phpcomplete#GetFunctionReturnTypeHint(sccontent, search) + let i = 0 + let l = 0 + let function_line_start = -1 + let function_line_end = -1 + let sccontent_len = len(a:sccontent) + let return_type = '' + + while (i < sccontent_len) + let line = a:sccontent[i] + " search for a function declaration + if line =~? a:search + let l = i + let function_line_start = i + " now search for the first { where the function body starts + while l < sccontent_len + let line = a:sccontent[l] + if line =~? '\V{' + let function_line_end = l + break + endif + let l += 1 + endwhile + break + endif + let i += 1 + endwhile + + " now grab the lines that holds the function declaration line + if function_line_start != -1 && function_line_end != -1 + let function_line = join(a:sccontent[function_line_start :function_line_end], " ") + let class_name_pattern = '[a-zA-Z_\x7f-\xff\\][a-zA-Z_0-9\x7f-\xff\\]*' + let return_type = matchstr(function_line, '\c\s*:\s*\zs'.class_name_pattern.'\ze\s*{') + endif + return return_type + +endfunction + function! phpcomplete#GetTypeFromDocBlockParam(docblock_type) " {{{ if a:docblock_type !~ '|' return a:docblock_type @@ -2572,7 +2622,7 @@ function! phpcomplete#GetCurrentNameSpace(file_lines) " {{{ " find kind flags from tags or built in methods for the objects we extracted " they can be either classes, interfaces or namespaces, no other thing is importable in php for [key, import] in items(imports) - " if theres a \ in the name we have it's definetly not a built in thing, look for tags + " if theres a \ in the name we have it's definitely not a built in thing, look for tags if import.name =~ '\\' let patched_ctags_detected = 0 let [classname, namespace_for_classes] = phpcomplete#ExpandClassName(import.name, '\', {}) diff --git a/runtime/autoload/tar.vim b/runtime/autoload/tar.vim index 9c518cb9d0..d92fe1b180 100644 --- a/runtime/autoload/tar.vim +++ b/runtime/autoload/tar.vim @@ -152,13 +152,16 @@ fun! tar#Browse(tarfile) " assuming cygwin let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e') endif + + let gzip_command = s:get_gzip_command(tarfile) + let curlast= line("$") if tarfile =~# '\.\(gz\|tgz\)$' " call Decho("1: exe silent r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ") - exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - " + exe "sil! r! " . gzip_command . " -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - " elseif tarfile =~# '\.lrp' " call Decho("2: exe silent r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - ") - exe "sil! r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - " + exe "sil! r! cat -- ".shellescape(tarfile,1)."|" . gzip_command . " -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - " elseif tarfile =~# '\.\(bz2\|tbz\|tb2\)$' " call Decho("3: exe silent r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ") exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - " @@ -287,15 +290,18 @@ fun! tar#Read(fname,mode) else let tar_secure= " " endif + + let gzip_command = s:get_gzip_command(tarfile) + if tarfile =~# '\.bz2$' " call Decho("7: exe silent r! bzip2 -d -c ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp) exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp elseif tarfile =~# '\.\(gz\|tgz\)$' " call Decho("5: exe silent r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd.' -'.g:tar_readoptions.' - '.tar_secure.shellescape(fname,1)) - exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp + exe "sil! r! " . gzip_command . " -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp elseif tarfile =~# '\.lrp$' " call Decho("6: exe silent r! cat ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp) - exe "sil! r! cat -- ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp + exe "sil! r! cat -- ".shellescape(tarfile,1)." | " . gzip_command . " -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp elseif tarfile =~# '\.lzma$' " call Decho("7: exe silent r! lzma -d -c ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp) exe "sil! r! lzma -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp @@ -389,6 +395,8 @@ fun! tar#Write(fname) let tarfile = substitute(b:tarfile,'tarfile:\(.\{-}\)::.*$','\1','') let fname = substitute(b:tarfile,'tarfile:.\{-}::\(.*\)$','\1','') + let gzip_command = s:get_gzip_command(tarfile) + " handle compressed archives if tarfile =~# '\.bz2' call system("bzip2 -d -- ".shellescape(tarfile,0)) @@ -396,12 +404,12 @@ fun! tar#Write(fname) let compress= "bzip2 -- ".shellescape(tarfile,0) " call Decho("compress<".compress.">") elseif tarfile =~# '\.gz' - call system("gzip -d -- ".shellescape(tarfile,0)) + call system(gzip_command . " -d -- ".shellescape(tarfile,0)) let tarfile = substitute(tarfile,'\.gz','','e') let compress= "gzip -- ".shellescape(tarfile,0) " call Decho("compress<".compress.">") elseif tarfile =~# '\.tgz' - call system("gzip -d -- ".shellescape(tarfile,0)) + call system(gzip_command . " -d -- ".shellescape(tarfile,0)) let tarfile = substitute(tarfile,'\.tgz','.tar','e') let compress= "gzip -- ".shellescape(tarfile,0) let tgz = 1 @@ -581,7 +589,9 @@ fun! tar#Vimuntar(...) " if necessary, decompress the tarball; then, extract it if tartail =~ '\.tgz' - if executable("gunzip") + if executable("bzip2") + silent exe "!bzip2 -d ".shellescape(tartail) + elseif executable("gunzip") silent exe "!gunzip ".shellescape(tartail) elseif executable("gzip") silent exe "!gzip -d ".shellescape(tartail) @@ -619,6 +629,15 @@ fun! tar#Vimuntar(...) " call Dret("tar#Vimuntar") endfun +func s:get_gzip_command(file) + if a:file =~# 'z$' && executable('bzip2') + " Some .tgz files are actually compressed with bzip2. Since bzip2 can + " handle the format from gzip, use it if the command exists. + return 'bzip2' + endif + return 'gzip' +endfunc + " ===================================================================== " Modelines And Restoration: {{{1 let &cpo= s:keepcpo diff --git a/runtime/compiler/stack.vim b/runtime/compiler/stack.vim new file mode 100644 index 0000000000..4236b4c8b3 --- /dev/null +++ b/runtime/compiler/stack.vim @@ -0,0 +1,37 @@ +" Vim compiler file +" Compiler: Haskell Stack +" Maintainer: Daniel Campoverde <alx@sillybytes.net> +" Latest Revision: 2018-08-27 + +if exists("current_compiler") + finish +endif +let current_compiler = "stack" + +let s:cpo_save = &cpo +set cpo&vim + + +CompilerSet errorformat= + \%-G%.%#:\ build\ %.%#, + \%-G%.%#:\ configure\ %.%#, + \%-G[%.%#]%.%#, + \%-G%.%#preprocessing\ %.%#, + \%-G%.%#configuring\ %.%#, + \%-G%.%#building\ %.%#, + \%-G%.%#linking\ %.%#, + \%-G%.%#installing\ %.%#, + \%-G%.%#registering\ %.%#, + \%-G%.%#:\ copy/register%.%#, + \%-G%.%#process\ exited\ %.%#, + \%-G%.%#--builddir=%.%#, + \%-G--%.%#, + \%-G%.%#\|%.%#, + \%E%f:%l:%c:\ error:,%+Z\ \ \ \ %m, + \%E%f:%l:%c:\ error:\ %m,%-Z, + \%W%f:%l:%c:\ warning:,%+Z\ \ \ \ %m, + \%W%f:%l:%c:\ warning:\ %m,%-Z, + + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt index bacd0e7cf1..75a26bf614 100644 --- a/runtime/doc/autocmd.txt +++ b/runtime/doc/autocmd.txt @@ -287,6 +287,7 @@ Name triggered by ~ |VimSuspend| before Nvim is suspended Various +|DiffUpdated| after diffs have been updated |DirChanged| after the |current-directory| was changed |FileChangedShell| Vim notices that a file changed since editing started @@ -856,6 +857,9 @@ OptionSet After setting an option. The pattern is plugin. You can always use `:noa` to prevent triggering this autocommand. + When using |:set| in the autocommand the event + is not triggered again. + *QuickFixCmdPre* QuickFixCmdPre Before a quickfix command is run (|:make|, |:lmake|, |:grep|, |:lgrep|, |:grepadd|, diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt index ec122d3a13..c73b460767 100644 --- a/runtime/doc/change.txt +++ b/runtime/doc/change.txt @@ -667,6 +667,7 @@ The flags that you can use for the substitute commands: CTRL-E to scroll the screen up CTRL-Y to scroll the screen down + *:s_e* [e] When the search pattern fails, do not issue an error message and, in particular, continue in maps as if no error occurred. This is most useful to prevent the "No match" error from breaking a mapping. Vim @@ -677,29 +678,34 @@ The flags that you can use for the substitute commands: Trailing characters Interrupted + *:s_g* [g] Replace all occurrences in the line. Without this argument, replacement occurs only for the first occurrence in each line. If the 'gdefault' option is on, this flag is on by default and the [g] argument switches it off. + *:s_i* [i] Ignore case for the pattern. The 'ignorecase' and 'smartcase' options are not used. + *:s_I* [I] Don't ignore case for the pattern. The 'ignorecase' and 'smartcase' options are not used. + *:s_n* [n] Report the number of matches, do not actually substitute. The [c] flag is ignored. The matches are reported as if 'report' is zero. Useful to |count-items|. If \= |sub-replace-expression| is used, the expression will be evaluated in the |sandbox| at every match. -[p] Print the line containing the last substitute. +[p] Print the line containing the last substitute. *:s_p* -[#] Like [p] and prepend the line number. +[#] Like [p] and prepend the line number. *:s_#* -[l] Like [p] but print the text like |:list|. +[l] Like [p] but print the text like |:list|. *:s_l* + *:s_r* [r] Only useful in combination with `:&` or `:s` without arguments. `:&r` works the same way as `:~`: When the search pattern is empty, use the previously used search pattern instead of the search pattern from the diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt index d51940c69e..d4f8d170ef 100644 --- a/runtime/doc/cmdline.txt +++ b/runtime/doc/cmdline.txt @@ -495,8 +495,46 @@ after a command causes the rest of the line to be ignored. This can be used to add comments. Example: > :set ai "set 'autoindent' option It is not possible to add a comment to a shell command ":!cmd" or to the -":map" command and a few others, because they see the '"' as part of their -argument. This is mentioned where the command is explained. +":map" command and a few others (mainly commands that expect expressions) +that see the '"' as part of their argument: + + :argdo + :autocmd + :bufdo + :cexpr (and the like) + :call + :cdo (and the like) + :command + :cscope (and the like) + :debug + :display + :echo (and the like) + :elseif + :execute + :folddoopen + :folddoclosed + :for + :grep (and the like) + :help (and the like) + :if + :let + :make + :map (and the like including :abbrev commands) + :menu (and the like) + :mkspell + :normal + :ownsyntax + :popup + :promptfind (and the like) + :registers + :return + :sort + :syntax + :tabdo + :tearoff + :vimgrep (and the like) + :while + :windo *:bar* *:\bar* '|' can be used to separate commands, so you can give multiple commands in one diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index 20c0ce0876..f03189485c 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -921,6 +921,13 @@ These three can be repeated and mixed. Examples: expr8 *expr8* ----- +This expression is either |expr9| or a sequence of the alternatives below, +in any order. E.g., these are all possible: + expr9[expr1].name + expr9.name[expr1] + expr9(expr1, ...)[expr1].name + + expr8[expr1] item of String or |List| *expr-[]* *E111* *subscript* @@ -2223,7 +2230,6 @@ remote_read({serverid} [, {timeout}]) remote_send({server}, {string} [, {idvar}]) String send key sequence remote_startserver({name}) none become server {name} - String send key sequence remove({list}, {idx} [, {end}]) any remove items {idx}-{end} from {list} remove({dict}, {key}) any remove entry {key} from {dict} rename({from}, {to}) Number rename (move) file from {from} to {to} @@ -2416,10 +2422,10 @@ and({expr}, {expr}) *and()* api_info() *api_info()* Returns Dictionary of |api-metadata|. -append({lnum}, {expr}) *append()* - When {expr} is a |List|: Append each item of the |List| as a +append({lnum}, {text}) *append()* + When {text} is a |List|: Append each item of the |List| as a text line below line {lnum} in the current buffer. - Otherwise append {expr} as one text line below line {lnum} in + Otherwise append {text} as one text line below line {lnum} in the current buffer. {lnum} can be zero to insert a line before the first one. Returns 1 for failure ({lnum} out of range or out of memory), @@ -2489,7 +2495,7 @@ assert_exception({error} [, {msg}]) *assert_exception()* call assert_exception('E492:') endtry -assert_fails({cmd} [, {error}]) *assert_fails()* +assert_fails({cmd} [, {error} [, {msg}]]) *assert_fails()* Run {cmd} and add an error message to |v:errors| if it does NOT produce an error. When {error} is given it must match in |v:errmsg|. @@ -4051,6 +4057,8 @@ getcmdline() *getcmdline()* Example: > :cmap <F7> <C-\>eescape(getcmdline(), ' \')<CR> < Also see |getcmdtype()|, |getcmdpos()| and |setcmdpos()|. + Returns an empty string when entering a password or using + |inputsecret()|. getcmdpos() *getcmdpos()* Return the position of the cursor in the command line as a @@ -5445,11 +5453,14 @@ match({expr}, {pat} [, {start} [, {count}]]) *match()* When {expr} is a |List| then this returns the index of the first item where {pat} matches. Each item is used as a String, |Lists| and |Dictionaries| are used as echoed. + Otherwise, {expr} is used as a String. The result is a Number, which gives the index (byte offset) in {expr} where {pat} matches. + A match at the first character or |List| item returns zero. If there is no match -1 is returned. + For getting submatches see |matchlist()|. Example: > :echo match("testing", "ing") " results in 4 @@ -7711,7 +7722,7 @@ synconcealed({lnum}, {col}) *synconcealed()* concealable region if there are two consecutive regions with the same replacement character. For an example, if the text is "123456" and both "23" and "45" are concealed - and replace by the character "X", then: + and replaced by the character "X", then: call returns ~ synconcealed(lnum, 1) [0, '', 0] synconcealed(lnum, 2) [1, 'X', 1] diff --git a/runtime/doc/filetype.txt b/runtime/doc/filetype.txt index 55e49efff0..92404440da 100644 --- a/runtime/doc/filetype.txt +++ b/runtime/doc/filetype.txt @@ -573,11 +573,31 @@ By default the following options are set, in accordance with PEP8: > setlocal expandtab shiftwidth=4 softtabstop=4 tabstop=8 -To disable this behaviour, set the following variable in your vimrc: > +To disable this behavior, set the following variable in your vimrc: > let g:python_recommended_style = 0 +R MARKDOWN *ft-rmd-plugin* + +By default ftplugin/html.vim is not sourced. If you want it sourced, add to +your |vimrc|: > + let rmd_include_html = 1 + +The 'formatexpr' option is set dynamically with different values for R code +and for Markdown code. If you prefer that 'formatexpr' is not set, add to your +|vimrc|: > + let rmd_dynamic_comments = 0 + + +R RESTRUCTURED TEXT *ft-rrst-plugin* + +The 'formatexpr' option is set dynamically with different values for R code +and for ReStructured text. If you prefer that 'formatexpr' is not set, add to +your |vimrc|: > + let rrst_dynamic_comments = 0 + + RPM SPEC *ft-spec-plugin* Since the text for this plugin is rather long it has been put in a separate diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt index 2ae2504b02..976402c915 100644 --- a/runtime/doc/help.txt +++ b/runtime/doc/help.txt @@ -182,4 +182,4 @@ will try to find help for it. Especially for options in single quotes, e.g. 'hlsearch'. ------------------------------------------------------------------------------ - vim:tw=78:fo=tcq2:isk=!-~,^*,^\|,^\":ts=8:noet:ft=help:norl: + vim:tw=78:isk=!-~,^*,^\|,^\":ts=8:noet:ft=help:norl: diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt index dfa1d6e212..81a7816c93 100644 --- a/runtime/doc/if_pyth.txt +++ b/runtime/doc/if_pyth.txt @@ -42,9 +42,10 @@ Example: > endfunction To see what version of Python you have: > - :python import sys :python print(sys.version) +There is no need to import sys, it's done by default. + Note: Python is very sensitive to the indenting. Make sure the "class" line and "EOF" do not have any indent. @@ -63,6 +64,18 @@ Examples: :pydo return "%s\t%d" % (line[::-1], len(line)) :pydo if line: return "%4d: %s" % (linenr, line) < +One can use `:pydo` in possible conjunction with `:py` to filter a range using +python. For example: > + + :py3 << EOF + needle = vim.eval('@a') + replacement = vim.eval('@b') + + def py_vim_string_replace(str): + return str.replace(needle, replacement) + EOF + :'<,'>py3do return py_vim_string_replace(line) +< *:pyfile* *:pyf* :[range]pyf[ile] {file} Execute the Python script in {file}. The whole @@ -79,7 +92,6 @@ Python commands cannot be used in the |sandbox|. To pass arguments you need to set sys.argv[] explicitly. Example: > - :python import sys :python sys.argv = ["foo", "bar"] :pyfile myscript.py diff --git a/runtime/doc/indent.txt b/runtime/doc/indent.txt index e95725920b..aae091aa99 100644 --- a/runtime/doc/indent.txt +++ b/runtime/doc/indent.txt @@ -937,6 +937,11 @@ Indent after a nested paren: > Indent for a continuation line: > let g:pyindent_continue = '&sw * 2' +The method uses searchpair() to look back for unclosed parenthesis. This can +sometimes be slow, thus it timeouts after 150 msec. If you notice the +indenting isn't correct, you can set a larger timeout in msec: > + let g:pyindent_searchpair_timeout = 500 + R *ft-r-indent* @@ -974,6 +979,11 @@ Below is an example of indentation with and without this option enabled: paste(x) paste(x) } } < +The code will be indented after lines that match the pattern +`'\(&\||\|+\|-\|\*\|/\|=\|\~\|%\|->\)\s*$'`. If you want indentation after +lines that match a different pattern, you should set the appropriate value of +`r_indent_op_pattern` in your |vimrc|. + SHELL *ft-sh-indent* diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt index d42c5082c0..81eeae80ed 100644 --- a/runtime/doc/insert.txt +++ b/runtime/doc/insert.txt @@ -1026,13 +1026,13 @@ The function must return the column where the completion starts. It must be a number between zero and the cursor column "col('.')". This involves looking at the characters just before the cursor and including those characters that could be part of the completed item. The text between this column and the -cursor column will be replaced with the matches. +cursor column will be replaced with the matches. If the returned value is +larger than the cursor column, the cursor column is used. -Special return values: - -1 If no completion can be done, the completion will be cancelled with an - error message. - -2 To cancel silently and stay in completion mode. - -3 To cancel silently and leave completion mode. +Negative return values: + -2 To cancel silently and stay in completion mode. + -3 To cancel silently and leave completion mode. + Another negative value: completion starts at the cursor column On the second invocation the arguments are: a:findstart 0 diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt index 0898dd98b9..30e7f644b3 100644 --- a/runtime/doc/map.txt +++ b/runtime/doc/map.txt @@ -371,8 +371,9 @@ several modes. In Vim you can use the ":nmap", ":vmap", ":omap", ":cmap" and *omap-info* Operator-pending mappings can be used to define a movement command that can be -used with any operator. Simple example: ":omap { w" makes "y{" work like "yw" -and "d{" like "dw". +used with any operator. Simple example: > + :omap { w +makes "y{" work like "yw" and "d{" like "dw". To ignore the starting cursor position and select different text, you can have the omap start Visual mode to select the text to be operated upon. Example @@ -383,9 +384,11 @@ Normal mode commands find the first '(' character and select the first word before it. That usually is the function name. To enter a mapping for Normal and Visual mode, but not Operator-pending mode, -first define it for all three modes, then unmap it for Operator-pending mode: +first define it for all three modes, then unmap it for +Operator-pending mode: > :map xx something-difficult :ounmap xx + Likewise for a mapping for Visual and Operator-pending mode or Normal and Operator-pending mode. diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index 0076049b94..7cf3aa1d60 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -100,17 +100,17 @@ and the following arguments will be ignored. When 'verbose' is non-zero, displaying an option value will also tell where it was last set. Example: > :verbose set shiftwidth cindent? -< shiftwidth=4 ~ - Last set from modeline ~ - cindent ~ - Last set from /usr/local/share/vim/vim60/ftplugin/c.vim ~ +< shiftwidth=4 ~ + Last set from modeline line 1 ~ + cindent ~ + Last set from /usr/local/share/vim/vim60/ftplugin/c.vim line 30 ~ This is only done when specific option values are requested, not for ":verbose set all" or ":verbose set" without an argument. When the option was set by hand there is no "Last set" message. When the option was set while executing a function, user command or autocommand, the script in which it was defined is reported. A few special texts: - Last set from modeline ~ + Last set from modeline line 1 ~ Option was set in a |modeline|. Last set from --cmd argument ~ Option was set with command line argument |--cmd| or +. @@ -691,6 +691,8 @@ A jump table for the options with a short description can be found at |Q_op|. '{A-Z0-9}, or `{A-Z0-9} command takes one to another file. Note that for some commands the 'autowrite' option is not used, see 'autowriteall' for that. + Some buffers will not be written, specifically when 'buftype' is + "nowrite", "nofile", "terminal" or "prompt". *'autowriteall'* *'awa'* *'noautowriteall'* *'noawa'* 'autowriteall' 'awa' boolean (default off) @@ -1456,8 +1458,8 @@ A jump table for the options with a short description can be found at |Q_op|. displayed. E.g., when moving vertically it may change column. -'conceallevel' 'cole' *'conceallevel'* *'cole'* - number (default 0) + *'conceallevel'* *'cole'* +'conceallevel' 'cole' number (default 0) local to window Determine how text with the "conceal" syntax attribute |:syn-conceal| is shown: @@ -1902,6 +1904,15 @@ A jump table for the options with a short description can be found at |Q_op|. When omitted a context of six lines is used. See |fold-diff|. + iblank Ignore changes where lines are all blank. Adds + the "-B" flag to the "diff" command if + 'diffexpr' is empty. Check the documentation + of the "diff" command for what this does + exactly. + NOTE: the diff windows will get out of sync, + because no differences between blank lines are + taken into account. + icase Ignore changes in case of text. "a" and "A" are considered the same. Adds the "-i" flag to the "diff" command if 'diffexpr' is empty. @@ -1913,6 +1924,18 @@ A jump table for the options with a short description can be found at |Q_op|. exactly. It should ignore adding trailing white space, but not leading white space. + iwhiteall Ignore all white space changes. Adds + the "-w" flag to the "diff" command if + 'diffexpr' is empty. Check the documentation + of the "diff" command for what this does + exactly. + + iwhiteeol Ignore white space changes at end of line. + Adds the "-Z" flag to the "diff" command if + 'diffexpr' is empty. Check the documentation + of the "diff" command for what this does + exactly. + horizontal Start diff mode with horizontal splits (unless explicitly specified otherwise). @@ -3201,8 +3224,7 @@ A jump table for the options with a short description can be found at |Q_op|. so far, matches. The matched string is highlighted. If the pattern is invalid or not found, nothing is shown. The screen will be updated often, this is only useful on fast terminals. - Also applies to the `:s`, `:g` and `:v` commands. - Note that the match will be shown, but the cursor will return to its +< Note that the match will be shown, but the cursor will return to its original position when no match is found and when pressing <Esc>. You still need to finish the search command with <Enter> to move the cursor to the match. @@ -3369,7 +3391,7 @@ A jump table for the options with a short description can be found at |Q_op|. Identifiers are used in recognizing environment variables and after a match of the 'define' option. It is also used for "\i" in a |pattern|. See 'isfname' for a description of the format of this - option. + option. For '@' only characters up to 255 are used. Careful: If you change this option, it might break expanding environment variables. E.g., when '/' is included and Vim tries to expand "$HOME/.local/share/nvim/shada/main.shada". Maybe you should @@ -3381,8 +3403,9 @@ A jump table for the options with a short description can be found at |Q_op|. local to buffer Keywords are used in searching and recognizing with many commands: "w", "*", "[i", etc. It is also used for "\k" in a |pattern|. See - 'isfname' for a description of the format of this option. For C - programs you could use "a-z,A-Z,48-57,_,.,-,>". + 'isfname' for a description of the format of this option. For '@' + characters above 255 check the "word" character class. + For C programs you could use "a-z,A-Z,48-57,_,.,-,>". For a help file it is set to all non-blank printable characters except '*', '"' and '|' (so that CTRL-] on a command finds the help for that command). @@ -4397,13 +4420,13 @@ A jump table for the options with a short description can be found at |Q_op|. security reasons. *'printencoding'* *'penc'* -'printencoding' 'penc' String (default empty, except for some systems) +'printencoding' 'penc' string (default empty, except for some systems) global Sets the character encoding used when printing. See |penc-option|. *'printexpr'* *'pexpr'* -'printexpr' 'pexpr' String (default: see below) +'printexpr' 'pexpr' string (default: see below) global Expression used to print the PostScript produced with |:hardcopy|. See |pexpr-option|. diff --git a/runtime/doc/recover.txt b/runtime/doc/recover.txt index 654a9cde7b..7789d4bdbc 100644 --- a/runtime/doc/recover.txt +++ b/runtime/doc/recover.txt @@ -27,6 +27,9 @@ You can see the name of the current swap file being used with the command: :sw[apname] *:sw* *:swapname* +Or you can use the |swapname()| function, which also allows for seeing the +swap file name of other buffers. + The name of the swap file is normally the same as the file you are editing, with the extension ".swp". - On Unix, a '.' is prepended to swap file names in the same directory as the diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt index e96b109ceb..4c3c7d329a 100644 --- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -1243,7 +1243,7 @@ doxygen_javadoc_autobrief 1 Set to 0 to disable javadoc autobrief doxygen_end_punctuation '[.]' Set to regexp match for the ending punctuation of brief -There are also some hilight groups worth mentioning as they can be useful in +There are also some highlight groups worth mentioning as they can be useful in configuration. Highlight Effect ~ @@ -2610,6 +2610,48 @@ Any combination of these three variables is legal, but might highlight more commands than are actually available to you by the game. +R *r.vim* *ft-r-syntax* + +The parsing of R code for syntax highlight starts 40 lines backwards, but you +can set a different value in your |vimrc|. Example: > + let r_syntax_minlines = 60 + +You can also turn off syntax highlighting of ROxygen: > + let r_syntax_hl_roxygen = 0 + +enable folding of code delimited by parentheses, square brackets and curly +braces: > + let r_syntax_folding = 1 + +and highlight as functions all keywords followed by an opening parenthesis: > + let r_syntax_fun_pattern = 1 + + +R MARKDOWN *rmd.vim* *ft-rmd-syntax* + +To disable syntax highlight of YAML header, add to your |vimrc|: > + let rmd_syn_hl_yaml = 0 + +To disable syntax highlighting of citation keys: > + let rmd_syn_hl_citations = 0 + +To highlight R code in knitr chunk headers: > + let rmd_syn_hl_chunk = 1 + +By default, chunks of R code will be highlighted following the rules of R +language. If you want proper syntax highlighting of chunks of other languages, +you should add them to either `markdown_fenced_languages` or +`rmd_fenced_languages`. For example to properly highlight both R and Python, +you may add this to your |vimrc|: > + let rmd_fenced_languages = ['r', 'python'] + + +R RESTRUCTURED TEXT *rrst.vim* *ft-rrst-syntax* + +To highlight R code in knitr chunk headers, add to your |vimrc|: > + let rrst_syn_hl_chunk = 1 + + READLINE *readline.vim* *ft-readline-syntax* The readline library is primarily used by the BASH shell, which adds quite a @@ -3138,6 +3180,12 @@ by syntax/tex.vim. Please consider uploading any extensions that you write, which typically would go in $HOME/after/syntax/tex/[pkgname].vim, to http://vim.sf.net/. +I've included some support for various popular packages on my website: > + + http://www.drchip.org/astronaut/vim/index.html#LATEXPKGS +< +The syntax files there go into your .../after/syntax/tex/ directory. + *tex-error* *g:tex_no_error* Tex: Excessive Error Highlighting? ~ diff --git a/runtime/doc/usr_11.txt b/runtime/doc/usr_11.txt index ad3c0de541..e5591ac1d1 100644 --- a/runtime/doc/usr_11.txt +++ b/runtime/doc/usr_11.txt @@ -283,6 +283,8 @@ machines. Therefore, don't rely on Vim always warning you. If you really don't want to see this message, you can add the 'A' flag to the 'shortmess' option. But it's very unusual that you need this. +For programatic access to the swap file, see |swapinfo()|. + ============================================================================== *11.4* Further reading diff --git a/runtime/ftplugin/cmake.vim b/runtime/ftplugin/cmake.vim index e81cd4071c..94c007629b 100644 --- a/runtime/ftplugin/cmake.vim +++ b/runtime/ftplugin/cmake.vim @@ -1,16 +1,34 @@ " Vim filetype plugin " Language: CMake " Maintainer: Keith Smiley <keithbsmiley@gmail.com> -" Last Change: 2017 Dec 24 +" Last Change: 2018 Aug 30 " Only do this when not done yet for this buffer if exists("b:did_ftplugin") finish endif +" save 'cpo' for restoration at the end of this file +let s:cpo_save = &cpo +set cpo&vim + " Don't load another plugin for this buffer let b:did_ftplugin = 1 let b:undo_ftplugin = "setl commentstring<" +if exists('loaded_matchit') + let b:match_words = '\<if\>:\<elseif\>\|\<else\>:\<endif\>' + \ . ',\<foreach\>\|\<while\>:\<break\>:\<endforeach\>\|\<endwhile\>' + \ . ',\<macro\>:\<endmacro\>' + \ . ',\<function\>:\<endfunction\>' + let b:match_ignorecase = 1 + + let b:undo_ftplugin .= "| unlet b:match_words" +endif + setlocal commentstring=#\ %s + +" restore 'cpo' and clean up buffer variable +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/runtime/ftplugin/haskell.vim b/runtime/ftplugin/haskell.vim index de77bdfb8a..84f4d0563b 100644 --- a/runtime/ftplugin/haskell.vim +++ b/runtime/ftplugin/haskell.vim @@ -1,7 +1,8 @@ " Vim filetype plugin file " Language: Haskell +" Maintainer: Daniel Campoverde <alx@sillybytes.net> " Previous Maintainer: Nikolai Weibull <now@bitwi.se> -" Latest Revision: 2008-07-09 +" Latest Revision: 2018-08-27 if exists("b:did_ftplugin") finish @@ -15,6 +16,7 @@ let b:undo_ftplugin = "setl com< cms< fo<" setlocal comments=s1fl:{-,mb:-,ex:-},:-- commentstring=--\ %s setlocal formatoptions-=t formatoptions+=croql +setlocal omnifunc=haskellcomplete#Complete let &cpo = s:cpo_save unlet s:cpo_save diff --git a/runtime/ftplugin/rmd.vim b/runtime/ftplugin/rmd.vim index 8c092ac13f..7b0db8dbb5 100644 --- a/runtime/ftplugin/rmd.vim +++ b/runtime/ftplugin/rmd.vim @@ -2,7 +2,7 @@ " Language: R Markdown file " Maintainer: Jakson Alves de Aquino <jalvesaq@gmail.com> " Homepage: https://github.com/jalvesaq/R-Vim-runtime -" Last Change: Mon Jun 06, 2016 09:41PM +" Last Change: Sun Jul 22, 2018 06:51PM " Original work by Alex Zvoleff (adjusted from R help for rmd by Michel Kuhlmann) " Only do this when not yet done for this buffer @@ -10,19 +10,12 @@ if exists("b:did_ftplugin") finish endif -runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim - -" Nvim-R plugin needs this -if exists("*CompleteR") - if &omnifunc == "CompleteR" - let b:rplugin_nonr_omnifunc = "" - else - let b:rplugin_nonr_omnifunc = &omnifunc - endif - set omnifunc=CompleteR +if exists('g:rmd_include_html') && g:rmd_include_html + runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim endif -setlocal comments=fb:*,fb:-,fb:+,n:> commentstring=>\ %s +setlocal comments=fb:*,fb:-,fb:+,n:> +setlocal commentstring=#\ %s setlocal formatoptions+=tcqln setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^\\s*[-*+]\\s\\+ setlocal iskeyword=@,48-57,_,. @@ -30,6 +23,22 @@ setlocal iskeyword=@,48-57,_,. let s:cpo_save = &cpo set cpo&vim +function! FormatRmd() + if search("^[ \t]*```[ ]*{r", "bncW") > search("^[ \t]*```$", "bncW") + setlocal comments=:#',:###,:##,:# + else + setlocal comments=fb:*,fb:-,fb:+,n:> + endif + return 1 +endfunction + +" If you do not want 'comments' dynamically defined, put in your vimrc: +" let g:rmd_dynamic_comments = 0 +if !exists("g:rmd_dynamic_comments") || (exists("g:rmd_dynamic_comments") && g:rmd_dynamic_comments == 1) + setlocal formatexpr=FormatRmd() +endif + + " Enables pandoc if it is installed unlet! b:did_ftplugin runtime ftplugin/pandoc.vim diff --git a/runtime/ftplugin/rrst.vim b/runtime/ftplugin/rrst.vim index ecfd6e87a1..3e82847d35 100644 --- a/runtime/ftplugin/rrst.vim +++ b/runtime/ftplugin/rrst.vim @@ -2,7 +2,7 @@ " Language: reStructuredText documentation format with R code " Maintainer: Jakson Alves de Aquino <jalvesaq@gmail.com> " Homepage: https://github.com/jalvesaq/R-Vim-runtime -" Last Change: Tue Apr 07, 2015 04:38PM +" Last Change: Wed Nov 01, 2017 10:47PM " Original work by Alex Zvoleff " Only do this when not yet done for this buffer @@ -16,11 +16,27 @@ let b:did_ftplugin = 1 let s:cpo_save = &cpo set cpo&vim -setlocal comments=fb:*,fb:-,fb:+,n:> commentstring=>\ %s +setlocal comments=fb:*,fb:-,fb:+,n:> +setlocal commentstring=#\ %s setlocal formatoptions+=tcqln setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^\\s*[-*+]\\s\\+ setlocal iskeyword=@,48-57,_,. +function! FormatRrst() + if search('^\.\. {r', "bncW") > search('^\.\. \.\.$', "bncW") + setlocal comments=:#',:###,:##,:# + else + setlocal comments=fb:*,fb:-,fb:+,n:> + endif + return 1 +endfunction + +" If you do not want 'comments' dynamically defined, put in your vimrc: +" let g:rrst_dynamic_comments = 0 +if !exists("g:rrst_dynamic_comments") || (exists("g:rrst_dynamic_comments") && g:rrst_dynamic_comments == 1) + setlocal formatexpr=FormatRrst() +endif + if has("gui_win32") && !exists("b:browsefilter") let b:browsefilter = "R Source Files (*.R *.Rnw *.Rd *.Rmd *.Rrst)\t*.R;*.Rnw;*.Rd;*.Rmd;*.Rrst\n" . \ "All Files (*.*)\t*.*\n" diff --git a/runtime/ftplugin/vim.vim b/runtime/ftplugin/vim.vim index eb8061d84f..34f5eb6db1 100644 --- a/runtime/ftplugin/vim.vim +++ b/runtime/ftplugin/vim.vim @@ -70,10 +70,10 @@ if !exists("no_plugin_maps") && !exists("no_vim_maps") vnoremap <silent><buffer> [[ m':<C-U>exe "normal! gv"<Bar>call search('^\s*fu\%[nction]\>', "bW")<CR> nnoremap <silent><buffer> ]] m':call search('^\s*fu\%[nction]\>', "W")<CR> vnoremap <silent><buffer> ]] m':<C-U>exe "normal! gv"<Bar>call search('^\s*fu\%[nction]\>', "W")<CR> - nnoremap <silent><buffer> [] m':call search('^\s*endf*\%[unction]\>', "bW")<CR> - vnoremap <silent><buffer> [] m':<C-U>exe "normal! gv"<Bar>call search('^\s*endf*\%[unction]\>', "bW")<CR> - nnoremap <silent><buffer> ][ m':call search('^\s*endf*\%[unction]\>', "W")<CR> - vnoremap <silent><buffer> ][ m':<C-U>exe "normal! gv"<Bar>call search('^\s*endf*\%[unction]\>', "W")<CR> + nnoremap <silent><buffer> [] m':call search('^\s*endf\%[unction]\>', "bW")<CR> + vnoremap <silent><buffer> [] m':<C-U>exe "normal! gv"<Bar>call search('^\s*endf\%[unction]\>', "bW")<CR> + nnoremap <silent><buffer> ][ m':call search('^\s*endf\%[unction]\>', "W")<CR> + vnoremap <silent><buffer> ][ m':<C-U>exe "normal! gv"<Bar>call search('^\s*endf\%[unction]\>', "W")<CR> " Move around comments nnoremap <silent><buffer> ]" :call search('^\(\s*".*\n\)\@<!\(\s*"\)', "W")<CR> @@ -90,8 +90,7 @@ if exists("loaded_matchit") \ '\<\(wh\%[ile]\|for\)\>:\<brea\%[k]\>:\<con\%[tinue]\>:\<end\(w\%[hile]\|fo\%[r]\)\>,' . \ '\<if\>:\<el\%[seif]\>:\<en\%[dif]\>,' . \ '\<try\>:\<cat\%[ch]\>:\<fina\%[lly]\>:\<endt\%[ry]\>,' . - \ '\<aug\%[roup]\s\+\%(END\>\)\@!\S:\<aug\%[roup]\s\+END\>,' . - \ '(:)' + \ '\<aug\%[roup]\s\+\%(END\>\)\@!\S:\<aug\%[roup]\s\+END\>,' " Ignore syntax region commands and settings, any 'en*' would clobber " if-endif. " - set spl=de,en diff --git a/runtime/indent/dosbatch.vim b/runtime/indent/dosbatch.vim new file mode 100644 index 0000000000..aea2a184d4 --- /dev/null +++ b/runtime/indent/dosbatch.vim @@ -0,0 +1,59 @@ +" Vim indent file +" Language: MSDOS batch file (with NT command extensions) +" Maintainer: Ken Takata +" URL: https://github.com/k-takata/vim-dosbatch-indent +" Last Change: 2017 May 10 +" Filenames: *.bat +" License: VIM License + +if exists("b:did_indent") + finish +endif +let b:did_indent = 1 + +setlocal nosmartindent +setlocal noautoindent +setlocal indentexpr=GetDosBatchIndent(v:lnum) +setlocal indentkeys=!^F,o,O +setlocal indentkeys+=0=) + +if exists("*GetDosBatchIndent") + finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +function! GetDosBatchIndent(lnum) + let l:prevlnum = prevnonblank(a:lnum-1) + if l:prevlnum == 0 + " top of file + return 0 + endif + + " grab the previous and current line, stripping comments. + let l:prevl = substitute(getline(l:prevlnum), '\c^\s*\%(@\s*\)\?rem\>.*$', '', '') + let l:thisl = getline(a:lnum) + let l:previ = indent(l:prevlnum) + + let l:ind = l:previ + + if l:prevl =~? '^\s*@\=if\>.*(\s*$' || + \ l:prevl =~? '\<do\>\s*(\s*$' || + \ l:prevl =~? '\<else\>\s*\%(if\>.*\)\?(\s*$' || + \ l:prevl =~? '^.*\(&&\|||\)\s*(\s*$' + " previous line opened a block + let l:ind += shiftwidth() + endif + if l:thisl =~ '^\s*)' + " this line closed a block + let l:ind -= shiftwidth() + endif + + return l:ind +endfunction + +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim: ts=8 sw=2 sts=2 diff --git a/runtime/indent/dtd.vim b/runtime/indent/dtd.vim index 5633362367..963ac408ef 100644 --- a/runtime/indent/dtd.vim +++ b/runtime/indent/dtd.vim @@ -3,9 +3,6 @@ " Previous Maintainer: Nikolai Weibull <now@bitwi.se> " Latest Revision: 2011-07-08 -let s:cpo_save = &cpo -set cpo&vim - setlocal indentexpr=GetDTDIndent() setlocal indentkeys=!^F,o,O,> setlocal nosmartindent @@ -14,6 +11,9 @@ if exists("*GetDTDIndent") finish endif +let s:cpo_save = &cpo +set cpo&vim + " TODO: Needs to be adjusted to stop at [, <, and ]. let s:token_pattern = '^[^[:space:]]\+' diff --git a/runtime/indent/html.vim b/runtime/indent/html.vim index ba043e968a..6c866594c5 100644 --- a/runtime/indent/html.vim +++ b/runtime/indent/html.vim @@ -663,7 +663,7 @@ func! s:CSSIndent() else let cur_hasfield = curtext =~ '^\s*[a-zA-Z0-9-]\+:' let prev_unfinished = s:CssUnfinished(prev_text) - if !cur_hasfield && (prev_hasfield || prev_unfinished) + if prev_unfinished " Continuation line has extra indent if the previous line was not a " continuation line. let extra = shiftwidth() @@ -716,9 +716,13 @@ func! s:CSSIndent() endfunc "}}} " Inside <style>: Whether a line is unfinished. +" tag: +" tag: blah +" tag: blah && +" tag: blah || func! s:CssUnfinished(text) "{{{ - return a:text =~ '\s\(||\|&&\|:\)\s*$' + return a:text =~ '\(||\|&&\|:\|\k\)\s*$' endfunc "}}} " Search back for the first unfinished line above "lnum". diff --git a/runtime/indent/prolog.vim b/runtime/indent/prolog.vim index 26a3bc3cd9..ecd0894166 100644 --- a/runtime/indent/prolog.vim +++ b/runtime/indent/prolog.vim @@ -2,6 +2,7 @@ " Maintainer : Gergely Kontra <kgergely@mcl.hu> " Revised on : 2002.02.18. 23:34:05 " Language : Prolog +" Last change by: Takuya Fujiwara, 2018 Sep 23 " TODO: " checking with respect to syntax highlighting @@ -37,10 +38,18 @@ function! GetPrologIndent() let ind = indent(pnum) " Previous line was comment -> use previous line's indent if pline =~ '^\s*%' - retu ind + return ind + endif + " Previous line was the start of block comment -> +1 after '/*' comment + if pline =~ '^\s*/\*' + return ind + 1 + endif + " Previous line was the end of block comment -> -1 after '*/' comment + if pline =~ '^\s*\*/' + return ind - 1 endif " Check for clause head on previous line - if pline =~ ':-\s*\(%.*\)\?$' + if pline =~ '\%(:-\|-->\)\s*\(%.*\)\?$' let ind = ind + shiftwidth() " Check for end of clause on previous line elseif pline =~ '\.\s*\(%.*\)\?$' diff --git a/runtime/indent/python.vim b/runtime/indent/python.vim index 4ce3c234a5..7ab3cb9f50 100644 --- a/runtime/indent/python.vim +++ b/runtime/indent/python.vim @@ -53,6 +53,11 @@ function GetPythonIndent(lnum) return 0 endif + " searchpair() can be slow sometimes, limit the time to 100 msec or what is + " put in g:pyindent_searchpair_timeout + let searchpair_stopline = 0 + let searchpair_timeout = get(g:, 'pyindent_searchpair_timeout', 150) + " If the previous line is inside parenthesis, use the indent of the starting " line. " Trick: use the non-existing "dummy" variable to break out of the loop when @@ -61,7 +66,8 @@ function GetPythonIndent(lnum) let parlnum = searchpair('(\|{\|\[', '', ')\|}\|\]', 'nbW', \ "line('.') < " . (plnum - s:maxoff) . " ? dummy :" \ . " synIDattr(synID(line('.'), col('.'), 1), 'name')" - \ . " =~ '\\(Comment\\|Todo\\|String\\)$'") + \ . " =~ '\\(Comment\\|Todo\\|String\\)$'", + \ searchpair_stopline, searchpair_timeout) if parlnum > 0 let plindent = indent(parlnum) let plnumstart = parlnum @@ -80,14 +86,16 @@ function GetPythonIndent(lnum) let p = searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW', \ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :" \ . " synIDattr(synID(line('.'), col('.'), 1), 'name')" - \ . " =~ '\\(Comment\\|Todo\\|String\\)$'") + \ . " =~ '\\(Comment\\|Todo\\|String\\)$'", + \ searchpair_stopline, searchpair_timeout) if p > 0 if p == plnum " When the start is inside parenthesis, only indent one 'shiftwidth'. let pp = searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW', \ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :" \ . " synIDattr(synID(line('.'), col('.'), 1), 'name')" - \ . " =~ '\\(Comment\\|Todo\\|String\\)$'") + \ . " =~ '\\(Comment\\|Todo\\|String\\)$'", + \ searchpair_stopline, searchpair_timeout) if pp > 0 return indent(plnum) + (exists("g:pyindent_nested_paren") ? eval(g:pyindent_nested_paren) : shiftwidth()) endif diff --git a/runtime/indent/r.vim b/runtime/indent/r.vim index 373b0e65df..ca85a2e62d 100644 --- a/runtime/indent/r.vim +++ b/runtime/indent/r.vim @@ -2,7 +2,7 @@ " Language: R " Author: Jakson Alves de Aquino <jalvesaq@gmail.com> " Homepage: https://github.com/jalvesaq/R-Vim-runtime -" Last Change: Thu Feb 18, 2016 06:32AM +" Last Change: Sun Aug 19, 2018 09:13PM " Only load this indent file when no other was loaded. @@ -19,22 +19,16 @@ if exists("*GetRIndent") finish endif +let s:cpo_save = &cpo +set cpo&vim + " Options to make the indentation more similar to Emacs/ESS: -if !exists("g:r_indent_align_args") - let g:r_indent_align_args = 1 -endif -if !exists("g:r_indent_ess_comments") - let g:r_indent_ess_comments = 0 -endif -if !exists("g:r_indent_comment_column") - let g:r_indent_comment_column = 40 -endif -if ! exists("g:r_indent_ess_compatible") - let g:r_indent_ess_compatible = 0 -endif -if ! exists("g:r_indent_op_pattern") - let g:r_indent_op_pattern = '\(&\||\|+\|-\|\*\|/\|=\|\~\|%\|->\)\s*$' -endif +let g:r_indent_align_args = get(g:, 'r_indent_align_args', 1) +let g:r_indent_ess_comments = get(g:, 'r_indent_ess_comments', 0) +let g:r_indent_comment_column = get(g:, 'r_indent_comment_column', 40) +let g:r_indent_ess_compatible = get(g:, 'r_indent_ess_compatible', 0) +let g:r_indent_op_pattern = get(g:, 'r_indent_op_pattern', + \ '\(&\||\|+\|-\|\*\|/\|=\|\~\|%\|->\)\s*$') function s:RDelete_quotes(line) let i = 0 @@ -231,7 +225,7 @@ function GetRIndent() let cline = SanitizeRLine(cline) - if cline =~ '^\s*}' || cline =~ '^\s*}\s*)$' + if cline =~ '^\s*}' let indline = s:Get_matching_brace(clnum, '{', '}', 1) if indline > 0 && indline != clnum let iline = SanitizeRLine(getline(indline)) @@ -244,6 +238,11 @@ function GetRIndent() endif endif + if cline =~ '^\s*)$' + let indline = s:Get_matching_brace(clnum, '(', ')', 1) + return indent(indline) + endif + " Find the first non blank line above the current line let lnum = s:Get_prev_line(clnum) " Hit the start of the file, use zero indent. @@ -515,7 +514,9 @@ function GetRIndent() endwhile return ind - endfunction +let &cpo = s:cpo_save +unlet s:cpo_save + " vim: sw=2 diff --git a/runtime/indent/rmd.vim b/runtime/indent/rmd.vim index 88904405e8..182b07cbaa 100644 --- a/runtime/indent/rmd.vim +++ b/runtime/indent/rmd.vim @@ -2,7 +2,7 @@ " Language: Rmd " Author: Jakson Alves de Aquino <jalvesaq@gmail.com> " Homepage: https://github.com/jalvesaq/R-Vim-runtime -" Last Change: Tue Apr 07, 2015 04:38PM +" Last Change: Sun Aug 19, 2018 09:14PM " Only load this indent file when no other was loaded. @@ -20,7 +20,10 @@ if exists("*GetRmdIndent") finish endif -function GetMdIndent() +let s:cpo_save = &cpo +set cpo&vim + +function s:GetMdIndent() let pline = getline(v:lnum - 1) let cline = getline(v:lnum) if prevnonblank(v:lnum - 1) < v:lnum - 1 || cline =~ '^\s*[-\+\*]\s' || cline =~ '^\s*\d\+\.\s\+' @@ -33,15 +36,31 @@ function GetMdIndent() return indent(prevnonblank(v:lnum - 1)) endfunction +function s:GetYamlIndent() + let pline = getline(v:lnum - 1) + if pline =~ ':\s*$' + return indent(v:lnum) + &sw + elseif pline =~ '^\s*- ' + return indent(v:lnum) + 2 + endif + return indent(prevnonblank(v:lnum - 1)) +endfunction + function GetRmdIndent() if getline(".") =~ '^[ \t]*```{r .*}$' || getline(".") =~ '^[ \t]*```$' return 0 endif if search('^[ \t]*```{r', "bncW") > search('^[ \t]*```$', "bncW") return s:RIndent() + elseif v:lnum > 1 && search('^---$', "bnW") == 1 && + \ (search('^---$', "nW") > v:lnum || search('^...$', "nW") > v:lnum) + return s:GetYamlIndent() else - return GetMdIndent() + return s:GetMdIndent() endif endfunction +let &cpo = s:cpo_save +unlet s:cpo_save + " vim: sw=2 diff --git a/runtime/indent/rnoweb.vim b/runtime/indent/rnoweb.vim index 8c11e85cb3..73966868b8 100644 --- a/runtime/indent/rnoweb.vim +++ b/runtime/indent/rnoweb.vim @@ -21,7 +21,7 @@ else let s:TeXIndent = function(substitute(&indentexpr, "()", "", "")) endif -unlet b:did_indent +unlet! b:did_indent runtime indent/r.vim let s:RIndent = function(substitute(&indentexpr, "()", "", "")) let b:did_indent = 1 diff --git a/runtime/indent/teraterm.vim b/runtime/indent/teraterm.vim index 370283c77f..35d7354290 100644 --- a/runtime/indent/teraterm.vim +++ b/runtime/indent/teraterm.vim @@ -1,9 +1,9 @@ " Vim indent file " Language: Tera Term Language (TTL) -" Based on Tera Term Version 4.92 +" Based on Tera Term Version 4.100 " Maintainer: Ken Takata " URL: https://github.com/k-takata/vim-teraterm -" Last Change: 2017 Jun 13 +" Last Change: 2018-08-31 " Filenames: *.ttl " License: VIM License diff --git a/runtime/menu.vim b/runtime/menu.vim index e9734d7cd0..5e4bd1f11b 100644 --- a/runtime/menu.vim +++ b/runtime/menu.vim @@ -2,7 +2,7 @@ " You can also use this as a start for your own set of menus. " " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2017 Mar 04 +" Last Change: 2018 May 17 " Note that ":an" (short for ":anoremenu") is often used to make a menu work " in all modes and avoid side effects from mappings defined by the user. @@ -56,6 +56,13 @@ if exists("v:lang") || &langmenu != "" let s:lang = substitute(s:lang, '\.[^.]*', "", "") exe "runtime! lang/menu_" . s:lang . "[^a-z]*vim" + if !exists("did_menu_trans") && s:lang =~ '_' + " If the language includes a region try matching without that region. + " (e.g. find menu_de.vim if s:lang == de_DE). + let langonly = substitute(s:lang, '_.*', "", "") + exe "runtime! lang/menu_" . langonly . "[^a-z]*vim" + endif + if !exists("did_menu_trans") && strlen($LANG) > 1 && s:lang !~ '^en_us' " On windows locale names are complicated, try using $LANG, it might " have been set by set_init_1(). But don't do this for "en" or "en_us". @@ -159,7 +166,7 @@ nnoremenu 20.370 &Edit.Put\ &Before<Tab>[p [p inoremenu &Edit.Put\ &Before<Tab>[p <C-O>[p nnoremenu 20.380 &Edit.Put\ &After<Tab>]p ]p inoremenu &Edit.Put\ &After<Tab>]p <C-O>]p -if has("win32") || has("win16") +if has("win32") vnoremenu 20.390 &Edit.&Delete<Tab>x x endif noremenu <script> <silent> 20.400 &Edit.&Select\ All<Tab>ggVG :<C-U>call <SID>SelectAll()<CR> @@ -167,7 +174,7 @@ inoremenu <script> <silent> 20.400 &Edit.&Select\ All<Tab>ggVG <C-O>:call <SID>S cnoremenu <script> <silent> 20.400 &Edit.&Select\ All<Tab>ggVG <C-U>call <SID>SelectAll()<CR> an 20.405 &Edit.-SEP2- <Nop> -if has("win32") || has("win16") || has("gui_gtk") || has("gui_kde") || has("gui_motif") +if has("win32") || has("gui_gtk") || has("gui_kde") || has("gui_motif") an 20.410 &Edit.&Find\.\.\. :promptfind<CR> vunmenu &Edit.&Find\.\.\. vnoremenu <silent> &Edit.&Find\.\.\. y:promptfind <C-R>=<SID>FixFText()<CR><CR> @@ -194,6 +201,8 @@ fun! s:EditVimrc() else let fname = $VIM . "/_vimrc" endif + elseif has("amiga") + let fname = "s:.vimrc" else let fname = $HOME . "/.vimrc" endif @@ -337,57 +346,77 @@ fun! s:FileFormat() endif endfun +let s:did_setup_color_schemes = 0 " Setup the Edit.Color Scheme submenu - -" get NL separated string with file names -let s:n = globpath(&runtimepath, "colors/*.vim") - -" split at NL, ignore case for Windows, sort on name -let s:names = sort(map(split(s:n, "\n"), 'substitute(v:val, "\\c.*[/\\\\:\\]]\\([^/\\\\:]*\\)\\.vim", "\\1", "")'), 1) - -" define all the submenu entries -let s:idx = 100 -for s:name in s:names - exe "an 20.450." . s:idx . ' &Edit.C&olor\ Scheme.' . s:name . " :colors " . s:name . "<CR>" - let s:idx = s:idx + 10 -endfor -unlet s:name s:names s:n s:idx +func! s:SetupColorSchemes() abort + if s:did_setup_color_schemes + return + endif + let s:did_setup_color_schemes = 1 + + let n = globpath(&runtimepath, "colors/*.vim", 1, 1) + let n += globpath(&runtimepath, "pack/*/start/*/colors/*.vim", 1, 1) + let n += globpath(&runtimepath, "pack/*/opt/*/colors/*.vim", 1, 1) + + " Ignore case for VMS and windows, sort on name + let names = sort(map(n, 'substitute(v:val, "\\c.*[/\\\\:\\]]\\([^/\\\\:]*\\)\\.vim", "\\1", "")'), 1) + + " define all the submenu entries + let idx = 100 + for name in names + exe "an 20.450." . idx . ' &Edit.C&olor\ Scheme.' . name . " :colors " . name . "<CR>" + let idx = idx + 10 + endfor + silent! aunmenu &Edit.Show\ C&olor\ Schemes\ in\ Menu +endfun +if exists("do_no_lazyload_menus") + call s:SetupColorSchemes() +else + an <silent> 20.450 &Edit.Show\ C&olor\ Schemes\ in\ Menu :call <SID>SetupColorSchemes()<CR> +endif " Setup the Edit.Keymap submenu if has("keymap") - let s:n = globpath(&runtimepath, "keymap/*.vim") - if s:n != "" - let s:idx = 100 - an 20.460.90 &Edit.&Keymap.None :set keymap=<CR> - while strlen(s:n) > 0 - let s:i = stridx(s:n, "\n") - if s:i < 0 - let s:name = s:n - let s:n = "" - else - let s:name = strpart(s:n, 0, s:i) - let s:n = strpart(s:n, s:i + 1, 19999) - endif - " Ignore case for Windows - let s:name = substitute(s:name, '\c.*[/\\:\]]\([^/\\:_]*\)\(_[0-9a-zA-Z-]*\)\=\.vim', '\1', '') - exe "an 20.460." . s:idx . ' &Edit.&Keymap.' . s:name . " :set keymap=" . s:name . "<CR>" - unlet s:name - unlet s:i - let s:idx = s:idx + 10 - endwhile - unlet s:idx + let s:did_setup_keymaps = 0 + + func! s:SetupKeymaps() abort + if s:did_setup_keymaps + return + endif + let s:did_setup_keymaps = 1 + + let n = globpath(&runtimepath, "keymap/*.vim", 1, 1) + if !empty(n) + let idx = 100 + an 20.460.90 &Edit.&Keymap.None :set keymap=<CR> + for name in n + " Ignore case for VMS and windows + let name = substitute(name, '\c.*[/\\:\]]\([^/\\:_]*\)\(_[0-9a-zA-Z-]*\)\=\.vim', '\1', '') + exe "an 20.460." . idx . ' &Edit.&Keymap.' . name . " :set keymap=" . name . "<CR>" + let idx = idx + 10 + endfor + endif + silent! aunmenu &Edit.Show\ &Keymaps\ in\ Menu + endfun + if exists("do_no_lazyload_menus") + call s:SetupKeymaps() + else + an <silent> 20.460 &Edit.Show\ &Keymaps\ in\ Menu :call <SID>SetupKeymaps()<CR> endif - unlet s:n endif -if has("win32") || has("win16") || has("gui_motif") || has("gui_gtk") || has("gui_kde") || has("gui_mac") +if has("win32") || has("gui_motif") || has("gui_gtk") || has("gui_kde") || has("gui_photon") || has("gui_mac") an 20.470 &Edit.Select\ Fo&nt\.\.\. :set guifont=*<CR> endif " Programming menu if !exists("g:ctags_command") - let g:ctags_command = "ctags -R ." + if has("vms") + let g:ctags_command = "mc vim:ctags *.*" + else + let g:ctags_command = "ctags -R ." + endif endif an 40.300 &Tools.&Jump\ to\ This\ Tag<Tab>g^] g<C-]> @@ -435,10 +464,10 @@ if has("spell") endif let found = 0 - let s = globpath(&rtp, "spell/*." . enc . ".spl") - if s != "" + let s = globpath(&runtimepath, "spell/*." . enc . ".spl", 1, 1) + if !empty(s) let n = 300 - for f in split(s, "\n") + for f in s let nm = substitute(f, '.*spell[/\\]\(..\)\.[^/\\]*\.spl', '\1', "") if nm != "en" && nm !~ '/' let _nm = nm @@ -532,8 +561,12 @@ an <silent> 40.540 &Tools.Conve&rt\ Back<Tab>:%!xxd\ -r " set. func! s:XxdConv() let mod = &mod - call s:XxdFind() - exe '%!"' . g:xxdprogram . '"' + if has("vms") + %!mc vim:xxd + else + call s:XxdFind() + exe '%!"' . g:xxdprogram . '"' + endif if getline(1) =~ "^0000000:" " only if it worked set ft=xxd endif @@ -542,8 +575,12 @@ endfun func! s:XxdBack() let mod = &mod - call s:XxdFind() - exe '%!"' . g:xxdprogram . '" -r' + if has("vms") + %!mc vim:xxd -r + else + call s:XxdFind() + exe '%!"' . g:xxdprogram . '" -r' + endif set ft= doautocmd filetypedetect BufReadPost let &mod = mod @@ -560,27 +597,46 @@ func! s:XxdFind() endif endfun +let s:did_setup_compilers = 0 + " Setup the Tools.Compiler submenu -let s:n = globpath(&runtimepath, "compiler/*.vim") -let s:idx = 100 -while strlen(s:n) > 0 - let s:i = stridx(s:n, "\n") - if s:i < 0 - let s:name = s:n - let s:n = "" - else - let s:name = strpart(s:n, 0, s:i) - let s:n = strpart(s:n, s:i + 1, 19999) +func! s:SetupCompilers() abort + if s:did_setup_compilers + return endif - " Ignore case for Windows - let s:name = substitute(s:name, '\c.*[/\\:\]]\([^/\\:]*\)\.vim', '\1', '') - exe "an 30.440." . s:idx . ' &Tools.Se&t\ Compiler.' . s:name . " :compiler " . s:name . "<CR>" - unlet s:name - unlet s:i - let s:idx = s:idx + 10 -endwhile -unlet s:n -unlet s:idx + let s:did_setup_compilers = 1 + + let n = globpath(&runtimepath, "compiler/*.vim", 1, 1) + let idx = 100 + for name in n + " Ignore case for VMS and windows + let name = substitute(name, '\c.*[/\\:\]]\([^/\\:]*\)\.vim', '\1', '') + exe "an 30.440." . idx . ' &Tools.Se&t\ Compiler.' . name . " :compiler " . name . "<CR>" + let idx = idx + 10 + endfor + silent! aunmenu &Tools.Show\ Compiler\ Se&ttings\ in\ Menu +endfun +if exists("do_no_lazyload_menus") + call s:SetupCompilers() +else + an <silent> 30.440 &Tools.Show\ Compiler\ Se&ttings\ in\ Menu :call <SID>SetupCompilers()<CR> +endif + +" Load ColorScheme, Compiler Setting and Keymap menus when idle. +if !exists("do_no_lazyload_menus") + func! s:SetupLazyloadMenus() + call s:SetupColorSchemes() + call s:SetupCompilers() + if has("keymap") + call s:SetupKeymaps() + endif + endfunc + augroup SetupLazyloadMenus + au! + au CursorHold,CursorHoldI * call <SID>SetupLazyloadMenus() | au! SetupLazyloadMenus + augroup END +endif + if !exists("no_buffers_menu") @@ -683,13 +739,21 @@ endfunc func! s:BMHash(name) " Make name all upper case, so that chars are between 32 and 96 let nm = substitute(a:name, ".*", '\U\0', "") - let sp = char2nr(' ') + if has("ebcdic") + " HACK: Replace all non alphabetics with 'Z' + " Just to make it work for now. + let nm = substitute(nm, "[^A-Z]", 'Z', "g") + let sp = char2nr('A') - 1 + else + let sp = char2nr(' ') + endif " convert first six chars into a number for sorting: return (char2nr(nm[0]) - sp) * 0x800000 + (char2nr(nm[1]) - sp) * 0x20000 + (char2nr(nm[2]) - sp) * 0x1000 + (char2nr(nm[3]) - sp) * 0x80 + (char2nr(nm[4]) - sp) * 0x20 + (char2nr(nm[5]) - sp) endfunc func! s:BMHash2(name) let nm = substitute(a:name, ".", '\L\0', "") + " Not exactly right for EBCDIC... if nm[0] < 'a' || nm[0] > 'z' return '&others.' elseif nm[0] <= 'd' @@ -1082,7 +1146,7 @@ if (exists("did_load_filetypes") || exists("syntax_on")) if exists("do_syntax_sel_menu") runtime! synmenu.vim else - an 50.10 &Syntax.&Show\ File\ Types\ in\ Menu :let do_syntax_sel_menu = 1<Bar>runtime! synmenu.vim<Bar>aunmenu &Syntax.&Show\ File\ Types\ in\ Menu<CR> + an <silent> 50.10 &Syntax.&Show\ File\ Types\ in\ Menu :let do_syntax_sel_menu = 1<Bar>runtime! synmenu.vim<Bar>aunmenu &Syntax.&Show\ File\ Types\ in\ Menu<CR> an 50.195 &Syntax.-SEP1- <Nop> endif diff --git a/runtime/syntax/c.vim b/runtime/syntax/c.vim index 1143ca7dd7..95d3455dde 100644 --- a/runtime/syntax/c.vim +++ b/runtime/syntax/c.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: C " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2017 Apr 30 +" Last Change: 2018 Sep 21 " Quit when a (custom) syntax file was already loaded if exists("b:current_syntax") @@ -220,7 +220,7 @@ if exists("c_comment_strings") syn match cCommentSkip contained "^\s*\*\($\|\s\+\)" syn region cCommentString contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=cSpecial,cCommentSkip syn region cComment2String contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end="$" contains=cSpecial - syn region cCommentL start="//" skip="\\$" end="$" keepend contains=@cCommentGroup,cComment2String,cCharacter,cNumbersCom,cSpaceError,@Spell + syn region cCommentL start="//" skip="\\$" end="$" keepend contains=@cCommentGroup,cComment2String,cCharacter,cNumbersCom,cSpaceError,cWrongComTail,@Spell if exists("c_no_comment_fold") " Use "extend" here to have preprocessor lines not terminate halfway a " comment. @@ -239,6 +239,7 @@ endif " keep a // comment separately, it terminates a preproc. conditional syn match cCommentError display "\*/" syn match cCommentStartError display "/\*"me=e-1 contained +syn match cWrongComTail display "\*/" syn keyword cOperator sizeof if exists("c_gnu") @@ -453,6 +454,7 @@ hi def link cErrInBracket cError hi def link cCommentError cError hi def link cCommentStartError cError hi def link cSpaceError cError +hi def link cWrongComTail cError hi def link cSpecialError cError hi def link cCurlyError cError hi def link cOperator Operator diff --git a/runtime/syntax/dosini.vim b/runtime/syntax/dosini.vim index ccc5e86f1b..cf42819bcd 100644 --- a/runtime/syntax/dosini.vim +++ b/runtime/syntax/dosini.vim @@ -1,12 +1,12 @@ " Vim syntax file " Language: Configuration File (ini file) for MSDOS/MS Windows -" Version: 2.1 +" Version: 2.2 " Original Author: Sean M. McKee <mckee@misslink.net> " Previous Maintainer: Nima Talebi <nima@it.net.au> -" Current Maintainer: Hong Xu <xuhdev@gmail.com> +" Current Maintainer: Hong Xu <hong@topbug.net> " Homepage: http://www.vim.org/scripts/script.php?script_id=3747 -" https://bitbucket.org/xuhdev/syntax-dosini.vim -" Last Change: 2011 Nov 8 +" Repository: https://github.com/xuhdev/syntax-dosini.vim +" Last Change: 2018 Sep 11 " quit when a syntax file was already loaded @@ -17,10 +17,11 @@ endif " shut case off syn case ignore -syn match dosiniNumber "\<\d\+\>" -syn match dosiniNumber "\<\d*\.\d\+\>" -syn match dosiniNumber "\<\d\+e[+-]\=\d\+\>" -syn match dosiniLabel "^.\{-}=" +syn match dosiniLabel "^.\{-}\ze\s*=" nextgroup=dosiniNumber,dosiniValue +syn match dosiniValue "=\zs.*" +syn match dosiniNumber "=\zs\s*\d\+\s*$" +syn match dosiniNumber "=\zs\s*\d*\.\d\+\s*$" +syn match dosiniNumber "=\zs\s*\d\+e[+-]\=\d\+\s*$" syn region dosiniHeader start="^\s*\[" end="\]" syn match dosiniComment "^[#;].*$" @@ -31,6 +32,7 @@ hi def link dosiniNumber Number hi def link dosiniHeader Special hi def link dosiniComment Comment hi def link dosiniLabel Type +hi def link dosiniValue String let b:current_syntax = "dosini" diff --git a/runtime/syntax/named.vim b/runtime/syntax/named.vim index a5757d5eb9..210d387ece 100644 --- a/runtime/syntax/named.vim +++ b/runtime/syntax/named.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: BIND configuration file " Maintainer: Nick Hibma <nick@van-laarhoven.org> -" Last change: 2007-01-30 +" Last Change: 2007-01-30 " Filenames: named.conf, rndc.conf " Location: http://www.van-laarhoven.org/vim/syntax/named.vim " diff --git a/runtime/syntax/nsis.vim b/runtime/syntax/nsis.vim index f6d5cab6a8..3389771b78 100644 --- a/runtime/syntax/nsis.vim +++ b/runtime/syntax/nsis.vim @@ -3,7 +3,7 @@ " Maintainer: Ken Takata " URL: https://github.com/k-takata/vim-nsis " Previous Maintainer: Alex Jakushev <Alex.Jakushev@kemek.lt> -" Last Change: 2018-02-07 +" Last Change: 2018-10-02 " quit when a syntax file was already loaded if exists("b:current_syntax") @@ -104,8 +104,8 @@ syn match nsisSysVar "$\$" syn match nsisSysVar "$\\["'`]" "LABELS (4.3) -syn match nsisLocalLabel contained "[^-+!$0-9;#. \t/*][^ \t:;#]*:\ze\%($\|[ \t;#]\|\/\*\)" -syn match nsisGlobalLabel contained "\.[^-+!$0-9;# \t/*][^ \t:;#]*:\ze\%($\|[ \t;#]\|\/\*\)" +syn match nsisLocalLabel contained "[^-+!$0-9;"'#. \t/*][^ \t:;#]*:\ze\%($\|[ \t;#]\|\/\*\)" +syn match nsisGlobalLabel contained "\.[^-+!$0-9;"'# \t/*][^ \t:;#]*:\ze\%($\|[ \t;#]\|\/\*\)" "CONSTANTS syn keyword nsisBoolean contained true false diff --git a/runtime/syntax/r.vim b/runtime/syntax/r.vim index 45ff498b3b..9e25dae363 100644 --- a/runtime/syntax/r.vim +++ b/runtime/syntax/r.vim @@ -5,7 +5,7 @@ " Tom Payne <tom@tompayne.org> " Contributor: Johannes Ranke <jranke@uni-bremen.de> " Homepage: https://github.com/jalvesaq/R-Vim-runtime -" Last Change: Sat Apr 08, 2017 07:01PM +" Last Change: Wed Aug 01, 2018 10:10PM " Filenames: *.R *.r *.Rhistory *.Rt " " NOTE: The highlighting of R functions might be defined in @@ -43,15 +43,17 @@ endif if exists("g:r_syntax_folding") && g:r_syntax_folding setlocal foldmethod=syntax endif -if !exists("g:r_syntax_hl_roxygen") - let g:r_syntax_hl_roxygen = 1 -endif + +let g:r_syntax_hl_roxygen = get(g:, 'r_syntax_hl_roxygen', 1) syn case match " Comment syn match rCommentTodo contained "\(BUG\|FIXME\|NOTE\|TODO\):" -syn match rComment contains=@Spell,rCommentTodo,rOBlock "#.*" +syn match rTodoParen contained "\(BUG\|FIXME\|NOTE\|TODO\)\s*(.\{-})\s*:" contains=rTodoKeyw,rTodoInfo transparent +syn keyword rTodoKeyw BUG FIXME NOTE TODO contained +syn match rTodoInfo "(\zs.\{-}\ze)" contained +syn match rComment contains=@Spell,rCommentTodo,rTodoParen,rOBlock "#.*" " Roxygen if g:r_syntax_hl_roxygen @@ -65,7 +67,7 @@ if g:r_syntax_hl_roxygen " First we match all roxygen blocks as containing only a title. In case an " empty roxygen line ending the title or a tag is found, this will be - " overriden later by the definitions of rOBlock. + " overridden later by the definitions of rOBlock. syn match rOTitleBlock "\%^\(\s*#\{1,2}' .*\n\)\{1,}" contains=rOCommentKey,rOTitleTag syn match rOTitleBlock "^\s*\n\(\s*#\{1,2}' .*\n\)\{1,}" contains=rOCommentKey,rOTitleTag @@ -91,7 +93,7 @@ if g:r_syntax_hl_roxygen syn match rOTitle "^\s*\n\(\s*#\{1,2}' .*\n\)\{-1,}\s*#\{1,2}'\s*$" contained contains=rOCommentKey,rOTitleTag syn match rOTitleTag contained "@title" - syn match rOCommentKey "#\{1,2}'" contained + syn match rOCommentKey "^\s*#\{1,2}'" contained syn region rOExamples start="^#\{1,2}' @examples.*"rs=e+1,hs=e+1 end="^\(#\{1,2}' @.*\)\@=" end="^\(#\{1,2}'\)\@!" contained contains=rOTag fold " rOTag list generated from the lists in @@ -256,6 +258,7 @@ if exists("g:r_syntax_folding") syn region rRegion matchgroup=Delimiter start=/(/ matchgroup=Delimiter end=/)/ transparent contains=ALLBUT,rError,rBraceError,rCurlyError fold syn region rRegion matchgroup=Delimiter start=/{/ matchgroup=Delimiter end=/}/ transparent contains=ALLBUT,rError,rBraceError,rParenError fold syn region rRegion matchgroup=Delimiter start=/\[/ matchgroup=Delimiter end=/]/ transparent contains=ALLBUT,rError,rCurlyError,rParenError fold + syn region rSection matchgroup=Title start=/^#.*[-=#]\{4,}/ end=/^#.*[-=#]\{4,}/ms=s-2,me=s-1 transparent contains=ALL fold else syn region rRegion matchgroup=Delimiter start=/(/ matchgroup=Delimiter end=/)/ transparent contains=ALLBUT,rError,rBraceError,rCurlyError syn region rRegion matchgroup=Delimiter start=/{/ matchgroup=Delimiter end=/}/ transparent contains=ALLBUT,rError,rBraceError,rParenError @@ -282,13 +285,8 @@ endif if g:r_syntax_fun_pattern == 1 syn match rFunction '[0-9a-zA-Z_\.]\+\s*\ze(' else - if !exists("g:R_hi_fun") - let g:R_hi_fun = 1 - endif - if g:R_hi_fun - " Nvim-R: - runtime R/functions.vim - endif + " Nvim-R: + runtime R/functions.vim endif syn match rDollar display contained "\$" @@ -311,7 +309,7 @@ syn keyword rType array category character complex double function integer list " Name of object with spaces if &filetype != "rmd" && &filetype != "rrst" - syn region rNameWSpace start="`" end="`" + syn region rNameWSpace start="`" end="`" contains=rSpaceFun endif if &filetype == "rhelp" @@ -331,7 +329,10 @@ hi def link rAssign Statement hi def link rBoolean Boolean hi def link rBraceError Error hi def link rComment Comment +hi def link rTodoParen Comment +hi def link rTodoInfo SpecialComment hi def link rCommentTodo Todo +hi def link rTodoKeyw Todo hi def link rComplex Number hi def link rConditional Conditional hi def link rConstant Constant @@ -341,6 +342,7 @@ hi def link rDollar SpecialChar hi def link rError Error hi def link rFloat Float hi def link rFunction Function +hi def link rSpaceFun Function hi def link rHelpIdent Identifier hi def link rhPreProc PreProc hi def link rhSection PreCondit diff --git a/runtime/syntax/rmd.vim b/runtime/syntax/rmd.vim index 05435354ad..a26389024d 100644 --- a/runtime/syntax/rmd.vim +++ b/runtime/syntax/rmd.vim @@ -1,123 +1,118 @@ " markdown Text with R statements " Language: markdown with R code chunks " Homepage: https://github.com/jalvesaq/R-Vim-runtime -" Last Change: Sat Jan 28, 2017 10:06PM -" -" CONFIGURATION: -" To highlight chunk headers as R code, put in your vimrc (e.g. .config/nvim/init.vim): -" let rmd_syn_hl_chunk = 1 +" Last Change: Sat Aug 25, 2018 03:44PM " " For highlighting pandoc extensions to markdown like citations and TeX and " many other advanced features like folding of markdown sections, it is " recommended to install the vim-pandoc filetype plugin as well as the " vim-pandoc-syntax filetype plugin from https://github.com/vim-pandoc. -" -" TODO: -" - Provide highlighting for rmarkdown parameters in yaml header + if exists("b:current_syntax") finish endif -" load all of pandoc info, e.g. from +" Configuration if not using pandoc syntax: +" Add syntax highlighting of YAML header +let g:rmd_syn_hl_yaml = get(g:, 'rmd_syn_hl_yaml', 1) +" Add syntax highlighting of citation keys +let g:rmd_syn_hl_citations = get(g:, 'rmd_syn_hl_citations', 1) +" Highlight the header of the chunk of R code +let g:rmd_syn_hl_chunk = get(g:, 'g:rmd_syn_hl_chunk', 0) + +" Pandoc-syntax has more features, but it is slower. " https://github.com/vim-pandoc/vim-pandoc-syntax +let g:pandoc#syntax#codeblocks#embeds#langs = get(g:, 'pandoc#syntax#codeblocks#embeds#langs', ['r']) runtime syntax/pandoc.vim if exists("b:current_syntax") - let rmdIsPandoc = 1 - unlet b:current_syntax -else - let rmdIsPandoc = 0 - runtime syntax/markdown.vim - if exists("b:current_syntax") - unlet b:current_syntax - endif - - " load all of the yaml syntax highlighting rules into @yaml - syntax include @yaml syntax/yaml.vim - if exists("b:current_syntax") - unlet b:current_syntax - endif - - " highlight yaml block commonly used for front matter - syntax region rmdYamlBlock matchgroup=rmdYamlBlockDelim start="^---" matchgroup=rmdYamlBlockDelim end="^---" contains=@yaml keepend fold + " Fix recognition of R code + syn region pandocDelimitedCodeBlock_r start=/^```{r\>.*}$/ end=/^```$/ contained containedin=pandocDelimitedCodeBlock contains=@R + syn region rmdrInline matchgroup=rmdInlineDelim start="`r " end="`" contains=@R containedin=pandocLaTeXRegion,yamlFlowString keepend + hi def link rmdInlineDelim Delimiter + let b:current_syntax = "rmd" + finish endif -if !exists("g:rmd_syn_langs") - let g:rmd_syn_langs = ["r"] -else - let s:hasr = 0 - for s:lng in g:rmd_syn_langs - if s:lng == "r" - let s:hasr = 1 - endif - endfor - if s:hasr == 0 - let g:rmd_syn_langs += ["r"] +let s:cpo_save = &cpo +set cpo&vim + +" R chunks will not be highlighted by syntax/markdown because their headers +" follow a non standard pattern: "```{lang" instead of "^```lang". +" Make a copy of g:markdown_fenced_languages to highlight the chunks later: +if exists('g:markdown_fenced_languages') + if !exists('g:rmd_fenced_languages') + let g:rmd_fenced_languages = deepcopy(g:markdown_fenced_languages) + let g:markdown_fenced_languages = [] endif +else + let g:rmd_fenced_languages = ['r'] endif -for s:lng in g:rmd_syn_langs - exe 'syntax include @' . toupper(s:lng) . ' syntax/'. s:lng . '.vim' - if exists("b:current_syntax") - unlet b:current_syntax - endif - exe 'syntax region rmd' . toupper(s:lng) . 'Chunk start="^[ \t]*``` *{\(' . s:lng . '\|r.*engine\s*=\s*["' . "']" . s:lng . "['" . '"]\).*}$" end="^[ \t]*```$" contains=@' . toupper(s:lng) . ',rmd' . toupper(s:lng) . 'ChunkDelim keepend fold' +runtime syntax/markdown.vim - if exists("g:rmd_syn_hl_chunk") && s:lng == "r" - " highlight R code inside chunk header - syntax match rmdRChunkDelim "^[ \t]*```{r" contained - syntax match rmdRChunkDelim "}$" contained +" Now highlight chunks: +for s:type in g:rmd_fenced_languages + if s:type =~ '=' + let s:lng = substitute(s:type, '=.*', '') + let s:nm = substitute(s:type, '.*=', '') else - exe 'syntax match rmd' . toupper(s:lng) . 'ChunkDelim "^[ \t]*```{\(' . s:lng . '\|r.*engine\s*=\s*["' . "']" . s:lng . "['" . '"]\).*}$" contained' + let s:lng = s:type + let s:nm = s:type endif - exe 'syntax match rmd' . toupper(s:lng) . 'ChunkDelim "^[ \t]*```$" contained' -endfor - - -" also match and syntax highlight in-line R code -syntax region rmdrInline matchgroup=rmdInlineDelim start="`r " end="`" contains=@R containedin=pandocLaTeXRegion,yamlFlowString keepend -" I was not able to highlight rmdrInline inside a pandocLaTeXCommand, although -" highlighting works within pandocLaTeXRegion and yamlFlowString. -syntax cluster texMathZoneGroup add=rmdrInline - -" match slidify special marker -syntax match rmdSlidifySpecial "\*\*\*" - - -if rmdIsPandoc == 0 - syn match rmdBlockQuote /^\s*>.*\n\(.*\n\@<!\n\)*/ skipnl - " LaTeX - syntax include @LaTeX syntax/tex.vim - if exists("b:current_syntax") - unlet b:current_syntax + unlet! b:current_syntax + exe 'syn include @Rmd'.s:nm.' syntax/'.s:lng.'.vim' + if g:rmd_syn_hl_chunk + exe 'syn region rmd'.s:nm.'ChunkDelim matchgroup=rmdCodeDelim start="^\s*```\s*{\s*'.s:nm.'\>" matchgroup=rmdCodeDelim end="}$" keepend containedin=rmd'.s:nm.'Chunk contains=@Rmd'.s:nm + exe 'syn region rmd'.s:nm.'Chunk start="^\s*```\s*{\s*'.s:nm.'\>.*$" matchgroup=rmdCodeDelim end="^\s*```\ze\s*$" keepend contains=rmd'.s:nm.'ChunkDelim,@Rmd'.s:nm + else + exe 'syn region rmd'.s:nm.'Chunk matchgroup=rmdCodeDelim start="^\s*```\s*{\s*'.s:nm.'\>.*$" matchgroup=rmdCodeDelim end="^\s*```\ze\s*$" keepend contains=@Rmd'.s:nm endif - " Inline - syntax match rmdLaTeXInlDelim "\$" - syntax match rmdLaTeXInlDelim "\\\$" - syn region texMathZoneX matchgroup=Delimiter start="\$" skip="\\\\\|\\\$" matchgroup=Delimiter end="\$" end="%stopzone\>" contains=@texMathZoneGroup - " Region - syntax match rmdLaTeXRegDelim "\$\$" contained - syntax match rmdLaTeXRegDelim "\$\$latex$" contained - syntax match rmdLaTeXSt "\\[a-zA-Z]\+" - syntax region rmdLaTeXRegion start="^\$\$" skip="\\\$" end="\$\$$" contains=@LaTeX,rmdLaTeXRegDelim keepend - syntax region rmdLaTeXRegion2 start="^\\\[" end="\\\]" contains=@LaTeX,rmdLaTeXRegDelim keepend - hi def link rmdBlockQuote Comment - hi def link rmdLaTeXSt Statement - hi def link rmdLaTeXInlDelim Special - hi def link rmdLaTeXRegDelim Special -endif - -for s:lng in g:rmd_syn_langs - exe 'syn sync match rmd' . toupper(s:lng) . 'SyncChunk grouphere rmd' . toupper(s:lng) . 'Chunk /^[ \t]*``` *{\(' . s:lng . '\|r.*engine\s*=\s*["' . "']" . s:lng . "['" . '"]\)/' + exe 'syn region rmd'.s:nm.'Inline matchgroup=rmdInlineDelim start="`'.s:nm.' " end="`" contains=@Rmd'.s:nm.' keepend' endfor +unlet! s:type + +hi def link rmdInlineDelim Delimiter +hi def link rmdCodeDelim Delimiter + +" You don't need this if either your markdown/syntax.vim already highlights +" the YAML header or you are writing standard markdown +if g:rmd_syn_hl_yaml + " Minimum highlighting of yaml header + syn match rmdYamlFieldTtl /^\s*\zs\w*\ze:/ contained + syn match rmdYamlFieldTtl /^\s*-\s*\zs\w*\ze:/ contained + syn region yamlFlowString matchgroup=yamlFlowStringDelimiter start='"' skip='\\"' end='"' contains=yamlEscape,rmdrInline contained + syn region yamlFlowString matchgroup=yamlFlowStringDelimiter start="'" skip="''" end="'" contains=yamlSingleEscape,rmdrInline contained + syn match yamlEscape contained '\\\%([\\"abefnrtv\^0_ NLP\n]\|x\x\x\|u\x\{4}\|U\x\{8}\)' + syn match yamlSingleEscape contained "''" + syn region pandocYAMLHeader matchgroup=rmdYamlBlockDelim start=/\%(\%^\|\_^\s*\n\)\@<=\_^-\{3}\ze\n.\+/ end=/^\([-.]\)\1\{2}$/ keepend contains=rmdYamlFieldTtl,yamlFlowString + hi def link rmdYamlBlockDelim Delimiter + hi def link rmdYamlFieldTtl Identifier + hi def link yamlFlowString String +endif -hi def link rmdYamlBlockDelim Delim -for s:lng in g:rmd_syn_langs - exe 'hi def link rmd' . toupper(s:lng) . 'ChunkDelim Special' -endfor -hi def link rmdInlineDelim Special -hi def link rmdSlidifySpecial Special +" You don't need this if either your markdown/syntax.vim already highlights +" citations or you are writing standard markdown +if g:rmd_syn_hl_citations + " From vim-pandoc-syntax + " parenthetical citations + syn match pandocPCite /\^\@<!\[[^\[\]]\{-}-\{0,1}@[[:alnum:]_][[:alnum:]à-öø-ÿÀ-ÖØ-ß_:.#$%&\-+?<>~\/]*.\{-}\]/ contains=pandocEmphasis,pandocStrong,pandocLatex,pandocCiteKey,@Spell,pandocAmpersandEscape display + " in-text citations with location + syn match pandocICite /@[[:alnum:]_][[:alnum:]à-öø-ÿÀ-ÖØ-ß_:.#$%&\-+?<>~\/]*\s\[.\{-1,}\]/ contains=pandocCiteKey,@Spell display + " cite keys + syn match pandocCiteKey /\(-\=@[[:alnum:]_][[:alnum:]à-öø-ÿÀ-ÖØ-ß_:.#$%&\-+?<>~\/]*\)/ containedin=pandocPCite,pandocICite contains=@NoSpell display + syn match pandocCiteAnchor /[-@]/ contained containedin=pandocCiteKey display + syn match pandocCiteLocator /[\[\]]/ contained containedin=pandocPCite,pandocICite + hi def link pandocPCite Operator + hi def link pandocICite Operator + hi def link pandocCiteKey Label + hi def link pandocCiteAnchor Operator + hi def link pandocCiteLocator Operator +endif let b:current_syntax = "rmd" +let &cpo = s:cpo_save +unlet s:cpo_save + " vim: ts=8 sw=2 diff --git a/runtime/syntax/rnoweb.vim b/runtime/syntax/rnoweb.vim index 665acc53e2..b2ba17d68d 100644 --- a/runtime/syntax/rnoweb.vim +++ b/runtime/syntax/rnoweb.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: R noweb Files " Maintainer: Johannes Ranke <jranke@uni-bremen.de> -" Last Change: Sat Feb 06, 2016 06:47AM +" Last Change: Thu Apr 05, 2018 11:06PM " Version: 0.9.1 " Remarks: - This file is inspired by the proposal of " Fernando Henrique Ferraz Pereira da Rosa <feferraz@ime.usp.br> @@ -16,7 +16,7 @@ syn case match " Extension of Tex clusters {{{1 runtime syntax/tex.vim -unlet b:current_syntax +unlet! b:current_syntax syn cluster texMatchGroup add=@rnoweb syn cluster texMathMatchGroup add=rnowebSexpr diff --git a/runtime/syntax/rrst.vim b/runtime/syntax/rrst.vim index b643af3285..3a56342cd8 100644 --- a/runtime/syntax/rrst.vim +++ b/runtime/syntax/rrst.vim @@ -2,7 +2,7 @@ " Language: reST with R code chunks " Maintainer: Alex Zvoleff, azvoleff@mail.sdsu.edu " Homepage: https://github.com/jalvesaq/R-Vim-runtime -" Last Change: Tue Jun 28, 2016 08:53AM +" Last Change: Thu Apr 05, 2018 11:06PM " " CONFIGURATION: " To highlight chunk headers as R code, put in your vimrc: @@ -14,7 +14,7 @@ endif " load all of the rst info runtime syntax/rst.vim -unlet b:current_syntax +unlet! b:current_syntax " load all of the r syntax highlighting rules into @R syntax include @R syntax/r.vim diff --git a/runtime/syntax/sh.vim b/runtime/syntax/sh.vim index 167300c524..5e0d1fd76a 100644 --- a/runtime/syntax/sh.vim +++ b/runtime/syntax/sh.vim @@ -2,8 +2,8 @@ " Language: shell (sh) Korn shell (ksh) bash (sh) " Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz> " Previous Maintainer: Lennart Schultz <Lennart.Schultz@ecmwf.int> -" Last Change: Jul 31, 2018 -" Version: 179 +" Last Change: Sep 04, 2018 +" Version: 182 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH " For options and settings, please use: :help ft-sh-syntax " This file includes many ideas from Eric Brunet (eric.brunet@ens.fr) @@ -151,6 +151,7 @@ syn cluster shPPSRightList contains=shComment,shDeref,shDerefSimple,shEscape,shP syn cluster shSubShList contains=@shCommandSubList,shCommandSubBQ,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shIf,shHereString,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq,shOperator syn cluster shTestList contains=shCharClass,shCommandSub,shCommandSubBQ,shCtrlSeq,shDeref,shDerefSimple,shDoubleQuote,shSpecialDQ,shExDoubleQuote,shExpr,shExSingleQuote,shNumber,shOperator,shSingleQuote,shTest,shTestOpr syn cluster shNoZSList contains=shSpecialNoZS +syn cluster shForList contains=shTestOpr,shNumber,shDerefSimple,shDeref,shCommandSub,shCommandSubBQ,shArithmetic " Echo: {{{1 " ==== @@ -243,7 +244,7 @@ syn match shCharClass contained "\[:\(backspace\|escape\|return\|xdigit\|alnum ShFoldIfDoFor syn region shDo transparent matchgroup=shConditional start="\<do\>" matchgroup=shConditional end="\<done\>" contains=@shLoopList ShFoldIfDoFor syn region shIf transparent matchgroup=shConditional start="\<if\_s" matchgroup=shConditional skip=+-fi\>+ end="\<;\_s*then\>" end="\<fi\>" contains=@shIfList ShFoldIfDoFor syn region shFor matchgroup=shLoop start="\<for\ze\_s\s*\%(((\)\@!" end="\<in\>" end="\<do\>"me=e-2 contains=@shLoopList,shDblParen skipwhite nextgroup=shCurlyIn -ShFoldIfDoFor syn region shForPP matchgroup=shLoop start='\<for\>\_s*((' end='))' contains=shTestOpr +ShFoldIfDoFor syn region shForPP matchgroup=shLoop start='\<for\>\_s*((' end='))' contains=@shForList if exists("b:is_kornshell") || exists("b:is_bash") || exists("b:is_posix") syn cluster shCaseList add=shRepeat @@ -290,7 +291,7 @@ endif " Misc: {{{1 "====== syn match shWrapLineOperator "\\$" -syn region shCommandSubBQ start="`" skip="\\\\\|\\." end="`" contains=@shCommandSubList +syn region shCommandSubBQ start="`" skip="\\\\\|\\." end="`" contains=shBQComment,@shCommandSubList syn match shEscape contained '\%(^\)\@!\%(\\\\\)*\\.' nextgroup=shSingleQuote,shDoubleQuote,shComment " $() and $(()): {{{1 @@ -374,6 +375,7 @@ syn match shComment "^\s*\zs#.*$" contains=@shCommentGroup syn match shComment "\s\zs#.*$" contains=@shCommentGroup syn match shComment contained "#.*$" contains=@shCommentGroup syn match shQuickComment contained "#.*$" +syn match shBQComment contained "#.\{-}\ze`" contains=@shCommentGroup " Here Documents: {{{1 " ========================================= @@ -525,8 +527,8 @@ if exists("b:is_bash") syn region shDerefPPSright contained start='.' skip=@\%(\\\\\)\+@ end='\ze}' contains=@shPPSRightList " bash : ${parameter/#substring/replacement} - syn match shDerefPSR contained '/#' nextgroup=shDerefPSRleft - syn region shDerefPSRleft contained start='.' skip=@\%(\\\\\)*\\/@ matchgroup=shDerefOp end='/' end='\ze}' nextgroup=shDerefPSRright + syn match shDerefPSR contained '/#' nextgroup=shDerefPSRleft,shDoubleQuote,shSingleQuote + syn region shDerefPSRleft contained start='[^"']' skip=@\%(\\\\\)*\\/@ matchgroup=shDerefOp end='/' end='\ze}' nextgroup=shDerefPSRright syn region shDerefPSRright contained start='.' skip=@\%(\\\\\)\+@ end='\ze}' endif @@ -534,7 +536,7 @@ endif "syn region shParen matchgroup=shArithRegion start='[^$]\zs(\%(\ze[^(]\|$\)' end=')' contains=@shArithParenList syn region shParen matchgroup=shArithRegion start='\$\@!(\%(\ze[^(]\|$\)' end=')' contains=@shArithParenList -" Useful sh Keywords: {{{1 +" Additional sh Keywords: {{{1 " =================== syn keyword shStatement break cd chdir continue eval exec exit kill newgrp pwd read readonly return shift test trap ulimit umask wait syn keyword shConditional contained elif else then @@ -542,20 +544,22 @@ if !exists("g:sh_no_error") syn keyword shCondError elif else then endif -" Useful ksh Keywords: {{{1 -" ==================== +" Additional ksh Keywords and Aliases: {{{1 +" =================================== if exists("b:is_kornshell") || exists("b:is_bash") || exists("b:is_posix") - syn keyword shStatement autoload bg false fc fg functions getopts hash history integer jobs let nohup printf r stop suspend times true type unalias whence + syn keyword shStatement bg builtin disown enum export false fg getconf getopts hist jobs let printf sleep true typeset unalias unset whence + syn keyword shStatement autoload compound fc float functions hash history integer nameref nohup r redirect source stop suspend times type if exists("b:is_posix") syn keyword shStatement command else syn keyword shStatement time endif -" Useful bash Keywords: {{{1 +" Additional bash Keywords: {{{1 " ===================== if exists("b:is_bash") - syn keyword shStatement bind builtin dirs disown enable help logout popd pushd shopt source +" syn keyword shStatement bind builtin dirs disown enable help logout popd pushd shopt source +syn keyword shStatement bind builtin caller compopt declare dirs disown enable export help local logout mapfile popd pushd readarray shopt source typeset unset else syn keyword shStatement login newgrp endif @@ -637,6 +641,7 @@ if !exists("skip_sh_syntax_inits") hi def link shParen shArithmetic hi def link shPosnParm shShellVariables hi def link shQuickComment shComment + hi def link shBQComment shComment hi def link shRange shOperator hi def link shRedir shOperator hi def link shSetListDelim shOperator diff --git a/runtime/syntax/sudoers.vim b/runtime/syntax/sudoers.vim index 31f5f2b7ed..019b0ada32 100644 --- a/runtime/syntax/sudoers.vim +++ b/runtime/syntax/sudoers.vim @@ -1,8 +1,9 @@ " Vim syntax file " Language: sudoers(5) configuration files " Previous Maintainer: Nikolai Weibull <now@bitwi.se> -" Latest Revision: 2018-07-19 +" Latest Revision: 2018-08-18 " Recent Changes: Support for #include and #includedir. +" Added many new options (Samuel D. Leslie) if exists("b:current_syntax") finish @@ -152,77 +153,120 @@ syn match sudoersDefaultTypeGreaterThan contained '>' nextgroup=@sudoersUser s " TODO: could also deal with special characters here syn match sudoersBooleanParameter contained '!' nextgroup=sudoersBooleanParameter skipwhite skipnl syn keyword sudoersBooleanParameter contained skipwhite skipnl + \ always_query_group_plugin \ always_set_home \ authenticate \ closefrom_override + \ compress_io \ env_editor \ env_reset + \ exec_background + \ fast_glob \ fqdn + \ ignore_audit_errors \ ignore_dot + \ ignore_iolog_errors \ ignore_local_sudoers + \ ignore_logfile_errors + \ ignore_unknown_defaults \ insults \ log_host + \ log_input + \ log_output \ log_year \ long_otp_prompt + \ mail_all_cmnds \ mail_always \ mail_badpass \ mail_no_host \ mail_no_perms \ mail_no_user + \ match_group_by_gid + \ netgroup_tuple \ noexec - \ path_info + \ pam_session + \ pam_setcred \ passprompt_override + \ path_info \ preserve_groups + \ pwfeedback \ requiretty \ root_sudo \ rootpw \ runaspw \ set_home \ set_logname + \ set_utmp \ setenv \ shell_noargs \ stay_setuid + \ sudoedit_checkdir + \ sudoedit_fellow + \ syslog_pid \ targetpw \ tty_tickets + \ umask_override + \ use_netgroups + \ use_pty + \ user_command_timeouts + \ utmp_runas \ visiblepw syn keyword sudoersIntegerParameter contained \ nextgroup=sudoersIntegerParameterEquals \ skipwhite skipnl \ closefrom - \ passwd_tries + \ command_timeout \ loglinelen + \ maxseq \ passwd_timeout + \ passwd_tries + \ syslog_maxlen \ timestamp_timeout \ umask syn keyword sudoersStringParameter contained \ nextgroup=sudoersStringParameterEquals \ skipwhite skipnl + \ askpass \ badpass_message \ editor - \ mailsub - \ noexec_file - \ passprompt - \ runas_default - \ syslog_badpri - \ syslog_goodpri - \ sudoers_locale - \ timestampdir - \ timestampowner - \ askpass \ env_file \ exempt_group + \ fdexec + \ group_plugin + \ iolog_dir + \ iolog_file + \ iolog_flush + \ iolog_group + \ iolog_mode + \ iolog_user \ lecture \ lecture_file + \ lecture_status_dir \ listpw \ logfile \ mailerflags \ mailerpath \ mailfrom + \ mailsub \ mailto + \ noexec_file + \ pam_login_service + \ pam_service + \ passprompt + \ restricted_env_file + \ role + \ runas_default \ secure_path + \ sudoers_locale \ syslog + \ syslog_badpri + \ syslog_goodpri + \ timestamp_type + \ timestampdir + \ timestampowner + \ type \ verifypw syn keyword sudoersListParameter contained diff --git a/runtime/syntax/teraterm.vim b/runtime/syntax/teraterm.vim index 1924996738..9115320bfb 100644 --- a/runtime/syntax/teraterm.vim +++ b/runtime/syntax/teraterm.vim @@ -1,9 +1,9 @@ " Vim syntax file " Language: Tera Term Language (TTL) -" Based on Tera Term Version 4.92 +" Based on Tera Term Version 4.100 " Maintainer: Ken Takata " URL: https://github.com/k-takata/vim-teraterm -" Last Change: 2016 Aug 17 +" Last Change: 2018-08-31 " Filenames: *.ttl " License: VIM License @@ -75,12 +75,13 @@ syn keyword ttlCommunicationCommand contained \ logrotate logstart logwrite quickvanrecv \ quickvansend recvln restoresetup scprecv scpsend \ send sendbreak sendbroadcast sendfile sendkcode - \ sendln sendlnbroadcast sendmulticast setbaud - \ setdebug setdtr setecho setmulticastname setrts - \ setsync settitle showtt testlink unlink wait - \ wait4all waitevent waitln waitn waitrecv waitregex - \ xmodemrecv xmodemsend ymodemrecv ymodemsend - \ zmodemrecv zmodemsend + \ sendln sendlnbroadcast sendlnmulticast sendmulticast + \ setbaud setdebug setdtr setecho setflowctrl + \ setmulticastname setrts setspeed setsync settitle + \ showtt testlink unlink wait wait4all waitevent + \ waitln waitn waitrecv waitregex xmodemrecv + \ xmodemsend ymodemrecv ymodemsend zmodemrecv + \ zmodemsend syn keyword ttlStringCommand contained \ code2str expandenv int2str regexoption sprintf \ sprintf2 str2code str2int strcompare strconcat diff --git a/runtime/syntax/tex.vim b/runtime/syntax/tex.vim index d5f900ae5c..18c3a04877 100644 --- a/runtime/syntax/tex.vim +++ b/runtime/syntax/tex.vim @@ -1,8 +1,8 @@ " Vim syntax file " Language: TeX " Maintainer: Charles E. Campbell <NdrchipO@ScampbellPfamily.AbizM> -" Last Change: Mar 30, 2018 -" Version: 109 +" Last Change: Sep 09, 2018 +" Version: 110 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX " " Notes: {{{1 @@ -596,7 +596,6 @@ if s:tex_fast =~# 'v' if exists("g:tex_verbspell") && g:tex_verbspell syn region texZone start="\\begin{[vV]erbatim}" end="\\end{[vV]erbatim}\|%stopzone\>" contains=@Spell " listings package: - syn region texZone start="\\begin{lstlisting}" end="\\end{lstlisting}\|%stopzone\>" contains=@Spell if b:tex_stylish syn region texZone start="\\verb\*\=\z([^\ta-zA-Z@]\)" end="\z1\|%stopzone\>" contains=@Spell else @@ -683,13 +682,7 @@ if has("conceal") && &enc == 'utf-8' \ ['approx' , '≈'], \ ['ast' , '∗'], \ ['asymp' , '≍'], - \ ['backepsilon' , '∍'], - \ ['backsimeq' , '≃'], \ ['backslash' , '∖'], - \ ['barwedge' , '⊼'], - \ ['because' , '∵'], - \ ['beth' , 'ܒ'], - \ ['between' , '≬'], \ ['bigcap' , '∩'], \ ['bigcirc' , '○'], \ ['bigcup' , '∪'], @@ -701,38 +694,18 @@ if has("conceal") && &enc == 'utf-8' \ ['bigtriangleup' , '∆'], \ ['bigvee' , '⋁'], \ ['bigwedge' , '⋀'], - \ ['blacksquare' , '∎'], \ ['bot' , '⊥'], \ ['bowtie' , '⋈'], - \ ['boxdot' , '⊡'], - \ ['boxminus' , '⊟'], - \ ['boxplus' , '⊞'], - \ ['boxtimes' , '⊠'], - \ ['Box' , '☐'], \ ['bullet' , '•'], - \ ['bumpeq' , '≏'], - \ ['Bumpeq' , '≎'], \ ['cap' , '∩'], - \ ['Cap' , '⋒'], \ ['cdot' , '·'], \ ['cdots' , '⋯'], \ ['circ' , '∘'], - \ ['circeq' , '≗'], - \ ['circlearrowleft', '↺'], - \ ['circlearrowright', '↻'], - \ ['circledast' , '⊛'], - \ ['circledcirc' , '⊚'], \ ['clubsuit' , '♣'], - \ ['complement' , '∁'], \ ['cong' , '≅'], \ ['coprod' , '∐'], \ ['copyright' , '©'], \ ['cup' , '∪'], - \ ['Cup' , '⋓'], - \ ['curlyeqprec' , '⋞'], - \ ['curlyeqsucc' , '⋟'], - \ ['curlyvee' , '⋎'], - \ ['curlywedge' , '⋏'], \ ['dagger' , '†'], \ ['dashv' , '⊣'], \ ['ddagger' , '‡'], @@ -741,50 +714,27 @@ if has("conceal") && &enc == 'utf-8' \ ['diamondsuit' , '♢'], \ ['div' , '÷'], \ ['doteq' , '≐'], - \ ['doteqdot' , '≑'], - \ ['dotplus' , '∔'], \ ['dots' , '…'], - \ ['dotsb' , '⋯'], - \ ['dotsc' , '…'], - \ ['dotsi' , '⋯'], - \ ['dotso' , '…'], - \ ['doublebarwedge' , '⩞'], \ ['downarrow' , '↓'], \ ['Downarrow' , '⇓'], \ ['ell' , 'ℓ'], \ ['emptyset' , '∅'], - \ ['eqcirc' , '≖'], - \ ['eqsim' , '≂'], - \ ['eqslantgtr' , '⪖'], - \ ['eqslantless' , '⪕'], \ ['equiv' , '≡'], - \ ['eth' , 'ð'], \ ['exists' , '∃'], - \ ['fallingdotseq' , '≒'], \ ['flat' , '♭'], \ ['forall' , '∀'], \ ['frown' , '⁔'], \ ['ge' , '≥'], \ ['geq' , '≥'], - \ ['geqq' , '≧'], \ ['gets' , '←'], - \ ['gimel' , 'ℷ'], \ ['gg' , '⟫'], - \ ['gneqq' , '≩'], - \ ['gtrdot' , '⋗'], - \ ['gtreqless' , '⋛'], - \ ['gtrless' , '≷'], - \ ['gtrsim' , '≳'], \ ['hbar' , 'ℏ'], \ ['heartsuit' , '♡'], \ ['hookleftarrow' , '↩'], \ ['hookrightarrow' , '↪'], \ ['iff' , '⇔'], - \ ['iiint' , '∭'], - \ ['iint' , '∬'], \ ['Im' , 'ℑ'], \ ['imath' , 'ɩ'], - \ ['implies' , '⇒'], \ ['in' , '∈'], \ ['infty' , '∞'], \ ['int' , '∫'], @@ -793,69 +743,33 @@ if has("conceal") && &enc == 'utf-8' \ ['lceil' , '⌈'], \ ['ldots' , '…'], \ ['le' , '≤'], - \ ['leadsto' , '↝'], \ ['left(' , '('], \ ['left\[' , '['], \ ['left\\{' , '{'], \ ['leftarrow' , '←'], \ ['Leftarrow' , '⇐'], - \ ['leftarrowtail' , '↢'], \ ['leftharpoondown', '↽'], \ ['leftharpoonup' , '↼'], \ ['leftrightarrow' , '↔'], \ ['Leftrightarrow' , '⇔'], - \ ['leftrightsquigarrow', '↭'], - \ ['leftthreetimes' , '⋋'], \ ['leq' , '≤'], \ ['leq' , '≤'], - \ ['leqq' , '≦'], - \ ['lessdot' , '⋖'], - \ ['lesseqgtr' , '⋚'], - \ ['lesssim' , '≲'], \ ['lfloor' , '⌊'], \ ['ll' , '≪'], \ ['lmoustache' , '╭'], - \ ['lneqq' , '≨'], \ ['lor' , '∨'], - \ ['ltimes' , '⋉'], \ ['mapsto' , '↦'], - \ ['measuredangle' , '∡'], \ ['mid' , '∣'], \ ['models' , '╞'], \ ['mp' , '∓'], \ ['nabla' , '∇'], \ ['natural' , '♮'], - \ ['ncong' , '≇'], \ ['ne' , '≠'], \ ['nearrow' , '↗'], \ ['neg' , '¬'], \ ['neq' , '≠'], - \ ['nexists' , '∄'], - \ ['ngeq' , '≱'], - \ ['ngeqq' , '≱'], - \ ['ngtr' , '≯'], \ ['ni' , '∋'], - \ ['nleftarrow' , '↚'], - \ ['nLeftarrow' , '⇍'], - \ ['nLeftrightarrow', '⇎'], - \ ['nleq' , '≰'], - \ ['nleqq' , '≰'], - \ ['nless' , '≮'], - \ ['nmid' , '∤'], \ ['notin' , '∉'], - \ ['nparallel' , '∦'], - \ ['nprec' , '⊀'], - \ ['nrightarrow' , '↛'], - \ ['nRightarrow' , '⇏'], - \ ['nsim' , '≁'], - \ ['nsucc' , '⊁'], - \ ['ntriangleleft' , '⋪'], - \ ['ntrianglelefteq', '⋬'], - \ ['ntriangleright' , '⋫'], - \ ['ntrianglerighteq', '⋭'], - \ ['nvdash' , '⊬'], - \ ['nvDash' , '⊭'], - \ ['nVdash' , '⊮'], \ ['nwarrow' , '↖'], \ ['odot' , '⊙'], \ ['oint' , '∮'], @@ -868,15 +782,9 @@ if has("conceal") && &enc == 'utf-8' \ ['parallel' , '║'], \ ['partial' , '∂'], \ ['perp' , '⊥'], - \ ['pitchfork' , '⋔'], \ ['pm' , '±'], \ ['prec' , '≺'], - \ ['precapprox' , '⪷'], - \ ['preccurlyeq' , '≼'], \ ['preceq' , '⪯'], - \ ['precnapprox' , '⪹'], - \ ['precneqq' , '⪵'], - \ ['precsim' , '≾'], \ ['prime' , '′'], \ ['prod' , '∏'], \ ['propto' , '∝'], @@ -888,13 +796,8 @@ if has("conceal") && &enc == 'utf-8' \ ['right\\}' , '}'], \ ['rightarrow' , '→'], \ ['Rightarrow' , '⇒'], - \ ['rightarrowtail' , '↣'], \ ['rightleftharpoons', '⇌'], - \ ['rightsquigarrow', '↝'], - \ ['rightthreetimes', '⋌'], - \ ['risingdotseq' , '≓'], \ ['rmoustache' , '╮'], - \ ['rtimes' , '⋊'], \ ['S' , '§'], \ ['searrow' , '↘'], \ ['setminus' , '∖'], @@ -903,7 +806,6 @@ if has("conceal") && &enc == 'utf-8' \ ['simeq' , '⋍'], \ ['smile' , '‿'], \ ['spadesuit' , '♠'], - \ ['sphericalangle' , '∢'], \ ['sqcap' , '⊓'], \ ['sqcup' , '⊔'], \ ['sqsubset' , '⊏'], @@ -912,60 +814,30 @@ if has("conceal") && &enc == 'utf-8' \ ['sqsupseteq' , '⊒'], \ ['star' , '✫'], \ ['subset' , '⊂'], - \ ['Subset' , '⋐'], \ ['subseteq' , '⊆'], - \ ['subseteqq' , '⫅'], - \ ['subsetneq' , '⊊'], - \ ['subsetneqq' , '⫋'], \ ['succ' , '≻'], - \ ['succapprox' , '⪸'], - \ ['succcurlyeq' , '≽'], \ ['succeq' , '⪰'], - \ ['succnapprox' , '⪺'], - \ ['succneqq' , '⪶'], - \ ['succsim' , '≿'], \ ['sum' , '∑'], \ ['supset' , '⊃'], - \ ['Supset' , '⋑'], \ ['supseteq' , '⊇'], - \ ['supseteqq' , '⫆'], - \ ['supsetneq' , '⊋'], - \ ['supsetneqq' , '⫌'], \ ['surd' , '√'], \ ['swarrow' , '↙'], - \ ['therefore' , '∴'], \ ['times' , '×'], \ ['to' , '→'], \ ['top' , '⊤'], \ ['triangle' , '∆'], \ ['triangleleft' , '⊲'], - \ ['trianglelefteq' , '⊴'], - \ ['triangleq' , '≜'], \ ['triangleright' , '⊳'], - \ ['trianglerighteq', '⊵'], - \ ['twoheadleftarrow', '↞'], - \ ['twoheadrightarrow', '↠'], - \ ['ulcorner' , '⌜'], \ ['uparrow' , '↑'], \ ['Uparrow' , '⇑'], \ ['updownarrow' , '↕'], \ ['Updownarrow' , '⇕'], - \ ['urcorner' , '⌝'], - \ ['varnothing' , '∅'], - \ ['vartriangle' , '∆'], \ ['vdash' , '⊢'], - \ ['vDash' , '⊨'], - \ ['Vdash' , '⊩'], \ ['vdots' , '⋮'], \ ['vee' , '∨'], - \ ['veebar' , '⊻'], - \ ['Vvdash' , '⊪'], \ ['wedge' , '∧'], \ ['wp' , '℘'], \ ['wr' , '≀']] -" \ ['jmath' , 'X'] -" \ ['uminus' , 'X'] -" \ ['uplus' , 'X'] if &ambw == "double" || exists("g:tex_usedblwidth") let s:texMathList= s:texMathList + [ \ ['right\\rangle' , '〉'], diff --git a/src/nvim/po/eo.po b/src/nvim/po/eo.po index 52592d0767..d1ce47d97c 100644 --- a/src/nvim/po/eo.po +++ b/src/nvim/po/eo.po @@ -72,26 +72,23 @@ msgstr "E516: Neniu bufro estis forviŝita" msgid "E517: No buffers were wiped out" msgstr "E517: Neniu bufro estis detruita" -msgid "1 buffer unloaded" -msgstr "1 bufro malŝargita" - #, c-format -msgid "%d buffers unloaded" -msgstr "%d bufroj malŝargitaj" - -msgid "1 buffer deleted" -msgstr "1 bufro forviŝita" +msgid "%d buffer unloaded" +msgid_plural "%d buffers unloaded" +msgstr[0] "%d bufro malŝargita" +msgstr[1] "%d bufroj malŝargitaj" #, c-format -msgid "%d buffers deleted" -msgstr "%d bufroj forviŝitaj" - -msgid "1 buffer wiped out" -msgstr "1 bufro detruita" +msgid "%d buffer deleted" +msgid_plural "%d buffers deleted" +msgstr[0] "%d bufro forviŝita" +msgstr[1] "%d bufroj forviŝitaj" #, c-format -msgid "%d buffers wiped out" -msgstr "%d bufroj detruitaj" +msgid "%d buffer wiped out" +msgid_plural "%d buffers wiped out" +msgstr[0] "%d bufro detruita" +msgstr[1] "%d bufroj detruitaj" msgid "E90: Cannot unload last buffer" msgstr "E90: Ne eblas malŝargi la lastan bufron" @@ -167,12 +164,10 @@ msgid "[readonly]" msgstr "[nurlegebla]" #, c-format -msgid "1 line --%d%%--" -msgstr "1 linio --%d%%--" - -#, c-format -msgid "%ld lines --%d%%--" -msgstr "%ld linioj --%d%%--" +msgid "%ld line --%d%%--" +msgid_plural "%ld lines --%d%%--" +msgstr[0] "%ld linio --%d%%--" +msgstr[1] "%ld linioj --%d%%--" #, c-format msgid "line %ld of %ld --%d%%-- col " @@ -209,6 +204,9 @@ msgstr "" msgid "E382: Cannot write, 'buftype' option is set" msgstr "E382: Ne eblas skribi, opcio 'buftype' estas ŝaltita" +msgid "[Prompt]" +msgstr "[Invito]" + msgid "[Scratch]" msgstr "[Malneto]" @@ -740,6 +738,9 @@ msgstr "E916: nevalida tasko" msgid "E701: Invalid type for len()" msgstr "E701: Nevalida datumtipo de len()" +msgid "E957: Invalid window number" +msgstr "E957: Nevalida numero de vindozo" + #, c-format msgid "E798: ID is reserved for \":match\": %ld" msgstr "E798: ID estas rezervita por \":match\": %ld" @@ -825,12 +826,11 @@ msgstr "> %d, Deksesuma %08x, Okuma %o" msgid "E134: Move lines into themselves" msgstr "E134: Movas liniojn en ilin mem" -msgid "1 line moved" -msgstr "1 linio movita" - #, c-format -msgid "%ld lines moved" -msgstr "%ld linioj movitaj" +msgid "%ld line moved" +msgid_plural "%ld lines moved" +msgstr[0] "%ld linio movita" +msgstr[1] "%ld linioj movitaj" #, c-format msgid "%ld lines filtered" @@ -982,26 +982,29 @@ msgstr "ĉu anstataŭigi per %s (y/n/a/q/l/^E/^Y)?" msgid "(Interrupted) " msgstr "(Interrompita) " -msgid "1 match" -msgstr "1 kongruo" - -msgid "1 substitution" -msgstr "1 anstataŭigo" - #, c-format -msgid "%ld matches" -msgstr "%ld kongruoj" +msgid "%ld match on %ld line" +msgid_plural "%ld matches on %ld line" +msgstr[0] "%ld kongruo en %ld linio" +msgstr[1] "%ld kongruoj en %ld linio" #, c-format -msgid "%ld substitutions" -msgstr "%ld anstataŭigoj" +msgid "%ld substitution on %ld line" +msgid_plural "%ld substitutions on %ld line" +msgstr[0] "%ld anstataŭigo en %ld linio" +msgstr[1] "%ld anstataŭigoj en %ld linio" -msgid " on 1 line" -msgstr " en 1 linio" +#, c-format +msgid "%ld match on %ld lines" +msgid_plural "%ld matches on %ld lines" +msgstr[0] "%ld kongruo en %ld linioj" +msgstr[1] "%ld kongruoj en %ld linioj" #, c-format -msgid " on %ld lines" -msgstr " en %ld linioj" +msgid "%ld substitution on %ld lines" +msgid_plural "%ld substitutions on %ld lines" +msgstr[0] "%ld anstataŭigo en %ld linioj" +msgstr[1] "%ld anstataŭigoj en %ld linioj" msgid "E147: Cannot do :global recursive with a range" msgstr "E147: Ne eblas fari \":global\" rekursie kun amplekso" @@ -1305,19 +1308,17 @@ msgstr "E319: Bedaŭrinde, tiu komando ne haveblas en tiu versio" msgid "E172: Only one file name allowed" msgstr "E172: Nur unu dosiernomo permesebla" -msgid "1 more file to edit. Quit anyway?" -msgstr "1 plia redaktenda dosiero. Ĉu tamen eliri?" - #, c-format -msgid "%d more files to edit. Quit anyway?" -msgstr "%d pliaj redaktendaj dosieroj. Ĉu tamen eliri?" - -msgid "E173: 1 more file to edit" -msgstr "E173: 1 plia redaktenda dosiero" +msgid "%d more file to edit. Quit anyway?" +msgid_plural "%d more files to edit. Quit anyway?" +msgstr[0] "%d plia redaktenda dosiero. Ĉu tamen eliri?" +msgstr[1] "%d pliaj redaktendaj dosieroj. Ĉu tamen eliri?" #, c-format -msgid "E173: %ld more files to edit" -msgstr "E173: %ld pliaj redaktendaj dosieroj" +msgid "E173: %ld more file to edit" +msgid_plural "E173: %ld more files to edit" +msgstr[0] "E173: %ld plia redaktenda dosiero" +msgstr[1] "E173: %ld pliaj redaktendaj dosieroj" msgid "E174: Command already exists: add ! to replace it" msgstr "E174: La komando jam ekzistas: aldonu ! por anstataŭigi ĝin" @@ -1399,6 +1400,9 @@ msgstr "E784: Ne eblas fermi lastan langeton" msgid "Already only one tab page" msgstr "Jam nur unu langeto" +msgid "Edit File in new tab page" +msgstr "Redakti Dosieron en nova langeto" + msgid "Edit File in new window" msgstr "Redakti Dosieron en nova fenestro" @@ -1698,9 +1702,6 @@ msgstr "Legado el stdin..." msgid "E202: Conversion made file unreadable!" msgstr "E202: Konverto igis la dosieron nelegebla!" -msgid "[fifo/socket]" -msgstr "[rektvica memoro/kontaktoskatolo]" - msgid "[fifo]" msgstr "[rektvica memoro]" @@ -1880,19 +1881,17 @@ msgstr "[unikso]" msgid "[unix format]" msgstr "[formato unikso]" -msgid "1 line, " -msgstr "1 linio, " - #, c-format -msgid "%ld lines, " -msgstr "%ld linioj, " - -msgid "1 character" -msgstr "1 signo" +msgid "%ld line, " +msgid_plural "%ld lines, " +msgstr[0] "%ld linio, " +msgstr[1] "%ld linioj, " #, c-format -msgid "%lld characters" -msgstr "%lld signoj" +msgid "%lld character" +msgid_plural "%lld characters" +msgstr[0] "%lld signo" +msgstr[1] "%lld signoj" msgid "[noeol]" msgstr "[sen EOL]" @@ -2264,11 +2263,11 @@ msgstr "&Malfari" msgid "Open tab..." msgstr "Malfermi langeton..." -msgid "Find string (use '\\\\' to find a '\\')" -msgstr "Trovi ĉenon (uzu '\\\\' por trovi '\\')" +msgid "Find string" +msgstr "Trovi ĉenon" -msgid "Find & Replace (use '\\\\' to find a '\\')" -msgstr "Trovi kaj anstataŭigi (uzu '\\\\' por trovi '\\')" +msgid "Find & Replace" +msgstr "Trovi & Anstataŭigi" msgid "Not Used" msgstr "Ne uzata" @@ -3947,19 +3946,17 @@ msgstr "" msgid "Type number and <Enter> (empty cancels): " msgstr "Tajpu nombron kaj <Enenklavon> (malpleno rezignas): " -msgid "1 more line" -msgstr "1 plia linio" - -msgid "1 line less" -msgstr "1 malplia linio" - #, c-format -msgid "%ld more lines" -msgstr "%ld pliaj linioj" +msgid "%ld more line" +msgid_plural "%ld more lines" +msgstr[0] "%ld plia linio" +msgstr[1] "%ld pliaj linioj" #, c-format -msgid "%ld fewer lines" -msgstr "%ld malpliaj linioj" +msgid "%ld line less" +msgid_plural "%ld fewer lines" +msgstr[0] "%ld malplia linio" +msgstr[1] "%ld malpliaj linioj" msgid " (Interrupted)" msgstr " (Interrompita)" @@ -4097,31 +4094,26 @@ msgstr "" "Vim" #, c-format -msgid "1 line %sed 1 time" -msgstr "1 linio %sita 1 foje" - -#, c-format -msgid "1 line %sed %d times" -msgstr "1 linio %sita %d foje" - -#, c-format -msgid "%ld lines %sed 1 time" -msgstr "%ld linio %sita 1 foje" +msgid "%ld line %sed %d time" +msgid_plural "%ld line %sed %d times" +msgstr[0] "%ld linio %sita %d foje" +msgstr[1] "%ld linio %sita %d foje" #, c-format -msgid "%ld lines %sed %d times" -msgstr "%ld linioj %sitaj %d foje" +msgid "%ld lines %sed %d time" +msgid_plural "%ld lines %sed %d times" +msgstr[0] "%ld linioj %sitaj %d foje" +msgstr[1] "%ld linioj %sitaj %d foje" #, c-format msgid "%ld lines to indent... " msgstr "%ld krommarĝenendaj linioj... " -msgid "1 line indented " -msgstr "1 linio krommarĝenita " - #, c-format -msgid "%ld lines indented " -msgstr "%ld linioj krommarĝenitaj " +msgid "%ld line indented " +msgid_plural "%ld lines indented " +msgstr[0] "%ld linio krommarĝenita " +msgstr[1] "%ld linioj krommarĝenitaj " msgid "E748: No previously used register" msgstr "E748: Neniu reĝistro antaŭe uzata" @@ -4129,12 +4121,11 @@ msgstr "E748: Neniu reĝistro antaŭe uzata" msgid "cannot yank; delete anyway" msgstr "ne eblas kopii; tamen forviŝi" -msgid "1 line changed" -msgstr "1 linio ŝanĝita" - #, c-format -msgid "%ld lines changed" -msgstr "%ld linioj ŝanĝitaj" +msgid "%ld line changed" +msgid_plural "%ld lines changed" +msgstr[0] "%ld linio ŝanĝita" +msgstr[1] "%ld linioj ŝanĝitaj" #, c-format msgid "freeing %ld lines" @@ -4145,20 +4136,16 @@ msgid " into \"%c" msgstr " en \"%c" #, c-format -msgid "block of 1 line yanked%s" -msgstr "bloko de 1 linio kopiita%s" - -#, c-format -msgid "1 line yanked%s" -msgstr "1 linio kopiita%s" - -#, c-format -msgid "block of %ld lines yanked%s" -msgstr "bloko de %ld linioj kopiita%s" +msgid "block of %ld line yanked%s" +msgid_plural "block of %ld lines yanked%s" +msgstr[0] "bloko de %ld linio kopiita%s" +msgstr[1] "bloko de %ld linioj kopiitaj%s" #, c-format -msgid "%ld lines yanked%s" -msgstr "%ld linioj kopiitaj%s" +msgid "%ld line yanked%s" +msgid_plural "%ld lines yanked%s" +msgstr[0] "%ld linio kopiita%s" +msgstr[1] "%ld linioj kopiitaj%s" #, c-format msgid "E353: Nothing in register %s" @@ -4744,6 +4731,9 @@ msgstr "E69: Mankas ] malantaŭ %s%%[" msgid "E70: Empty %s%%[]" msgstr "E70: Malplena %s%%[]" +msgid "E956: Cannot use pattern recursively" +msgstr "E956: Ne eblas uzi ŝablonon rekursie" + msgid "E65: Illegal back reference" msgstr "E65: Nevalida retro-referenco" @@ -4858,6 +4848,11 @@ msgstr "E879: (NFA-regulesprimo) tro da \\z(" msgid "E873: (NFA regexp) proper termination error" msgstr "E873: (NFA-regulesprimo) propra end-eraro" +msgid "Could not open temporary log file for writing, displaying on stderr... " +msgstr "" +"Ne povis malfermi provizoran protokolan dosieron por skribi, nun montras sur " +"stderr..." + msgid "E874: (NFA) Could not pop the stack!" msgstr "E874: (NFA) Ne povis elpreni de la staplo!" @@ -4874,19 +4869,6 @@ msgstr "E876: (NFA-regulesprimo) ne sufiĉa spaco por enmemorigi la tutan NFA " msgid "E878: (NFA) Could not allocate memory for branch traversal!" msgstr "E878: (NFA) Ne povis asigni memoron por traigi branĉojn!" -msgid "" -"Could not open temporary log file for writing, displaying on stderr... " -msgstr "" -"Ne povis malfermi provizoran protokolan dosieron por skribi, nun montras sur " -"stderr..." - -#, c-format -msgid "(NFA) COULD NOT OPEN %s !" -msgstr "(NFA) NE POVIS MALFERMI %s!" - -msgid "Could not open temporary log file for writing " -msgstr "Ne povis malfermi la provizoran protokolan dosieron por skribi " - msgid " VREPLACE" msgstr " V-ANSTATAŬIGO" @@ -5373,6 +5355,9 @@ msgstr "E783: ripetita signo en rikordo MAP" msgid "No Syntax items defined for this buffer" msgstr "Neniu sintaksa elemento difinita por tiu bufro" +msgid "'redrawtime' exceeded, syntax highlighting disabled" +msgstr "'redrawtime' transpasita, sintaksa emfazo malŝaltita" + msgid "syntax conceal on" msgstr "sintakso de conceal ŝaltata" @@ -5402,6 +5387,9 @@ msgstr "" msgid "syntax iskeyword " msgstr "sintakso iskeyword " +msgid "syntax iskeyword not set" +msgstr "sintakso iskeyword ne ŝaltita" + #, c-format msgid "E391: No such syntax cluster: %s" msgstr "E391: Nenia sintaksa fasko: %s" @@ -5870,8 +5858,10 @@ msgid "number changes when saved" msgstr "numero ŝanĝoj tempo konservita" #, c-format -msgid "%ld seconds ago" -msgstr "antaŭ %ld sekundoj" +msgid "%ld second ago" +msgid_plural "%ld seconds ago" +msgstr[0] "antaŭ %ld sekundo" +msgstr[1] "antaŭ %ld sekundoj" msgid "E790: undojoin is not allowed after undo" msgstr "E790: undojoin estas nepermesebla post malfaro" @@ -6010,6 +6000,10 @@ msgstr "E133: \":return\" ekster funkcio" msgid "E107: Missing parentheses: %s" msgstr "E107: Mankas krampoj: %s" +#, c-format +msgid "%s (%s, compiled %s)" +msgstr "%s (%s, kompilita %s)" + msgid "" "\n" "MS-Windows 64-bit GUI version" diff --git a/src/nvim/po/fr.po b/src/nvim/po/fr.po index 31b30d0454..5c4c154654 100644 --- a/src/nvim/po/fr.po +++ b/src/nvim/po/fr.po @@ -11,15 +11,15 @@ # msgid "" msgstr "" -"Project-Id-Version: Vim(Franais)\n" +"Project-Id-Version: Vim 8.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-05-08 09:00+0200\n" -"PO-Revision-Date: 2018-05-08 09:17+0200\n" +"POT-Creation-Date: 2018-09-01 14:20+0200\n" +"PO-Revision-Date: 2018-09-01 17:15+0200\n" "Last-Translator: Dominique Pell <dominique.pelle@gmail.com>\n" -"Language-Team: \n" +"Language-Team: French\n" "Language: fr\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO_8859-15\n" +"Content-Type: text/plain; charset=ISO-8859-15\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" @@ -74,26 +74,23 @@ msgstr "E516: Aucun tampon n'a t effac" msgid "E517: No buffers were wiped out" msgstr "E517: Aucun tampon n'a t dtruit" -msgid "1 buffer unloaded" -msgstr "1 tampon a t dcharg" - #, c-format -msgid "%d buffers unloaded" -msgstr "%d tampons ont t dchargs" - -msgid "1 buffer deleted" -msgstr "1 tampon a t effac" +msgid "%d buffer unloaded" +msgid_plural "%d buffers unloaded" +msgstr[0] "%d tampon a t dcharg" +msgstr[1] "%d tampons ont t dchargs" #, c-format -msgid "%d buffers deleted" -msgstr "%d tampons ont t effacs" - -msgid "1 buffer wiped out" -msgstr "1 tampon a t dtruit" +msgid "%d buffer deleted" +msgid_plural "%d buffers deleted" +msgstr[0] "%d tampon a t effac" +msgstr[1] "%d tampons ont t effacs" #, c-format -msgid "%d buffers wiped out" -msgstr "%d tampons ont t dtruits" +msgid "%d buffer wiped out" +msgid_plural "%d buffers wiped out" +msgstr[0] "%d tampon a t dtruit" +msgstr[1] "%d tampons ont t dtruits" msgid "E90: Cannot unload last buffer" msgstr "E90: Impossible de dcharger le dernier tampon" @@ -177,12 +174,10 @@ msgid "[readonly]" msgstr "[lecture-seule]" #, c-format -msgid "1 line --%d%%--" -msgstr "1 ligne --%d%%--" - -#, c-format -msgid "%ld lines --%d%%--" -msgstr "%ld lignes --%d%%--" +msgid "%ld line --%d%%--" +msgid_plural "%ld lines --%d%%--" +msgstr[0] "%ld ligne --%d%%--" +msgstr[1] "%ld lignes --%d%%--" # AB - Faut-il remplacer "sur" par "de" ? # DB - Mon avis : oui. @@ -229,6 +224,9 @@ msgstr "" msgid "E382: Cannot write, 'buftype' option is set" msgstr "E382: criture impossible, l'option 'buftype' est active" +msgid "[Prompt]" +msgstr "[Invite]" + msgid "[Scratch]" msgstr "[Brouillon]" @@ -821,6 +819,9 @@ msgstr "E916: tche invalide" msgid "E701: Invalid type for len()" msgstr "E701: Type invalide avec len()" +msgid "E957: Invalid window number" +msgstr "E957: numro de fentre invalide" + #, c-format msgid "E798: ID is reserved for \":match\": %ld" msgstr "E798: ID est rserv pour \":match\": %ld" @@ -922,12 +923,11 @@ msgstr "> %d, Hexa %08x, Octal %o" msgid "E134: Move lines into themselves" msgstr "E134: La destination est dans la plage d'origine" -msgid "1 line moved" -msgstr "1 ligne dplace" - #, c-format -msgid "%ld lines moved" -msgstr "%ld lignes dplaces" +msgid "%ld line moved" +msgid_plural "%ld lines moved" +msgstr[0] "%ld ligne dplace" +msgstr[1] "%ld lignes dplaces" #, c-format msgid "%ld lines filtered" @@ -1135,26 +1135,29 @@ msgstr "remplacer par %s (y/n/a/q/l/^E/^Y)?" msgid "(Interrupted) " msgstr "(Interrompu) " -msgid "1 match" -msgstr "1 correspondance" - -msgid "1 substitution" -msgstr "1 substitution" - #, c-format -msgid "%ld matches" -msgstr "%ld correspondances" +msgid "%ld match on %ld line" +msgid_plural "%ld matches on %ld line" +msgstr[0] "%ld correspondance sur %ld ligne" +msgstr[1] "%ld correspondances sur %ld ligne" #, c-format -msgid "%ld substitutions" -msgstr "%ld substitutions" +msgid "%ld substitution on %ld line" +msgid_plural "%ld substitutions on %ld line" +msgstr[0] "%ld substitution sur %ld ligne" +msgstr[1] "%ld substitutions sur %ld ligne" -msgid " on 1 line" -msgstr " sur 1 ligne" +#, c-format +msgid "%ld match on %ld lines" +msgid_plural "%ld matches on %ld lines" +msgstr[0] "%ld correspondance sur %ld lignes" +msgstr[1] "%ld correspondances sur %ld lignes" #, c-format -msgid " on %ld lines" -msgstr " sur %ld lignes" +msgid "%ld substitution on %ld lines" +msgid_plural "%ld substitutions on %ld lines" +msgstr[0] "%ld substitution sur %ld lignes" +msgstr[1] "%ld substitutions sur %ld lignes" # AB - Il faut respecter l'esprit plus que la lettre. # AB - Ce message devrait contenir une rfrence :vglobal. @@ -1504,19 +1507,17 @@ msgstr "" msgid "E319: Sorry, the command is not available in this version" msgstr "E319: Dsol, cette commande n'est pas disponible dans cette version" -msgid "1 more file to edit. Quit anyway?" -msgstr "Encore 1 fichier diter. Quitter tout de mme ?" - #, c-format -msgid "%d more files to edit. Quit anyway?" -msgstr "Encore %d fichiers diter. Quitter tout de mme ?" - -msgid "E173: 1 more file to edit" -msgstr "E173: encore 1 fichier diter" +msgid "%d more file to edit. Quit anyway?" +msgid_plural "%d more files to edit. Quit anyway?" +msgstr[0] "Encore %d fichier diter. Quitter tout de mme ?" +msgstr[1] "Encore %d fichiers diter. Quitter tout de mme ?" #, c-format -msgid "E173: %ld more files to edit" -msgstr "E173: encore %ld fichiers diter" +msgid "E173: %ld more file to edit" +msgid_plural "E173: %ld more files to edit" +msgstr[0] "E173: encore %ld fichier diter" +msgstr[1] "E173: encore %ld fichiers diter" msgid "E174: Command already exists: add ! to replace it" msgstr "E174: La commande existe dj : ajoutez ! pour la redfinir" @@ -1597,6 +1598,9 @@ msgstr "E784: Impossible de fermer le dernier onglet" msgid "Already only one tab page" msgstr "Il ne reste dj plus qu'un seul onglet" +msgid "Edit File in new tab page" +msgstr "Ouvrir un fichier dans un nouvel onglet" + msgid "Edit File in new window" msgstr "Ouvrir un fichier dans une nouvelle fentre - Vim" @@ -1904,9 +1908,6 @@ msgstr "Lecture de stdin..." msgid "E202: Conversion made file unreadable!" msgstr "E202: La conversion a rendu le fichier illisible !" -msgid "[fifo/socket]" -msgstr "[fifo/socket]" - msgid "[fifo]" msgstr "[fifo]" @@ -2091,19 +2092,17 @@ msgstr "[unix]" msgid "[unix format]" msgstr "[format unix]" -msgid "1 line, " -msgstr "1 ligne, " - #, c-format -msgid "%ld lines, " -msgstr "%ld lignes, " - -msgid "1 character" -msgstr "1 caractre" +msgid "%ld line, " +msgid_plural "%ld lines, " +msgstr[0] "%ld ligne, " +msgstr[1] "%ld lignes, " #, c-format -msgid "%lld characters" -msgstr "%lld caractres" +msgid "%lld character" +msgid_plural "%lld characters" +msgstr[0] "%lld caractre" +msgstr[1] "%lld caractres" msgid "[noeol]" msgstr "[noeol]" @@ -2489,11 +2488,11 @@ msgstr "Ann&uler" msgid "Open tab..." msgstr "Ouvrir dans un onglet..." -msgid "Find string (use '\\\\' to find a '\\')" -msgstr "Chercher une chane (utilisez '\\\\' pour chercher un '\\')" +msgid "Find string" +msgstr "Trouver une chane" -msgid "Find & Replace (use '\\\\' to find a '\\')" -msgstr "Chercher et remplacer (utilisez '\\\\' pour trouver un '\\')" +msgid "Find & Replace" +msgstr "Trouver & remplacer" # DB - Traduction non indispensable puisque le code indique qu'il s'agit d'un # paramtrage bidon afin de slectionner un rpertoire plutt qu'un @@ -4202,19 +4201,17 @@ msgstr "Tapez un nombre et <Entre> ou cliquez avec la souris (rien annule) :" msgid "Type number and <Enter> (empty cancels): " msgstr "Tapez un nombre et <Entre> (rien annule) :" -msgid "1 more line" -msgstr "1 ligne en plus" - -msgid "1 line less" -msgstr "1 ligne en moins" - #, c-format -msgid "%ld more lines" -msgstr "%ld lignes en plus" +msgid "%ld more line" +msgid_plural "%ld more lines" +msgstr[0] "%ld ligne en plus" +msgstr[1] "%ld lignes en plus" #, c-format -msgid "%ld fewer lines" -msgstr "%ld lignes en moins" +msgid "%ld line less" +msgid_plural "%ld fewer lines" +msgstr[0] "%ld ligne en moins" +msgstr[1] "%ld lignes en moins" msgid " (Interrupted)" msgstr " (Interrompu)" @@ -4352,31 +4349,26 @@ msgstr "" "Vim" #, c-format -msgid "1 line %sed 1 time" -msgstr "1 ligne %se 1 fois" - -#, c-format -msgid "1 line %sed %d times" -msgstr "1 ligne %se %d fois" - -#, c-format -msgid "%ld lines %sed 1 time" -msgstr "%ld lignes %ses 1 fois" +msgid "%ld line %sed %d time" +msgid_plural "%ld line %sed %d times" +msgstr[0] "%ld lignes %ses %d fois" +msgstr[1] "%ld lignes %ses %d fois" #, c-format -msgid "%ld lines %sed %d times" -msgstr "%ld lignes %ses %d fois" +msgid "%ld lines %sed %d time" +msgid_plural "%ld lines %sed %d times" +msgstr[0] "%ld lignes %ses %d fois" +msgstr[1] "%ld lignes %ses %d fois" #, c-format msgid "%ld lines to indent... " msgstr "%ld lignes indenter... " -msgid "1 line indented " -msgstr "1 ligne indente " - #, c-format -msgid "%ld lines indented " -msgstr "%ld lignes indentes " +msgid "%ld line indented " +msgid_plural "%ld lines indented " +msgstr[0] "%ld ligne indente " +msgstr[1] "%ld lignes indentes " msgid "E748: No previously used register" msgstr "E748: Aucun registre n'a t prcdemment utilis" @@ -4385,12 +4377,11 @@ msgstr "E748: Aucun registre n'a t prcdemment utilis" msgid "cannot yank; delete anyway" msgstr "impossible de raliser une copie ; effacer tout de mme" -msgid "1 line changed" -msgstr "1 ligne modifie" - #, c-format -msgid "%ld lines changed" -msgstr "%ld lignes modifies" +msgid "%ld line changed" +msgid_plural "%ld lines changed" +msgstr[0] "%ld ligne modifie" +msgstr[1] "%ld lignes modifies" #, c-format msgid "freeing %ld lines" @@ -4401,20 +4392,16 @@ msgid " into \"%c" msgstr " dans \"%c" #, c-format -msgid "block of 1 line yanked%s" -msgstr "bloc de 1 ligne copi%s" - -#, c-format -msgid "1 line yanked%s" -msgstr "1 ligne copie%s" - -#, c-format -msgid "block of %ld lines yanked%s" -msgstr "bloc de %ld lignes copi%s" +msgid "block of %ld line yanked%s" +msgid_plural "block of %ld lines yanked%s" +msgstr[0] "bloc de %ld ligne copi%s" +msgstr[1] "bloc de %ld lignes copi%s" #, c-format -msgid "%ld lines yanked%s" -msgstr "%ld lignes copies%s" +msgid "%ld line yanked%s" +msgid_plural "%ld lines yanked%s" +msgstr[0] "%ld ligne copie%s" +msgstr[1] "%ld lignes copies%s" #, c-format msgid "E353: Nothing in register %s" @@ -5014,6 +5001,9 @@ msgstr "E69: ']' manquant aprs %s%%[" msgid "E70: Empty %s%%[]" msgstr "E70: %s%%[] vide" +msgid "E956: Cannot use pattern recursively" +msgstr "E956: Impossible d'utiliser le motif rcursivement" + msgid "E65: Illegal back reference" msgstr "E65: post-rfrence invalide" @@ -5129,6 +5119,11 @@ msgstr "E879: (regexp NFA) Trop de \\z(" msgid "E873: (NFA regexp) proper termination error" msgstr "E873: (NFA regexp) erreur de terminaison" +msgid "Could not open temporary log file for writing, displaying on stderr... " +msgstr "" +"Impossible d'ouvrir le fichier de log temporaire en criture, affichage sur " +"stderr... " + msgid "E874: (NFA) Could not pop the stack!" msgstr "E874: (NFA) Impossible de dpiler !" @@ -5146,19 +5141,6 @@ msgid "E878: (NFA) Could not allocate memory for branch traversal!" msgstr "" "E878: (NFA) Impossible d'allouer la mmoire pour parcourir les branches !" -msgid "" -"Could not open temporary log file for writing, displaying on stderr... " -msgstr "" -"Impossible d'ouvrir le fichier de log temporaire en criture, affichage sur " -"stderr... " - -#, c-format -msgid "(NFA) COULD NOT OPEN %s !" -msgstr "(NFA) IMPOSSIBLE D'OUVRIR %s !" - -msgid "Could not open temporary log file for writing " -msgstr "Impossible d'ouvrir le fichier de log en criture" - msgid " VREPLACE" msgstr " VREMPLACEMENT" @@ -5654,6 +5636,9 @@ msgstr "E783: caractre dupliqu dans l'entre MAP" msgid "No Syntax items defined for this buffer" msgstr "Aucun lment de syntaxe dfini pour ce tampon" +msgid "'redrawtime' exceeded, syntax highlighting disabled" +msgstr "'redrawtime' coul, surbrillance de syntaxe dsactive" + msgid "syntax conceal on" msgstr "\"syntax conceal\" active" @@ -5684,6 +5669,9 @@ msgstr "" msgid "syntax iskeyword " msgstr "syntaxe iskeyword " +msgid "syntax iskeyword not set" +msgstr "iskeyword n'est pas activ" + #, c-format msgid "E391: No such syntax cluster: %s" msgstr "E391: Aucune grappe de syntaxe %s" @@ -6175,8 +6163,10 @@ msgid "number changes when saved" msgstr "numro modif. instant enregistr" #, c-format -msgid "%ld seconds ago" -msgstr "il y a %ld secondes" +msgid "%ld second ago" +msgid_plural "%ld seconds ago" +msgstr[0] "il y a %ld seconde" +msgstr[1] "il y a %ld secondes" msgid "E790: undojoin is not allowed after undo" msgstr "E790: undojoin n'est pas autoris aprs une annulation" @@ -6334,6 +6324,10 @@ msgstr "E133: :return en dehors d'une fonction" msgid "E107: Missing parentheses: %s" msgstr "E107: Parenthses manquantes : %s" +#, c-format +msgid "%s (%s, compiled %s)" +msgstr "%s (%s, compil %s)" + msgid "" "\n" "MS-Windows 64-bit GUI version" |