changeset 14637:0ecb909e3249

Update runtime files. commit https://github.com/vim/vim/commit/fc65cabb15d0236bce001ad78e12a40511caf941 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Aug 28 22:58:02 2018 +0200 Update runtime files.
author Christian Brabandt <cb@256bit.org>
date Tue, 28 Aug 2018 23:00:08 +0200
parents 91eef21ff090
children 067aeec2d1e7
files runtime/autoload/haskellcomplete.vim runtime/autoload/tar.vim runtime/doc/eval.txt runtime/doc/filetype.txt runtime/doc/if_pyth.txt runtime/doc/indent.txt runtime/doc/insert.txt runtime/doc/options.txt runtime/doc/quickfix.txt runtime/doc/syntax.txt runtime/doc/tabpage.txt runtime/doc/tags runtime/doc/terminal.txt runtime/doc/todo.txt runtime/doc/usr_11.txt runtime/doc/usr_41.txt runtime/ftplugin/haskell.vim runtime/ftplugin/rmd.vim runtime/ftplugin/rrst.vim runtime/indent/dtd.vim runtime/indent/html.vim runtime/indent/r.vim runtime/indent/rmd.vim runtime/indent/rnoweb.vim runtime/lang/menu_da.utf-8.vim runtime/menu.vim runtime/pack/dist/opt/cfilter/plugin/cfilter.vim runtime/syntax/r.vim runtime/syntax/rmd.vim runtime/syntax/rnoweb.vim runtime/syntax/rrst.vim runtime/syntax/sudoers.vim src/po/da.po
diffstat 33 files changed, 3991 insertions(+), 351 deletions(-) [+]
line wrap: on
line diff
new file mode 100644
--- /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"
+    \ ]
--- a/runtime/autoload/tar.vim
+++ b/runtime/autoload/tar.vim
@@ -155,7 +155,7 @@ fun! tar#Browse(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! bzip2 -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." - "
@@ -292,7 +292,7 @@ fun! tar#Read(fname,mode)
    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! bzip2 -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
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -954,6 +954,13 @@ These three can be repeated and mixed.  
 
 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*
 							*E909* *subscript*
 If expr8 is a Number or String this results in a String that contains the
@@ -8014,6 +8021,7 @@ swapinfo({fname})					swapinfo()
 			mtime	last modification time in seconds
 			inode	Optional: INODE number of the file
 			dirty	1 if file was modified, 0 if not
+		Note that "user" and "host" are truncated to at most 39 bytes.
 		In case of failure an "error" item is added with the reason:
 			Cannot open file: file not found or in accessible
 			Cannot read file: cannot read first block
--- a/runtime/doc/filetype.txt
+++ b/runtime/doc/filetype.txt
@@ -638,11 +638,31 @@ By default the following options are set
 
 	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
--- a/runtime/doc/if_pyth.txt
+++ b/runtime/doc/if_pyth.txt
@@ -168,11 +168,15 @@ vim.eval(str)						*python-eval*
 	- a dictionary if the Vim expression evaluates to a Vim dictionary
 	Dictionaries and lists are recursively expanded.
 	Examples: >
+	    :" value of the 'textwidth' option
 	    :py text_width = vim.eval("&tw")
-	    :py str = vim.eval("12+12")		# NB result is a string! Use
-						# string.atoi() to convert to
-						# a number.
-
+	    :
+	    :" contents of the 'a' register
+	    :py a_reg = vim.eval("@a") 
+	    :
+	    :" Result is a string! Use string.atoi() to convert to a number.
+	    :py str = vim.eval("12+12")
+	    :
 	    :py tagList = vim.eval('taglist("eval_expr")')
 <	The latter will return a python list of python dicts, for instance:
 	[{'cmd': '/^eval_expr(arg, nextcmd)$/', 'static': 0, 'name': ~
--- a/runtime/doc/indent.txt
+++ b/runtime/doc/indent.txt
@@ -978,6 +978,11 @@ Below is an example of indentation with 
        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*
 
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1051,13 +1051,13 @@ The function must return the column wher
 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
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -4480,8 +4480,18 @@ A jump table for the options with a shor
 	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
+	Also applies to the pattern in commands: >
+		:global
+		:lvimgrep
+		:lvimgrepadd
+		:smagic
+		:snomagic
+		:sort
+		:substitute
+		:vglobal
+		:vimgrep
+		:vimgrepadd
+<	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.
--- a/runtime/doc/quickfix.txt
+++ b/runtime/doc/quickfix.txt
@@ -1557,8 +1557,8 @@ reduce the number of entries.  Load the 
    packadd cfilter
 
 Then you can use these command: >
-   :Cfilter[!] {pat}
-   :Lfilter[!] {pat}
+   :Cfilter[!] /{pat}/
+   :Lfilter[!] /{pat}/
 
 :Cfilter creates a new quickfix list from entries matching {pat} in the
 current quickfix list. Both the file name and the text of the entries are
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1265,7 +1265,7 @@ doxygen_javadoc_autobrief	1	Set to 0 to 
 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 ~
@@ -2641,6 +2641,48 @@ Any combination of these three variables
 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
--- a/runtime/doc/tabpage.txt
+++ b/runtime/doc/tabpage.txt
@@ -243,7 +243,7 @@ REORDERING TAB PAGES:
 		Move the current tab page to after tab page N.  Use zero to
 		make the current tab page the first one.  N is counted before
 		the move, thus if the second tab is the current one,
-		`:tabmove 1`` and `:tabmove 2`  have no effect.
+		`:tabmove 1` and `:tabmove 2`  have no effect.
 		Without N the tab page is made the last one. >
 		    :.tabmove	" do nothing
 		    :-tabmove	" move the tab page to the left
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -6270,8 +6270,13 @@ ft-python-plugin	filetype.txt	/*ft-pytho
 ft-python-syntax	syntax.txt	/*ft-python-syntax*
 ft-quake-syntax	syntax.txt	/*ft-quake-syntax*
 ft-r-indent	indent.txt	/*ft-r-indent*
+ft-r-syntax	syntax.txt	/*ft-r-syntax*
 ft-readline-syntax	syntax.txt	/*ft-readline-syntax*
 ft-rexx-syntax	syntax.txt	/*ft-rexx-syntax*
+ft-rmd-plugin	filetype.txt	/*ft-rmd-plugin*
+ft-rmd-syntax	syntax.txt	/*ft-rmd-syntax*
+ft-rrst-plugin	filetype.txt	/*ft-rrst-plugin*
+ft-rrst-syntax	syntax.txt	/*ft-rrst-syntax*
 ft-rst-syntax	syntax.txt	/*ft-rst-syntax*
 ft-ruby-omni	insert.txt	/*ft-ruby-omni*
 ft-ruby-syntax	syntax.txt	/*ft-ruby-syntax*
@@ -8200,6 +8205,7 @@ quotes.txt	quotes.txt	/*quotes.txt*
 quotestar	gui.txt	/*quotestar*
 quote~	change.txt	/*quote~*
 r	change.txt	/*r*
+r.vim	syntax.txt	/*r.vim*
 range()	eval.txt	/*range()*
 raw-terminal-mode	term.txt	/*raw-terminal-mode*
 rcp	pi_netrw.txt	/*rcp*
@@ -8264,8 +8270,10 @@ right-justify	change.txt	/*right-justify
 rileft	rileft.txt	/*rileft*
 rileft.txt	rileft.txt	/*rileft.txt*
 riscos	os_risc.txt	/*riscos*
+rmd.vim	syntax.txt	/*rmd.vim*
 rot13	change.txt	/*rot13*
 round()	eval.txt	/*round()*
+rrst.vim	syntax.txt	/*rrst.vim*
 rst.vim	syntax.txt	/*rst.vim*
 rsync	pi_netrw.txt	/*rsync*
 ruby	if_ruby.txt	/*ruby*
--- a/runtime/doc/terminal.txt
+++ b/runtime/doc/terminal.txt
@@ -228,6 +228,10 @@ Syntax ~
 
 			If you want to use more options use the |term_start()|
 			function.
+			If you want to split the window vertically, use: >
+				:vertical terminal
+<			Or short: >
+				:vert ter
 
 When the buffer associated with the terminal is forcibly unloaded or wiped out
 the job is killed, similar to calling `job_stop(job, "kill")` .
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -38,6 +38,15 @@ browser use: https://github.com/vim/vim/
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+'incsearch' with :s: (#3321)
+- :/foo/s//<Esc>  changes last search pattern.  Also E486.
+- :s/foo  using CTRL-G moves to another line, should not happen, or use the
+  correct line (it uses the last but one line) (Lifepillar, Aug 18, #3345)
+- Also support range: :/foo/,/bar/delete
+- :%s/foo should take the first match below the cursor line, unless there
+  isn't one?
+  Then :%s?foo should take the first match above the cursor line.
+
 Prompt buffer:
 - Add a command line history.
 - delay next prompt until plugin gives OK?
@@ -50,11 +59,16 @@ Terminal debugger:
   initializing mzscheme avoid the problem, thus it's not some #ifdef.
 
 Terminal emulator window:
+- GUI: When using ":set go+=!" a system() call causes the hit-enter prompt.
+  (#3327)
 - When the job in the terminal doesn't use mouse events, let the scroll wheel
   scroll the scrollback, like a terminal does at the shell prompt. #2490
   And use modeless selection.  #2962
+- Allow for specifying the directory, with ++cwd={dir}.
 - With a vertical split only one window is updated. (Linwei, 2018 Jun 2,
   #2977)
+- Add a way to make ":term cmd" run "cmd" in a shell, instead of executing it
+  directly.  Perhaps ":term ++shell cmd". (#3340)
 - When pasting should call vterm_keyboard_start_paste(), e.g. when using
   K_MIDDLEMOUSE, calling insert_reg().
 - Users expect parsing the :term argument like a shell does, also support
@@ -74,35 +88,12 @@ Terminal emulator window:
 - When 'encoding' is not utf-8, or the job is using another encoding, setup
   conversions.
 
-Patch to support ":tag <tagkind> <tagname". (emmrk, 2018 May 7, #2871)
-
-Patch to parse ":line" in tags file and use it for search. (Daniel Hahler,
-#2546)  Fixes #1057.  Missing a test.
-
-Problem with quickfix giving E42 when filtering the error list.
-(Nobuhiro Takasaki, 2018 Aug 1, #3270)
-Patch with test from Yegappan, Aug 2.
-
-Patch to add variable name after "scope add". (Eddie Lebow, 2018 Feb 7, #2620)
-Maybe not needed?
-
-Patch in issue 3268, fix suggestion window appearing on wrong screen.
-Also from Ken Takata, 2018 Aug 2.
-
-Patch for Lua support. (Kazunobu Kuriyama, 2018 May 26)
-
-Patch to use NGETTEXT() in many more places. (Sergey Alyoshin, 2018 May 25)
-Updated patch May 27.
-
-Patch to add winlayout() function. (Yegappan Lakshmanan, 2018 Jan 4)
-
-Patch to fix profiling condition lines. (Ozaki Kiichi,, 2017 Dec 26, #2499)
-
-Issue #686: apply 'F' in 'shortmess' to more messages.  Also #3221.
-Patch on #3221 from Christian.  Does it work now?
-
-Patch to include a cfilter plugin to filter quickfix/location lists.
-(Yegappan Lakshmanan, 2018 May 12)
+Not possible to have a comment in between line continuation.  Use |\":
+	let array = [
+	    \ item,
+	    |\" comment
+	    \ item,
+	    \ ]
 
 Does not build with MinGW out of the box:
 - _stat64 is not defined, need to use "struct stat" in vim.h
@@ -111,9 +102,6 @@ Does not build with MinGW out of the box
 Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May
 13, #2910)  Can't reproduce?
 
-On Win32 when not in the console and t_Co >= 256, allow using 'tgc'.
-(Nobuhiro Takasaki, #2833)  Also check t_Co.
-
 Errors found with random data:
     heap-buffer-overflow in alist_add (#2472)
 
@@ -121,7 +109,15 @@ Improve fallback for menu translations, 
 files that source the actual file.  E.g. menu_da_de -> menu_da
 Include part of #3242?
 
-Inlcude Chinese-Taiwan translations. (bystar, #3261)
+Using ":file" in quickfix window during an autocommand doesn't work. 
+(Jason Franklin, 2018 May 23) Allow for using it when there is no argument.
+Patch should now work. (Jason Franklin, 2018 Aug 12)
+
+Include Chinese-Taiwan translations. (bystar, #3261)
+
+Screendump test fails even though characters are the same.
+Some attribute difference that isn't included in the screenshot?
+(Elimar Riesebieter, 2018 Aug 21)
 
 Completion mixes results from the current buffer with tags and other files.
 Happens when typing CTRL-N while still search for results.  E.g., type "b_" in
@@ -129,8 +125,10 @@ terminal.c and then CTRL-N twice.
 Should do current file first and not split it up when more results are found.
 (Also #1890)
 
-Using mouse for inputlist() doesn't work after patch 8.0.1756. (Dominique
-Pelle, 2018 Jul 22, #3239)  Also see 8.0.0722.  Check both console and GUI.
+Patch to support VTP better. (Nobuhiro Takasaki, 2018 Aug 19, #3347)
+
+Patch with improvement for ccomplete: #3350
+Try it out.  Perhaps write a test?
 
 More warnings from static analysis:
 https://lgtm.com/projects/g/vim/vim/alerts/?mode=list
@@ -138,12 +136,12 @@ https://lgtm.com/projects/g/vim/vim/aler
 Pasting foo} causes Vim to behave weird. (John Little, 2018 Jun 17)
 Related to bracketed paste.  I cannot reproduce it.
 
-Using ":file" in quickfix window during an autocommand doesn't work. 
-(Jason Franklin, 2018 May 23) Allow for using it when there is no argument.
-
 Patch in pull request #2967: Allow white space in sign text. (Ben Jackson)
 Test fails in AppVeyor.
 
+Patch to add script line number to script ID. (ichizok, Ozaki Kiichi, 2018 Aug
+24, #3362)
+
 Removing flags from 'cpoptions' breaks the Winbar buttons in termdebug.
 (Dominique Pelle, 2018 Jul 16)
 
@@ -186,6 +184,10 @@ Delete the src/main.aap file?
 matchaddpos() gets slow with many matches.  Proposal by Rick Howe, 2018 Jul
 19.
 
+Patch to support ":tag <tagkind> <tagname>". (emmrk, 2018 May 7, #2871)
+Use something like ":tag {kind}/{tagname}".
+Not ready to include.
+
 home_replace() uses $HOME instead of "homedir". (Cesar Martins, 2018 Aug 9)
 
 Adjust windows installer explanation of behavior. (scootergrisen, #3310)
@@ -193,6 +195,17 @@ Adjust windows installer explanation of 
 Set g:actual_curbuf when evaluating 'statusline', not just with an expression.
 (Daniel Hahler, 2018 Aug 8, #3299)
 
+Difference between two regexp engines: #3373
+
+When the last line wraps, selecting with the mouse below that line only
+includes the first screen line. (2018 Aug 23, #3368)
+
+Refactored HTML indent file. (Michael Lee, #1821)
+
+Patch to add getregpoint() and setreg() with an option to set "".
+(Andy Massimino, 2018 Aug 24, #3370)
+Better name?
+
 Script generated by :mksession does not work well if there are windows with
 modified buffers
   change "silent only" into "silent only!"
@@ -209,6 +222,12 @@ Compiler warnings (geeknik, 2017 Oct 26)
 Win32 console: <F11> and <F12> typed in Insert mode don't result in normal
 characters. (#3246)
 
+Height of quickfix window is not retained with vertical splits. (Lifepillar,
+2018 Aug 24, #2998)
+
+Window size is wrong when using quickfix window. (Lifepillar, 2018 Aug 24,
+#2999)
+
 Tests failing for "make testgui" with GTK:
 - Test_setbufvar_options()
 - Test_exit_callback_interval()
@@ -224,6 +243,7 @@ On Win32 it stops showing, because showS
 balloon_show() does not work properly in the terminal. (Ben Jackson, 2017 Dec
 20, #2481)
 Also see #2352, want better control over balloon, perhaps set the position.
+Should also be possible to add highlighting, like in the status line?
 
 Try out background make plugin: 
   https://github.com/AndrewVos/vim-make-background
@@ -239,9 +259,14 @@ used for git temp files.
 
 Cursor in wrong position when line wraps. (#2540)
 
+Patch to parse ":line" in tags file and use it for search. (Daniel Hahler,
+#2546)  Fixes #1057.  Missing a test.
+
 Make {skip} argument of searchpair() consistent with other places where we
 pass an expression to evaluate.  Allow passing zero for "never skip".
 
+The 'scrolloff' option is global, make it global-local. #3195
+
 Add an option similar to 'lazyredraw' to skip redrawing while executing a
 script or function.
 
@@ -281,6 +306,9 @@ How to test that it works well for all V
 
 Alternative manpager.vim. (Enno, 2018 Jan 5, #2529)
 
+Delete all the speficic stuff for the Borland compiler? (#3374)
+Patch in #3377 (Thomas Dziedzic)
+
 Does setting 'cursorline' cause syntax highlighting to slow down?  Perhaps is
 mess up the cache?  (Mike Lee Williams, 2018 Jan 27, #2539)
 Also: 'foldtext' is evaluated too often. (Daniel Hahler, #2773)
@@ -320,7 +348,8 @@ sequence of these commands. (Andy Stewar
 ch_sendraw() with long string does not try to read in between, which may cause
 a deadlock if the reading side is waiting for the write to finish. (Nate
 Bosch, 2018 Jan 13, #2548)
-Perhaps just make chunks of 1024 bytes?  Make the write non-blocking?
+Perhaps just make chunks of 1024 bytes?
+Probably better: Make the write non-blocking
 Also a problem on MS-Windows: #2828.
 
 Add Makefiles to the runtime/spell directory tree, since nobody uses Aap.
@@ -388,6 +417,8 @@ 2017 Dec 26, #2501)
 
 A function on a dictionary is not profiled. (ZyX, 2010 Dec 25)
 
+Add script number to profile?  (#3330 breaks tests).
+
 A function defined locally and lambda's are not easily recognized.
 Mention where they were defined somewhere.
 
@@ -486,8 +517,6 @@ It can replace the BeOS code, which is l
 Now on github: #1856.  Updated Oct 2017
 Got permission to include this under the Vim license.
 
-Refactored HTML indent file. (Michael Lee, #1821)
-
 Test_writefile_fails_conversion failure on Solaris because if different iconv
 behavior.  Skip when "uname" returns "SunOS"? (Pavel Heimlich, #1872)
 
@@ -566,7 +595,7 @@ Profile of a dict function is lost when 
 possible to collect this?  (Daniel Hahler, #2350)
 
 Add `:filter` support for various commands (Marcin Szamotulski, 2017 Nov 12
-#2322)  Now in #2327?
+#2322)  Patch now in #2856.
 
 When checking if a bufref is valid, also check the buffer number, to catch the
 case of :bwipe followed by :new.
@@ -751,6 +780,7 @@ receiving Vim?  Or make an exception for
 vertical split. (Haldean Brown, 2017 Mar 1)
 
 Use ADDR_OTHER instead of ADDR_LINES for many more commands.
+E.g. all the location list commands use a count.
 Add tests for using number larger than number of lines in buffer.
 
 Might be useful to have isreadonly(), like we have islocked().
--- a/runtime/doc/usr_11.txt
+++ b/runtime/doc/usr_11.txt
@@ -284,6 +284,7 @@ If you really don't want to see this mes
 'shortmess' option.  But it's very unusual that you need this.
 
 For remarks about encryption and the swap file, see |:recover-crypt|.
+For programatic access to the swap file, see |swapinfo()|.
 
 ==============================================================================
 *11.4*	Further reading
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -809,6 +809,7 @@ Buffers, windows and the argument list:
 	getwininfo()		get a list with window information
 	getchangelist()		get a list of change list entries
 	getjumplist()		get a list of jump list entries
+	swapinfo()		information about a swap file
 
 Command line:					*command-line-functions*
 	getcmdline()		get the current command line
--- 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
--- 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
--- 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"
--- 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:]]\+'
 
--- 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".
--- 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
--- 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
--- 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
--- a/runtime/lang/menu_da.utf-8.vim
+++ b/runtime/lang/menu_da.utf-8.vim
@@ -1,6 +1,6 @@
-" Menu Translations:	Danish / Dansk
+" Menu Translations:	Danish
 " Maintainer:		scootergrisen
-" Last Change:		2018 Jun 23
+" Last Change:		2018 Aug 17
 
 " Quit when menu translations have already been done.
 if exists("did_menu_trans")
@@ -43,7 +43,7 @@ menut &Save<Tab>:w	Gem<Tab>:w
 menut Save\ &As\.\.\.<Tab>:sav	Gem\ som\.\.\.<Tab>:sav
 " -SEP2-
 menut Split\ &Diff\ with\.\.\.	Opdel\ diff\ med\.\.\.
-menut Split\ Patched\ &By\.\.\.	Opdel\ "patchet\ af"\.\.\.
+menut Split\ Patched\ &By\.\.\.	Opdel\ patchet\ af\.\.\.
 " -SEP3-
 menut &Print	Udskriv
 " -SEP4-
@@ -79,7 +79,7 @@ menut Question	Spørgsmål
 " Edit
 
 menut Toggle\ Pattern\ &Highlight<Tab>:set\ hls!	Fremhævning\ af\ mønster\ til/fra<Tab>:set\ hls!
-menut Toggle\ &Ignoring\ Case<Tab>:set\ ic!	Ignorerer\ "forskel\ på\ store\ og\ små\ bogstaver"\ til/fra<Tab>:set\ ic!
+menut Toggle\ &Ignoring\ Case<Tab>:set\ ic!	Ignorerer\ forskel\ på\ store\ og\ små\ bogstaver\ til/fra<Tab>:set\ ic!
 menut Toggle\ &Showing\ Matched\ Pairs<Tab>:set\ sm!	Viser\ matchende\ par\ til/fra<Tab>:set\ sm!
 
 menut &Context\ lines	Kontekstlinjer
@@ -117,20 +117,20 @@ menut Toggle\ Tab\ &expanding<Tab>:set\ 
 menut Toggle\ &Auto\ Indenting<Tab>:set\ ai!	Automatisk\ indrykning\ til/fra<Tab>:set\ ai!
 menut Toggle\ &C-Style\ Indenting<Tab>:set\ cin!	Indrykning\ i\ &C-stil\ til/fra<Tab>:set\ cin!
 " -SEP2-
-menut &Shiftwidth	"Shiftwidth"
-" menut &Shiftwidth.2<Tab>:set\ sw=2\ sw?<CR>	"Shiftwidth".2<Tab>:set\ sw=2\ sw?<CR>
-" menut &Shiftwidth.3<Tab>:set\ sw=3\ sw?<CR>	"Shiftwidth".3<Tab>:set\ sw=3\ sw?<CR>
-" menut &Shiftwidth.4<Tab>:set\ sw=4\ sw?<CR>	"Shiftwidth".4<Tab>:set\ sw=4\ sw?<CR>
-" menut &Shiftwidth.5<Tab>:set\ sw=5\ sw?<CR>	"Shiftwidth".5<Tab>:set\ sw=5\ sw?<CR>
-" menut &Shiftwidth.6<Tab>:set\ sw=6\ sw?<CR>	"Shiftwidth".6<Tab>:set\ sw=6\ sw?<CR>
-" menut &Shiftwidth.8<Tab>:set\ sw=8\ sw?<CR>	"Shiftwidth".8<Tab>:set\ sw=8\ sw?<CR>
+menut &Shiftwidth	Shiftwidth
+" menut &Shiftwidth.2<Tab>:set\ sw=2\ sw?<CR>	Shiftwidth.2<Tab>:set\ sw=2\ sw?<CR>
+" menut &Shiftwidth.3<Tab>:set\ sw=3\ sw?<CR>	Shiftwidth.3<Tab>:set\ sw=3\ sw?<CR>
+" menut &Shiftwidth.4<Tab>:set\ sw=4\ sw?<CR>	Shiftwidth.4<Tab>:set\ sw=4\ sw?<CR>
+" menut &Shiftwidth.5<Tab>:set\ sw=5\ sw?<CR>	Shiftwidth.5<Tab>:set\ sw=5\ sw?<CR>
+" menut &Shiftwidth.6<Tab>:set\ sw=6\ sw?<CR>	Shiftwidth.6<Tab>:set\ sw=6\ sw?<CR>
+" menut &Shiftwidth.8<Tab>:set\ sw=8\ sw?<CR>	Shiftwidth.8<Tab>:set\ sw=8\ sw?<CR>
 menut Soft\ &Tabstop	Blødt\ tabulatorstop
-" menut Soft\ &Tabstop.2<Tab>:set\ sts=2\ sts?	Blødt\ "Tabstop".2<Tab>:set\ sts=2\ sts?
-" menut Soft\ &Tabstop.3<Tab>:set\ sts=3\ sts?	Blødt\ "Tabstop".3<Tab>:set\ sts=3\ sts?
-" menut Soft\ &Tabstop.4<Tab>:set\ sts=4\ sts?	Blødt\ "Tabstop".4<Tab>:set\ sts=4\ sts?
-" menut Soft\ &Tabstop.5<Tab>:set\ sts=5\ sts?	Blødt\ "Tabstop".5<Tab>:set\ sts=5\ sts?
-" menut Soft\ &Tabstop.6<Tab>:set\ sts=6\ sts?	Blødt\ "Tabstop".6<Tab>:set\ sts=6\ sts?
-" menut Soft\ &Tabstop.8<Tab>:set\ sts=8\ sts?	Blødt\ "Tabstop".8<Tab>:set\ sts=8\ sts?
+" menut Soft\ &Tabstop.2<Tab>:set\ sts=2\ sts?	Blødt\ Tabstop.2<Tab>:set\ sts=2\ sts?
+" menut Soft\ &Tabstop.3<Tab>:set\ sts=3\ sts?	Blødt\ Tabstop.3<Tab>:set\ sts=3\ sts?
+" menut Soft\ &Tabstop.4<Tab>:set\ sts=4\ sts?	Blødt\ Tabstop.4<Tab>:set\ sts=4\ sts?
+" menut Soft\ &Tabstop.5<Tab>:set\ sts=5\ sts?	Blødt\ Tabstop.5<Tab>:set\ sts=5\ sts?
+" menut Soft\ &Tabstop.6<Tab>:set\ sts=6\ sts?	Blødt\ Tabstop.6<Tab>:set\ sts=6\ sts?
+" menut Soft\ &Tabstop.8<Tab>:set\ sts=8\ sts?	Blødt\ Tabstop.8<Tab>:set\ sts=8\ sts?
 menut Te&xt\ Width\.\.\.	Tekstbredde\.\.\.
 menut &File\ Format\.\.\.	Filformat\.\.\.
 
@@ -168,11 +168,11 @@ menut None	Intet
 " menut arabic	arabisk
 " menut armenian-eastern	armensk\ (østlig)
 " menut armenian-western	armensk\ (vestlig)
-" menut belarusian-jcuken	hviderussisk"\ [belarusian-jcuken]"
+" menut belarusian-jcuken	hviderussisk\ [belarusian-jcuken]
 " menut czech	tjekkisk
 " menut greek	græsk
 " menut hebrew	hebraisk
-" menut hebrewp	hebraisk"\ [hebrewp]"
+" menut hebrewp	hebraisk\ [hebrewp]
 " menut magyar	ungarsk
 " menut persian	persisk
 " menut serbian	serbisk
@@ -362,8 +362,10 @@ if has("toolbar")
 endif
 
 let g:menutrans_set_lang_to = "Sæt sprog til"
-let g:menutrans_spell_change_ARG_to = 'Ændr "%s" til'
-let g:menutrans_spell_add_ARG_to_word_list = 'Tilføj "%s" til ordliste'
+
+" stavegenvejsmenu pop op ting
+let g:menutrans_spell_change_ARG_to = 'Ændr\ "%s"\ til'
+let g:menutrans_spell_add_ARG_to_word_list = 'Tilføj\ "%s"\ til\ ordliste'
 let g:menutrans_spell_ignore_ARG = 'Ignorer "%s"'
 
 let &cpo = s:keepcpo
--- a/runtime/menu.vim
+++ b/runtime/menu.vim
@@ -356,6 +356,8 @@ func! s:SetupColorSchemes() abort
   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)
--- a/runtime/pack/dist/opt/cfilter/plugin/cfilter.vim
+++ b/runtime/pack/dist/opt/cfilter/plugin/cfilter.vim
@@ -1,15 +1,17 @@
 " cfilter.vim: Plugin to filter entries from a quickfix/location list
-" Last Change: 	May 12, 2018
-" Maintainer: 	Yegappan Lakshmanan (yegappan AT yahoo DOT com)
-" Version:	1.0
+" Last Change: Aug 23, 2018
+" Maintainer: Yegappan Lakshmanan (yegappan AT yahoo DOT com)
+" Version: 1.1
 "
 " Commands to filter the quickfix list:
-"   :Cfilter[!] {pat}
+"   :Cfilter[!] /{pat}/
 "       Create a new quickfix list from entries matching {pat} in the current
 "       quickfix list. Both the file name and the text of the entries are
 "       matched against {pat}. If ! is supplied, then entries not matching
-"       {pat} are used.
-"   :Lfilter[!] {pat}
+"       {pat} are used. The pattern can be optionally enclosed using one of
+"       the following characters: ', ", /. If the pattern is empty, then the
+"       last used search pattern is used.
+"   :Lfilter[!] /{pat}/
 "       Same as :Cfilter but operates on the current location list.
 "
 if exists("loaded_cfilter")
@@ -17,7 +19,7 @@ if exists("loaded_cfilter")
 endif
 let loaded_cfilter = 1
 
-func s:Qf_filter(qf, pat, bang)
+func s:Qf_filter(qf, searchpat, bang)
     if a:qf
 	let Xgetlist = function('getqflist')
 	let Xsetlist = function('setqflist')
@@ -28,14 +30,31 @@ func s:Qf_filter(qf, pat, bang)
 	let cmd = ':Lfilter' . a:bang
     endif
 
+    let firstchar = a:searchpat[0]
+    let lastchar = a:searchpat[-1:]
+    if firstchar == lastchar &&
+		\ (firstchar == '/' || firstchar == '"' || firstchar == "'")
+	let pat = a:searchpat[1:-2]
+	if pat == ''
+	    " Use the last search pattern
+	    let pat = @/
+	endif
+    else
+	let pat = a:searchpat
+    endif
+
+    if pat == ''
+	return
+    endif
+
     if a:bang == '!'
-	let cond = 'v:val.text !~# a:pat && bufname(v:val.bufnr) !~# a:pat'
+	let cond = 'v:val.text !~# pat && bufname(v:val.bufnr) !~# pat'
     else
-	let cond = 'v:val.text =~# a:pat || bufname(v:val.bufnr) =~# a:pat'
+	let cond = 'v:val.text =~# pat || bufname(v:val.bufnr) =~# pat'
     endif
 
     let items = filter(Xgetlist(), cond)
-    let title = cmd . ' ' . a:pat
+    let title = cmd . ' /' . pat . '/'
     call Xsetlist([], ' ', {'title' : title, 'items' : items})
 endfunc
 
--- 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 charact
 
 " 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
--- 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"]
+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 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"]
-  endif
+  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'
-
-  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
-  else
-    exe 'syntax match rmd' . toupper(s:lng) . 'ChunkDelim "^[ \t]*```{\(' . s:lng . '\|r.*engine\s*=\s*["' . "']" . s:lng . "['" . '"]\).*}$" contained'
-  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
+runtime syntax/markdown.vim
 
-" 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
+" 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
+    let s:lng = s:type
+    let s:nm  = s:type
+  endif
+  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
+  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
 
-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 . "['" . '"]\)/'
-endfor
-
-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
--- 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
--- 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
--- 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   sudoersDefaultTypeGreaterTha
 " 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
+                                  \ pam_session
+                                  \ pam_setcred
+                                  \ passprompt_override
                                   \ path_info
-                                  \ passprompt_override
                                   \ 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
--- a/src/po/da.po
+++ b/src/po/da.po
@@ -6,8 +6,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Vim 8.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-06-08 22:09+0200\n"
-"PO-Revision-Date: 2018-06-23 23:30+0200\n"
+"POT-Creation-Date: 2018-07-18 21:20+0200\n"
+"PO-Revision-Date: 2018-08-17 00:15+0200\n"
 "Last-Translator: scootergrisen\n"
 "Language-Team: Danish\n"
 "Language: da\n"
@@ -184,10 +184,10 @@ msgid "All"
 msgstr "Alt"
 
 msgid "Bot"
-msgstr "Ned"
+msgstr "Nederst"
 
 msgid "Top"
-msgstr "Øve"
+msgstr "Øverst"
 
 msgid ""
 "\n"
@@ -565,7 +565,8 @@ msgid "E115: Missing quote: %s"
 msgstr "E115: Manglende citationstegn: %s"
 
 msgid "Not enough memory to set references, garbage collection aborted!"
-msgstr "Ikke nok hukommelse til at sætte referencer, affaldsindsamling afbrudt!"
+msgstr ""
+"Ikke nok hukommelse til at sætte referencer, affaldsindsamling afbrudt!"
 
 msgid "E724: variable nested too deep for displaying"
 msgstr "E724: variabel indlejret for dybt til at blive vist"
@@ -1415,6 +1416,9 @@ msgstr "E784: Kan ikke lukke sidste fane
 msgid "Already only one tab page"
 msgstr "Allerede kun én fanebladsside"
 
+msgid "Edit File in new tab page"
+msgstr "Rediger fil i ny fanebladsside"
+
 msgid "Edit File in new window"
 msgstr "Rediger fil i nyt vindue"
 
@@ -1645,7 +1649,7 @@ msgid ""
 "# %s History (newest to oldest):\n"
 msgstr ""
 "\n"
-"# %s Historik (nyeste til ældste):\n"
+"# %s historik (nyeste til ældste):\n"
 
 msgid "Command Line"
 msgstr "Kommandolinje"
@@ -1672,7 +1676,7 @@ msgid "E812: Autocommands changed buffer
 msgstr "E812: Autokommandoer ændrede buffer eller buffernavn"
 
 msgid "Illegal file name"
-msgstr "Ulovlig filnavn"
+msgstr "Ulovligt filnavn"
 
 msgid "is a directory"
 msgstr "er en mappe"
@@ -1957,7 +1961,8 @@ msgstr "Se \":help W12\" for mere info."
 
 #, c-format
 msgid "W11: Warning: File \"%s\" has changed since editing started"
-msgstr "W11: Advarsel: Filen \"%s\" er blevet ændret siden redigeringen startede"
+msgstr ""
+"W11: Advarsel: Filen \"%s\" er blevet ændret siden redigeringen startede"
 
 msgid "See \":help W11\" for more info."
 msgstr "Se \":help W11\" for mere info."
@@ -1965,8 +1970,8 @@ msgstr "Se \":help W11\" for mere info."
 #, c-format
 msgid "W16: Warning: Mode of file \"%s\" has changed since editing started"
 msgstr ""
-"W16: Advarsel: Tilstanden af filen \"%s\" er blevet ændret siden redigeringen "
-"startede"
+"W16: Advarsel: Tilstanden af filen \"%s\" er blevet ændret siden "
+"redigeringen startede"
 
 msgid "See \":help W16\" for more info."
 msgstr "Se \":help W16\" for mere info."
@@ -2025,10 +2030,10 @@ msgstr "E216: Ingen sådan gruppe eller hændelse: %s"
 
 msgid ""
 "\n"
-"--- Auto-Commands ---"
-msgstr ""
-"\n"
-"--- Auto-kommandoer ---"
+"--- Autocommands ---"
+msgstr ""
+"\n"
+"--- Autokommandoer ---"
 
 #, c-format
 msgid "E680: <buffer=%d>: invalid buffer number "
@@ -2044,8 +2049,8 @@ msgid "E218: autocommand nesting too dee
 msgstr "E218: autokommando indlejret for dyb"
 
 #, c-format
-msgid "%s Auto commands for \"%s\""
-msgstr "%s Auto-kommandoer for \"%s\""
+msgid "%s Autocommands for \"%s\""
+msgstr "%s Autokommandoer for \"%s\""
 
 #, c-format
 msgid "Executing %s"
@@ -2291,10 +2296,10 @@ msgstr "&Fortryd"
 msgid "Open tab..."
 msgstr "Åbn faneblad..."
 
-msgid "Find string (use '\\\\' to find  a '\\')"
+msgid "Find string (use '\\\\' to find a '\\')"
 msgstr "Find streng (brug '\\\\' til at finde et '\\')"
 
-msgid "Find & Replace (use '\\\\' to find  a '\\')"
+msgid "Find & Replace (use '\\\\' to find a '\\')"
 msgstr "Find og erstat (brug '\\\\' til at finde et '\\')"
 
 msgid "Not Used"
@@ -2878,7 +2883,8 @@ msgstr "Affald efter tilvalgsargument"
 
 msgid "Too many \"+command\", \"-c command\" or \"--cmd command\" arguments"
 msgstr ""
-"For mange \"+kommando\"-, \"-c kommando\"- eller \"--cmd kommando\"-argumenter"
+"For mange \"+kommando\"-, \"-c kommando\"- eller \"--cmd kommando\"-"
+"argumenter"
 
 msgid "Invalid argument for"
 msgstr "Ugyldigt argument for"
@@ -2931,7 +2937,7 @@ msgstr ""
 "\n"
 "Mere info med: \"vim -h\"\n"
 
-msgid "[file ..]       edit specified file(s)"
+msgid "[file ..]  edit specified file(s)"
 msgstr "[fil ..]        rediger angivne fil(er)"
 
 msgid "-               read text from stdin"
@@ -2946,11 +2952,11 @@ msgstr "-q [fejlfil]    rediger fil med første fejl"
 msgid ""
 "\n"
 "\n"
-"usage:"
-msgstr ""
-"\n"
-"\n"
-"anvendelse:"
+"Usage:"
+msgstr ""
+"\n"
+"\n"
+"Anvendelse:"
 
 msgid " vim [arguments] "
 msgstr " vim [argumenter] "
@@ -3063,8 +3069,8 @@ msgstr "-f\t\t\tBrug ikke newcli til at åbne vindue"
 msgid "-dev <device>\t\tUse <device> for I/O"
 msgstr "-dev <enhed>\t\tBrug <enhed> til I/O"
 
-msgid "-A\t\t\tstart in Arabic mode"
-msgstr "-A\t\t\tstart i arabisk tilstand"
+msgid "-A\t\t\tStart in Arabic mode"
+msgstr "-A\t\t\tStart i arabisk tilstand"
 
 msgid "-H\t\t\tStart in Hebrew mode"
 msgstr "-H\t\t\tStart i hebraisk tilstand"
@@ -3113,7 +3119,8 @@ msgid "-c <command>\t\tExecute <command>
 msgstr "-c <kommando>\tUdfør <kommando> efter indlæsning af den første fil"
 
 msgid "-S <session>\t\tSource file <session> after loading the first file"
-msgstr "-S <session>\t\tSource filen <session> efter indlæsning af den første fil"
+msgstr ""
+"-S <session>\t\tSource filen <session> efter indlæsning af den første fil"
 
 msgid "-s <scriptin>\tRead Normal mode commands from file <scriptin>"
 msgstr "-s <scriptind>\tLæs normal tilstand-kommandoer fra filen <scriptind>"
@@ -3180,7 +3187,8 @@ msgid "-i <viminfo>\t\tUse <viminfo> ins
 msgstr "-i <viminfo>\t\tBrug <viminfo> i stedet for .viminfo"
 
 msgid "--clean\t\t'nocompatible', Vim defaults, no plugins, no viminfo"
-msgstr "--clean\t\t'nocompatible', Vim-standarder, ingen plugins, ingen viminfo"
+msgstr ""
+"--clean\t\t'nocompatible', Vim-standarder, ingen plugins, ingen viminfo"
 
 msgid "-h  or  --help\tPrint Help (this message) and exit"
 msgstr "-h eller --help\tUdskriv hjælp (denne meddelelse) og afslut"
@@ -3486,21 +3494,22 @@ msgid ""
 "If you entered a new crypt key but did not write the text file,"
 msgstr ""
 "\n"
-"Hvis du indtastede en ny crypt-nøgle men ikke skrev tekstfilen,"
+"Hvis du indtastede en ny krypteringsnøgle men ikke skrev tekstfilen,"
 
 msgid ""
 "\n"
 "enter the new crypt key."
 msgstr ""
 "\n"
-"så indtast den nye crypt-nøgle."
+"så indtast den nye krypteringsnøgle."
 
 msgid ""
 "\n"
 "If you wrote the text file after changing the crypt key press enter"
 msgstr ""
 "\n"
-"Hvis du skrev tekstfilen efter crypt-nøglen blev ændret, så tryk på enter"
+"Hvis du skrev tekstfilen efter krypteringsnøglen blev ændret, så tryk på "
+"enter"
 
 msgid ""
 "\n"
@@ -3547,8 +3556,7 @@ msgstr "E311: Gendannelse afbrudt"
 msgid ""
 "E312: Errors detected while recovering; look for lines starting with ???"
 msgstr ""
-"E312: Fejl registreret ved gendannelse; kig efter linjer som begynder med "
-"???"
+"E312: Fejl registreret ved gendannelse; kig efter linjer som begynder med ???"
 
 msgid "See \":help E312\" for more information."
 msgstr "Se \":help E312\" for mere information."
@@ -3580,16 +3588,16 @@ msgstr ""
 "\n"
 
 msgid "Using crypt key from swap file for the text file.\n"
-msgstr "Bruger crypt-nøglen fra swap-filen til tekstfilen.\n"
+msgstr "Bruger krypteringsnøglen fra swap-filen til tekstfilen.\n"
 
 msgid "Swap files found:"
 msgstr "Swap-filer fundet:"
 
 msgid "   In current directory:\n"
-msgstr "   I nuværende mappe:\n"
+msgstr "      I nuværende mappe:\n"
 
 msgid "   Using specified name:\n"
-msgstr "   Bruger angivne navn:\n"
+msgstr "    Bruger angivne navn:\n"
 
 msgid "   In directory "
 msgstr "   I mappe "
@@ -3598,13 +3606,13 @@ msgid "      -- none --\n"
 msgstr "      -- ingen --\n"
 
 msgid "          owned by: "
-msgstr "          ejet af: "
+msgstr "           ejet af: "
 
 msgid "   dated: "
-msgstr "   dateret: "
+msgstr " dateret: "
 
 msgid "             dated: "
-msgstr "             dateret: "
+msgstr "           dateret: "
 
 msgid "         [from Vim version 3.0]"
 msgstr "         [fra Vim version 3.0]"
@@ -3613,14 +3621,14 @@ msgid "         [does not look like a Vi
 msgstr "         [ligner ikke en Vim swap-fil]"
 
 msgid "         file name: "
-msgstr "         filnavn: "
+msgstr "           filnavn: "
 
 msgid ""
 "\n"
 "          modified: "
 msgstr ""
 "\n"
-"          ændret: "
+"            ændret: "
 
 msgid "YES"
 msgstr "JA"
@@ -3633,7 +3641,7 @@ msgid ""
 "         user name: "
 msgstr ""
 "\n"
-"         brugernavn: "
+"        brugernavn: "
 
 msgid "   host name: "
 msgstr "   værtsnavn: "
@@ -3650,7 +3658,7 @@ msgid ""
 "        process ID: "
 msgstr ""
 "\n"
-"        proces-ID: "
+"         proces-ID: "
 
 msgid " (still running)"
 msgstr " (kører stadig)"
@@ -3758,9 +3766,11 @@ msgid ""
 "    file when making changes.  Quit, or continue with caution.\n"
 msgstr ""
 "\n"
-"(1) Et andet program redigere muligvis den samme fil. Hvis det er tilfældet,\n"
+"(1) Et andet program redigere muligvis den samme fil. Hvis det er "
+"tilfældet,\n"
 "    så pas på ikke at ende med to forskellige instanser af den samme\n"
-"    fil når der foretages ændringer. Afslut, eller fortsæt med forsigtighed.\n"
+"    fil når der foretages ændringer. Afslut, eller fortsæt med "
+"forsigtighed.\n"
 
 msgid "(2) An edit session for this file crashed.\n"
 msgstr "(2) En redigeringssession for filen holdt op med at virke.\n"
@@ -4059,7 +4069,8 @@ msgstr "E347: Ikke flere fil \"%s\" fund
 
 #, c-format
 msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\""
-msgstr "E668: Forkert adgangstilstand for NetBeans-forbindelsens info-fil: \"%s\""
+msgstr ""
+"E668: Forkert adgangstilstand for NetBeans-forbindelsens info-fil: \"%s\""
 
 #, c-format
 msgid "E658: NetBeans connection lost for buffer %ld"
@@ -4214,8 +4225,8 @@ msgid ""
 "Selected %s%ld of %ld Lines; %lld of %lld Words; %lld of %lld Chars; %lld of "
 "%lld Bytes"
 msgstr ""
-"Markerede %s%ld af %ld linje; %lld af %lld ord; %lld af %lld tegn; %lld af %"
-"lld byte"
+"Markerede %s%ld af %ld linje; %lld af %lld ord; %lld af %lld tegn; %lld af "
+"%lld byte"
 
 #, c-format
 msgid "Col %s of %s; Line %ld of %ld; Word %lld of %lld; Byte %lld of %lld"
@@ -4226,8 +4237,8 @@ msgid ""
 "Col %s of %s; Line %ld of %ld; Word %lld of %lld; Char %lld of %lld; Byte "
 "%lld of %lld"
 msgstr ""
-"Kol %s af %s; Linje %ld af %ld; Ord %lld af %lld; Tegn %lld af %lld; Byte %"
-"lld af %lld"
+"Kol %s af %s; Linje %ld af %ld; Ord %lld af %lld; Tegn %lld af %lld; Byte "
+"%lld af %lld"
 
 #, c-format
 msgid "(+%lld for BOM)"
@@ -4746,8 +4757,8 @@ msgstr "E55: Ikke-matchet %s)"
 msgid "E66: \\z( not allowed here"
 msgstr "E66: \\z( ikke tilladt her"
 
-msgid "E67: \\z1 et al. not allowed here"
-msgstr "E67: \\z1 og andre ikke tilladt her"
+msgid "E67: \\z1 - \\z9 not allowed here"
+msgstr "E67: \\z1 - \\z9 ikke tilladt her"
 
 #, c-format
 msgid "E69: Missing ] after %s%%["
@@ -4757,6 +4768,9 @@ msgstr "E69: Manglende ] efter %s%%["
 msgid "E70: Empty %s%%[]"
 msgstr "E70: Tom %s%%[]"
 
+msgid "E956: Cannot use pattern recursively"
+msgstr "E956: Kan ikke bruge mønster rekursivt"
+
 msgid "E65: Illegal back reference"
 msgstr "E65: Ulovlig tilbage-reference"
 
@@ -4859,8 +4873,8 @@ msgstr "E869: (NFA) Ukendt operator '\\@
 msgid "E870: (NFA regexp) Error reading repetition limits"
 msgstr "E870: (NFA regexp) Fejl ved læsning af gentagelsesgrænser"
 
-msgid "E871: (NFA regexp) Can't have a multi follow a multi !"
-msgstr "E871: (NFA regexp) En multi må ikke efterfølges af en multi !"
+msgid "E871: (NFA regexp) Can't have a multi follow a multi"
+msgstr "E871: (NFA regexp) En multi må ikke efterfølges af en multi"
 
 msgid "E872: (NFA regexp) Too many '('"
 msgstr "E872: (NFA regexp) For mange '('"
@@ -4871,8 +4885,11 @@ msgstr "E879: (NFA regexp) For mange \\z
 msgid "E873: (NFA regexp) proper termination error"
 msgstr "E873: (NFA regexp) fejl ved korrekt terminering"
 
-msgid "E874: (NFA) Could not pop the stack !"
-msgstr "E874: (NFA) Kunne ikke pop'e stakken !"
+msgid "Could not open temporary log file for writing, displaying on stderr... "
+msgstr "Kunne ikke åbne midlertidig logfil til skrivning, viser på stderr... "
+
+msgid "E874: (NFA) Could not pop the stack!"
+msgstr "E874: (NFA) Kunne ikke pop'e stakken!"
 
 msgid ""
 "E875: (NFA regexp) (While converting from postfix to NFA), too many states "
@@ -4887,17 +4904,6 @@ msgstr "E876: (NFA regexp) Ikke nok plad
 msgid "E878: (NFA) Could not allocate memory for branch traversal!"
 msgstr "E878: (NFA) Kunne ikke allokere hukommelse til gennemgang af gren!"
 
-msgid ""
-"Could not open temporary log file for writing, displaying on stderr ... "
-msgstr "Kunne ikke åbne midlertidig logfil til skrivning, viser på stderr ... "
-
-#, c-format
-msgid "(NFA) COULD NOT OPEN %s !"
-msgstr "(NFA) KUNNE IKKE ÅBNE %s !"
-
-msgid "Could not open temporary log file for writing "
-msgstr "Kunne ikke åbne midlertidig logfil til skrivning "
-
 msgid " VREPLACE"
 msgstr " VERSTAT"
 
@@ -5008,6 +5014,7 @@ msgstr "E389: Kunne ikke finde mønster"
 msgid "Substitute "
 msgstr "Erstatning "
 
+# scootergrisen: find ud af om "Søgemønster" skal være med stort eller lille
 #, c-format
 msgid ""
 "\n"
@@ -5023,11 +5030,13 @@ msgstr "E756: Stavekontrol er ikke aktiv
 
 #, c-format
 msgid "Warning: Cannot find word list \"%s_%s.spl\" or \"%s_ascii.spl\""
-msgstr "Advarsel: Kan ikke finde ordlisten \"%s_%s.spl\" eller \"%s_ascii.spl\""
+msgstr ""
+"Advarsel: Kan ikke finde ordlisten \"%s_%s.spl\" eller \"%s_ascii.spl\""
 
 #, c-format
 msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""
-msgstr "Advarsel: Kan ikke finde ordlisten \"%s.%s.spl\" eller \"%s.ascii.spl\""
+msgstr ""
+"Advarsel: Kan ikke finde ordlisten \"%s.%s.spl\" eller \"%s.ascii.spl\""
 
 msgid "E797: SpellFileMissing autocommand deleted buffer"
 msgstr "E797: SpellFileMissing-autokommando slettede buffer"
@@ -5115,8 +5124,8 @@ msgid "E782: error while reading .sug fi
 msgstr "E782: fejl ved læsning af .sug-fil: %s"
 
 #, c-format
-msgid "Reading affix file %s ..."
-msgstr "Læser affix-filen %s ..."
+msgid "Reading affix file %s..."
+msgstr "Læser affix-filen %s..."
 
 #, c-format
 msgid "Conversion failure for word in %s line %d: %s"
@@ -5251,8 +5260,8 @@ msgid "%s value differs from what is use
 msgstr "%s-værdi er ikke den samme som bruges i en anden .aff-fil"
 
 #, c-format
-msgid "Reading dictionary file %s ..."
-msgstr "Læser ordbogsfilen %s ..."
+msgid "Reading dictionary file %s..."
+msgstr "Læser ordbogsfilen %s..."
 
 #, c-format
 msgid "E760: No word count in %s"
@@ -5279,8 +5288,8 @@ msgid "Ignored %d word(s) with non-ASCII
 msgstr "Ignorerede %d ord med ikke-ASCII-tegn i %s"
 
 #, c-format
-msgid "Reading word file %s ..."
-msgstr "Læser ordfilen %s ..."
+msgid "Reading word file %s..."
+msgstr "Læser ordfilen %s..."
 
 #, c-format
 msgid "Duplicate /encoding= line ignored in %s line %d: %s"
@@ -5336,8 +5345,8 @@ msgid "Total number of words: %d"
 msgstr "Samlet antal ord: %d"
 
 #, c-format
-msgid "Writing suggestion file %s ..."
-msgstr "Skriver forslagsfilen %s ..."
+msgid "Writing suggestion file %s..."
+msgstr "Skriver forslagsfilen %s..."
 
 #, c-format
 msgid "Estimated runtime memory use: %d bytes"
@@ -5358,8 +5367,8 @@ msgid "Warning: both compounding and NOB
 msgstr "Advarsel: både compounding og NOBREAK angivet"
 
 #, c-format
-msgid "Writing spell file %s ..."
-msgstr "Skriver spell-filen %s ..."
+msgid "Writing spell file %s..."
+msgstr "Skriver spell-filen %s..."
 
 msgid "Done!"
 msgstr "Færdig!"
@@ -5386,10 +5395,10 @@ msgid "No Syntax items defined for this 
 msgstr "Ingen syntakspunkter defineret for denne buffer"
 
 msgid "syntax conceal on"
-msgstr "syntax conceal on"
+msgstr "syntax conceal til"
 
 msgid "syntax conceal off"
-msgstr "syntax conceal off"
+msgstr "syntax conceal fra"
 
 #, c-format
 msgid "E390: Illegal argument: %s"
@@ -5981,7 +5990,8 @@ msgstr "E129: Funktionsnavn kræves"
 
 #, c-format
 msgid "E128: Function name must start with a capital or \"s:\": %s"
-msgstr "E128: Funktionsnavnet skal begynde med et stort bogstav eller \"s:\": %s"
+msgstr ""
+"E128: Funktionsnavnet skal begynde med et stort bogstav eller \"s:\": %s"
 
 #, c-format
 msgid "E884: Function name cannot contain a colon: %s"
@@ -6032,6 +6042,10 @@ msgstr "E133: :return ikke i en funktion
 msgid "E107: Missing parentheses: %s"
 msgstr "E107: Manglende parenteser: %s"
 
+#, c-format
+msgid "%s (%s, compiled %s)"
+msgstr "%s (%s, kompileret %s)"
+
 msgid ""
 "\n"
 "MS-Windows 64-bit GUI version"
@@ -6264,7 +6278,7 @@ msgid "type  :help version8<Enter>   for
 msgstr "skriv :help version8<Enter>   for versionsinfo"
 
 msgid "Running in Vi compatible mode"
-msgstr "Kører i Vi-kompatibel-tilstand"
+msgstr "Kører i Vi-kompatibel tilstand"
 
 msgid "type  :set nocp<Enter>        for Vim defaults"
 msgstr "skriv :set nocp<Enter>        for Vim-standarder"
@@ -6410,8 +6424,7 @@ msgstr "E11: Ugyldig i kommandolinjevindue; <CR> udfører, CTRL-C afslutter"
 
 msgid "E12: Command not allowed from exrc/vimrc in current dir or tag search"
 msgstr ""
-"E12: Kommando ikke tilladt fra exrc/vimrc i nuværende mappe- eller "
-"tagsøgning"
+"E12: Kommando ikke tilladt fra exrc/vimrc i nuværende mappe- eller tagsøgning"
 
 msgid "E171: Missing :endif"
 msgstr "E171: Manglende :endif"
@@ -6530,9 +6543,7 @@ msgid "E26: Hebrew cannot be used: Not e
 msgstr "E26: Hebraisk kan ikke bruges: Ikke aktiveret ved kompileringstid\n"
 
 msgid "E27: Farsi cannot be used: Not enabled at compile time\n"
-msgstr ""
-"E27: Persisk kan ikke bruges: Ikke aktiveret ved kompileringstid\n"
-"\n"
+msgstr "E27: Persisk kan ikke bruges: Ikke aktiveret ved kompileringstid\n"
 
 msgid "E800: Arabic cannot be used: Not enabled at compile time\n"
 msgstr "E800: Arabisk kan ikke bruges: Ikke aktiveret ved kompileringstid\n"
@@ -6852,8 +6863,7 @@ msgstr "ventede 3-tuple som imp.find_mod
 #, c-format
 msgid "expected 3-tuple as imp.find_module() result, but got tuple of size %d"
 msgstr ""
-"ventede 3-tuple som imp.find_module() resultat, men fik tuple af størrelse %"
-"d"
+"ventede 3-tuple som imp.find_module() resultat, men fik tuple af størrelse %d"
 
 msgid "internal error: imp.find_module returned tuple with NULL"
 msgstr "intern fejl: imp.find_module returnerede tuple med NULL"