mirror of
https://github.com/macvim-dev/macvim.git
synced 2026-06-02 11:19:22 +02:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 22d572d0ef |
@@ -29,6 +29,7 @@ environment:
|
||||
# disabled
|
||||
# - FEATURE: TINY
|
||||
# - FEATURE: NORMAL
|
||||
# - FEATURE: BIG
|
||||
|
||||
matrix:
|
||||
fast_finish: true
|
||||
|
||||
+25
-10
@@ -5,11 +5,15 @@ env:
|
||||
freebsd_task:
|
||||
name: FreeBSD
|
||||
matrix:
|
||||
- name: FreeBSD 14.3
|
||||
- name: FreeBSD 13.1
|
||||
freebsd_instance:
|
||||
image_family: freebsd-14-3
|
||||
image_family: freebsd-13-1
|
||||
- name: FreeBSD 12.4
|
||||
freebsd_instance:
|
||||
image_family: freebsd-12-4
|
||||
timeout_in: 20m
|
||||
install_script:
|
||||
- pkg update -f
|
||||
- pkg install -y gettext
|
||||
build_script:
|
||||
- NPROC=$(getconf _NPROCESSORS_ONLN)
|
||||
@@ -21,11 +25,22 @@ freebsd_task:
|
||||
- pw useradd cirrus -m
|
||||
- chown -R cirrus:cirrus .
|
||||
- sudo -u cirrus make test
|
||||
on_failure:
|
||||
test_artifacts:
|
||||
name: "Cirrus-CI-freebsd-failed-tests"
|
||||
path: |
|
||||
runtime/indent/testdir/*.fail
|
||||
runtime/syntax/testdir/failed/*
|
||||
src/testdir/failed/*
|
||||
type: application/octet-stream
|
||||
|
||||
macos_task:
|
||||
name: macOS m1
|
||||
macos_instance:
|
||||
image: ghcr.io/cirruslabs/macos-ventura-xcode:latest
|
||||
env:
|
||||
# only run with clang, gcc is not real, it is a link to clang
|
||||
CC: clang
|
||||
timeout_in: 20m
|
||||
install_script:
|
||||
- brew update
|
||||
- brew install gettext libtool
|
||||
build_script:
|
||||
- NPROC=$(getconf _NPROCESSORS_ONLN)
|
||||
- ./configure --with-features=${FEATURES}
|
||||
- make -j${NPROC}
|
||||
test_script:
|
||||
- src/vim --version
|
||||
- make test
|
||||
|
||||
-254
@@ -1,254 +0,0 @@
|
||||
---
|
||||
Language: Cpp
|
||||
AccessModifierOffset: -4
|
||||
AlignAfterOpenBracket: Align
|
||||
AlignArrayOfStructures: None
|
||||
AlignConsecutiveAssignments:
|
||||
Enabled: false
|
||||
AcrossEmptyLines: false
|
||||
AcrossComments: false
|
||||
AlignCompound: false
|
||||
AlignFunctionPointers: false
|
||||
PadOperators: false
|
||||
AlignConsecutiveBitFields:
|
||||
Enabled: false
|
||||
AcrossEmptyLines: false
|
||||
AcrossComments: false
|
||||
AlignCompound: false
|
||||
AlignFunctionPointers: false
|
||||
PadOperators: false
|
||||
AlignConsecutiveDeclarations:
|
||||
Enabled: false
|
||||
AcrossEmptyLines: false
|
||||
AcrossComments: false
|
||||
AlignCompound: false
|
||||
AlignFunctionPointers: false
|
||||
PadOperators: false
|
||||
AlignConsecutiveMacros:
|
||||
Enabled: false
|
||||
AcrossEmptyLines: false
|
||||
AcrossComments: false
|
||||
AlignCompound: false
|
||||
AlignFunctionPointers: false
|
||||
PadOperators: false
|
||||
AlignConsecutiveShortCaseStatements:
|
||||
Enabled: false
|
||||
AcrossEmptyLines: false
|
||||
AcrossComments: false
|
||||
AlignCaseColons: false
|
||||
AlignEscapedNewlines: DontAlign
|
||||
AlignOperands: Align
|
||||
AlignTrailingComments:
|
||||
Kind: Leave
|
||||
OverEmptyLines: 0
|
||||
AllowAllArgumentsOnNextLine: false
|
||||
AllowAllParametersOfDeclarationOnNextLine: false
|
||||
AllowBreakBeforeNoexceptSpecifier: Never
|
||||
AllowShortBlocksOnASingleLine: Never
|
||||
AllowShortCaseLabelsOnASingleLine: false
|
||||
AllowShortCompoundRequirementOnASingleLine: true
|
||||
AllowShortEnumsOnASingleLine: false
|
||||
AllowShortFunctionsOnASingleLine: None
|
||||
AllowShortIfStatementsOnASingleLine: Never
|
||||
AllowShortLambdasOnASingleLine: None
|
||||
AllowShortLoopsOnASingleLine: false
|
||||
AlwaysBreakAfterDefinitionReturnType: All
|
||||
AlwaysBreakAfterReturnType: AllDefinitions
|
||||
AlwaysBreakBeforeMultilineStrings: false
|
||||
AlwaysBreakTemplateDeclarations: MultiLine
|
||||
BinPackArguments: true
|
||||
BinPackParameters: false
|
||||
BitFieldColonSpacing: Both
|
||||
BraceWrapping:
|
||||
AfterCaseLabel: true
|
||||
AfterClass: true
|
||||
AfterControlStatement: Always
|
||||
AfterEnum: true
|
||||
AfterExternBlock: true
|
||||
AfterFunction: true
|
||||
AfterNamespace: true
|
||||
AfterObjCDeclaration: true
|
||||
AfterStruct: true
|
||||
AfterUnion: true
|
||||
BeforeCatch: true
|
||||
BeforeElse: true
|
||||
BeforeLambdaBody: false
|
||||
BeforeWhile: true
|
||||
IndentBraces: false
|
||||
SplitEmptyFunction: true
|
||||
SplitEmptyRecord: true
|
||||
SplitEmptyNamespace: true
|
||||
BreakAdjacentStringLiterals: true
|
||||
BreakAfterAttributes: Leave
|
||||
BreakAfterJavaFieldAnnotations: false
|
||||
BreakArrays: true
|
||||
BreakBeforeBinaryOperators: None
|
||||
BreakBeforeConceptDeclarations: Always
|
||||
BreakBeforeBraces: Custom
|
||||
BreakBeforeInlineASMColon: OnlyMultiline
|
||||
BreakBeforeTernaryOperators: true
|
||||
BreakConstructorInitializers: BeforeColon
|
||||
BreakInheritanceList: BeforeColon
|
||||
BreakStringLiterals: true
|
||||
ColumnLimit: 80
|
||||
CommentPragmas: '^ IWYU pragma:'
|
||||
CompactNamespaces: false
|
||||
ConstructorInitializerIndentWidth: 4
|
||||
ContinuationIndentWidth: 4
|
||||
Cpp11BracedListStyle: false
|
||||
DerivePointerAlignment: false
|
||||
DisableFormat: false
|
||||
EmptyLineAfterAccessModifier: Never
|
||||
EmptyLineBeforeAccessModifier: LogicalBlock
|
||||
ExperimentalAutoDetectBinPacking: false
|
||||
FixNamespaceComments: false
|
||||
IfMacros:
|
||||
- KJ_IF_MAYBE
|
||||
IncludeBlocks: Preserve
|
||||
IncludeCategories:
|
||||
- Regex: '^"(llvm|llvm-c|clang|clang-c)/'
|
||||
Priority: 2
|
||||
SortPriority: 0
|
||||
CaseSensitive: false
|
||||
- Regex: '^(<|"(gtest|gmock|isl|json)/)'
|
||||
Priority: 3
|
||||
SortPriority: 0
|
||||
CaseSensitive: false
|
||||
- Regex: '.*'
|
||||
Priority: 1
|
||||
SortPriority: 0
|
||||
CaseSensitive: false
|
||||
IncludeIsMainRegex: '(Test)?$'
|
||||
IncludeIsMainSourceRegex: ''
|
||||
IndentAccessModifiers: false
|
||||
IndentCaseBlocks: false
|
||||
IndentCaseLabels: true
|
||||
IndentExternBlock: AfterExternBlock
|
||||
IndentGotoLabels: true
|
||||
IndentPPDirectives: AfterHash
|
||||
IndentRequiresClause: true
|
||||
IndentWidth: 4
|
||||
IndentWrappedFunctionNames: false
|
||||
InsertBraces: false
|
||||
InsertNewlineAtEOF: false
|
||||
InsertTrailingCommas: None
|
||||
IntegerLiteralSeparator:
|
||||
Binary: 0
|
||||
BinaryMinDigits: 0
|
||||
Decimal: 0
|
||||
DecimalMinDigits: 0
|
||||
Hex: 0
|
||||
HexMinDigits: 0
|
||||
JavaScriptQuotes: Leave
|
||||
JavaScriptWrapImports: true
|
||||
KeepEmptyLinesAtTheStartOfBlocks: true
|
||||
KeepEmptyLinesAtEOF: false
|
||||
LambdaBodyIndentation: Signature
|
||||
LineEnding: DeriveLF
|
||||
MacroBlockBegin: ''
|
||||
MacroBlockEnd: ''
|
||||
MaxEmptyLinesToKeep: 1
|
||||
NamespaceIndentation: None
|
||||
ObjCBinPackProtocolList: Auto
|
||||
ObjCBlockIndentWidth: 4
|
||||
ObjCBreakBeforeNestedBlockParam: true
|
||||
ObjCSpaceAfterProperty: false
|
||||
ObjCSpaceBeforeProtocolList: true
|
||||
PackConstructorInitializers: BinPack
|
||||
PenaltyBreakAssignment: 4
|
||||
PenaltyBreakBeforeFirstCallParameter: 19
|
||||
PenaltyBreakComment: 1000000000
|
||||
PenaltyBreakFirstLessLess: 120
|
||||
PenaltyBreakOpenParenthesis: 0
|
||||
PenaltyBreakScopeResolution: 500
|
||||
PenaltyBreakString: 1000
|
||||
PenaltyBreakTemplateDeclaration: 10
|
||||
PenaltyExcessCharacter: 1000000
|
||||
PenaltyIndentedWhitespace: 0
|
||||
PenaltyReturnTypeOnItsOwnLine: 60
|
||||
PointerAlignment: Right
|
||||
PPIndentWidth: 1
|
||||
QualifierAlignment: Leave
|
||||
ReferenceAlignment: Pointer
|
||||
ReflowComments: false
|
||||
RemoveBracesLLVM: false
|
||||
RemoveParentheses: Leave
|
||||
RemoveSemicolon: false
|
||||
RequiresClausePosition: OwnLine
|
||||
RequiresExpressionIndentation: OuterScope
|
||||
SeparateDefinitionBlocks: Leave
|
||||
ShortNamespaceLines: 1
|
||||
SkipMacroDefinitionBody: false
|
||||
SortIncludes: CaseSensitive
|
||||
SortJavaStaticImport: Before
|
||||
SortUsingDeclarations: LexicographicNumeric
|
||||
SpaceAfterCStyleCast: false
|
||||
SpaceAfterLogicalNot: false
|
||||
SpaceAfterTemplateKeyword: true
|
||||
SpaceAroundPointerQualifiers: Default
|
||||
SpaceBeforeAssignmentOperators: true
|
||||
SpaceBeforeCaseColon: false
|
||||
SpaceBeforeCpp11BracedList: false
|
||||
SpaceBeforeCtorInitializerColon: true
|
||||
SpaceBeforeInheritanceColon: true
|
||||
SpaceBeforeJsonColon: false
|
||||
SpaceBeforeParens: ControlStatementsExceptControlMacros
|
||||
SpaceBeforeRangeBasedForLoopColon: true
|
||||
SpaceBeforeSquareBrackets: false
|
||||
SpaceInEmptyBlock: false
|
||||
SpacesBeforeTrailingComments: 1
|
||||
SpacesInAngles: Never
|
||||
SpacesInContainerLiterals: true
|
||||
SpacesInLineCommentPrefix:
|
||||
Minimum: 1
|
||||
Maximum: -1
|
||||
SpacesInParens: Never
|
||||
SpacesInParensOptions:
|
||||
InCStyleCasts: false
|
||||
InConditionalStatements: false
|
||||
InEmptyParentheses: false
|
||||
Other: false
|
||||
SpacesInSquareBrackets: false
|
||||
Standard: c++03
|
||||
TabWidth: 8
|
||||
UseTab: Never
|
||||
VerilogBreakBetweenInstancePorts: true
|
||||
WhitespaceSensitiveMacros:
|
||||
- BOOST_PP_STRINGIZE
|
||||
- CF_SWIFT_NAME
|
||||
- NS_SWIFT_NAME
|
||||
- PP_STRINGIZE
|
||||
- STRINGIZE
|
||||
|
||||
# Taken from:
|
||||
# git grep '^#define *FOR_*' src | cut -d':' -f2 | grep -o '[A-Z]*_.*(' \
|
||||
# | tr -d '(' | LC_ALL=C sort -u
|
||||
ForEachMacros:
|
||||
- 'FOR_ALL_AUTOCMD_PATTERNS'
|
||||
- 'FOR_ALL_BUFFERS'
|
||||
- 'FOR_ALL_BUFS_FROM_LAST'
|
||||
- 'FOR_ALL_BUF_WININFO'
|
||||
- 'FOR_ALL_CHANNELS'
|
||||
- 'FOR_ALL_CHILD_MENUS'
|
||||
- 'FOR_ALL_DIFFBLOCKS_IN_TAB'
|
||||
- 'FOR_ALL_FRAMES'
|
||||
- 'FOR_ALL_HASHTAB_ITEMS'
|
||||
- 'FOR_ALL_JOBS'
|
||||
- 'FOR_ALL_LIST_ITEMS'
|
||||
- 'FOR_ALL_MENUS'
|
||||
- 'FOR_ALL_NODE_SIBLINGS'
|
||||
- 'FOR_ALL_POPUPWINS'
|
||||
- 'FOR_ALL_POPUPWINS_IN_TAB'
|
||||
- 'FOR_ALL_QFL_ITEMS'
|
||||
- 'FOR_ALL_SIGNS'
|
||||
- 'FOR_ALL_SIGNS_IN_BUF'
|
||||
- 'FOR_ALL_SPELL_LANGS'
|
||||
- 'FOR_ALL_SYNSTATES'
|
||||
- 'FOR_ALL_TABPAGES'
|
||||
- 'FOR_ALL_TAB_WINDOWS'
|
||||
- 'FOR_ALL_TERMS'
|
||||
- 'FOR_ALL_TIMERS'
|
||||
- 'FOR_ALL_WATCHERS'
|
||||
- 'FOR_ALL_WINDOWS'
|
||||
- 'FOR_ALL_WINDOWS_IN_TAB'
|
||||
...
|
||||
@@ -5,8 +5,6 @@ coverage:
|
||||
default:
|
||||
threshold: 0.05%
|
||||
|
||||
comment: false
|
||||
|
||||
# Files not run by tests
|
||||
ignore:
|
||||
- "src/dosinst.c"
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
service_name: github-actions
|
||||
@@ -1,50 +0,0 @@
|
||||
# https://spec.editorconfig.org/#supported-pairs
|
||||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = tab
|
||||
tab_width = 8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
|
||||
[*.{c,h,proto}]
|
||||
indent_size = 4
|
||||
|
||||
[src/MacVim/**]
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
|
||||
[*.{md,yml,sh,bat}]
|
||||
# This will become the default after we migrate the codebase
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.md]
|
||||
# Markdown uses trailing whitespaces to do an hard line break
|
||||
# https://spec.commonmark.org/0.31.2/#hard-line-breaks
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
[*.vim]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[runtime/pack/dist/opt/{comment,nohlsearch}/**.vim]
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
|
||||
[runtime/doc/**.txt]
|
||||
# It can mess up some documentation by trying to strip trailing whitespaces
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
[src/testdir/test*.vim]
|
||||
# Some tests need trailing whitespaces, for example `set showbreak=>>\ `
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
#
|
||||
# Some custom files do not use tabs
|
||||
#
|
||||
[src/sign.c]
|
||||
indent_style = space
|
||||
|
||||
[src/sound.c]
|
||||
indent_style = space
|
||||
@@ -1,27 +0,0 @@
|
||||
# When making commits that are strictly formatting/style changes, add the
|
||||
# commit hash here, so git blame can ignore the change. See docs for more details:
|
||||
#
|
||||
# https://git-scm.com/docs/git-config#Documentation/git-config.txt-blameignoreRevsFile
|
||||
#
|
||||
# Run this command to always ignore formatting commits in git blame
|
||||
# git config blame.ignoreRevsFile .git-blame-ignore-revs
|
||||
|
||||
# Patch v9.1.0829 expanded tabs to spaces in sound.c
|
||||
8ce738de3fd7192fa6274730594305cde780074c
|
||||
# Patch v9.1.0879 reformated sound.c and sign.c
|
||||
3cf094edaff815141d9941b8dba52b9e77d8dfc1
|
||||
# change indentation style of netrw plugin
|
||||
c363ca1ecd1f8db03663ef98dcf41eeacc3c22c7
|
||||
c673b805ad80d0aef07e745d412a2bf298ba1c07
|
||||
# fix indentation style in insexpand.c v9.1.1352
|
||||
355db99d12a89f05765948b33eecd6d9733e16bb
|
||||
# fix indentation styles in various files v9.1.1363
|
||||
c2a9000bc1b4a2cbcfeef55450c184b16906d910
|
||||
# indentation style in various files v9.1.1364
|
||||
562610cfa327c8ebff12a1700525e17a070d5e2c
|
||||
# Patch v9.1.1371
|
||||
19e1dd6b6aeb96d64122332a8c3d17b9d5ca007b
|
||||
# Patch v9.1.1372
|
||||
a4a00a7ad0cfa26685c057c11a09bec2c962346a
|
||||
# Patch v9.1.1390
|
||||
e89aef3f65388a8b627c77f250525f2a264716c5
|
||||
@@ -1,31 +1 @@
|
||||
src/testdir/test42.in diff
|
||||
|
||||
# `vim.pot` is updated every time any of the *.c files are modified. And as it
|
||||
# contains line numbers for strings from *.c files, inserting a line into a
|
||||
# single .c file may cause many lines in the `vim.pot` file to be updated.
|
||||
#
|
||||
# This generates a lot of "noise" in the diffs. And especially considering that
|
||||
# `vim.pot` is a generated file, looking at changes in this file is not useful.
|
||||
#
|
||||
# By marking it as binary we tell the git machinery that it should not be
|
||||
# presented to the user in patches, use "git diff --text" to override
|
||||
src/po/vim.pot -diff
|
||||
|
||||
# Although vim.pot has been marked as binary, you may want to check the textual differences
|
||||
# using git --text but still want to ignore some noisy output like:
|
||||
# - POT-Creation Date
|
||||
# - comments pointing to the message source location in
|
||||
# *.c/*.h/*.vim/*.cpp/*.in/*.xs files followed by line numbers
|
||||
# Note: location comments should be no longer part of vim.pot, since commit 2844765e903214490e1
|
||||
# which add the --no-location argument for xgettext to no longer ouput such comments
|
||||
#
|
||||
# To ignore certain changes, setup a custom textconv filter using:
|
||||
# git config diff.ignore_vim_pot.textconv "grep -Ev '^.(POT-Creation-Date:|.*\\.([ch]|vim|in|xs|cpp):).*$'"
|
||||
src/po/vim.pot diff=ignore_vim_pot
|
||||
|
||||
# GitHub reacts to the `linguist-generated` attribute, by ignoring marked files
|
||||
# for the repository's language statistics and hiddning changes in these files
|
||||
# by default in diffs.
|
||||
#
|
||||
# https://docs.github.com/en/repositories/working-with-files/managing-files/customizing-how-changed-files-appear-on-github
|
||||
src/po/vim.pot linguist-generated=true
|
||||
|
||||
@@ -0,0 +1,502 @@
|
||||
# Lines starting with '#' are comments.
|
||||
# Each line is a file pattern followed by one or more owners.
|
||||
# You can use github users with @user or email addresses
|
||||
|
||||
# These owners will be the default owners for everything in the repo.
|
||||
#* @brammool
|
||||
|
||||
# Order is important. The last matching pattern has the most precedence.
|
||||
# So if a pull request only touches javascript files, only these owners
|
||||
# will be requested to review.
|
||||
|
||||
runtime/autoload/freebasic.vim @dkearns
|
||||
runtime/autoload/getscript.vim @cecamp
|
||||
runtime/autoload/haskell.vim @alx741
|
||||
runtime/autoload/javascript.vim @jsit
|
||||
runtime/autoload/netrw.vim @cecamp
|
||||
runtime/autoload/netrwFileHandlers.vim @cecamp
|
||||
runtime/autoload/netrwSettings.vim @cecamp
|
||||
runtime/autoload/php.vim @david-szabo97
|
||||
runtime/autoload/rubycomplete.vim @segfault @dkearns
|
||||
runtime/autoload/tar.vim @cecamp
|
||||
runtime/autoload/vimball.vim @cecamp
|
||||
runtime/autoload/xmlformat.vim @chrisbra
|
||||
runtime/autoload/zip.vim @cecamp
|
||||
runtime/colors/blue.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/darkblue.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/default.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/delek.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/desert.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/elflord.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/evening.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/industry.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/koehler.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/morning.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/murphy.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/pablo.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/peachpuff.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/ron.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/shine.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/slate.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/tools @habamax @romainl @neutaaaaan
|
||||
runtime/colors/torte.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/zellner.vim @habamax @romainl @neutaaaaan
|
||||
runtime/compiler/checkstyle.vim @dkearns
|
||||
runtime/compiler/cm3.vim @dkearns
|
||||
runtime/compiler/cucumber.vim @tpope
|
||||
runtime/compiler/dart.vim @dkearns
|
||||
runtime/compiler/dart2js.vim @dkearns
|
||||
runtime/compiler/dart2native.vim @dkearns
|
||||
runtime/compiler/dartanalyser.vim @dkearns
|
||||
runtime/compiler/dartdevc.vim @dkearns
|
||||
runtime/compiler/dartdoc.vim @dkearns
|
||||
runtime/compiler/dartfmt.vim @dkearns
|
||||
runtime/compiler/dotnet.vim @nickspoons
|
||||
runtime/compiler/eruby.vim @dkearns
|
||||
runtime/compiler/fbc.vim @dkearns
|
||||
runtime/compiler/gawk.vim @dkearns
|
||||
runtime/compiler/gjs.vim @dkearns
|
||||
runtime/compiler/go.vim @dbarnett
|
||||
runtime/compiler/haml.vim @tpope
|
||||
runtime/compiler/hare.vim @rsaihe
|
||||
runtime/compiler/icon.vim @dkearns
|
||||
runtime/compiler/javac.vim @dkearns
|
||||
runtime/compiler/jest.vim @dkearns
|
||||
runtime/compiler/jjs.vim @dkearns
|
||||
runtime/compiler/jshint.vim @dkearns
|
||||
runtime/compiler/jsonlint.vim @dkearns
|
||||
runtime/compiler/lazbuild.vim @dkearns
|
||||
runtime/compiler/perl.vim @petdance @heptite
|
||||
runtime/compiler/perlcritic.vim @petdance @dkearns
|
||||
runtime/compiler/php.vim @dkearns
|
||||
runtime/compiler/podchecker.vim @petdance @dkearns
|
||||
runtime/compiler/powershell.vim @heaths
|
||||
runtime/compiler/raco.vim @benknoble
|
||||
runtime/compiler/racomake.vim @benknoble
|
||||
runtime/compiler/racosetup.vim @benknoble
|
||||
runtime/compiler/racotest.vim @benknoble
|
||||
runtime/compiler/rake.vim @tpope @dkearns
|
||||
runtime/compiler/rhino.vim @dkearns
|
||||
runtime/compiler/rspec.vim @tpope @dkearns
|
||||
runtime/compiler/rubocop.vim @dkearns
|
||||
runtime/compiler/ruby.vim @tpope @dkearns
|
||||
runtime/compiler/rubyunit.vim @dkearns
|
||||
runtime/compiler/sass.vim @tpope
|
||||
runtime/compiler/sdoc.vim @gpanders
|
||||
runtime/compiler/se.vim @dkearns
|
||||
runtime/compiler/shellcheck.vim @dkearns
|
||||
runtime/compiler/sml.vim @dkearns
|
||||
runtime/compiler/spectral.vim @romainl
|
||||
runtime/compiler/stylelint.vim @dkearns
|
||||
runtime/compiler/tcl.vim @dkearns
|
||||
runtime/compiler/tidy.vim @dkearns
|
||||
runtime/compiler/ts-node.vim @dkearns
|
||||
runtime/compiler/tsc.vim @dkearns
|
||||
runtime/compiler/typedoc.vim @dkearns
|
||||
runtime/compiler/xmllint.vim @dkearns
|
||||
runtime/compiler/xo.vim @dkearns
|
||||
runtime/compiler/yamllint.vim @romainl
|
||||
runtime/compiler/zsh.vim @dkearns
|
||||
runtime/doc/pi_getscript.txt @cecamp
|
||||
runtime/doc/pi_logipat.txt @cecamp
|
||||
runtime/doc/pi_netrw.txt @cecamp
|
||||
runtime/doc/pi_tar.txt @cecamp
|
||||
runtime/doc/pi_vimball.txt @cecamp
|
||||
runtime/doc/pi_zip.txt @cecamp
|
||||
runtime/doc/ps1.txt @heaths
|
||||
runtime/ftplugin/abaqus.vim @costerwi
|
||||
runtime/ftplugin/apache.vim @dubgeiser
|
||||
runtime/ftplugin/awk.vim @dkearns
|
||||
runtime/ftplugin/basic.vim @dkearns
|
||||
runtime/ftplugin/bst.vim @tpope
|
||||
runtime/ftplugin/cfg.vim @chrisbra
|
||||
runtime/ftplugin/chatito.vim @ObserverOfTime
|
||||
runtime/ftplugin/clojure.vim @axvr
|
||||
runtime/ftplugin/cs.vim @nickspoons
|
||||
runtime/ftplugin/csh.vim @dkearns
|
||||
runtime/ftplugin/css.vim @dkearns
|
||||
runtime/ftplugin/cucumber.vim @tpope
|
||||
runtime/ftplugin/desktop.vim @e-kwsm
|
||||
runtime/ftplugin/dosbatch.vim @mrdubya
|
||||
runtime/ftplugin/eiffel.vim @dkearns
|
||||
runtime/ftplugin/elixir.vim @mhanberg
|
||||
runtime/ftplugin/erlang.vim @hcs42
|
||||
runtime/ftplugin/eruby.vim @tpope @dkearns
|
||||
runtime/ftplugin/expect.vim @dkearns
|
||||
runtime/ftplugin/fennel.vim @gpanders
|
||||
runtime/ftplugin/fetchmail.vim @dkearns
|
||||
runtime/ftplugin/fpcmake.vim @dkearns
|
||||
runtime/ftplugin/freebasic.vim @dkearns
|
||||
runtime/ftplugin/fstab.vim @rid9
|
||||
runtime/ftplugin/gdb.vim @xeyownt
|
||||
runtime/ftplugin/gdscript.vim @habamax
|
||||
runtime/ftplugin/gdshader.vim @habamax
|
||||
runtime/ftplugin/git.vim @tpope
|
||||
runtime/ftplugin/gitattributes.vim @ObserverOfTime
|
||||
runtime/ftplugin/gitcommit.vim @tpope
|
||||
runtime/ftplugin/gitconfig.vim @tpope
|
||||
runtime/ftplugin/gitignore.vim @ObserverOfTime
|
||||
runtime/ftplugin/gitrebase.vim @tpope
|
||||
runtime/ftplugin/gitsendemail.vim @tpope
|
||||
runtime/ftplugin/gyp.vim @ObserverOfTime
|
||||
runtime/ftplugin/go.vim @dbarnett
|
||||
runtime/ftplugin/gprof.vim @dpelle
|
||||
runtime/ftplugin/haml.vim @tpope
|
||||
runtime/ftplugin/hare.vim @rsaihe
|
||||
runtime/ftplugin/hgcommit.vim @k-takata
|
||||
runtime/ftplugin/html.vim @dkearns
|
||||
runtime/ftplugin/i3config.vim @hiqua
|
||||
runtime/ftplugin/icon.vim @dkearns
|
||||
runtime/ftplugin/indent.vim @dkearns
|
||||
runtime/ftplugin/j.vim @glts
|
||||
runtime/ftplugin/javascript.vim @dkearns
|
||||
runtime/ftplugin/javascriptreact.vim @dkearns
|
||||
runtime/ftplugin/jsonc.vim @izhakjakov
|
||||
runtime/ftplugin/julia.vim @carlobaldassi
|
||||
runtime/ftplugin/kconfig.vim @chrisbra
|
||||
runtime/ftplugin/less.vim @genoma
|
||||
runtime/ftplugin/liquid.vim @tpope
|
||||
runtime/ftplugin/lua.vim @dkearns
|
||||
runtime/ftplugin/lynx.vim @dkearns
|
||||
runtime/ftplugin/m3build.vim @dkearns
|
||||
runtime/ftplugin/m3quake.vim @dkearns
|
||||
runtime/ftplugin/markdown.vim @tpope
|
||||
runtime/ftplugin/matlab.vim @cecamp
|
||||
runtime/ftplugin/meson.vim @Liambeguin
|
||||
runtime/ftplugin/modula3.vim @dkearns
|
||||
runtime/ftplugin/nginx.vim @chr4
|
||||
runtime/ftplugin/nroff.vim @a-vrma
|
||||
runtime/ftplugin/nsis.vim @k-takata
|
||||
runtime/ftplugin/octave.vim @dkearns
|
||||
runtime/ftplugin/openvpn.vim @ObserverOfTime
|
||||
runtime/ftplugin/pascal.vim @dkearns
|
||||
runtime/ftplugin/pbtxt.vim @lakshayg
|
||||
runtime/ftplugin/pdf.vim @tpope
|
||||
runtime/ftplugin/perl.vim @petdance @dkearns
|
||||
runtime/ftplugin/pod.vim @petdance @dkearns
|
||||
runtime/ftplugin/poefilter.vim @ObserverOfTime
|
||||
runtime/ftplugin/postscr.vim @mrdubya
|
||||
runtime/ftplugin/ps1.vim @heaths
|
||||
runtime/ftplugin/ps1xml.vim @heaths
|
||||
runtime/ftplugin/python.vim @tpict
|
||||
runtime/ftplugin/qb64.vim @dkearns
|
||||
runtime/ftplugin/r.vim @jalvesaq
|
||||
runtime/ftplugin/racket.vim @benknoble
|
||||
runtime/ftplugin/readline.vim @dkearns
|
||||
runtime/ftplugin/rhelp.vim @jalvesaq
|
||||
runtime/ftplugin/rmd.vim @jalvesaq
|
||||
runtime/ftplugin/rnoweb.vim @jalvesaq
|
||||
runtime/ftplugin/routeros.vim @zainin
|
||||
runtime/ftplugin/rrst.vim @jalvesaq
|
||||
runtime/ftplugin/rst.vim @marshallward
|
||||
runtime/ftplugin/ruby.vim @tpope @dkearns
|
||||
runtime/ftplugin/sass.vim @tpope
|
||||
runtime/ftplugin/scala.vim @derekwyatt
|
||||
runtime/ftplugin/scss.vim @tpope
|
||||
runtime/ftplugin/sdoc.vim @gpanders
|
||||
runtime/ftplugin/sh.vim @dkearns
|
||||
runtime/ftplugin/solution.vim @dkearns
|
||||
runtime/ftplugin/spec.vim @ignatenkobrain
|
||||
runtime/ftplugin/ssa.vim @ObserverOfTime
|
||||
runtime/ftplugin/swayconfig.vim @jamespeapen
|
||||
runtime/ftplugin/systemverilog.vim @Kocha
|
||||
runtime/ftplugin/tap.vim @petdance
|
||||
runtime/ftplugin/tcsh.vim @dkearns
|
||||
runtime/ftplugin/tidy.vim @dkearns
|
||||
runtime/ftplugin/tmux.vim @ericpruitt
|
||||
runtime/ftplugin/toml.vim @averms
|
||||
runtime/ftplugin/tt2html.vim @petdance
|
||||
runtime/ftplugin/typescript.vim @dkearns
|
||||
runtime/ftplugin/typescriptreact.vim @dkearns
|
||||
runtime/ftplugin/vdf.vim @ObserverOfTime
|
||||
runtime/ftplugin/wast.vim @rhysd
|
||||
runtime/ftplugin/wget.vim @dkearns
|
||||
runtime/ftplugin/wget2.vim @dkearns
|
||||
runtime/ftplugin/xml.vim @chrisbra
|
||||
runtime/ftplugin/xs.vim @petdance
|
||||
runtime/ftplugin/zsh.vim @chrisbra
|
||||
runtime/indent/basic.vim @dkearns
|
||||
runtime/indent/bst.vim @tpope
|
||||
runtime/indent/cdl.vim @dkearns
|
||||
runtime/indent/chatito.vim @ObserverOfTime
|
||||
runtime/indent/clojure.vim @axvr
|
||||
runtime/indent/config.vim @dkearns
|
||||
runtime/indent/cs.vim @nickspoons
|
||||
runtime/indent/css.vim @dkearns
|
||||
runtime/indent/cucumber.vim @tpope
|
||||
runtime/indent/d.vim @dkearns
|
||||
runtime/indent/dosbatch.vim @k-takata
|
||||
runtime/indent/dtd.vim @dkearns
|
||||
runtime/indent/dylan.vim @dkearns
|
||||
runtime/indent/eiffel.vim @jocelyn
|
||||
runtime/indent/elm.vim @andys8
|
||||
runtime/indent/erlang.vim @hcs42
|
||||
runtime/indent/eruby.vim @tpope @dkearns
|
||||
runtime/indent/eterm.vim @dkearns
|
||||
runtime/indent/falcon.vim @steveno
|
||||
runtime/indent/framescript.vim @dkearns
|
||||
runtime/indent/freebasic.vim @dkearns
|
||||
runtime/indent/gdscript.vim @habamax
|
||||
runtime/indent/gitconfig.vim @tpope
|
||||
runtime/indent/gitolite.vim @sitaramc
|
||||
runtime/indent/go.vim @dbarnett
|
||||
runtime/indent/gyp.vim @ObserverOfTime
|
||||
runtime/indent/haml.vim @tpope
|
||||
runtime/indent/hare.vim @rsaihe
|
||||
runtime/indent/idlang.vim @dkearns
|
||||
runtime/indent/j.vim @glts
|
||||
runtime/indent/java.vim @xuhdev
|
||||
runtime/indent/javascript.vim @bounceme
|
||||
runtime/indent/json.vim @elzr
|
||||
runtime/indent/jsonc.vim @izhakjakov
|
||||
runtime/indent/julia.vim @carlobaldassi
|
||||
runtime/indent/ld.vim @dkearns
|
||||
runtime/indent/less.vim @genoma
|
||||
runtime/indent/liquid.vim @tpope
|
||||
runtime/indent/make.vim @dkearns
|
||||
runtime/indent/meson.vim @Liambeguin
|
||||
runtime/indent/mma.vim @dkearns
|
||||
runtime/indent/nginx.vim @chr4
|
||||
runtime/indent/nsis.vim @k-takata
|
||||
runtime/indent/occam.vim @dkearns
|
||||
runtime/indent/perl.vim @petdance
|
||||
runtime/indent/php.vim @2072
|
||||
runtime/indent/postscr.vim @mrdubya
|
||||
runtime/indent/prolog.vim @dkearns
|
||||
runtime/indent/ps1.vim @heaths
|
||||
runtime/indent/qb64.vim @dkearns
|
||||
runtime/indent/r.vim @jalvesaq
|
||||
runtime/indent/racket.vim @benknoble
|
||||
runtime/indent/readline.vim @dkearns
|
||||
runtime/indent/rhelp.vim @jalvesaq
|
||||
runtime/indent/rmd.vim @jalvesaq
|
||||
runtime/indent/rnoweb.vim @jalvesaq
|
||||
runtime/indent/rrst.vim @jalvesaq
|
||||
runtime/indent/ruby.vim @AndrewRadev @dkearns
|
||||
runtime/indent/sass.vim @tpope
|
||||
runtime/indent/scala.vim @derekwyatt
|
||||
runtime/indent/scss.vim @tpope
|
||||
runtime/indent/sh.vim @chrisbra
|
||||
runtime/indent/systemverilog.vim @Kocha
|
||||
runtime/indent/tcl.vim @dkearns
|
||||
runtime/indent/tcsh.vim @dkearns
|
||||
runtime/indent/teraterm.vim @k-takata
|
||||
runtime/indent/typescript.vim @HerringtonDarkholme
|
||||
runtime/indent/vroom.vim @dbarnett
|
||||
runtime/indent/wast.vim @rhysd
|
||||
runtime/indent/xml.vim @chrisbra
|
||||
runtime/indent/zsh.vim @chrisbra
|
||||
runtime/keymap/armenian-eastern_utf-8.vim @blinskey
|
||||
runtime/keymap/armenian-western_utf-8.vim @blinskey
|
||||
runtime/keymap/tamil_tscii.vim @yegappan
|
||||
runtime/lang/menu_en_gb.latin1.vim @mrdubya
|
||||
runtime/pack/dist/opt/cfilter/plugin/cfilter.vim @yegappan
|
||||
runtime/pack/dist/opt/matchit/ @chrisbra
|
||||
runtime/plugin/getscriptPlugin.vim @cecamp
|
||||
runtime/plugin/logiPat.vim @cecamp
|
||||
runtime/plugin/netrwPlugin.vim @cecamp
|
||||
runtime/plugin/tarPlugin.vim @cecamp
|
||||
runtime/plugin/vimballPlugin.vim @cecamp
|
||||
runtime/plugin/zipPlugin.vim @cecamp
|
||||
runtime/plugin/manpager.vim @Konfekt
|
||||
runtime/syntax/shared/hgcommitDiff.vim @vegerot
|
||||
runtime/syntax/abaqus.vim @costerwi
|
||||
runtime/syntax/aidl.vim @dpelle
|
||||
runtime/syntax/amiga.vim @cecamp
|
||||
runtime/syntax/arduino.vim @johshoff
|
||||
runtime/syntax/asciidoc.vim @aerostitch
|
||||
runtime/syntax/asm.vim @dkearns
|
||||
runtime/syntax/asmh8300.vim @dkearns
|
||||
runtime/syntax/asterisk.vim @jaunis
|
||||
runtime/syntax/autohotkey.vim @mmikeww
|
||||
runtime/syntax/awk.vim @dkearns
|
||||
runtime/syntax/basic.vim @dkearns
|
||||
runtime/syntax/bst.vim @tpope
|
||||
runtime/syntax/bzl.vim @dbarnett
|
||||
runtime/syntax/bzr.vim @hdima
|
||||
runtime/syntax/cabal.vim @coot
|
||||
runtime/syntax/cabalconfig.vim @coot
|
||||
runtime/syntax/cabalproject.vim @coot
|
||||
runtime/syntax/cf.vim @ernstvanderlinden
|
||||
runtime/syntax/chatito.vim @ObserverOfTime
|
||||
runtime/syntax/clojure.vim @axvr
|
||||
runtime/syntax/cs.vim @nickspoons
|
||||
runtime/syntax/csh.vim @cecamp
|
||||
runtime/syntax/cucumber.vim @tpope
|
||||
runtime/syntax/d.vim @JesseKPhillips
|
||||
runtime/syntax/dart.vim @pr3d4t0r
|
||||
runtime/syntax/datascript.vim @dpelle
|
||||
runtime/syntax/dcl.vim @cecamp
|
||||
runtime/syntax/desktop.vim @e-kwsm
|
||||
runtime/syntax/dosbatch.vim @mrdubya
|
||||
runtime/syntax/dosini.vim @xuhdev
|
||||
runtime/syntax/dot.vim @mmottl
|
||||
runtime/syntax/doxygen.vim @frogonwheels
|
||||
runtime/syntax/dtd.vim @chrisbra
|
||||
runtime/syntax/dts.vim @zonque
|
||||
runtime/syntax/editorconfig.vim @gpanders
|
||||
runtime/syntax/eiffel.vim @jocelyn
|
||||
runtime/syntax/elmfilt.vim @cecamp
|
||||
runtime/syntax/erlang.vim @hcs42
|
||||
runtime/syntax/eruby.vim @tpope @dkearns
|
||||
runtime/syntax/expect.vim @dkearns
|
||||
runtime/syntax/exports.vim @cecamp
|
||||
runtime/syntax/falcon.vim @steveno
|
||||
runtime/syntax/fennel.vim @gpanders
|
||||
runtime/syntax/fetchmail.vim @dkearns
|
||||
runtime/syntax/forth.vim @jkotlinski
|
||||
runtime/syntax/fpcmake.vim @dkearns
|
||||
runtime/syntax/freebasic.vim @dkearns
|
||||
runtime/syntax/fstab.vim @rid9
|
||||
runtime/syntax/gdresource.vim @habamax
|
||||
runtime/syntax/gdscript.vim @habamax
|
||||
runtime/syntax/gdshader.vim @habamax
|
||||
runtime/syntax/git.vim @tpope
|
||||
runtime/syntax/gitattributes.vim @ObserverOfTime
|
||||
runtime/syntax/gitcommit.vim @tpope
|
||||
runtime/syntax/gitconfig.vim @tpope
|
||||
runtime/syntax/gitignore.vim @ObserverOfTime
|
||||
runtime/syntax/gitolite.vim @sitaramc
|
||||
runtime/syntax/gitrebase.vim @tpope
|
||||
runtime/syntax/go.vim @bhcleek
|
||||
runtime/syntax/godoc.vim @dbarnett
|
||||
runtime/syntax/gprof.vim @dpelle
|
||||
runtime/syntax/groff.vim @jmarshall
|
||||
runtime/syntax/gyp.vim @ObserverOfTime
|
||||
runtime/syntax/haml.vim @tpope
|
||||
runtime/syntax/hare.vim @rsaihe
|
||||
runtime/syntax/haskell.vim @coot
|
||||
runtime/syntax/hgcommit.vim @k-takata
|
||||
runtime/syntax/hollywood.vim @sodero
|
||||
runtime/syntax/html.vim @dkearns
|
||||
runtime/syntax/i3config.vim @hiqua
|
||||
runtime/syntax/icon.vim @dkearns
|
||||
runtime/syntax/indent.vim @dkearns
|
||||
runtime/syntax/j.vim @glts
|
||||
runtime/syntax/jargon.vim @h3xx
|
||||
runtime/syntax/java.vim @fleiner
|
||||
runtime/syntax/javascript.vim @fleiner
|
||||
runtime/syntax/jsonc.vim @izhakjakov
|
||||
runtime/syntax/julia.vim @carlobaldassi
|
||||
runtime/syntax/kconfig.vim @chrisbra
|
||||
runtime/syntax/less.vim @genoma
|
||||
runtime/syntax/lex.vim @cecamp
|
||||
runtime/syntax/liquid.vim @tpope
|
||||
runtime/syntax/lisp.vim @cecamp
|
||||
runtime/syntax/lyrics.vim @ObserverOfTime
|
||||
runtime/syntax/lynx.vim @dkearns
|
||||
runtime/syntax/m3build.vim @dkearns
|
||||
runtime/syntax/m3quake.vim @dkearns
|
||||
runtime/syntax/mailcap.vim @dkearns
|
||||
runtime/syntax/make.vim @rohieb
|
||||
runtime/syntax/mallard.vim @jhradilek
|
||||
runtime/syntax/maple.vim @cecamp
|
||||
runtime/syntax/markdown.vim @tpope
|
||||
runtime/syntax/mason.vim @petdance
|
||||
runtime/syntax/meson.vim @Liambeguin
|
||||
runtime/syntax/modula3.vim @dkearns
|
||||
runtime/syntax/n1ql.vim @pr3d4t0r
|
||||
runtime/syntax/netrw.vim @cecamp
|
||||
runtime/syntax/nginx.vim @chr4
|
||||
runtime/syntax/ninja.vim @nico
|
||||
runtime/syntax/nix.vim @equill
|
||||
runtime/syntax/nroff.vim @jmarshall
|
||||
runtime/syntax/nsis.vim @k-takata
|
||||
runtime/syntax/openvpn.vim @ObserverOfTime
|
||||
runtime/syntax/pascal.vim @dkearns
|
||||
runtime/syntax/pbtxt.vim @lakshayg
|
||||
runtime/syntax/pdf.vim @tpope
|
||||
runtime/syntax/perl.vim @petdance
|
||||
runtime/syntax/php.vim @TysonAndre
|
||||
runtime/syntax/plsql.vim @lee-lindley
|
||||
runtime/syntax/pod.vim @petdance
|
||||
runtime/syntax/poefilter.vim @ObserverOfTime
|
||||
runtime/syntax/postscr.vim @mrdubya
|
||||
runtime/syntax/privoxy.vim @dkearns
|
||||
runtime/syntax/prolog.vim @XVilka
|
||||
runtime/syntax/ps1.vim @heaths
|
||||
runtime/syntax/ps1xml.vim @heaths
|
||||
runtime/syntax/psl.vim @danielkho
|
||||
runtime/syntax/qb64.vim @dkearns
|
||||
runtime/syntax/r.vim @jalvesaq
|
||||
runtime/syntax/racket.vim @benknoble
|
||||
runtime/syntax/raml.vim @in3d
|
||||
runtime/syntax/ratpoison.vim @trapd00r
|
||||
runtime/syntax/rc.vim @chrisbra
|
||||
runtime/syntax/rcs.vim @hdima
|
||||
runtime/syntax/rebol.vim @mrdubya
|
||||
runtime/syntax/rego.vim @zenmatic
|
||||
runtime/syntax/resolv.vim @rid9
|
||||
runtime/syntax/rmd.vim @jalvesaq
|
||||
runtime/syntax/rng.vim @jhradilek
|
||||
runtime/syntax/routeros.vim @zainin
|
||||
runtime/syntax/rpcgen.vim @cecamp
|
||||
runtime/syntax/rrst.vim @jalvesaq
|
||||
runtime/syntax/rst.vim @marshallward
|
||||
runtime/syntax/ruby.vim @dkearns
|
||||
runtime/syntax/sass.vim @tpope
|
||||
runtime/syntax/scala.vim @derekwyatt
|
||||
runtime/syntax/scss.vim @tpope
|
||||
runtime/syntax/sdoc.vim @gpanders
|
||||
runtime/syntax/sed.vim @dkearns
|
||||
runtime/syntax/sh.vim @cecamp
|
||||
runtime/syntax/sm.vim @cecamp
|
||||
runtime/syntax/spec.vim @ignatenkobrain
|
||||
runtime/syntax/sqloracle.vim @chrisbra
|
||||
runtime/syntax/squirrel.vim @zenmatic
|
||||
runtime/syntax/srt.vim @ObserverOfTime
|
||||
runtime/syntax/ssa.vim @ObserverOfTime
|
||||
runtime/syntax/sshconfig.vim @Jakuje
|
||||
runtime/syntax/sshdconfig.vim @Jakuje
|
||||
runtime/syntax/sudoers.vim @e-kwsm
|
||||
runtime/syntax/svn.vim @hdima
|
||||
runtime/syntax/swayconfig.vim @jamespeapen
|
||||
runtime/syntax/systemverilog.vim @Kocha
|
||||
runtime/syntax/tags.vim @cecamp
|
||||
runtime/syntax/tap.vim @petdance
|
||||
runtime/syntax/tcsh.vim @dkearns
|
||||
runtime/syntax/teraterm.vim @k-takata
|
||||
runtime/syntax/tex.vim @cecamp
|
||||
runtime/syntax/tidy.vim @dkearns
|
||||
runtime/syntax/tmux.vim @ericpruitt
|
||||
runtime/syntax/toml.vim @averms
|
||||
runtime/syntax/tt2.vim @petdance
|
||||
runtime/syntax/tt2html.vim @petdance
|
||||
runtime/syntax/tt2js.vim @petdance
|
||||
runtime/syntax/typescript.vim @HerringtonDarkholme
|
||||
runtime/syntax/typescriptcommon.vim @HerringtonDarkholme
|
||||
runtime/syntax/typescriptreact.vim @HerringtonDarkholme
|
||||
runtime/syntax/vdf.vim @ObserverOfTime
|
||||
runtime/syntax/vim.vim @cecamp
|
||||
runtime/syntax/vroom.vim @dbarnett
|
||||
runtime/syntax/wast.vim @rhysd
|
||||
runtime/syntax/wdl.vim @zenmatic
|
||||
runtime/syntax/wget.vim @dkearns
|
||||
runtime/syntax/wget2.vim @dkearns
|
||||
runtime/syntax/xbl.vim @dkearns
|
||||
runtime/syntax/xmath.vim @cecamp
|
||||
runtime/syntax/xml.vim @chrisbra
|
||||
runtime/syntax/xs.vim @petdance
|
||||
runtime/syntax/xslt.vim @Boobies
|
||||
runtime/syntax/xxd.vim @cecamp
|
||||
runtime/syntax/yacc.vim @cecamp
|
||||
runtime/syntax/zsh.vim @chrisbra
|
||||
runtime/tutor/tutor.eo @dpelle
|
||||
runtime/tutor/tutor.eo.utf-8 @dpelle
|
||||
runtime/tutor/tutor.fr @dpelle
|
||||
runtime/tutor/tutor.fr.utf-8 @dpelle
|
||||
src/iscygpty.* @k-takata
|
||||
src/libvterm/ @leonerd
|
||||
src/po/ca.po @nfdisco
|
||||
src/po/de.po @chrisbra
|
||||
src/po/eo.po @dpelle
|
||||
src/po/es.po @victorhck
|
||||
src/po/fi.po @flammie
|
||||
src/po/fr.po @dpelle
|
||||
src/po/ga.po @kscanne
|
||||
src/po/it.po @azc100
|
||||
src/po/ja.po @k-takata
|
||||
src/po/sr.po @eevan78
|
||||
src/po/tr.po @bitigchi
|
||||
src/po/uk.po @sakhnik
|
||||
src/xxd/ @jnweiger
|
||||
@@ -9,9 +9,10 @@ body:
|
||||
value: |
|
||||
Thanks for reporting issues of MacVim!
|
||||
|
||||
If you want to report a security issue, instead of reporting it here publicly, please disclose it using the steps listed at https://github.com/macvim-dev/macvim/security/policy.
|
||||
|
||||
For general Vim issues that are not specific to MacVim, please file them at https://github.com/vim/vim.
|
||||
If you want to report a security issue, instead of reporting it here
|
||||
you can alternatively disclose it on
|
||||
[huntr.dev](https://huntr.dev/bounties/disclose/?utm_campaign=macvim-dev%2Fmacvim&utm_medium=social&utm_source=github&target=https%3A%2F%2Fgithub.com%2Fmacvim-dev%2Fmacvim).
|
||||
They have rewards in the form of money, swag and CVEs.
|
||||
|
||||
To make it easier for us to help you please enter detailed information below.
|
||||
- type: textarea
|
||||
@@ -32,48 +33,56 @@ body:
|
||||
required: true
|
||||
- type: input
|
||||
attributes:
|
||||
label: Version of MacVim
|
||||
label: Version of Vim and architecture
|
||||
description: >
|
||||
MacVim release number (e.g. r181). Use "About MacVim" to find out which one you are using. If building manually from source, provide the Git commit hash instead (e.g. a4466fe3b695).
|
||||
Including patch level, use ":version" to see it [e.g. 8.2.1234, GUI, arm64]
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
attributes:
|
||||
label: MacVim installation method
|
||||
description: >
|
||||
Was MacVim downloaded from GitHub release, installed via Homebrew / Homebrew Cask / MacPorts, or built from source manually?
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Environment
|
||||
description: >
|
||||
macOS version (e.g. macOS 15.3.2 Sequoia), Mac type (e.g. MacBook Air M2), terminal (e.g. Apple Terminal/iTerm); anything that might matter
|
||||
OS and architecture [e.g. Big Sur, arm64], terminal [e.g. Apple Terminal/iTerm], value of $TERM, shell [e.g. zsh 5.8]; anything that might matter
|
||||
placeholder: |
|
||||
macOS version:
|
||||
Mac:
|
||||
Operating system:
|
||||
Terminal:
|
||||
Value of $TERM:
|
||||
Shell:
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
attributes:
|
||||
label: How MacVim was installed
|
||||
description: >
|
||||
MacVim has been downloaded from GitHub, installed via Homebrew, MacPorts or builed from git
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Logs and stack traces
|
||||
placeholder: Insert log or other text here (if necessary)
|
||||
render: shell
|
||||
- type: textarea
|
||||
- type: input
|
||||
attributes:
|
||||
label: Vim and MacVim configuration where issue is reproducable
|
||||
description: Provide a link to vimrc and/or MacVim settings (see https://github.com/macvim-dev/macvim/wiki/Reporting-an-Issue for how to obtain it).
|
||||
label: Vim configuration where issue is reproducable
|
||||
description: 'e.g. link to your vimrc configuration: url to file/gist/repo..'
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: How was MacVim launched?
|
||||
description: Different ways of opening MacVim can have an impact on the behavior.
|
||||
label: Issue has been tested with given configuration
|
||||
description: This will help us to narrow down the problem more quickly
|
||||
options:
|
||||
- label: by launching MacVim.app in macOS (by using the Dock, Spotlight, or the `open` command)
|
||||
- label: by running mvim/gvim in the terminal
|
||||
- label: by running MacVim.app from GUI macOS interface
|
||||
- label: by running vim/gvim/etc installed by MacVim
|
||||
- label: by running other versions of vim (e.g. /usr/bin/vim)
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Issue has been tested with clean configuration
|
||||
description: Running MacVim and Vim with clean configurations allow us to narrow down whether this is a configuration issue.
|
||||
label: Issue has been tested with no configuration
|
||||
description: This will help us to narrow down the problem more quickly
|
||||
options:
|
||||
- label: by running `mvim --clean` (or `gvim`, supplied by MacVim distribution). You can also use the File → "New Clean Window" menu item within MacVim.
|
||||
- label: by running `mvim --clean` (or `gvim`, supplied by MacVim distribution)
|
||||
- label: by running `vim --clean` (in terminal, supplied by MacVim distribution)
|
||||
- label: by running `vim --clean` (in terminal, other suppliers, e.g. /usr/bin/vim)
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Other conditions
|
||||
description: This will help us to narrow down the problem more quickly
|
||||
options:
|
||||
- label: The both Homebrew packages "vim" and "macvim" are installed
|
||||
|
||||
@@ -1,690 +0,0 @@
|
||||
# Lines starting with '#' are comments.
|
||||
# Each line is a file pattern followed by one or more owners.
|
||||
# You can use github users with @user or email addresses
|
||||
|
||||
# These owners will be the default owners for everything in the repo.
|
||||
#* @brammool
|
||||
|
||||
# Order is important. The last matching pattern has the most precedence.
|
||||
# So if a pull request only touches javascript files, only these owners
|
||||
# will be requested to review.
|
||||
|
||||
nsis/lang/russian.nsi @RestorerZ
|
||||
runtime/autoload/freebasic.vim @dkearns
|
||||
runtime/autoload/hare.vim @selenebun
|
||||
runtime/autoload/hcl.vim @gpanders
|
||||
runtime/autoload/modula2.vim @dkearns
|
||||
runtime/autoload/rubycomplete.vim @segfault @dkearns
|
||||
runtime/autoload/rust.vim @lilyball
|
||||
runtime/autoload/typst.vim @saccarosium
|
||||
runtime/autoload/xmlformat.vim @chrisbra
|
||||
runtime/autoload/dist/json.vim @habamax
|
||||
runtime/colors/blue.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/darkblue.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/default.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/delek.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/desert.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/elflord.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/evening.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/habamax.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/industry.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/koehler.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/lunaperche.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/morning.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/murphy.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/pablo.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/peachpuff.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/quiet.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/retrobox.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/ron.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/shine.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/slate.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/sorbet.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/tools @habamax @romainl @neutaaaaan
|
||||
runtime/colors/torte.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/wildcharm.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/zaibatsu.vim @habamax @romainl @neutaaaaan
|
||||
runtime/colors/zellner.vim @habamax @romainl @neutaaaaan
|
||||
runtime/compiler/checkstyle.vim @dkearns
|
||||
runtime/compiler/cm3.vim @dkearns
|
||||
runtime/compiler/cucumber.vim @tpope
|
||||
runtime/compiler/dart.vim @dkearns
|
||||
runtime/compiler/dart2js.vim @dkearns
|
||||
runtime/compiler/dart2native.vim @dkearns
|
||||
runtime/compiler/dartanalyser.vim @dkearns
|
||||
runtime/compiler/dartdevc.vim @dkearns
|
||||
runtime/compiler/dartdoc.vim @dkearns
|
||||
runtime/compiler/dartfmt.vim @dkearns
|
||||
runtime/compiler/dotnet.vim @nickspoons
|
||||
runtime/compiler/eruby.vim @dkearns
|
||||
runtime/compiler/fbc.vim @dkearns
|
||||
runtime/compiler/gawk.vim @dkearns
|
||||
runtime/compiler/gjs.vim @dkearns
|
||||
runtime/compiler/gm2.vim @dkearns
|
||||
runtime/compiler/go.vim @dbarnett
|
||||
runtime/compiler/groff.vim @Konfekt
|
||||
runtime/compiler/haml.vim @tpope
|
||||
runtime/compiler/hare.vim @selenebun
|
||||
runtime/compiler/icon.vim @dkearns
|
||||
runtime/compiler/javac.vim @dkearns
|
||||
runtime/compiler/jest.vim @dkearns
|
||||
runtime/compiler/jjs.vim @dkearns
|
||||
runtime/compiler/jshint.vim @dkearns
|
||||
runtime/compiler/jsonlint.vim @dkearns
|
||||
runtime/compiler/jq.vim @vito-c
|
||||
runtime/compiler/pandoc.vim @Konfekt
|
||||
runtime/compiler/perl.vim @petdance @heptite
|
||||
runtime/compiler/perlcritic.vim @petdance @dkearns
|
||||
runtime/compiler/php.vim @dkearns
|
||||
runtime/compiler/phpstan.vim @dietrichm
|
||||
runtime/compiler/podchecker.vim @petdance @dkearns
|
||||
runtime/compiler/powershell.vim @heaths
|
||||
runtime/compiler/raco.vim @benknoble
|
||||
runtime/compiler/racomake.vim @benknoble
|
||||
runtime/compiler/racosetup.vim @benknoble
|
||||
runtime/compiler/racotest.vim @benknoble
|
||||
runtime/compiler/rake.vim @tpope @dkearns
|
||||
runtime/compiler/rhino.vim @dkearns
|
||||
runtime/compiler/rspec.vim @tpope @dkearns
|
||||
runtime/compiler/rubocop.vim @dkearns
|
||||
runtime/compiler/ruby.vim @tpope @dkearns
|
||||
runtime/compiler/rubyunit.vim @dkearns
|
||||
runtime/compiler/sass.vim @tpope
|
||||
runtime/compiler/se.vim @dkearns
|
||||
runtime/compiler/shellcheck.vim @dkearns
|
||||
runtime/compiler/sml.vim @dkearns
|
||||
runtime/compiler/spectral.vim @romainl
|
||||
runtime/compiler/svelte-check.vim @Konfekt
|
||||
runtime/compiler/stylelint.vim @dkearns
|
||||
runtime/compiler/tcl.vim @dkearns
|
||||
runtime/compiler/tidy.vim @dkearns
|
||||
runtime/compiler/ts-node.vim @dkearns
|
||||
runtime/compiler/tsc.vim @dkearns
|
||||
runtime/compiler/typedoc.vim @dkearns
|
||||
runtime/compiler/typst.vim @saccarosium
|
||||
runtime/compiler/xmllint.vim @dkearns
|
||||
runtime/compiler/xo.vim @dkearns
|
||||
runtime/compiler/yamllint.vim @romainl
|
||||
runtime/compiler/zsh.vim @dkearns
|
||||
runtime/doc/ft_hare.txt @selenebun
|
||||
runtime/doc/evim-ru.1 @RestorerZ
|
||||
runtime/doc/evim-ru.UTF-8.1 @RestorerZ
|
||||
runtime/doc/vim-ru.1 @RestorerZ
|
||||
runtime/doc/vim-ru.UTF-8.1 @RestorerZ
|
||||
runtime/doc/vimdiff-ru.1 @RestorerZ
|
||||
runtime/doc/vimdiff-ru.UTF-8.1 @RestorerZ
|
||||
runtime/doc/vimtutor-ru.1 @RestorerZ
|
||||
runtime/doc/vimtutor-ru.UTF-8.1 @RestorerZ
|
||||
runtime/doc/xxd-ru.1 @RestorerZ
|
||||
runtime/doc/xxd-ru.UTF-8.1 @RestorerZ
|
||||
runtime/ftplugin/abaqus.vim @costerwi
|
||||
runtime/ftplugin/abnf.vim @A4-Tacks
|
||||
runtime/ftplugin/antlr4.vim @jiangyinzuo
|
||||
runtime/ftplugin/apache.vim @dubgeiser
|
||||
runtime/ftplugin/arduino.vim @k-takata
|
||||
runtime/ftplugin/asciidoc.vim @saccarosium
|
||||
runtime/ftplugin/astro.vim @romainl
|
||||
runtime/ftplugin/asy.vim @avidseeker
|
||||
runtime/ftplugin/autohotkey.vim @telemachus
|
||||
runtime/ftplugin/awk.vim @dkearns
|
||||
runtime/ftplugin/basic.vim @dkearns
|
||||
runtime/ftplugin/brighterscript.vim @ribru17
|
||||
runtime/ftplugin/brightscript.vim @ribru17
|
||||
runtime/ftplugin/bst.vim @tpope
|
||||
runtime/ftplugin/c3.vim @ttytm
|
||||
runtime/ftplugin/cabal.vim @ribru17
|
||||
runtime/ftplugin/cedar.vim @ribru17
|
||||
runtime/ftplugin/cfg.vim @chrisbra
|
||||
runtime/ftplugin/chatito.vim @ObserverOfTime
|
||||
runtime/ftplugin/chicken.vim @evhan
|
||||
runtime/ftplugin/clojure.vim @axvr
|
||||
runtime/ftplugin/cmakecache.vim @ribru17
|
||||
runtime/ftplugin/cook.vim @ribru17
|
||||
runtime/ftplugin/cs.vim @nickspoons
|
||||
runtime/ftplugin/csh.vim @dkearns
|
||||
runtime/ftplugin/css.vim @dkearns
|
||||
runtime/ftplugin/csv.vim @habamax
|
||||
runtime/ftplugin/cucumber.vim @tpope
|
||||
runtime/ftplugin/cuda.vim @ribru17
|
||||
runtime/ftplugin/dart.vim @ribru17
|
||||
runtime/ftplugin/dax.vim @anarion80
|
||||
runtime/ftplugin/deb822sources.vim @jamessan
|
||||
runtime/ftplugin/debchangelog.vim @jamessan
|
||||
runtime/ftplugin/debcontrol.vim @jamessan
|
||||
runtime/ftplugin/debsources.vim @jamessan
|
||||
runtime/ftplugin/desktop.vim @e-kwsm
|
||||
runtime/ftplugin/dnsmasq.vim @dringsim
|
||||
runtime/ftplugin/dosbatch.vim @mrdubya
|
||||
runtime/ftplugin/editorconfig.vim @ribru17
|
||||
runtime/ftplugin/eiffel.vim @dkearns
|
||||
runtime/ftplugin/elixir.vim @mhanberg
|
||||
runtime/ftplugin/erlang.vim @hcs42
|
||||
runtime/ftplugin/eruby.vim @tpope @dkearns
|
||||
runtime/ftplugin/expect.vim @dkearns
|
||||
runtime/ftplugin/exports.vim @mperry2
|
||||
runtime/ftplugin/fennel.vim @gpanders
|
||||
runtime/ftplugin/fetchmail.vim @dkearns
|
||||
runtime/ftplugin/fga.vim @ribru17
|
||||
runtime/ftplugin/forth.vim @jkotlinski
|
||||
runtime/ftplugin/fpcmake.vim @dkearns
|
||||
runtime/ftplugin/freebasic.vim @dkearns
|
||||
runtime/ftplugin/fstab.vim @rid9
|
||||
runtime/ftplugin/gdb.vim @xeyownt
|
||||
runtime/ftplugin/gdscript.vim @habamax
|
||||
runtime/ftplugin/gdshader.vim @habamax
|
||||
runtime/ftplugin/git.vim @tpope
|
||||
runtime/ftplugin/gitattributes.vim @ObserverOfTime
|
||||
runtime/ftplugin/gitcommit.vim @tpope
|
||||
runtime/ftplugin/gitconfig.vim @tpope
|
||||
runtime/ftplugin/gitignore.vim @ObserverOfTime
|
||||
runtime/ftplugin/gitrebase.vim @tpope
|
||||
runtime/ftplugin/gitsendemail.vim @tpope
|
||||
runtime/ftplugin/gleam.vim @kirillmorozov
|
||||
runtime/ftplugin/go.vim @dbarnett
|
||||
runtime/ftplugin/goaccess.vim @meonkeys
|
||||
runtime/ftplugin/gomod.vim @yu-yk
|
||||
runtime/ftplugin/gprof.vim @dpelle
|
||||
runtime/ftplugin/graphql.vim @jparise
|
||||
runtime/ftplugin/groff.vim @e-kwsm
|
||||
runtime/ftplugin/gyp.vim @ObserverOfTime
|
||||
runtime/ftplugin/haml.vim @tpope
|
||||
runtime/ftplugin/hare.vim @selenebun
|
||||
runtime/ftplugin/haredoc.vim @selenebun
|
||||
runtime/ftplugin/heex.vim @cvincent
|
||||
runtime/ftplugin/hcl.vim @gpanders
|
||||
runtime/ftplugin/hgcommit.vim @k-takata
|
||||
runtime/ftplugin/hlsplaylist.vim @avidseeker
|
||||
runtime/ftplugin/hog.vim @wtfbbqhax
|
||||
runtime/ftplugin/html.vim @dkearns
|
||||
runtime/ftplugin/http.vim @ribru17
|
||||
runtime/ftplugin/hyprlang.vim @ribru17
|
||||
runtime/ftplugin/i3config.vim @hiqua
|
||||
runtime/ftplugin/icon.vim @dkearns
|
||||
runtime/ftplugin/indent.vim @dkearns
|
||||
runtime/ftplugin/ishd.vim @dkearns
|
||||
runtime/ftplugin/j.vim @glts
|
||||
runtime/ftplugin/java.vim @zzzyxwvut
|
||||
runtime/ftplugin/javacc.vim @ribru17
|
||||
runtime/ftplugin/javascript.vim @dkearns
|
||||
runtime/ftplugin/javascriptreact.vim @dkearns
|
||||
runtime/ftplugin/jjdescription.vim @gpanders
|
||||
runtime/ftplugin/json.vim @dbarnett
|
||||
runtime/ftplugin/json5.vim @dkearns
|
||||
runtime/ftplugin/jsonc.vim @izhakjakov
|
||||
runtime/ftplugin/julia.vim @carlobaldassi
|
||||
runtime/ftplugin/just.vim @pbnj
|
||||
runtime/ftplugin/jq.vim @vito-c
|
||||
runtime/ftplugin/kconfig.vim @chrisbra
|
||||
runtime/ftplugin/kdl.vim @imsnif @jiangyinzuo
|
||||
runtime/ftplugin/kivy.vim @ribru17
|
||||
runtime/ftplugin/kotlin.vim @udalov
|
||||
runtime/ftplugin/ldapconf.vim @ribru17
|
||||
runtime/ftplugin/leo.vim @ribru17
|
||||
runtime/ftplugin/less.vim @genoma
|
||||
runtime/ftplugin/lex.vim @ribru17
|
||||
runtime/ftplugin/lf.vim @andis-sprinkis
|
||||
runtime/ftplugin/liquid.vim @tpope
|
||||
runtime/ftplugin/lua.vim @dkearns
|
||||
runtime/ftplugin/lc.vim @ribru17
|
||||
runtime/ftplugin/lynx.vim @dkearns
|
||||
runtime/ftplugin/m17ndb.vim @dseomn
|
||||
runtime/ftplugin/m3build.vim @dkearns
|
||||
runtime/ftplugin/m3quake.vim @dkearns
|
||||
runtime/ftplugin/markdown.vim @tpope
|
||||
runtime/ftplugin/mbsync.vim @fymyte
|
||||
runtime/ftplugin/mediawiki.vim @avidseeker
|
||||
runtime/ftplugin/meson.vim @Liambeguin
|
||||
runtime/ftplugin/modula2.vim @dkearns
|
||||
runtime/ftplugin/modula3.vim @dkearns
|
||||
runtime/ftplugin/mojo.vim @ribru17
|
||||
runtime/ftplugin/mss.vim @Freed-Wu
|
||||
runtime/ftplugin/nginx.vim @chr4
|
||||
runtime/ftplugin/nim.vim @ribru17
|
||||
runtime/ftplugin/nroff.vim @averms
|
||||
runtime/ftplugin/nsis.vim @k-takata
|
||||
runtime/ftplugin/nu.vim @mrcjkb
|
||||
runtime/ftplugin/octave.vim @dkearns
|
||||
runtime/ftplugin/ondir.vim @jparise
|
||||
runtime/ftplugin/opencl.vim @Freed-Wu
|
||||
runtime/ftplugin/openvpn.vim @ObserverOfTime
|
||||
runtime/ftplugin/org.vim @saccarosium
|
||||
runtime/ftplugin/pascal.vim @dkearns
|
||||
runtime/ftplugin/pbtxt.vim @lakshayg
|
||||
runtime/ftplugin/pdf.vim @tpope
|
||||
runtime/ftplugin/perl.vim @petdance @dkearns
|
||||
runtime/ftplugin/php.vim @dkearns
|
||||
runtime/ftplugin/pkl.vim @ribru17
|
||||
runtime/ftplugin/plsql.vim @lee-lindley
|
||||
runtime/ftplugin/pod.vim @petdance @dkearns
|
||||
runtime/ftplugin/poefilter.vim @ObserverOfTime
|
||||
runtime/ftplugin/postscr.vim @mrdubya
|
||||
runtime/ftplugin/pq.vim @anarion80
|
||||
runtime/ftplugin/prisma.vim @ribru17
|
||||
runtime/ftplugin/proto.vim @Limero
|
||||
runtime/ftplugin/ps1.vim @heaths
|
||||
runtime/ftplugin/ps1xml.vim @heaths
|
||||
runtime/ftplugin/ptx.vim @jiangyinzuo
|
||||
runtime/ftplugin/purescript.vim @ribru17
|
||||
runtime/ftplugin/pymanifest.vim @ObserverOfTime
|
||||
runtime/ftplugin/python.vim @tpict
|
||||
runtime/ftplugin/qb64.vim @dkearns
|
||||
runtime/ftplugin/qml.vim @ChaseKnowlden
|
||||
runtime/ftplugin/racket.vim @benknoble
|
||||
runtime/ftplugin/rasi.vim @fymyte
|
||||
runtime/ftplugin/readline.vim @dkearns
|
||||
runtime/ftplugin/remind.vim @joereynolds
|
||||
runtime/ftplugin/rescript.vim @ribru17
|
||||
runtime/ftplugin/routeros.vim @zainin
|
||||
runtime/ftplugin/rst.vim @marshallward
|
||||
runtime/ftplugin/ruby.vim @tpope @dkearns
|
||||
runtime/ftplugin/rust.vim @lilyball
|
||||
runtime/ftplugin/samba.vim @mperry2
|
||||
runtime/ftplugin/sass.vim @tpope
|
||||
runtime/ftplugin/scala.vim @derekwyatt
|
||||
runtime/ftplugin/scheme.vim @evhan
|
||||
runtime/ftplugin/scss.vim @tpope
|
||||
runtime/ftplugin/sed.vim @dkearns
|
||||
runtime/ftplugin/sh.vim @dkearns
|
||||
runtime/ftplugin/shaderslang.vim @mTvare6
|
||||
runtime/ftplugin/slint.vim @ribru17
|
||||
runtime/ftplugin/snakemake.vim @ribru17
|
||||
runtime/ftplugin/solidity.vim @coti-z
|
||||
runtime/ftplugin/solution.vim @dkearns
|
||||
runtime/ftplugin/spajson.vim @dseomn
|
||||
runtime/ftplugin/spec.vim @ignatenkobrain
|
||||
runtime/ftplugin/squirrel.vim @ribru17
|
||||
runtime/ftplugin/ssa.vim @ObserverOfTime
|
||||
runtime/ftplugin/sshdconfig.vim @jiangyinzuo
|
||||
runtime/ftplugin/svelte.vim @igorlfs
|
||||
runtime/ftplugin/sway.vim @ribru17
|
||||
runtime/ftplugin/swayconfig.vim @jamespeapen
|
||||
runtime/ftplugin/systemverilog.vim @Kocha
|
||||
runtime/ftplugin/swig.vim @jmarrec
|
||||
runtime/ftplugin/tap.vim @petdance
|
||||
runtime/ftplugin/tcsh.vim @dkearns
|
||||
runtime/ftplugin/tera.vim @MuntasirSZN
|
||||
runtime/ftplugin/terraform.vim @JannoTjarks
|
||||
runtime/ftplugin/tf.vim @ribru17
|
||||
runtime/ftplugin/thrift.vim @jiangyinzuo
|
||||
runtime/ftplugin/tiasm.vim @Freed-Wu
|
||||
runtime/ftplugin/tidy.vim @dkearns
|
||||
runtime/ftplugin/tmux.vim @ericpruitt
|
||||
runtime/ftplugin/toml.vim @averms
|
||||
runtime/ftplugin/tt2html.vim @petdance
|
||||
runtime/ftplugin/twig.vim @ribru17
|
||||
runtime/ftplugin/typescript.vim @dkearns
|
||||
runtime/ftplugin/typescriptreact.vim @dkearns
|
||||
runtime/ftplugin/typst.vim @saccarosium
|
||||
runtime/ftplugin/uc.vim @ribru17
|
||||
runtime/ftplugin/unison.vim @chuwy
|
||||
runtime/ftplugin/v.vim @ribru17
|
||||
runtime/ftplugin/vdf.vim @ObserverOfTime
|
||||
runtime/ftplugin/vim.vim @dkearns
|
||||
runtime/ftplugin/wget.vim @dkearns
|
||||
runtime/ftplugin/wget2.vim @dkearns
|
||||
runtime/ftplugin/xcompose.vim @ObserverOfTime
|
||||
runtime/ftplugin/xml.vim @chrisbra
|
||||
runtime/ftplugin/xs.vim @petdance
|
||||
runtime/ftplugin/yacc.vim @ribru17
|
||||
runtime/ftplugin/zsh.vim @chrisbra
|
||||
runtime/import/dist/vimhighlight.vim @lacygoill
|
||||
runtime/indent/arduino.vim @k-takata
|
||||
runtime/indent/astro.vim @wuelnerdotexe
|
||||
runtime/indent/basic.vim @dkearns
|
||||
runtime/indent/bst.vim @tpope
|
||||
runtime/indent/cdl.vim @dkearns
|
||||
runtime/indent/chatito.vim @ObserverOfTime
|
||||
runtime/indent/clojure.vim @axvr
|
||||
runtime/indent/config.vim @dkearns
|
||||
runtime/indent/cs.vim @nickspoons
|
||||
runtime/indent/css.vim @dkearns
|
||||
runtime/indent/cucumber.vim @tpope
|
||||
runtime/indent/d.vim @dkearns
|
||||
runtime/indent/dosbatch.vim @k-takata
|
||||
runtime/indent/dtd.vim @dkearns
|
||||
runtime/indent/dylan.vim @dkearns
|
||||
runtime/indent/eiffel.vim @jocelyn
|
||||
runtime/indent/elm.vim @andys8
|
||||
runtime/indent/erlang.vim @hcs42
|
||||
runtime/indent/eruby.vim @tpope @dkearns
|
||||
runtime/indent/eterm.vim @dkearns
|
||||
runtime/indent/falcon.vim @steveno
|
||||
runtime/indent/framescript.vim @dkearns
|
||||
runtime/indent/freebasic.vim @dkearns
|
||||
runtime/indent/gdscript.vim @habamax
|
||||
runtime/indent/gitconfig.vim @tpope
|
||||
runtime/indent/gitolite.vim @sitaramc
|
||||
runtime/indent/glsl.vim @gpanders
|
||||
runtime/indent/go.vim @dbarnett
|
||||
runtime/indent/graphql.vim @jparise
|
||||
runtime/indent/gyp.vim @ObserverOfTime
|
||||
runtime/indent/haml.vim @tpope
|
||||
runtime/indent/hare.vim @selenebun
|
||||
runtime/indent/hcl.vim @gpanders
|
||||
runtime/indent/hog.vim @wtfbbqhax
|
||||
runtime/indent/idlang.vim @dkearns
|
||||
runtime/indent/j.vim @glts
|
||||
runtime/indent/java.vim @xuhdev
|
||||
runtime/indent/javascript.vim @bounceme
|
||||
runtime/indent/json.vim @elzr
|
||||
runtime/indent/jsonc.vim @izhakjakov
|
||||
runtime/indent/julia.vim @carlobaldassi
|
||||
runtime/indent/just.vim @pbnj
|
||||
runtime/indent/kdl.vim @imsnif @jiangyinzuo
|
||||
runtime/indent/kotlin.vim @udalov
|
||||
runtime/indent/krl.vim @KnoP-01
|
||||
runtime/indent/ld.vim @dkearns
|
||||
runtime/indent/less.vim @genoma
|
||||
runtime/indent/liquid.vim @tpope
|
||||
runtime/indent/lua.vim @marcuscf
|
||||
runtime/indent/m17ndb.vim @dseomn
|
||||
runtime/indent/make.vim @dkearns
|
||||
runtime/indent/meson.vim @Liambeguin
|
||||
runtime/indent/mma.vim @dkearns
|
||||
runtime/indent/mojo.vim @ribru17
|
||||
runtime/indent/nginx.vim @chr4
|
||||
runtime/indent/nsis.vim @k-takata
|
||||
runtime/indent/occam.vim @dkearns
|
||||
runtime/indent/perl.vim @petdance
|
||||
runtime/indent/php.vim @2072
|
||||
runtime/indent/postscr.vim @mrdubya
|
||||
runtime/indent/prolog.vim @dkearns
|
||||
runtime/indent/proto.vim @Limero
|
||||
runtime/indent/ps1.vim @heaths
|
||||
runtime/indent/qb64.vim @dkearns
|
||||
runtime/indent/qml.vim @ChaseKnowlden
|
||||
runtime/indent/racket.vim @benknoble
|
||||
runtime/indent/rapid.vim @KnoP-01
|
||||
runtime/indent/readline.vim @dkearns
|
||||
runtime/indent/ruby.vim @AndrewRadev @dkearns
|
||||
runtime/indent/sass.vim @tpope
|
||||
runtime/indent/scala.vim @derekwyatt
|
||||
runtime/indent/scheme.vim @evhan
|
||||
runtime/indent/scss.vim @tpope
|
||||
runtime/indent/sh.vim @chrisbra
|
||||
runtime/indent/solidity.vim @coti-z
|
||||
runtime/indent/spajson.vim @dseomn
|
||||
runtime/indent/systemverilog.vim @Kocha
|
||||
runtime/indent/tcl.vim @dkearns
|
||||
runtime/indent/tcsh.vim @dkearns
|
||||
runtime/indent/teraterm.vim @k-takata
|
||||
runtime/indent/terraform.vim @gpanders
|
||||
runtime/indent/thrift.vim @jiangyinzuo
|
||||
runtime/indent/typescript.vim @HerringtonDarkholme
|
||||
runtime/indent/typst.vim @saccarosium
|
||||
runtime/indent/vroom.vim @dbarnett
|
||||
runtime/indent/xml.vim @chrisbra
|
||||
runtime/indent/zsh.vim @chrisbra
|
||||
runtime/keymap/armenian-eastern_utf-8.vim @blinskey
|
||||
runtime/keymap/armenian-western_utf-8.vim @blinskey
|
||||
runtime/keymap/brazilian_portuguese-abnt.vim @LuMarquesIlva
|
||||
runtime/keymap/brazilian_portuguese-compact.vim @LuMarquesIlva
|
||||
runtime/keymap/russian-typograph.vim @RestorerZ
|
||||
runtime/keymap/tamil_tscii.vim @yegappan
|
||||
runtime/keymap/ukrainian-enhanced.vim @Dolfost
|
||||
runtime/lang/menu_en_gb.latin1.vim @mrdubya
|
||||
runtime/lang/menu_ru_ru.cp1251.vim @RestorerZ
|
||||
runtime/lang/menu_ru_ru.koi8-r.vim @RestorerZ
|
||||
runtime/lang/menu_ru_ru.utf-8.vim @RestorerZ
|
||||
runtime/pack/dist/opt/cfilter/plugin/cfilter.vim @yegappan
|
||||
runtime/pack/dist/opt/comment/ @habamax
|
||||
runtime/pack/dist/opt/helptoc/ @kennypete
|
||||
runtime/pack/dist/opt/matchit/ @chrisbra
|
||||
runtime/pack/dist/opt/nohlsearch/ @habamax
|
||||
runtime/plugin/manpager.vim @Konfekt
|
||||
runtime/syntax/shared/hgcommitDiff.vim @vegerot
|
||||
runtime/syntax/abaqus.vim @costerwi
|
||||
runtime/syntax/abnf.vim @A4-Tacks
|
||||
runtime/syntax/aidl.vim @dpelle
|
||||
runtime/syntax/ant.vim @dkearns
|
||||
runtime/syntax/antlr4.vim @jiangyinzuo
|
||||
runtime/syntax/arduino.vim @johshoff
|
||||
runtime/syntax/asciidoc.vim @aerostitch
|
||||
runtime/syntax/asm.vim @dkearns
|
||||
runtime/syntax/asmh8300.vim @dkearns
|
||||
runtime/syntax/asterisk.vim @jaunis
|
||||
runtime/syntax/astro.vim @wuelnerdotexe
|
||||
runtime/syntax/asy.vim @avidseeker
|
||||
runtime/syntax/autohotkey.vim @mmikeww
|
||||
runtime/syntax/awk.vim @dkearns
|
||||
runtime/syntax/basic.vim @dkearns
|
||||
runtime/syntax/bst.vim @tpope
|
||||
runtime/syntax/bzl.vim @dbarnett
|
||||
runtime/syntax/bzr.vim @hdima
|
||||
runtime/syntax/cabal.vim @coot
|
||||
runtime/syntax/cabalconfig.vim @coot
|
||||
runtime/syntax/cabalproject.vim @coot
|
||||
runtime/syntax/cf.vim @ernstvanderlinden
|
||||
runtime/syntax/chatito.vim @ObserverOfTime
|
||||
runtime/syntax/chicken.vim @evhan
|
||||
runtime/syntax/chuck.vim @andreacfromtheapp
|
||||
runtime/syntax/clojure.vim @axvr
|
||||
runtime/syntax/cs.vim @nickspoons
|
||||
runtime/syntax/csv.vim @habamax
|
||||
runtime/syntax/cucumber.vim @tpope
|
||||
runtime/syntax/d.vim @JesseKPhillips
|
||||
runtime/syntax/dart.vim @pr3d4t0r
|
||||
runtime/syntax/datascript.vim @dpelle
|
||||
runtime/syntax/dax.vim @anarion80
|
||||
runtime/syntax/deb822sources.vim @jamessan
|
||||
runtime/syntax/debchangelog.vim @jamessan
|
||||
runtime/syntax/debcontrol.vim @jamessan
|
||||
runtime/syntax/debcopyright.vim @jamessan
|
||||
runtime/syntax/debsources.vim @jamessan
|
||||
runtime/syntax/dep3patch.vim @jamessan
|
||||
runtime/syntax/desktop.vim @e-kwsm
|
||||
runtime/syntax/dosbatch.vim @mrdubya
|
||||
runtime/syntax/dosini.vim @xuhdev
|
||||
runtime/syntax/dot.vim @mmottl
|
||||
runtime/syntax/doxygen.vim @frogonwheels
|
||||
runtime/syntax/dtd.vim @chrisbra
|
||||
runtime/syntax/dts.vim @zonque
|
||||
runtime/syntax/editorconfig.vim @gpanders
|
||||
runtime/syntax/eiffel.vim @jocelyn
|
||||
runtime/syntax/erlang.vim @hcs42
|
||||
runtime/syntax/eruby.vim @tpope @dkearns
|
||||
runtime/syntax/expect.vim @dkearns
|
||||
runtime/syntax/falcon.vim @steveno
|
||||
runtime/syntax/fetchmail.vim @dkearns
|
||||
runtime/syntax/forth.vim @jkotlinski
|
||||
runtime/syntax/fpcmake.vim @dkearns
|
||||
runtime/syntax/freebasic.vim @dkearns
|
||||
runtime/syntax/fstab.vim @rid9
|
||||
runtime/syntax/gdresource.vim @habamax
|
||||
runtime/syntax/gdscript.vim @habamax
|
||||
runtime/syntax/gdshader.vim @habamax
|
||||
runtime/syntax/git.vim @tpope
|
||||
runtime/syntax/gitattributes.vim @ObserverOfTime
|
||||
runtime/syntax/gitcommit.vim @tpope
|
||||
runtime/syntax/gitconfig.vim @tpope
|
||||
runtime/syntax/gitignore.vim @ObserverOfTime
|
||||
runtime/syntax/gitolite.vim @sitaramc
|
||||
runtime/syntax/gitrebase.vim @tpope
|
||||
runtime/syntax/gleam.vim @kirillmorozov
|
||||
runtime/syntax/glsl.vim @gpanders
|
||||
runtime/syntax/go.vim @bhcleek
|
||||
runtime/syntax/goaccess.vim @meonkeys
|
||||
runtime/syntax/godoc.vim @dbarnett
|
||||
runtime/syntax/gp.vim @KBelabas
|
||||
runtime/syntax/gprof.vim @dpelle
|
||||
runtime/syntax/graphql.vim @jparise
|
||||
runtime/syntax/groff.vim @jmarshall
|
||||
runtime/syntax/gyp.vim @ObserverOfTime
|
||||
runtime/syntax/haml.vim @tpope
|
||||
runtime/syntax/hare.vim @selenebun
|
||||
runtime/syntax/haredoc.vim @selenebun
|
||||
runtime/syntax/haskell.vim @coot
|
||||
runtime/syntax/hcl.vim @gpanders
|
||||
runtime/syntax/help.vim @dkearns
|
||||
runtime/syntax/help_ru.vim @RestorerZ
|
||||
runtime/syntax/hgcommit.vim @k-takata
|
||||
runtime/syntax/hitest.vim @lacygoill
|
||||
runtime/syntax/hog.vim @wtfbbqhax
|
||||
runtime/syntax/hollywood.vim @sodero
|
||||
runtime/syntax/html.vim @dkearns
|
||||
runtime/syntax/htmlangular.vim @dlvandenberg
|
||||
runtime/syntax/hyprlang.vim @saccarosium
|
||||
runtime/syntax/i3config.vim @hiqua
|
||||
runtime/syntax/icon.vim @dkearns
|
||||
runtime/syntax/indent.vim @dkearns
|
||||
runtime/syntax/j.vim @glts
|
||||
runtime/syntax/jargon.vim @h3xx
|
||||
runtime/syntax/java.vim @zzzyxwvut
|
||||
runtime/syntax/javascript.vim @fleiner
|
||||
runtime/syntax/jinja.vim @gpanders
|
||||
runtime/syntax/jjdescription.vim @gpanders
|
||||
runtime/syntax/json.vim @vito-c
|
||||
runtime/syntax/jsonc.vim @izhakjakov
|
||||
runtime/syntax/julia.vim @carlobaldassi
|
||||
runtime/syntax/just.vim @pbnj
|
||||
runtime/syntax/jq.vim @vito-c
|
||||
runtime/syntax/karel.vim @kirillmorozov
|
||||
runtime/syntax/kconfig.vim @chrisbra
|
||||
runtime/syntax/kivy.vim @prophittcorey
|
||||
runtime/syntax/kotlin.vim @udalov
|
||||
runtime/syntax/kdl.vim @imsnif @jiangyinzuo
|
||||
runtime/syntax/krl.vim @KnoP-01
|
||||
runtime/syntax/less.vim @genoma
|
||||
runtime/syntax/lf.vim @andis-sprinkis
|
||||
runtime/syntax/liquid.vim @tpope
|
||||
runtime/syntax/lua.vim @marcuscf
|
||||
runtime/syntax/lyrics.vim @ObserverOfTime
|
||||
runtime/syntax/lynx.vim @dkearns
|
||||
runtime/syntax/m17ndb.vim @dseomn
|
||||
runtime/syntax/m3build.vim @dkearns
|
||||
runtime/syntax/m3quake.vim @dkearns
|
||||
runtime/syntax/mailcap.vim @dkearns
|
||||
runtime/syntax/make.vim @rohieb
|
||||
runtime/syntax/mallard.vim @jhradilek
|
||||
runtime/syntax/markdown.vim @tpope
|
||||
runtime/syntax/mbsync.vim @fymyte
|
||||
runtime/syntax/mason.vim @petdance
|
||||
runtime/syntax/mediawiki.vim @avidseeker
|
||||
runtime/syntax/meson.vim @Liambeguin
|
||||
runtime/syntax/modula2.vim @dkearns
|
||||
runtime/syntax/modula2/opt/iso.vim @trijezdci
|
||||
runtime/syntax/modula2/opt/pim.vim @trijezdci
|
||||
runtime/syntax/modula2/opt/r10.vim @trijezdci
|
||||
runtime/syntax/modula3.vim @dkearns
|
||||
runtime/syntax/mss.vim @Freed-Wu
|
||||
runtime/syntax/n1ql.vim @pr3d4t0r
|
||||
runtime/syntax/nginx.vim @chr4
|
||||
runtime/syntax/ninja.vim @nico
|
||||
runtime/syntax/nix.vim @equill
|
||||
runtime/syntax/nroff.vim @jmarshall
|
||||
runtime/syntax/nsis.vim @k-takata
|
||||
runtime/syntax/odin.vim @habamax
|
||||
runtime/syntax/omnimark.vim @kennypete
|
||||
runtime/syntax/ondir.vim @jparise
|
||||
runtime/syntax/opencl.vim @Freed-Wu
|
||||
runtime/syntax/openvpn.vim @ObserverOfTime
|
||||
runtime/syntax/org.vim @saccarosium
|
||||
runtime/syntax/pacmanlog.vim @rpigott
|
||||
runtime/syntax/pascal.vim @dkearns
|
||||
runtime/syntax/pbtxt.vim @lakshayg
|
||||
runtime/syntax/pdf.vim @tpope
|
||||
runtime/syntax/perl.vim @petdance
|
||||
runtime/syntax/php.vim @TysonAndre
|
||||
runtime/syntax/plsql.vim @lee-lindley
|
||||
runtime/syntax/pod.vim @petdance
|
||||
runtime/syntax/poefilter.vim @ObserverOfTime
|
||||
runtime/syntax/postscr.vim @mrdubya
|
||||
runtime/syntax/pq.vim @anarion80
|
||||
runtime/syntax/privoxy.vim @dkearns
|
||||
runtime/syntax/progress.vim @rdnlsmith
|
||||
runtime/syntax/prolog.vim @XVilka
|
||||
runtime/syntax/prql.vim @vanillajonathan
|
||||
runtime/syntax/ps1.vim @heaths
|
||||
runtime/syntax/ps1xml.vim @heaths
|
||||
runtime/syntax/psl.vim @danielkho
|
||||
runtime/syntax/ptx.vim @jiangyinzuo
|
||||
runtime/syntax/pymanifest.vim @ObserverOfTime
|
||||
runtime/syntax/qb64.vim @dkearns
|
||||
runtime/syntax/qml.vim @ChaseKnowlden
|
||||
runtime/syntax/racket.vim @benknoble
|
||||
runtime/syntax/raml.vim @in3d
|
||||
runtime/syntax/rapid.vim @KnoP-01
|
||||
runtime/syntax/ratpoison.vim @trapd00r
|
||||
runtime/syntax/rasi.vim @fymyte
|
||||
runtime/syntax/rc.vim @chrisbra
|
||||
runtime/syntax/rcs.vim @hdima
|
||||
runtime/syntax/rebol.vim @mrdubya
|
||||
runtime/syntax/rego.vim @zenmatic
|
||||
runtime/syntax/resolv.vim @rid9
|
||||
runtime/syntax/rng.vim @jhradilek
|
||||
runtime/syntax/routeros.vim @zainin
|
||||
runtime/syntax/rst.vim @marshallward
|
||||
runtime/syntax/ruby.vim @dkearns
|
||||
runtime/syntax/salt.vim @gpanders
|
||||
runtime/syntax/sass.vim @tpope
|
||||
runtime/syntax/scala.vim @derekwyatt
|
||||
runtime/syntax/scheme.vim @evhan
|
||||
runtime/syntax/scss.vim @tpope
|
||||
runtime/syntax/sed.vim @dkearns
|
||||
runtime/syntax/shared/debversions.vim @jamessan
|
||||
runtime/syntax/shaderslang.vim @mTvare6
|
||||
runtime/syntax/solidity.vim @coti-z
|
||||
runtime/syntax/spajson.vim @dseomn
|
||||
runtime/syntax/spec.vim @ignatenkobrain
|
||||
runtime/syntax/sqloracle.vim @chrisbra
|
||||
runtime/syntax/squirrel.vim @zenmatic
|
||||
runtime/syntax/srt.vim @ObserverOfTime
|
||||
runtime/syntax/ssa.vim @ObserverOfTime
|
||||
runtime/syntax/sshconfig.vim @Jakuje
|
||||
runtime/syntax/sshdconfig.vim @Jakuje
|
||||
runtime/syntax/sudoers.vim @e-kwsm
|
||||
runtime/syntax/svn.vim @hdima
|
||||
runtime/syntax/swayconfig.vim @jamespeapen
|
||||
runtime/syntax/swig.vim @jmarrec
|
||||
runtime/syntax/systemverilog.vim @Kocha
|
||||
runtime/syntax/tap.vim @petdance
|
||||
runtime/syntax/tcsh.vim @dkearns
|
||||
runtime/syntax/tera.vim @MuntasirSZN
|
||||
runtime/syntax/teraterm.vim @k-takata
|
||||
runtime/syntax/terraform.vim @gpanders
|
||||
runtime/syntax/thrift.vim @jiangyinzuo
|
||||
runtime/syntax/tiasm.vim @Freed-Wu
|
||||
runtime/syntax/tidy.vim @dkearns
|
||||
runtime/syntax/tmux.vim @ericpruitt
|
||||
runtime/syntax/toml.vim @averms
|
||||
runtime/syntax/tt2.vim @petdance
|
||||
runtime/syntax/tt2html.vim @petdance
|
||||
runtime/syntax/tt2js.vim @petdance
|
||||
runtime/syntax/typescript.vim @HerringtonDarkholme @rhysd
|
||||
runtime/syntax/typescriptreact.vim @HerringtonDarkholme @rhysd
|
||||
runtime/syntax/typst.vim @gpanders
|
||||
runtime/syntax/shared/typescriptcommon.vim @HerringtonDarkholme @rhysd
|
||||
runtime/syntax/unison.vim @chuwy
|
||||
runtime/syntax/vdf.vim @ObserverOfTime
|
||||
runtime/syntax/vroom.vim @dbarnett
|
||||
runtime/syntax/wdl.vim @zenmatic
|
||||
runtime/syntax/wget.vim @dkearns
|
||||
runtime/syntax/wget2.vim @dkearns
|
||||
runtime/syntax/xbl.vim @dkearns
|
||||
runtime/syntax/xcompose.vim @ObserverOfTime
|
||||
runtime/syntax/xml.vim @chrisbra
|
||||
runtime/syntax/xs.vim @petdance
|
||||
runtime/syntax/xslt.vim @Boobies
|
||||
runtime/syntax/zserio.vim @dpelle
|
||||
runtime/syntax/zsh.vim @chrisbra
|
||||
runtime/tutor/tutor1.eo @dpelle
|
||||
runtime/tutor/tutor1.fr @dpelle
|
||||
runtime/tutor/tutor1.ru @RestorerZ
|
||||
runtime/tutor/tutor2.fr @dlejay
|
||||
src/iscygpty.* @k-takata
|
||||
src/libvterm/ @leonerd
|
||||
src/po/ca.po @nfdisco
|
||||
src/po/de.po @chrisbra
|
||||
src/po/eo.po @dpelle
|
||||
src/po/es.po @victorhck
|
||||
src/po/fi.po @flammie
|
||||
src/po/fr.po @dpelle
|
||||
src/po/ga.po @kscanne
|
||||
src/po/hy.po @gagikh
|
||||
src/po/it.po @azc100
|
||||
src/po/ja.po @k-takata
|
||||
src/po/ru.po @RestorerZ
|
||||
src/po/sr.po @eevan78
|
||||
src/po/tr.po @bitigchi
|
||||
src/po/uk.po @sakhnik
|
||||
src/xxd/ @jnweiger
|
||||
@@ -1,5 +0,0 @@
|
||||
# Security Policy
|
||||
|
||||
**Please do not report security vulnerabilities through public GitHub issues.**
|
||||
|
||||
To report a security vulnerability for MacVim, please either email security@macvim.org, or visit https://github.com/macvim-dev/macvim/security/advisories/new.
|
||||
@@ -1,27 +0,0 @@
|
||||
name: 'test_artifacts'
|
||||
description: "Upload failed test artifacts"
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Upload failed tests
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
# Name of the artifact to upload.
|
||||
name: ${{ github.workflow }}-${{ github.job }}-${{ join(matrix.*, '-') }}-failed-tests
|
||||
|
||||
# A file, directory or wildcard pattern that describes what
|
||||
# to upload.
|
||||
path: |
|
||||
${{ github.workspace }}/runtime/indent/testdir/*.fail
|
||||
${{ github.workspace }}/runtime/syntax/testdir/failed/*
|
||||
${{ github.workspace }}/src/testdir/failed/*
|
||||
# The desired behavior if no files are found using the
|
||||
# provided path.
|
||||
if-no-files-found: ignore
|
||||
|
||||
# Duration after which artifact will expire in days. 0 means
|
||||
# using repository settings.
|
||||
retention-days: 0
|
||||
|
||||
# If true, an artifact with a matching name will be deleted
|
||||
overwrite: true
|
||||
@@ -1,26 +0,0 @@
|
||||
# This is a clone of test_artifacts for MacVim-specific files
|
||||
name: 'test_macvim_artifacts'
|
||||
description: "Upload failed MacVim test artifacts"
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Upload failed tests
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
# Name of the artifact to upload.
|
||||
name: ${{ github.workflow }}-${{ github.job }}-${{ join(matrix.*, '-') }}-failed-macvim-tests
|
||||
|
||||
# A file, directory or wildcard pattern that describes what
|
||||
# to upload.
|
||||
path: |
|
||||
/Users/runner/Library/Developer/Xcode/DerivedData/MacVim-*/Logs/Test/*.xcresult
|
||||
# The desired behavior if no files are found using the
|
||||
# provided path.
|
||||
if-no-files-found: ignore
|
||||
|
||||
# Duration after which artifact will expire in days. 0 means
|
||||
# using repository settings.
|
||||
retention-days: 0
|
||||
|
||||
# If true, an artifact with a matching name will be deleted
|
||||
overwrite: true
|
||||
@@ -1,14 +1,5 @@
|
||||
name: Universal package
|
||||
description: Create universal Homebrew package which contains x86_64 and arm64
|
||||
|
||||
# Instead of using the default binary installed by Homebrew, we need to build our own because third-party libraries are
|
||||
# statically linked in MacVim, and need to be built against MACOSX_DEPLOYMENT_TARGET to ensure the built binary will
|
||||
# work on supported macOS versions. Another reason for building our own custom package is to build a unviersal binary
|
||||
# that has both x86_64 and arm64 arch, as Homebrew's distributed bottles are thin binaries with only one arch.
|
||||
#
|
||||
# We still use Homebrew to manage the library because their formulas are up to date and have correct build instructions
|
||||
# that will work. This way we don't have to manually configuring and building and updating the package info.
|
||||
|
||||
inputs:
|
||||
formula:
|
||||
description: Formura name
|
||||
@@ -20,76 +11,74 @@ runs:
|
||||
using: 'composite'
|
||||
steps:
|
||||
- name: Set up formula
|
||||
id: setup-formula
|
||||
shell: bash
|
||||
run: |
|
||||
echo '::group::Set up formula'
|
||||
set -o pipefail
|
||||
formula=${{ inputs.formula }}
|
||||
|
||||
# Need to make sure we get the latest before patching. Otherwise Homebrew may later try to get the latest
|
||||
# version and stomp what we have here.
|
||||
brew update
|
||||
|
||||
# Patch the official Homebrew formula to explicitly build for min deployment target and a universal binary. We
|
||||
# also need to explicitly use system Clang because Homebrew's bundled clang script tries to inject -march
|
||||
# compiler flags that will cause universal builds to fail as Clang does not like that.
|
||||
# Patch the official Homebrew formula to explicitly build for min deployment target
|
||||
brew cat ${formula} | \
|
||||
sed '/^[[:blank:]]*def install$/a\'$'\n ENV["MACOSX_DEPLOYMENT_TARGET"] = "'${MACOSX_DEPLOYMENT_TARGET}$'"\n' | \
|
||||
sed '/^[[:blank:]]*def install$/a\'$'\n ENV["CC"] = "/usr/bin/clang"\n' | \
|
||||
sed '/^[[:blank:]]*def install$/a\'$'\n ENV["CFLAGS"] = "-arch x86_64 -arch arm64"\n' | \
|
||||
sed '/^[[:blank:]]*def install$/a\'$'\n ENV["LDFLAGS"] = "-arch x86_64 -arch arm64"\n' >${formula}.rb
|
||||
sed '/^[[:blank:]]*def install$/a\'$'\n ENV["MACOSX_DEPLOYMENT_TARGET"] = "'${MACOSX_DEPLOYMENT_TARGET}$'"\n' >${formula}.rb
|
||||
|
||||
# Uninstall the already installed formula because we want to build our own
|
||||
brew uninstall --ignore-dependencies ${formula} || true
|
||||
|
||||
# Extract Xcode version to serve as part of the key for caching
|
||||
xcode_version=$(xcodebuild -version | tail -1 | sed -E 's/Build version (.*)/\1/')
|
||||
echo "xcode_version=$xcode_version" >> $GITHUB_OUTPUT
|
||||
|
||||
# Find Homebrew's install location which could be /usr/local or /opt/homebrew
|
||||
brew_prefix=$(brew --prefix)
|
||||
echo "brew_prefix=$brew_prefix" >> $GITHUB_OUTPUT
|
||||
|
||||
echo '::endgroup::'
|
||||
|
||||
- name: Cache keg
|
||||
id: cache-keg
|
||||
uses: actions/cache@v4
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ${{ steps.setup-formula.outputs.brew_prefix }}/Cellar/${{ inputs.formula }}
|
||||
key: ${{ inputs.formula }}-homebrew-cache-custom-unified-prefix${{ steps.setup-formula.outputs.brew_prefix }}-xcode${{ steps.setup-formula.outputs.xcode_version }}-${{ hashFiles(format('{0}.rb', inputs.formula)) }}
|
||||
path: /usr/local/Cellar/${{ inputs.formula }}
|
||||
key: ${{ inputs.formula }}-homebrew-cache-patched-unified-${{ hashFiles(format('{0}.rb', inputs.formula)) }}
|
||||
|
||||
- name: Install formula
|
||||
shell: bash
|
||||
env:
|
||||
HOMEBREW_NO_AUTO_UPDATE: '1'
|
||||
run: |
|
||||
echo '::group::Install formula'
|
||||
formula=${{ inputs.formula }}
|
||||
|
||||
# We don't want brew to go upgrade all our dependents for now. They are
|
||||
# time consuming and sometimes cause problems with the CI environment
|
||||
# where they fail to link in random binaries (e.g. Python's 2to3),
|
||||
# which cause brew install to return non-zero and fail the build.
|
||||
export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
|
||||
# This will be a no-op if formula was cached
|
||||
brew install --formula -s ./${formula}.rb
|
||||
|
||||
# This will be a no-op if formula was cached. We check if the package
|
||||
# exists first just to avoid an "already installed" warning.
|
||||
brew list ${formula} &>/dev/null || brew install --quiet --formula -s ./${formula}.rb
|
||||
|
||||
# If formula was cached, this step is necessary to relink it to brew prefix (e.g. /usr/local)
|
||||
# If formula was cached, this step is necessary to relink it to /usr/local/
|
||||
brew unlink ${formula} && brew link ${formula}
|
||||
echo '::endgroup::'
|
||||
|
||||
echo '::group::Verify built version'
|
||||
- name: Create universal binaries with arm64 bottle
|
||||
if: steps.cache-keg.outputs.cache-hit != 'true'
|
||||
shell: bash
|
||||
run: |
|
||||
echo '::group::Create universal binaries with arm64 bottle'
|
||||
set -o verbose
|
||||
formula=${{ inputs.formula }}
|
||||
contents=($(IFS=,; for x in ${{ inputs.contents }}; do echo ${x}; done))
|
||||
|
||||
# Manually download and extract a bottle for arm64
|
||||
source /dev/stdin <<<"$(brew info --json ${formula} | \
|
||||
jq -r '.[0] | "bottle_url=\(.bottle.stable.files.arm64_big_sur.url)", "formula_ver=\(.versions.stable)", "formula_rev=\(.revision)"')"
|
||||
if [[ ${formula_rev} -ne 0 ]]; then
|
||||
formula_ver=${formula_ver}_${formula_rev}
|
||||
fi
|
||||
|
||||
workdir=${formula}_download
|
||||
mkdir ${workdir}
|
||||
cd ${workdir}
|
||||
wget --no-verbose --header 'Authorization: Bearer QQ==' -O ${formula}.tar.gz ${bottle_url}
|
||||
tar xf ${formula}.tar.gz
|
||||
|
||||
for content in "${contents[@]}"; do
|
||||
# Print out the archs and verify they are universal fat binary.
|
||||
lipo -info $(brew --prefix)/${content} | grep 'x86_64 arm64'
|
||||
# Just for diagnostics, print out the old archs. This should be a thin binary (x86_64)
|
||||
lipo -info /usr/local/${content}
|
||||
|
||||
# Make sure deployment target is correct. Later macOS versions have a different binary format (just search for
|
||||
# "minos") but for 10.13 we need to look for LC_VERSION_MIN_MACOSX.
|
||||
otool -l $(brew --prefix)/${content} | grep -A 2 LC_VERSION_MIN_MACOSX | tail -1 | grep "${MACOSX_DEPLOYMENT_TARGET}"
|
||||
# Create a universal binary by patching the custom built x86_64 one with the downloaded arm64 one.
|
||||
# Modify the actual binaries in /usr/local/Cellar instead of the symlinks to allow caching to work.
|
||||
lipo -create -output /usr/local/Cellar/${formula}/${formula_ver}/${content} \
|
||||
/usr/local/Cellar/${formula}/${formula_ver}/${content} ./${formula}/${formula_ver}/${content}
|
||||
|
||||
# Print out the new archs and verify they are universal with 2 archs.
|
||||
lipo -info /usr/local/${content} | grep 'x86_64 arm64'
|
||||
done
|
||||
|
||||
echo '::endgroup::'
|
||||
|
||||
@@ -4,5 +4,3 @@ updates:
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
commit-message:
|
||||
prefix: "CI"
|
||||
|
||||
@@ -1,155 +0,0 @@
|
||||
# list of labels and minimatch globs to match to apply the label.
|
||||
|
||||
CI:
|
||||
- all:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- '.cirrus.yml'
|
||||
- '.github/dependabot.yml'
|
||||
- '.github/labeler.yml'
|
||||
- '.github/workflows/*'
|
||||
- '.appveyor.yml'
|
||||
- '.codecov.yml'
|
||||
|
||||
documentation:
|
||||
- all:
|
||||
- changed-files:
|
||||
- any-glob-to-all-files:
|
||||
- '*/doc/*'
|
||||
|
||||
translation:
|
||||
- all:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- 'src/po/*.po'
|
||||
|
||||
if_lua:
|
||||
- all:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- 'src/if_lua.c'
|
||||
- 'src/proto/if_lua.pro'
|
||||
- 'runtime/doc/if_lua.txt'
|
||||
|
||||
if_mzscheme:
|
||||
- all:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- 'src/if_mzsch.c'
|
||||
- 'src/if_mzsch.h'
|
||||
- 'src/proto/if_mzsch.pro'
|
||||
- 'runtime/doc/if_mzsch.txt'
|
||||
|
||||
if_perl:
|
||||
- all:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- 'src/if_perl.xs'
|
||||
- 'src/if_perlsfio.c'
|
||||
- 'src/proto/if_perl.pro'
|
||||
- 'src/proto/if_perlsfio.pro'
|
||||
- 'runtime/doc/if_perl.txt'
|
||||
|
||||
if_python:
|
||||
- all:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- 'src/if_py_both.h'
|
||||
- 'runtime/doc/if_pyth.txt'
|
||||
- 'src/if_python.c'
|
||||
- 'src/if_python3.c'
|
||||
- 'src/proto/if_python.pro'
|
||||
- 'src/proto/if_python3.pro'
|
||||
|
||||
if_ruby:
|
||||
- all:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- 'src/if_ruby.c'
|
||||
- 'src/proto/if_ruby.pro'
|
||||
- 'runtime/doc/if_ruby.txt'
|
||||
|
||||
if_tcl:
|
||||
- all:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- 'src/if_tcl.c'
|
||||
- 'src/proto/if_tcl.pro'
|
||||
- 'runtime/doc/if_tcl.txt'
|
||||
|
||||
installer:
|
||||
- all:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- 'nsis/**'
|
||||
- 'src/dosinst.*'
|
||||
- 'src/uninstall.c'
|
||||
|
||||
platform-mac:
|
||||
- all:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- 'src/INSTALLmac.txt'
|
||||
- 'src/os_mac*'
|
||||
- 'src/proto/os_mac*'
|
||||
|
||||
platform-windows:
|
||||
- all:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- 'nsis/**'
|
||||
- 'src/*.bat'
|
||||
- 'src/*.bmp'
|
||||
- 'src/*.ico'
|
||||
- 'src/GvimExt/*'
|
||||
- 'src/INSTALLpc.txt'
|
||||
- 'src/Make_cyg*.mak'
|
||||
- 'src/Make_ming.mak'
|
||||
- 'src/Make_mvc.mak'
|
||||
- 'src/dosinst.*'
|
||||
- 'src/gui_dwrite.*'
|
||||
- 'src/gui_w32*'
|
||||
- 'src/if_ole.*'
|
||||
- 'src/iid_ole.c'
|
||||
- 'src/os_mswin*'
|
||||
- 'src/os_w32*'
|
||||
- 'src/os_win32.*'
|
||||
- 'src/proto/gui_w32.pro'
|
||||
- 'src/proto/os_mswin.pro'
|
||||
- 'src/proto/os_win32.pro'
|
||||
- 'src/proto/winclip.pro'
|
||||
- 'src/uninstall.c'
|
||||
- 'src/vim.manifest'
|
||||
- 'src/vim.rc'
|
||||
- 'src/vimrun.c'
|
||||
- 'src/winclip.c'
|
||||
- 'src/xpm/**'
|
||||
- 'src/xpm_w32.*'
|
||||
|
||||
runtime:
|
||||
- all:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- 'runtime/ftplugin'
|
||||
- 'runtime/syntax'
|
||||
- 'runtime/indent'
|
||||
- 'runtime/pack/dist/opt/termdebug/plugin/termdebug.vim'
|
||||
|
||||
termdebug:
|
||||
- all:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- 'runtime/pack/dist/opt/termdebug/plugin/termdebug.vim'
|
||||
|
||||
plugin-netrw:
|
||||
- all:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- 'runtime/plugin/netrwPlugin.vim'
|
||||
- 'runtime/autoload/netrw*'
|
||||
|
||||
xxd:
|
||||
- all:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- 'src/xxd/*'
|
||||
@@ -1,7 +0,0 @@
|
||||
# Customize GitHub release notes generation. This is only used for pre-release builds for now as
|
||||
# main releases have hand-written release notes.
|
||||
changelog:
|
||||
exclude:
|
||||
labels:
|
||||
- dependencies
|
||||
- Non User Facing
|
||||
@@ -1,7 +1,5 @@
|
||||
name: MacVim GitHub CI
|
||||
|
||||
# Main CI workflow for MacVim. Will build and test MacVim on different platforms.
|
||||
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
@@ -13,48 +11,303 @@ concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
|
||||
cancel-in-progress: true
|
||||
|
||||
env:
|
||||
MACOSX_DEPLOYMENT_TARGET: '10.13'
|
||||
MACOSX_DEPLOYMENT_TARGET_LEGACY: '10.9'
|
||||
|
||||
MACVIM_ARCHS: "x86_64 arm64" # Universal app for Intel/Apple Silicon
|
||||
MACVIM_ARCHS_LEGACY: "x86_64" # Legacy builds only need to build x86-64 because Apple Silicon can't run on these old OSes
|
||||
|
||||
CC: clang
|
||||
|
||||
VERSIONER_PERL_VERSION: '5.30'
|
||||
VERSIONER_PYTHON_VERSION: '2.7'
|
||||
vi_cv_path_python: /usr/local/bin/python
|
||||
vi_cv_path_python3: /usr/local/bin/python3
|
||||
vi_cv_path_plain_lua: /usr/local/bin/lua
|
||||
vi_cv_path_ruby: /usr/local/opt/ruby/bin/ruby
|
||||
vi_cv_dll_name_perl: /System/Library/Perl/5.30/darwin-thread-multi-2level/CORE/libperl.dylib
|
||||
vi_cv_dll_name_python: /usr/local/Frameworks/Python.framework/Versions/2.7/Python
|
||||
vi_cv_dll_name_python3: /usr/local/Frameworks/Python.framework/Versions/3.10/Python # Make sure to keep src/MacVim/vimrc synced with the Python version here for the Python DLL detection logic.
|
||||
vi_cv_dll_name_python3_arm64: /opt/homebrew/Frameworks/Python.framework/Versions/3.10/Python
|
||||
vi_cv_dll_name_ruby: /usr/local/opt/ruby/lib/libruby.dylib
|
||||
vi_cv_dll_name_ruby_arm64: /opt/homebrew/opt/ruby/lib/libruby.dylib
|
||||
vi_cv_dll_name_lua_arm64: /opt/homebrew/lib/liblua.dylib
|
||||
|
||||
VIM_BIN: src/MacVim/build/Release/MacVim.app/Contents/MacOS/Vim
|
||||
MACVIM_BIN: src/MacVim/build/Release/MacVim.app/Contents/MacOS/MacVim
|
||||
|
||||
TERM: xterm
|
||||
BASH_SILENCE_DEPRECATION_WARNING: 1
|
||||
|
||||
jobs:
|
||||
# Builds and test MacVim
|
||||
build-and-test:
|
||||
|
||||
# Test on macOS 11.x / 12.x, and also older versions of Xcode for compatibility testing.
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
# Self-hosted runner with old enough software (Xcode 14.0.1) to be
|
||||
# able to make legacy builds. We only run this when making a full
|
||||
# release build.
|
||||
- os: macos-13-xcode14-self-hosted
|
||||
# Oldest version of Xcode supported on GitHub Action to test source code backwards compatibility
|
||||
- os: macos-11
|
||||
xcode: '11.7'
|
||||
|
||||
# Older version of Xcode, and used to publish legacy builds (for macOS 10.9 - 10.12)
|
||||
- os: macos-12
|
||||
xcode: '14.0' # last version of Xcode that uses the macOS 12 SDK, which still supports deploying to macOS 10.9
|
||||
publish: true
|
||||
publish_postfix: '_10.9'
|
||||
skip: ${{ ! startswith(github.ref, 'refs/tags/release') }}
|
||||
legacy: true
|
||||
|
||||
- os: macos-13
|
||||
xcode: '15.2'
|
||||
testgui: true
|
||||
extra: [vimtags, check-xcodeproj-compat]
|
||||
|
||||
# Below runners use Apple Silicon.
|
||||
- os: macos-14
|
||||
xcode: '15.4'
|
||||
testgui: false
|
||||
publish_postfix: '_10.9'
|
||||
|
||||
# Most up to date OS and Xcode. Used to publish release for the main build.
|
||||
- os: macos-15
|
||||
xcode: '16.4'
|
||||
testgui: true
|
||||
- os: macos-12
|
||||
xcode: '14.1'
|
||||
publish: true
|
||||
optimized: true
|
||||
|
||||
uses: ./.github/workflows/macvim-buildtest.yaml
|
||||
with:
|
||||
skip: ${{ matrix.skip && true || false }}
|
||||
os: ${{ matrix.os }}
|
||||
legacy: ${{ matrix.legacy && true || false }}
|
||||
xcode: ${{ matrix.xcode }}
|
||||
testgui: ${{ matrix.testgui && true || false }}
|
||||
publish: ${{ matrix.publish && true || false }}
|
||||
publish_postfix: ${{ matrix.publish_postfix }}
|
||||
optimized: ${{ matrix.optimized && true || false }}
|
||||
vimtags: ${{ contains(matrix.extra, 'vimtags') }}
|
||||
check-xcodeproj-compat: ${{ contains(matrix.extra, 'check-xcodeproj-compat') }}
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Set up legacy build
|
||||
if: matrix.legacy
|
||||
run: |
|
||||
# Set the correct build env vars to target the correct architectures and min OS targets.
|
||||
echo "MACOSX_DEPLOYMENT_TARGET=$MACOSX_DEPLOYMENT_TARGET_LEGACY" >> $GITHUB_ENV
|
||||
echo "MACVIM_ARCHS=$MACVIM_ARCHS_LEGACY" >> $GITHUB_ENV
|
||||
|
||||
# Use Sparkle 1 because Sparkle 2 requires newer OS version than our legacy build.
|
||||
# Later, we pass the --enable-sparkle_1 flag to configure to set the corresponding ifdef.
|
||||
ln -fhs Sparkle_1.framework src/MacVim/Sparkle.framework
|
||||
|
||||
# Set up, install, and cache gettext library for localization.
|
||||
#
|
||||
# Instead of using the default binary installed by Homebrew, need to build our own because gettext is statically
|
||||
# linked in MacVim, and need to be built against MACOSX_DEPLOYMENT_TARGET to ensure the built binary will work on
|
||||
# supported macOS versions.
|
||||
#
|
||||
# In addition, to support building a universal MacVim, we need an arm64 version of gettext as well in order to
|
||||
# create a universal gettext binary to link against (Homebrew only distributes thin binaries and therefore this
|
||||
# has to be done manually). To do that, we will just pull the bottle directly from Homebrew and patch it in using
|
||||
# lipo. We can't use normal brew commands to get the bottle because brew doesn't natively support cross-compiling
|
||||
# and we are running CI on x86_64 Macs. We also don't need to worry about the min deployment target fix on arm64
|
||||
# because all Apple Silicon Macs have to run on macOS 11+.
|
||||
|
||||
- name: Set up gettext
|
||||
if: matrix.publish
|
||||
uses: ./.github/actions/universal-package
|
||||
with:
|
||||
formula: gettext
|
||||
contents: lib/libintl.a,lib/libintl.dylib
|
||||
|
||||
# Set up, install, and cache libsodium library for encryption.
|
||||
|
||||
- name: Set up libsodium
|
||||
if: matrix.publish
|
||||
uses: ./.github/actions/universal-package
|
||||
with:
|
||||
formula: libsodium
|
||||
contents: lib/libsodium.a,lib/libsodium.dylib
|
||||
|
||||
# Set up remaining packages and tools
|
||||
|
||||
- name: Install packages
|
||||
if: matrix.publish
|
||||
env:
|
||||
HOMEBREW_NO_AUTO_UPDATE: 1
|
||||
run: |
|
||||
brew install python3
|
||||
brew install ruby
|
||||
brew install lua
|
||||
|
||||
# CI sometimes have custom installed Python instead of using Homebrew. Forcefully re-
|
||||
# link Python, and then check that we are using the Homebrew version. This avoids us
|
||||
# using a mystery Python installation that we don't control.
|
||||
brew unlink python3 && brew link --overwrite python3
|
||||
readlink -f $vi_cv_path_python3 | grep "^$(brew --cellar python3)"
|
||||
|
||||
if [[ -d /usr/local/Cellar/perl ]]; then
|
||||
# We just use system perl to reduce dependencies
|
||||
brew unlink perl
|
||||
fi
|
||||
|
||||
- name: Set up Xcode
|
||||
if: matrix.xcode != ''
|
||||
run: |
|
||||
sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer
|
||||
xcode-select -p
|
||||
|
||||
# All set up steps are done. Build and test MacVim below.
|
||||
|
||||
- name: Configure
|
||||
run: |
|
||||
set -o verbose
|
||||
|
||||
CONFOPT=(
|
||||
--with-features=huge
|
||||
--enable-netbeans
|
||||
--with-tlib=ncurses
|
||||
--enable-cscope
|
||||
--enable-gui=macvim
|
||||
--with-compiledby="GitHub Actions"
|
||||
)
|
||||
if ${{ matrix.publish == true }}; then
|
||||
CONFOPT+=(
|
||||
--enable-perlinterp=dynamic
|
||||
--enable-pythoninterp=dynamic
|
||||
--enable-python3interp=dynamic
|
||||
--enable-rubyinterp=dynamic
|
||||
--enable-luainterp=dynamic
|
||||
--with-lua-prefix=/usr/local
|
||||
--with-macarchs="$MACVIM_ARCHS"
|
||||
)
|
||||
else
|
||||
CONFOPT+=(
|
||||
--with-macarchs=x86_64
|
||||
--disable-sparkle # Disable Sparkle for testing that this flag builds and works
|
||||
)
|
||||
fi
|
||||
if ${{ matrix.legacy == true }}; then
|
||||
CONFOPT+=(
|
||||
--enable-sparkle_1
|
||||
)
|
||||
fi
|
||||
echo "CONFOPT: ${CONFOPT[@]}"
|
||||
|
||||
./configure "${CONFOPT[@]}" --enable-fail-if-missing
|
||||
|
||||
sed -i.bak -f ci/config.mk.sed -f ci/config.mk.clang.sed src/auto/config.mk
|
||||
if clang --version | grep -qs '^Apple clang version \(1[3-9]\|[2-9]\d\)\.'; then
|
||||
sed -i.bak -f ci/config.mk.clang-12.sed src/auto/config.mk
|
||||
fi
|
||||
|
||||
- name: Modify configure result
|
||||
if: matrix.publish
|
||||
run: |
|
||||
# Ruby is keg-only in Homebrew, so need to manually link in the path so Vim will know where to look for the binaries.
|
||||
perl -p -i -e "s#(?<=-DDYNAMIC_RUBY_DLL=\\\\\").*?(?=\\\\\")#${vi_cv_dll_name_ruby}#" src/auto/config.mk
|
||||
grep -q -- "-DDYNAMIC_PERL_DLL=\\\\\"${vi_cv_dll_name_perl}\\\\\"" src/auto/config.mk
|
||||
grep -q -- "-DDYNAMIC_PYTHON_DLL=\\\\\"${vi_cv_dll_name_python}\\\\\"" src/auto/config.mk
|
||||
grep -q -- "-DDYNAMIC_PYTHON3_DLL=\\\\\"${vi_cv_dll_name_python3}\\\\\"" src/auto/config.mk
|
||||
grep -q -- "-DDYNAMIC_RUBY_DLL=\\\\\"${vi_cv_dll_name_ruby}\\\\\"" src/auto/config.mk
|
||||
|
||||
# Also search for the arm64 overrides for the default library locations, which are different from x86_64
|
||||
# because Homebrew puts them at a different place.
|
||||
grep -q -- "-DDYNAMIC_PYTHON3_DLL_ARM64=\\\\\"${vi_cv_dll_name_python3_arm64}\\\\\"" src/auto/config.mk
|
||||
grep -q -- "-DDYNAMIC_RUBY_DLL_ARM64=\\\\\"${vi_cv_dll_name_ruby_arm64}\\\\\"" src/auto/config.mk
|
||||
grep -q -- "-DDYNAMIC_LUA_DLL_ARM64=\\\\\"${vi_cv_dll_name_lua_arm64}\\\\\"" src/auto/config.mk
|
||||
|
||||
- name: Show configure output
|
||||
run: |
|
||||
cat src/auto/config.mk
|
||||
cat src/auto/config.h
|
||||
|
||||
# Build Vim first, separately from MacVim, so that we can use it to run
|
||||
# vimtags afterwards to get the most correct help tags before we copy
|
||||
# that into the MacVim bundle.
|
||||
- name: Build Vim
|
||||
env:
|
||||
LC_ALL: C
|
||||
run: |
|
||||
set -o verbose
|
||||
|
||||
NPROC=$(getconf _NPROCESSORS_ONLN)
|
||||
echo "Building Vim with ${NPROC} cores"
|
||||
|
||||
make -C src -j${NPROC} Vim
|
||||
|
||||
# Re-generate Vim help tags, because sometimes the Vim's runtime is not
|
||||
# updated to have the latest tags.
|
||||
- name: Update Vim help tags
|
||||
if: matrix.publish
|
||||
run: make -C runtime/doc vimtags VIMEXE=../../src/vim
|
||||
|
||||
- name: Build MacVim
|
||||
env:
|
||||
LC_ALL: C
|
||||
run: |
|
||||
set -o verbose
|
||||
|
||||
NPROC=$(getconf _NPROCESSORS_ONLN)
|
||||
echo "Building MacVim with ${NPROC} cores"
|
||||
|
||||
make -j${NPROC}
|
||||
|
||||
- name: Check version
|
||||
run: |
|
||||
${VIM_BIN} --version
|
||||
${VIM_BIN} -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-1.vim -c quit
|
||||
${VIM_BIN} -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit
|
||||
|
||||
- name: Smoketest
|
||||
if: matrix.publish
|
||||
run: |
|
||||
set -o verbose
|
||||
|
||||
macvim_excmd() {
|
||||
${VIM_BIN} -u NONE -i NONE -g -f -X -V1 -es "$@" -c 'echo ""' -c 'qall!' 2>&1
|
||||
}
|
||||
|
||||
# Smoketest scripting languages
|
||||
macvim_excmd -c 'lua print("Test")' | grep Test
|
||||
macvim_excmd -c 'perl VIM::Msg("Test")' | grep Test
|
||||
macvim_excmd -c 'py print "Test"' | grep Test
|
||||
macvim_excmd -c 'py3 print("Test")' | grep Test
|
||||
macvim_excmd -c 'ruby puts("Test")' | grep Test
|
||||
|
||||
# Check that localized messages work by printing ':version' and checking against localized word
|
||||
macvim_excmd -c 'lang es_ES' -c 'version' | grep Enlazado
|
||||
|
||||
# Check that libsodium is working
|
||||
macvim_excmd -c 'set cryptmethod=xchacha20'
|
||||
|
||||
# Make sure there isn't any dynamic linkage to third-party dependencies in the built binary, as we should only use
|
||||
# static linkage to avoid dependency hell. Test that all those dylib's are in /usr/lib which is bundled with macOS and not third-party.
|
||||
if otool -L ${VIM_BIN} | grep '\.dylib\s' | grep -v '^\s*/usr/lib/'; then
|
||||
echo 'Found external dynamic linkage!'; false
|
||||
fi
|
||||
|
||||
# Make sure we are building universal x86_64 / arm64 builds and didn't accidentally create a thin app.
|
||||
check_arch() {
|
||||
local archs=($(lipo -archs "$1"))
|
||||
if [[ ${archs[@]} != "$MACVIM_ARCHS" ]]; then
|
||||
echo "Wrong arch(s) in $1: ${archs[@]}"; false
|
||||
else
|
||||
lipo -info "$1"
|
||||
fi
|
||||
}
|
||||
check_arch "${VIM_BIN}"
|
||||
check_arch "${MACVIM_BIN}"
|
||||
|
||||
- name: Test
|
||||
timeout-minutes: 20
|
||||
run: make test
|
||||
|
||||
- name: Test GUI
|
||||
timeout-minutes: 20
|
||||
run: |
|
||||
make -C src/testdir clean
|
||||
make -C src testgui
|
||||
|
||||
# Creates a DMG package of MacVim. Note that this doesn't create a GitHub release for us, because we would prefer to
|
||||
# do it manually, for two reasons: 1) signing / notarization are currently done out of CI, 2) we want to manually
|
||||
# format our release notes and add pictures to make them look nice.
|
||||
- name: Build MacVim dmg image
|
||||
if: startsWith(github.ref, 'refs/tags/') && matrix.publish
|
||||
run: |
|
||||
# Use the --skip-jenkins flag to skip the prettify osascript calls which could fail due to permission issues in
|
||||
# CI environment.
|
||||
make -C src macvim-dmg CREATEDMG_FLAGS=--skip-jenkins
|
||||
|
||||
if ${{ matrix.publish_postfix != '' }}; then
|
||||
mv src/MacVim/build/Release/MacVim.dmg src/MacVim/build/Release/MacVim${{ matrix.publish_postfix }}.dmg
|
||||
fi
|
||||
|
||||
- name: Upload MacVim image
|
||||
if: startsWith(github.ref, 'refs/tags/') && matrix.publish
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: MacVim${{ matrix.publish_postfix }}.dmg
|
||||
path: src/MacVim/build/Release/MacVim${{ matrix.publish_postfix }}.dmg
|
||||
|
||||
@@ -44,11 +44,11 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository from github
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v3
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v3
|
||||
uses: github/codeql-action/init@v2
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
@@ -59,7 +59,7 @@ jobs:
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@v3
|
||||
uses: github/codeql-action/autobuild@v2
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 https://git.io/JvXDl
|
||||
@@ -73,4 +73,4 @@ jobs:
|
||||
# make release
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v3
|
||||
uses: github/codeql-action/analyze@v2
|
||||
|
||||
@@ -9,17 +9,18 @@ permissions:
|
||||
|
||||
jobs:
|
||||
scan:
|
||||
runs-on: ubuntu-24.04
|
||||
runs-on: ubuntu-20.04
|
||||
|
||||
env:
|
||||
CC: gcc
|
||||
CFLAGS: -Wno-deprecated-declarations
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
|
||||
|
||||
steps:
|
||||
- name: Checkout repository from github
|
||||
if: env.TOKEN
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Download Coverity
|
||||
if: env.TOKEN
|
||||
@@ -31,14 +32,15 @@ jobs:
|
||||
- name: Install packages
|
||||
if: env.TOKEN
|
||||
run: |
|
||||
sudo apt-get update && sudo apt-get install -y \
|
||||
sudo apt update && sudo apt install -y \
|
||||
autoconf \
|
||||
gettext \
|
||||
libcanberra-dev \
|
||||
libperl-dev \
|
||||
python-dev \
|
||||
python3-dev \
|
||||
liblua5.4-dev \
|
||||
lua5.4 \
|
||||
liblua5.3-dev \
|
||||
lua5.3 \
|
||||
ruby-dev \
|
||||
tcl-dev \
|
||||
libgtk2.0-dev \
|
||||
@@ -52,7 +54,7 @@ jobs:
|
||||
echo "$(pwd)/cov-scan/bin" >> $GITHUB_PATH
|
||||
(
|
||||
echo "NPROC=$(getconf _NPROCESSORS_ONLN)"
|
||||
echo "CONFOPT=--enable-perlinterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
|
||||
echo "CONFOPT=--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
|
||||
) >> $GITHUB_ENV
|
||||
|
||||
- name: Configure
|
||||
@@ -62,9 +64,6 @@ jobs:
|
||||
# Append various warning flags to CFLAGS.
|
||||
sed -i -f ci/config.mk.sed src/auto/config.mk
|
||||
sed -i -f ci/config.mk.${CC}.sed src/auto/config.mk
|
||||
# -O2 gives false warning and turns it into an error:
|
||||
# warning: function may return address of local variable [-Wreturn-local-addr]
|
||||
sed -i 's/-O2 \?//' src/auto/config.mk
|
||||
|
||||
- name: Build/scan vim
|
||||
if: env.TOKEN
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
# This workflow will triage pull requests and apply a label based on the
|
||||
# paths that are modified in the pull request.
|
||||
#
|
||||
# To use this workflow, you will need to set up a .github/labeler.yml
|
||||
# file with configuration. For more information, see:
|
||||
# https://github.com/actions/labeler
|
||||
|
||||
name: Labeler
|
||||
on: [pull_request_target]
|
||||
|
||||
jobs:
|
||||
label:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
|
||||
steps:
|
||||
- uses: actions/labeler@v5
|
||||
with:
|
||||
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
@@ -1,418 +0,0 @@
|
||||
name: MacVim Build and Test
|
||||
|
||||
# Child workflow to be called by other workflows for building/testing MacVim
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
skip:
|
||||
type: boolean
|
||||
os:
|
||||
type: string
|
||||
legacy:
|
||||
type: boolean
|
||||
xcode:
|
||||
type: string
|
||||
testgui:
|
||||
type: boolean
|
||||
publish:
|
||||
type: boolean
|
||||
publish_postfix:
|
||||
type: string
|
||||
optimized:
|
||||
type: boolean
|
||||
vimtags:
|
||||
type: boolean
|
||||
check-xcodeproj-compat:
|
||||
type: boolean
|
||||
|
||||
env:
|
||||
MACOSX_DEPLOYMENT_TARGET: '10.13'
|
||||
MACOSX_DEPLOYMENT_TARGET_LEGACY: '10.9'
|
||||
|
||||
MACVIM_ARCHS: "x86_64 arm64" # Universal app for Intel/Apple Silicon
|
||||
MACVIM_ARCHS_LEGACY: "x86_64 arm64" # Build universal for legacy too, mostly just to make building/testing on Apple Silicon CI work. In reality all Apple Silicon Macs shoud use non-legacy.
|
||||
|
||||
CC: clang
|
||||
|
||||
MAKE_BUILD_ARGS: LINK_AS_NEEDED=yes # In macOS we never over-specify link dependencies and we already check against external deps in smoketest. With LTO, linking takes a while, so we want to avoid using link.sh.
|
||||
|
||||
vi_cv_path_python: /Library/Frameworks/Python.framework/Versions/2.7/bin/python
|
||||
vi_cv_path_python3: "%s/bin/python3"
|
||||
vi_cv_path_plain_lua: "%s/bin/lua"
|
||||
vi_cv_path_ruby: "%s/opt/ruby/bin/ruby"
|
||||
vi_cv_dll_name_perl: /System/Library/Perl/%s/darwin-thread-multi-2level/CORE/libperl.dylib
|
||||
vi_cv_dll_name_python: /Library/Frameworks/Python.framework/Versions/2.7/Python
|
||||
vi_cv_dll_name_python3: /usr/local/Frameworks/Python.framework/Versions/Current/Python
|
||||
vi_cv_dll_name_python3_arm64: /opt/homebrew/Frameworks/Python.framework/Versions/Current/Python
|
||||
vi_cv_dll_name_ruby: /usr/local/opt/ruby/lib/libruby.dylib
|
||||
vi_cv_dll_name_ruby_arm64: /opt/homebrew/opt/ruby/lib/libruby.dylib
|
||||
vi_cv_dll_name_lua: /usr/local/lib/liblua.dylib
|
||||
vi_cv_dll_name_lua_arm64: /opt/homebrew/lib/liblua.dylib
|
||||
|
||||
MACVIM_APP: src/MacVim/build/Release/MacVim.app
|
||||
VIM_BIN: src/MacVim/build/Release/MacVim.app/Contents/MacOS/Vim
|
||||
MACVIM_BIN: src/MacVim/build/Release/MacVim.app/Contents/MacOS/MacVim
|
||||
|
||||
TERM: xterm
|
||||
BASH_SILENCE_DEPRECATION_WARNING: 1
|
||||
|
||||
jobs:
|
||||
# Builds and test MacVim
|
||||
build-and-test:
|
||||
if: ${{ !inputs.skip }}
|
||||
runs-on: ${{ inputs.os }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up legacy build
|
||||
if: inputs.legacy
|
||||
run: |
|
||||
# Set the correct build env vars to target the correct architectures and min OS targets.
|
||||
echo "MACOSX_DEPLOYMENT_TARGET=$MACOSX_DEPLOYMENT_TARGET_LEGACY" >> $GITHUB_ENV
|
||||
echo "MACVIM_ARCHS=$MACVIM_ARCHS_LEGACY" >> $GITHUB_ENV
|
||||
|
||||
# Use Sparkle 1 because Sparkle 2 requires newer OS version than our legacy build.
|
||||
# Later, we pass the --enable-sparkle_1 flag to configure to set the corresponding ifdef.
|
||||
ln -fhs Sparkle_1.framework src/MacVim/Sparkle.framework
|
||||
|
||||
# Sparkle shows a dialog asking if the user wants to check for updates on 2nd launch of
|
||||
# MacVim. On Sparkle 1 this is annoyingly a modal dialog box and interferes with tests.
|
||||
# Just disable it by pre-setting to not check for updates.
|
||||
defaults write org.vim.MacVim SUEnableAutomaticChecks 0
|
||||
|
||||
- name: Set up Xcode
|
||||
if: inputs.xcode != ''
|
||||
run: |
|
||||
sudo xcode-select -s /Applications/Xcode_${{ inputs.xcode }}.app/Contents/Developer
|
||||
xcode-select -p
|
||||
xcodebuild -version
|
||||
|
||||
# Set up, install, and cache gettext library for localization.
|
||||
|
||||
- name: Set up gettext
|
||||
if: inputs.publish
|
||||
uses: ./.github/actions/universal-package
|
||||
with:
|
||||
formula: gettext
|
||||
contents: lib/libintl.a,lib/libintl.dylib
|
||||
|
||||
# Set up, install, and cache libsodium library for encryption.
|
||||
|
||||
- name: Set up libsodium
|
||||
if: inputs.publish
|
||||
uses: ./.github/actions/universal-package
|
||||
with:
|
||||
formula: libsodium
|
||||
contents: lib/libsodium.a,lib/libsodium.dylib
|
||||
|
||||
# Set up remaining packages and tools
|
||||
|
||||
- name: Install packages
|
||||
run: |
|
||||
brew install --quiet libtool
|
||||
|
||||
- name: Install packages for testing
|
||||
run: |
|
||||
# Apple diff is broken. Use GNU diff instead. See http://github.com/vim/vim/issues/14056.
|
||||
brew install --quiet diffutils
|
||||
|
||||
# Cache Python 2 to avoid downloading the installer every time. This cache shouldn't change
|
||||
# over time as Python 2.7 is legacy. Can't directly cache to
|
||||
# /Library/Frameworks/Python.framework due to permission issues.
|
||||
#
|
||||
# Note: Legacy self-hosted runner already has this installed and doesn't need this.
|
||||
- name: Cache Python 2
|
||||
if: inputs.publish && !inputs.legacy
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: python27-cache
|
||||
key: ${{ inputs.os }}-python27
|
||||
|
||||
- name: Install scripting runtimes
|
||||
if: inputs.publish
|
||||
run: |
|
||||
# We no longer need to install/update Python 3, as it's guaranteed to
|
||||
# be installed on runners. Since we use stable ABI, the exact version
|
||||
# on CI does not matter.
|
||||
|
||||
brew install --quiet ruby
|
||||
brew install --quiet lua
|
||||
|
||||
if [[ -d $(brew --prefix)/Cellar/perl ]]; then
|
||||
# We just use system perl to reduce dependencies
|
||||
brew unlink perl
|
||||
fi
|
||||
|
||||
echo "vi_cv_path_python3=$(printf $vi_cv_path_python3 $(brew --prefix))" >> $GITHUB_ENV
|
||||
echo "vi_cv_path_plain_lua=$(printf $vi_cv_path_plain_lua $(brew --prefix))" >> $GITHUB_ENV
|
||||
echo "vi_cv_path_ruby=$(printf $vi_cv_path_ruby $(brew --prefix))" >> $GITHUB_ENV
|
||||
|
||||
# With Perl, we need to manually specify the version number because the dylib path depends on it.
|
||||
export PERL_VERSION=$(perl -e 'print $^V =~ s/v(\d\.\d+).*/\1/r')
|
||||
echo "vi_cv_dll_name_perl=$(printf $vi_cv_dll_name_perl $PERL_VERSION)" >> $GITHUB_ENV
|
||||
|
||||
# New runner images (macos-13) no longer have Python2 installed. We
|
||||
# need to install Python2 manually. Installing from the official
|
||||
# installer is the easiest way as Homebrew no longer ships python@2
|
||||
# and this way does not invole manual building from source. We
|
||||
# mostly only need the headers to build a dynamic build anyway.
|
||||
#
|
||||
# This will be removed in the future as Python2 has been completely
|
||||
# unsupported for years.
|
||||
if [ -d /Library/Frameworks/Python.framework/Versions/2.7 ]; then
|
||||
echo "Python 2.7 already installed"
|
||||
elif [ -d python27-cache ]; then
|
||||
sudo cp -R python27-cache /Library/Frameworks/Python.framework/Versions/2.7
|
||||
else
|
||||
curl https://www.python.org/ftp/python/2.7.18/python-2.7.18-macosx10.9.pkg -o ~/Downloads/python-2.7.18-macosx10.9.pkg
|
||||
sudo installer -pkg ~/Downloads/python-2.7.18-macosx10.9.pkg -target /
|
||||
cp -R /Library/Frameworks/Python.framework/Versions/2.7 python27-cache # Allow this to be cached
|
||||
fi
|
||||
|
||||
# All set up steps are done. Build and test MacVim below.
|
||||
|
||||
- name: Configure
|
||||
run: |
|
||||
set -o verbose
|
||||
|
||||
CONFOPT=(
|
||||
--with-local-dir=$(brew --prefix)
|
||||
--with-features=huge
|
||||
--enable-netbeans
|
||||
--with-tlib=ncurses
|
||||
--enable-cscope
|
||||
--enable-gui=macvim
|
||||
--with-compiledby="GitHub Actions"
|
||||
)
|
||||
if ${{ inputs.publish == true }}; then
|
||||
CONFOPT+=(
|
||||
--enable-perlinterp=dynamic
|
||||
--enable-pythoninterp=dynamic
|
||||
--enable-python3interp=dynamic
|
||||
--with-python3-stable-abi=3.9 # macOS and Xcode currently ships 3.9, so we don't want go higher than that.
|
||||
--enable-rubyinterp=dynamic
|
||||
--enable-luainterp=dynamic
|
||||
--with-lua-prefix=$(brew --prefix)
|
||||
--with-macarchs="$MACVIM_ARCHS"
|
||||
)
|
||||
else
|
||||
CONFOPT+=(
|
||||
--disable-sparkle # Disable Sparkle for testing that this flag builds and works
|
||||
--enable-nls=no --enable-libsodium=no # Disable gettext and libsodium unless we built them ourselves for publish
|
||||
)
|
||||
fi
|
||||
if ${{ inputs.legacy == true }}; then
|
||||
CONFOPT+=(
|
||||
--enable-sparkle_1
|
||||
)
|
||||
fi
|
||||
echo "CONFOPT: ${CONFOPT[@]}"
|
||||
|
||||
./configure "${CONFOPT[@]}" --enable-fail-if-missing
|
||||
|
||||
sed -i.bak -f ci/config.mk.sed -f ci/config.mk.clang.sed -f ci/config.mk.xcode.sed src/auto/config.mk
|
||||
if clang --version | grep -qs '^Apple clang version \(1[3-9]\|[2-9]\d\)\.'; then
|
||||
sed -i.bak -f ci/config.mk.clang-12.sed src/auto/config.mk
|
||||
fi
|
||||
|
||||
if ${{ inputs.optimized == true }}; then
|
||||
# Additional optimizations like link-time optimizations that are a bit slower to build.
|
||||
sed -i.bak -f ci/config.mk.optimized.sed src/auto/config.mk
|
||||
fi
|
||||
|
||||
- name: Modify configure result
|
||||
if: inputs.publish
|
||||
run: |
|
||||
set -o verbose
|
||||
# Ruby is keg-only in Homebrew, so need to manually link in the path so Vim will know where to look for the binaries.
|
||||
perl -p -i -e "s#(?<=-DDYNAMIC_RUBY_DLL=\\\\\").*?(?=\\\\\")#${vi_cv_dll_name_ruby}#" src/auto/config.mk
|
||||
grep -q -- "-DDYNAMIC_PERL_DLL=\\\\\"${vi_cv_dll_name_perl}\\\\\"" src/auto/config.mk
|
||||
grep -q -- "-DDYNAMIC_PYTHON_DLL=\\\\\"${vi_cv_dll_name_python}\\\\\"" src/auto/config.mk
|
||||
grep -q -- "-DDYNAMIC_PYTHON3_DLL=\\\\\"${vi_cv_dll_name_python3}\\\\\"" src/auto/config.mk
|
||||
grep -q -- "-DDYNAMIC_RUBY_DLL=\\\\\"${vi_cv_dll_name_ruby}\\\\\"" src/auto/config.mk
|
||||
|
||||
# Also search for the arm64 overrides for the default library locations, which are different from x86_64
|
||||
# because Homebrew puts them at a different place.
|
||||
grep -q -- "-DDYNAMIC_PYTHON3_DLL_ARM64=\\\\\"${vi_cv_dll_name_python3_arm64}\\\\\"" src/auto/config.mk
|
||||
grep -q -- "-DDYNAMIC_RUBY_DLL_ARM64=\\\\\"${vi_cv_dll_name_ruby_arm64}\\\\\"" src/auto/config.mk
|
||||
grep -q -- "-DDYNAMIC_LUA_DLL_ARM64=\\\\\"${vi_cv_dll_name_lua_arm64}\\\\\"" src/auto/config.mk
|
||||
|
||||
- name: Show configure output
|
||||
run: |
|
||||
cat src/auto/config.mk
|
||||
cat src/auto/config.h
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
LC_ALL: C
|
||||
run: |
|
||||
NPROC=$(getconf _NPROCESSORS_ONLN)
|
||||
echo "Building MacVim with ${NPROC} cores"
|
||||
|
||||
set -o verbose
|
||||
make ${MAKE_BUILD_ARGS} -j${NPROC}
|
||||
|
||||
- name: Check version
|
||||
run: |
|
||||
${VIM_BIN} --version
|
||||
${VIM_BIN} -u NONE -i NONE --not-a-term -esNX -V1 -c 'echo "\nprof_nsec:" .. has("prof_nsec") .. "\n"' -c quit
|
||||
${VIM_BIN} -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-1.vim -c quit
|
||||
${VIM_BIN} -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit
|
||||
|
||||
- name: Smoketest
|
||||
run: |
|
||||
set -o verbose
|
||||
|
||||
# Make sure there isn't any dynamic linkage to third-party dependencies in the built binary, as we should only use
|
||||
# static linkage to avoid dependency hell. Test that all those dylib's are in /usr/lib which is bundled with macOS and not third-party.
|
||||
if otool -L ${VIM_BIN} | grep '\.dylib\s' | grep -v '^\s*/usr/lib/'; then
|
||||
echo 'Found external dynamic linkage!'; false
|
||||
fi
|
||||
|
||||
# Make sure that --disable-sparkle flag will properly exclude all references to Sparkle symbols. This is
|
||||
# necessary because we still use weak linking to Sparkle when that flag is set and so references to Sparkle
|
||||
# wouldn't fail the build (we just remove Sparkle.framework from the built app after the fact).
|
||||
if ${{ inputs.publish == false }}; then
|
||||
# Currently we pass --disable-sparkle flag when publish==false
|
||||
if objdump -t ${MACVIM_BIN} | grep "_SPU\|_SUUpdate"; then
|
||||
echo 'Found references to Sparkle even when using --disable-sparkle'; false
|
||||
fi
|
||||
fi
|
||||
|
||||
# Make sure man pages were bundled
|
||||
man -M `pwd`/${MACVIM_APP}/Contents/man -w mvim
|
||||
|
||||
# Make sure xxd was bundled
|
||||
echo "AB" | ${MACVIM_APP}/Contents/bin/xxd | grep "4142"
|
||||
|
||||
- name: Smoketest (publish)
|
||||
if: inputs.publish
|
||||
run: |
|
||||
set -o verbose
|
||||
|
||||
macvim_excmd() {
|
||||
${VIM_BIN} -u NONE -i NONE -g -f -X -V1 -es "$@" -c 'echo ""' -c 'qall!' 2>&1
|
||||
}
|
||||
|
||||
# Smoketest scripting languages
|
||||
macvim_excmd -c 'lua print("Test")' | grep Test
|
||||
macvim_excmd -c 'perl VIM::Msg("Test")' | grep Test
|
||||
macvim_excmd -c 'py3 print("Test")' | grep Test
|
||||
macvim_excmd -c 'ruby puts("Test")' | grep Test
|
||||
|
||||
if [[ "$(uname -m)" == "x86_64" ]]; then
|
||||
macvim_excmd -c 'py print "x86 Test"' | grep Test
|
||||
else
|
||||
# Python2 doesn't work in Apple Silicon, test under Rosetta
|
||||
(VIM_BIN="arch -x86_64 ${VIM_BIN}"; macvim_excmd -c 'py print "rosetta Test"' | grep Test)
|
||||
fi
|
||||
|
||||
# Check that localized messages work by printing ':version' and checking against localized word
|
||||
macvim_excmd -c 'lang es_ES' -c 'version' | grep Enlazado
|
||||
|
||||
# Check that libsodium is working
|
||||
macvim_excmd -c 'set cryptmethod=xchacha20v2'
|
||||
|
||||
# Make sure we are building universal x86_64 / arm64 builds and didn't accidentally create a thin app.
|
||||
check_arch() {
|
||||
local archs=($(lipo -archs "$1"))
|
||||
if [[ ${archs[@]} != "$MACVIM_ARCHS" ]]; then
|
||||
echo "Wrong arch(s) in $1: ${archs[@]}"; false
|
||||
else
|
||||
lipo -info "$1"
|
||||
fi
|
||||
}
|
||||
check_arch "${VIM_BIN}"
|
||||
check_arch "${MACVIM_BIN}"
|
||||
|
||||
- name: Check Vim help tags
|
||||
if: inputs.vimtags
|
||||
run: |
|
||||
# Confirm that we can build the help tags, and they match what's in source.
|
||||
make -C runtime/doc vimtags VIMEXE=../../${VIM_BIN}
|
||||
git diff --exit-code -- runtime/doc/tags
|
||||
|
||||
- name: Check Xcode project compatibility version
|
||||
if: inputs['check-xcodeproj-compat']
|
||||
run: |
|
||||
# Confirm that the compatibility version of xcodeproj is correct and not outdated.
|
||||
rm -rf src/MacVim/MacVim_xcode8.xcodeproj
|
||||
make -C src macvim-xcodeproj-compat
|
||||
if ! git diff --exit-code -- src/MacVim/MacVim_xcode8.xcodeproj; then
|
||||
echo 'MacVim_xcode8.xcodeproj is outdated. Run "make -C src macvim-xcodeproj-compat" to re-generate it.'; false
|
||||
fi
|
||||
|
||||
- name: Test MacVim
|
||||
id: test_macvim
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
make ${MAKE_BUILD_ARGS} -C src macvim-tests
|
||||
|
||||
- name: Upload failed MacVim test results
|
||||
if: ${{ !cancelled() && failure() && steps.test_macvim.conclusion == 'failure' }}
|
||||
uses: ./.github/actions/test_macvim_artifacts
|
||||
|
||||
- name: Build Vim test binaries
|
||||
run: |
|
||||
# Build the unit test binaries first. With link-time-optimization they take some time to link. Running them
|
||||
# separately de-couples them from the timeout in tests, and allow us to build in parallel jobs (since tests
|
||||
# can't run in parallel).
|
||||
NPROC=$(getconf _NPROCESSORS_ONLN)
|
||||
|
||||
set -o verbose
|
||||
make ${MAKE_BUILD_ARGS} -j${NPROC} -C src unittesttargets
|
||||
|
||||
- name: Test Vim
|
||||
if: startsWith(github.ref, 'refs/tags/') || !inputs.testgui
|
||||
timeout-minutes: 30
|
||||
run: |
|
||||
defaults delete org.vim.MacVim # Clean up stale states
|
||||
# Currently we don't run any non-src tests, as syntax tests are fragile and prone to spamming escape codes.
|
||||
# This needs to be investigated and fixed upstream.
|
||||
# MacVim is unlikely to introduce breaking changes in runtime files anyway.
|
||||
make ${MAKE_BUILD_ARGS} -C src test
|
||||
|
||||
- name: Test Vim (GUI)
|
||||
if: startsWith(github.ref, 'refs/tags/') || inputs.testgui
|
||||
timeout-minutes: 30
|
||||
run: |
|
||||
defaults delete org.vim.MacVim # Clean up stale states
|
||||
make ${MAKE_BUILD_ARGS} -C src/testdir clean
|
||||
make ${MAKE_BUILD_ARGS} -C src testgui
|
||||
|
||||
- name: Upload failed test files
|
||||
if: ${{ !cancelled() && failure() }}
|
||||
uses: ./.github/actions/test_artifacts
|
||||
|
||||
- name: Build MacVim dmg image
|
||||
if: inputs.publish && (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/master')
|
||||
run: |
|
||||
if ${{ inputs.legacy == true }}; then
|
||||
make -C src macvim-dmg-legacy
|
||||
else
|
||||
make -C src macvim-dmg
|
||||
fi
|
||||
|
||||
if ${{ inputs.publish_postfix != '' }}; then
|
||||
mv src/MacVim/build/Release/MacVim.dmg src/MacVim/build/Release/MacVim${{ inputs.publish_postfix }}.dmg
|
||||
fi
|
||||
|
||||
# Upload the dmg installer only when making tagged release or making a dev build from a master branch.
|
||||
# Note that this doesn't create a GitHub release for us, because we would prefer to do it manually, for two
|
||||
# reasons: 1) signing / notarization are currently done out of CI, 2) we want to manually format our release notes
|
||||
# and add pictures to make them look nice.
|
||||
- name: Upload MacVim image
|
||||
if: inputs.publish && (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/master')
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: MacVim${{ inputs.publish_postfix }}.dmg
|
||||
path: src/MacVim/build/Release/MacVim${{ inputs.publish_postfix }}.dmg
|
||||
|
||||
# If doing a tagged release, use repository-specified number of retention days (usually 90 days) to make it
|
||||
# easier to audit. (specify "0" to indicate using repository settings)
|
||||
#
|
||||
# Otherwise, we are just doing a dev build for potential testing, just use a maximum of 21 days as we don't
|
||||
# tend to need these for long.
|
||||
retention-days: ${{ startsWith(github.ref, 'refs/tags/') && 0 || (github.retention_days > 21 && 21 || 0) }}
|
||||
@@ -10,7 +10,7 @@ jobs:
|
||||
issues: write
|
||||
pull-requests: write
|
||||
steps:
|
||||
- uses: actions/stale@v9
|
||||
- uses: actions/stale@v7
|
||||
with:
|
||||
any-of-labels: "Response Needed"
|
||||
days-before-stale: 45
|
||||
|
||||
+6
-24
@@ -8,8 +8,6 @@ src/auto/gui_gtk_gresources.h
|
||||
src/auto/os_haiku.rdef
|
||||
src/objects/.dirstamp
|
||||
src/objects
|
||||
src/po/big5corr
|
||||
src/po/sjiscorr
|
||||
src/types.vim
|
||||
|
||||
# We do need src/auto/configure.
|
||||
@@ -22,8 +20,6 @@ src/auto/osdef.h
|
||||
src/auto/link.log
|
||||
src/auto/link.sed
|
||||
src/auto/pathdef.c
|
||||
src/auto/wayland/*.c
|
||||
src/auto/wayland/*.h
|
||||
|
||||
# Windows
|
||||
*.exe
|
||||
@@ -66,12 +62,12 @@ src/xxd/xxd.dSYM
|
||||
*~
|
||||
*.pyc
|
||||
*.log
|
||||
src/po/vim.pot
|
||||
src/tags
|
||||
/tags
|
||||
/GPATH
|
||||
/GTAGS
|
||||
/GRTAGS
|
||||
nsis/tags
|
||||
|
||||
# Generated by "make test"
|
||||
src/po/*.ck
|
||||
@@ -100,11 +96,11 @@ src/kword_test
|
||||
# From MacVim
|
||||
.*.swp
|
||||
.DS_Store
|
||||
src/MacVim/MacVim*.xcodeproj/*.mode1
|
||||
src/MacVim/MacVim*.xcodeproj/*.mode1v3
|
||||
src/MacVim/MacVim*.xcodeproj/*.pbxuser
|
||||
src/MacVim/MacVim*.xcodeproj/project.xcworkspace
|
||||
src/MacVim/MacVim*.xcodeproj/xcuserdata
|
||||
src/MacVim/MacVim.xcodeproj/*.mode1
|
||||
src/MacVim/MacVim.xcodeproj/*.mode1v3
|
||||
src/MacVim/MacVim.xcodeproj/*.pbxuser
|
||||
src/MacVim/MacVim.xcodeproj/project.xcworkspace
|
||||
src/MacVim/MacVim.xcodeproj/xcuserdata
|
||||
src/MacVim/icons/*.pyc
|
||||
src/MacVim/icons/*.ttf
|
||||
src/MacVim/icons/*.reg
|
||||
@@ -126,7 +122,6 @@ src/MacVim/qlstephen/QuickLookStephen.xcodeproj/*.pbxuser
|
||||
src/MacVim/qlstephen/QuickLookStephen.xcodeproj/xcuserdata
|
||||
src/MacVim/qlstephen/build
|
||||
src/MacVim/build
|
||||
src/MacVim/auto
|
||||
src/MacVim/DerivedData
|
||||
src/TAGS
|
||||
src/Vim
|
||||
@@ -149,19 +144,8 @@ src/xxd/xxd
|
||||
src/xxd/xxd.dSYM
|
||||
src/a.out.dSYM
|
||||
|
||||
runtime/syntax/testdir/done/
|
||||
runtime/syntax/testdir/messages
|
||||
runtime/syntax/testdir/testdeps.mk
|
||||
runtime/syntax/testdir/vimcmd
|
||||
|
||||
# Generated by "make install"
|
||||
runtime/doc/doctags
|
||||
runtime/doc/tags-*
|
||||
|
||||
# Temporarily generated by "runtime/syntax/generator/make"
|
||||
runtime/syntax/generator/generator.err
|
||||
runtime/syntax/generator/sanity_check.err
|
||||
runtime/syntax/generator/vim.vim.rc
|
||||
|
||||
# Generated by "make shadow". The directory names could be anything but we
|
||||
# restrict them to shadow (the default) or shadow-*
|
||||
@@ -169,8 +153,6 @@ src/shadow
|
||||
src/shadow-*
|
||||
src/runtime
|
||||
src/pixmaps
|
||||
src/LICENSE
|
||||
src/README.txt
|
||||
|
||||
# other files possibly created by tools
|
||||
src/cscope.out
|
||||
|
||||
@@ -7,11 +7,9 @@ src/xxd/xxd
|
||||
src/auto/if_perl.c
|
||||
src/auto/gui_gtk_gresources.c
|
||||
src/auto/gui_gtk_gresources.h
|
||||
src/auto/os_haiku.rdef
|
||||
src/objects/.dirstamp
|
||||
src/objects
|
||||
src/po/big5corr
|
||||
src/po/sjiscorr
|
||||
src/tags
|
||||
src/types.vim
|
||||
|
||||
# We do need src/auto/configure.
|
||||
@@ -24,8 +22,6 @@ src/auto/osdef.h
|
||||
src/auto/link.log
|
||||
src/auto/link.sed
|
||||
src/auto/pathdef.c
|
||||
src/auto/wayland/*.c
|
||||
src/auto/wayland/*.h
|
||||
|
||||
# Windows
|
||||
*.exe
|
||||
@@ -50,15 +46,12 @@ gvimext.lib
|
||||
gvim.lib
|
||||
runtime/doc/uganda.nsis.txt
|
||||
nsis/icons/*
|
||||
/vim90/
|
||||
.vscode/
|
||||
|
||||
# NetBeans
|
||||
nbproject/*
|
||||
|
||||
# Mac OSX
|
||||
src/xxd/xxd.dSYM
|
||||
.DS_Store
|
||||
|
||||
# All platforms
|
||||
*.rej
|
||||
@@ -68,12 +61,7 @@ src/xxd/xxd.dSYM
|
||||
*~
|
||||
*.pyc
|
||||
*.log
|
||||
src/tags
|
||||
/tags
|
||||
/GPATH
|
||||
/GTAGS
|
||||
/GRTAGS
|
||||
nsis/tags
|
||||
src/po/vim.pot
|
||||
|
||||
# Generated by "make test"
|
||||
src/po/*.ck
|
||||
@@ -90,28 +78,15 @@ src/testdir/dostmp/*
|
||||
src/testdir/messages
|
||||
src/testdir/viminfo
|
||||
src/testdir/opt_test.vim
|
||||
src/testdir/failed
|
||||
src/testdir/starttime
|
||||
runtime/indent/testdir/*.out
|
||||
runtime/indent/testdir/*.fail
|
||||
src/memfile_test
|
||||
src/json_test
|
||||
src/message_test
|
||||
src/kword_test
|
||||
|
||||
runtime/syntax/testdir/done/
|
||||
runtime/syntax/testdir/messages
|
||||
runtime/syntax/testdir/testdeps.mk
|
||||
runtime/syntax/testdir/vimcmd
|
||||
|
||||
# Generated by "make install"
|
||||
runtime/doc/tags
|
||||
runtime/doc/doctags
|
||||
runtime/doc/tags-*
|
||||
|
||||
# Temporarily generated by "runtime/syntax/generator/make"
|
||||
runtime/syntax/generator/generator.err
|
||||
runtime/syntax/generator/sanity_check.err
|
||||
runtime/syntax/generator/vim.vim.rc
|
||||
|
||||
# Generated by "make shadow". The directory names could be anything but we
|
||||
# restrict them to shadow (the default) or shadow-*
|
||||
@@ -119,13 +94,6 @@ src/shadow
|
||||
src/shadow-*
|
||||
src/runtime
|
||||
src/pixmaps
|
||||
src/LICENSE
|
||||
src/README.txt
|
||||
|
||||
# other files possibly created by tools
|
||||
# other possible files build by tools
|
||||
src/cscope.out
|
||||
|
||||
# Linter/language server files
|
||||
.cache/clangd/
|
||||
.ccls-cache/
|
||||
compile_commands.json
|
||||
|
||||
+32
-94
@@ -1,146 +1,84 @@
|
||||
# Contributing to Vim
|
||||
|
||||
Patches are welcome in whatever form.
|
||||
Discussions about patches happen on the [vim-dev][0] mailing list.
|
||||
Discussions about patches happen on the vim-dev maillist.
|
||||
If you create a pull request on GitHub it will be
|
||||
forwarded to the vim-dev mailing list. You can also send your patch there
|
||||
directly (but please note, the initial posting is subject to moderation).
|
||||
In that case an attachment with a unified diff format is preferred.
|
||||
Information about the mailing list can be found [on the Vim website][0]
|
||||
forwarded to the vim-dev maillist. You can also send your patch there
|
||||
directly. In that case an attachment with a unified diff format is preferred.
|
||||
Information about the maillist can be found [on the Vim website].
|
||||
|
||||
[on the Vim website]: http://www.vim.org/maillist.php#vim-dev
|
||||
|
||||
A pull request has the advantage that it will trigger the Continuous
|
||||
Integration tests, you will be warned of problems (you can ignore the coverage
|
||||
warning, it's noisy).
|
||||
|
||||
Please consider adding a test. All new functionality should be tested and bug
|
||||
Please consider adding a test. All new functionality should be tested and bug
|
||||
fixes should be tested for regressions: the test should fail before the fix and
|
||||
pass after the fix. Look through recent patches for examples and find help
|
||||
with ":help testing". The tests are located under "src/testdir".
|
||||
pass after the fix. Look through recent patches for examples and find help
|
||||
with ":help testing". The tests are located under "src/testdir".
|
||||
|
||||
Contributions will be distributed with Vim under the Vim license. Providing a
|
||||
Contributions will be distributed with Vim under the Vim license. Providing a
|
||||
change to be included implies that you agree with this and your contribution
|
||||
does not cause us trouble with trademarks or patents. There is no CLA to sign.
|
||||
does not cause us trouble with trademarks or patents. There is no CLA to sign.
|
||||
|
||||
## Signing-off commits
|
||||
|
||||
While not required, it's recommended to use **Signed-off commits** to ensure
|
||||
transparency, accountability, and compliance with open-source best practices.
|
||||
Signed-off commits follow the [Developer Certificate of Origin (DCO)][15],
|
||||
which confirms that contributors have the right to submit their changes under
|
||||
the project's license. This process adds a `Signed-off-by` line to commit
|
||||
messages, verifying that the contributor agrees to the project's licensing
|
||||
terms. To sign off a commit, simply use the -s flag when committing:
|
||||
|
||||
```sh
|
||||
git commit -s
|
||||
```
|
||||
|
||||
This ensures that every contribution is properly documented and traceable,
|
||||
aligning with industry standards used in projects like the Linux Kernel or
|
||||
the git project. By making Signed-off commits a standard practice, we help
|
||||
maintain a legally compliant and well-governed codebase while fostering trust
|
||||
within our contributor community.
|
||||
|
||||
When merging PRs into Vim, the current maintainer @chrisbra usually adds missing
|
||||
`Signed-off-by` trailers for the author user name and email address as well for
|
||||
anybody that explicitly *ACK*s a pull request as a statement that those
|
||||
approvers are happy with that particular change.
|
||||
|
||||
# Reporting issues
|
||||
|
||||
We use GitHub issues, but that is not a requirement. Writing to the Vim
|
||||
mailing list is also fine.
|
||||
We use GitHub issues, but that is not a requirement. Writing to the Vim
|
||||
maillist is also fine.
|
||||
|
||||
Please use the GitHub issues only for actual issues. If you are not 100% sure
|
||||
that your problem is a Vim issue, please first discuss this on the Vim user
|
||||
mailing list. Try reproducing the problem without any of your plugins or settings:
|
||||
maillist. Try reproducing the problem without any of your plugins or settings:
|
||||
|
||||
vim --clean
|
||||
|
||||
If you report an issue, please describe exactly how to reproduce it.
|
||||
For example, don't say "insert some text" but say what you did exactly:
|
||||
`ahere is some text<Esc>`.
|
||||
"ahere is some text<Esc>".
|
||||
Ideally, the steps you list can be used to write a test to verify the problem
|
||||
is fixed.
|
||||
|
||||
Feel free to report even the smallest problem, also typos in the documentation.
|
||||
|
||||
You can find known issues in the todo file: `:help todo`.
|
||||
Or open [the todo file][todo list] on GitHub to see the latest version.
|
||||
You can find known issues in the todo file: ":help todo".
|
||||
Or open [the todo file] on GitHub to see the latest version.
|
||||
|
||||
[the todo file]: https://github.com/vim/vim/blob/master/runtime/doc/todo.txt
|
||||
|
||||
|
||||
# Syntax, indent and other runtime files
|
||||
|
||||
The latest version of these files can be obtained from the repository.
|
||||
They are usually not updated with numbered patches. However, they may
|
||||
or may not work with older Vim releases (since they may contain new features).
|
||||
They are usually not updated with numbered patches.
|
||||
|
||||
If you find a problem with one of these files or have a suggestion for
|
||||
improvement, please first try to contact the maintainer directly.
|
||||
Look in the header of the file for the name, email address, github handle and/or
|
||||
upstream repository. You may also check the [MAINTAINERS][11] file.
|
||||
Look in the header of the file for the name and email address.
|
||||
|
||||
The maintainer will take care of issues and send updates to the Vim project for
|
||||
The maintainer will take care of issues and send updates to Bram for
|
||||
distribution with Vim.
|
||||
|
||||
If the maintainer does not respond, contact the [vim-dev][0] mailing list.
|
||||
If the maintainer does not respond, contact the vim-dev maillist.
|
||||
|
||||
## Contributing new runtime files
|
||||
|
||||
If you want to contribute new runtime files for Vim or Neovim, please create a
|
||||
PR with your changes against this repository here. For new filetypes, do not forget:
|
||||
|
||||
- to add a new [filetype test][12] (keep it similar to the other filetype tests).
|
||||
- all configuration switches should be documented
|
||||
(check [filetype.txt][13] and/or [syntax.txt][14] for filetype and syntax plugins)
|
||||
- add yourself as Maintainer to the top of file (again, keep the header similar to
|
||||
other runtime files)
|
||||
- add yourself to the [MAINTAINERS][11] file.
|
||||
|
||||
# Translations
|
||||
|
||||
Translating messages and runtime files is very much appreciated! These things
|
||||
Translating messages and runtime files is very much appreciated! These things
|
||||
can be translated:
|
||||
|
||||
- Messages in Vim, see [src/po/README.txt][1]
|
||||
Also used for the desktop icons.
|
||||
- Menus, see [runtime/lang/README.txt][2]
|
||||
- Vim tutor, see [runtime/tutor/README.txt][3]
|
||||
- Manual pages, see [runtime/doc/\*.1][4] for examples
|
||||
- Installer, see [nsis/lang/README.txt][5]
|
||||
* Messages in Vim, see [src/po/README.txt][1]
|
||||
Also used for the desktop icons.
|
||||
* Menus, see [runtime/lang/README.txt][2]
|
||||
* Vim tutor, see [runtime/tutor/README.txt][3]
|
||||
* Manual pages, see [runtime/doc/\*.1][4] for examples
|
||||
* Installer, see [nsis/lang/\*.nsi][5] for examples
|
||||
|
||||
The help files can be translated and made available separately.
|
||||
See https://www.vim.org/translations.php for examples.
|
||||
|
||||
# How do I contribute to the project?
|
||||
|
||||
Please have a look at the following [discussion][6], which should give you some
|
||||
ideas. Please also check the [develop.txt][7] helpfile for the recommended
|
||||
coding style. Often it's also beneficial to check the surrounding code for the style
|
||||
being used.
|
||||
|
||||
For the recommended documentation style, please check [helphelp.txt][16].
|
||||
|
||||
# I have a question
|
||||
|
||||
If you have some question on the style guide, please contact the [vim-dev][0]
|
||||
mailing list. For other questions please use the [Vi Stack Exchange][8] website, the
|
||||
[vim-use][9] mailing list or make use of the [discussion][10] feature here at github.
|
||||
|
||||
[todo list]: https://github.com/vim/vim/blob/master/runtime/doc/todo.txt
|
||||
[0]: http://www.vim.org/maillist.php#vim-dev
|
||||
[1]: https://github.com/vim/vim/blob/master/src/po/README.txt
|
||||
[2]: https://github.com/vim/vim/blob/master/runtime/lang/README.txt
|
||||
[3]: https://github.com/vim/vim/blob/master/runtime/tutor/README.txt
|
||||
[4]: https://github.com/vim/vim/blob/master/runtime/doc/vim.1
|
||||
[5]: https://github.com/vim/vim/blob/master/nsis/lang/README.txt
|
||||
[6]: https://github.com/vim/vim/discussions/13087
|
||||
[7]: https://github.com/vim/vim/blob/master/runtime/doc/develop.txt
|
||||
[8]: https://vi.stackexchange.com
|
||||
[9]: http://www.vim.org/maillist.php#vim-use
|
||||
[10]: https://github.com/vim/vim/discussions
|
||||
[11]: https://github.com/vim/vim/blob/master/.github/MAINTAINERS
|
||||
[12]: https://github.com/vim/vim/blob/master/src/testdir/test_filetype.vim
|
||||
[13]: https://github.com/vim/vim/blob/master/runtime/doc/filetype.txt
|
||||
[14]: https://github.com/vim/vim/blob/master/runtime/doc/syntax.txt
|
||||
[15]: https://en.wikipedia.org/wiki/Developer_Certificate_of_Origin
|
||||
[16]: https://github.com/vim/vim/blob/master/runtime/doc/helphelp.txt
|
||||
[5]: https://github.com/vim/vim/blob/master/nsis/lang/english.nsi
|
||||
|
||||
@@ -1,34 +1,28 @@
|
||||
# List of distributed Vim files.
|
||||
# Used by Makefile.
|
||||
|
||||
# Source files for all source archives.
|
||||
# source files for all source archives
|
||||
SRC_ALL = \
|
||||
.cirrus.yml \
|
||||
.coveralls.yml \
|
||||
.gitattributes \
|
||||
.git-blame-ignore-revs \
|
||||
.github/MAINTAINERS \
|
||||
.github/CODEOWNERS \
|
||||
.github/ISSUE_TEMPLATE/bug_report.yml \
|
||||
.github/ISSUE_TEMPLATE/feature_request.md \
|
||||
.github/workflows/ci.yml \
|
||||
.github/workflows/codeql-analysis.yml \
|
||||
.github/workflows/coverity.yml \
|
||||
.github/actions/test_artifacts/action.yml \
|
||||
.github/dependabot.yml \
|
||||
.gitignore \
|
||||
.hgignore \
|
||||
.appveyor.yml \
|
||||
.clang-format \
|
||||
.codecov.yml \
|
||||
.editorconfig \
|
||||
ci/appveyor.bat \
|
||||
ci/build-snd-dummy.sh \
|
||||
ci/config.mk*.sed \
|
||||
ci/if_ver*.vim \
|
||||
ci/if_feat_check.vim \
|
||||
ci/load-snd-dummy.sh \
|
||||
ci/setup-xvfb.sh \
|
||||
ci/setup-sway.sh \
|
||||
ci/remove_snap.sh \
|
||||
ci/ddebs.list \
|
||||
ci/pinned-pkgs \
|
||||
src/Make_all.mak \
|
||||
src/README.md \
|
||||
src/alloc.c \
|
||||
@@ -56,7 +50,6 @@ SRC_ALL = \
|
||||
src/debugger.c \
|
||||
src/dict.c \
|
||||
src/diff.c \
|
||||
src/linematch.c \
|
||||
src/digraph.c \
|
||||
src/drawline.c \
|
||||
src/drawscreen.c \
|
||||
@@ -81,7 +74,6 @@ SRC_ALL = \
|
||||
src/float.c \
|
||||
src/fold.c \
|
||||
src/getchar.c \
|
||||
src/gc.c \
|
||||
src/globals.h \
|
||||
src/gui.c \
|
||||
src/gui.h \
|
||||
@@ -151,7 +143,6 @@ SRC_ALL = \
|
||||
src/strings.c \
|
||||
src/structs.h \
|
||||
src/syntax.c \
|
||||
src/tabpanel.c \
|
||||
src/tag.c \
|
||||
src/term.c \
|
||||
src/terminal.c \
|
||||
@@ -162,7 +153,6 @@ SRC_ALL = \
|
||||
src/textobject.c \
|
||||
src/textprop.c \
|
||||
src/time.c \
|
||||
src/tuple.c \
|
||||
src/typval.c \
|
||||
src/ui.c \
|
||||
src/undo.c \
|
||||
@@ -177,7 +167,6 @@ SRC_ALL = \
|
||||
src/vim9compile.c \
|
||||
src/vim9execute.c \
|
||||
src/vim9expr.c \
|
||||
src/vim9generics.c \
|
||||
src/vim9instr.c \
|
||||
src/vim9script.c \
|
||||
src/vim9type.c \
|
||||
@@ -185,67 +174,51 @@ SRC_ALL = \
|
||||
src/winclip.c \
|
||||
src/window.c \
|
||||
src/xxd/xxd.c \
|
||||
src/testdir/gen_opt_test.vim \
|
||||
src/testdir/README.txt \
|
||||
src/testdir/Make_all.mak \
|
||||
src/testdir/*.in \
|
||||
src/testdir/*.py \
|
||||
src/testdir/Make_all.mak \
|
||||
src/testdir/README.txt \
|
||||
src/testdir/commondumps.vim \
|
||||
src/testdir/crash/* \
|
||||
src/testdir/dumps/*.dump \
|
||||
src/testdir/dumps/*.vim \
|
||||
src/testdir/keycode_check.json \
|
||||
src/testdir/keycode_check.vim \
|
||||
src/testdir/keycode_check.json \
|
||||
src/testdir/lsan-suppress.txt \
|
||||
src/testdir/sautest/autoload/*.vim \
|
||||
src/testdir/testluaplugin/lua/testluaplugin/*.lua \
|
||||
src/testdir/check.vim \
|
||||
src/testdir/gui_init.vim \
|
||||
src/testdir/gui_preinit.vim \
|
||||
src/testdir/mouse.vim \
|
||||
src/testdir/runtest.vim \
|
||||
src/testdir/screendump.vim \
|
||||
src/testdir/setup.vim \
|
||||
src/testdir/setup_gui.vim \
|
||||
src/testdir/shared.vim \
|
||||
src/testdir/vim9.vim \
|
||||
src/testdir/script_util.vim \
|
||||
src/testdir/summarize.vim \
|
||||
src/testdir/term_util.vim \
|
||||
src/testdir/view_util.vim \
|
||||
src/testdir/test[0-9]*.ok \
|
||||
src/testdir/test77a.ok \
|
||||
src/testdir/test77a.com \
|
||||
src/testdir/test_*.vim \
|
||||
src/testdir/python2/*.py \
|
||||
src/testdir/python3/*.py \
|
||||
src/testdir/python_after/*.py \
|
||||
src/testdir/python_before/*.py \
|
||||
src/testdir/pythonx/*.py \
|
||||
src/testdir/pythonx/topmodule/__init__.py \
|
||||
src/testdir/pythonx/topmodule/submodule/__init__.py \
|
||||
src/testdir/pythonx/topmodule/submodule/subsubmodule/__init__.py \
|
||||
src/testdir/pythonx/topmodule/submodule/subsubmodule/subsubsubmodule.py \
|
||||
src/testdir/python_after/*.py \
|
||||
src/testdir/python_before/*.py \
|
||||
src/testdir/pyxfile/*.py \
|
||||
src/testdir/ru_RU/LC_MESSAGES/Makefile \
|
||||
src/testdir/ru_RU/LC_MESSAGES/__PACKAGE__.mo \
|
||||
src/testdir/ru_RU/LC_MESSAGES/__PACKAGE__.po \
|
||||
src/testdir/runtest.vim \
|
||||
src/testdir/samples/*.html \
|
||||
src/testdir/dumps/*.dump \
|
||||
src/testdir/dumps/*.vim \
|
||||
src/testdir/samples/*.txt \
|
||||
src/testdir/samples/*.vim \
|
||||
src/testdir/samples/evil.zip \
|
||||
src/testdir/samples/evil.tar \
|
||||
src/testdir/samples/poc.zip \
|
||||
src/testdir/samples/sample.tar \
|
||||
src/testdir/samples/test.zip \
|
||||
src/testdir/samples/test000 \
|
||||
src/testdir/samples/test_undo.txt.undo \
|
||||
src/testdir/samples/testa.zip \
|
||||
src/testdir/sautest/autoload/*.vim \
|
||||
src/testdir/color_ramp.vim \
|
||||
src/testdir/silent.wav \
|
||||
src/testdir/test77a.com \
|
||||
src/testdir/test77a.ok \
|
||||
src/testdir/test[0-9]*.ok \
|
||||
src/testdir/test_*.vim \
|
||||
src/testdir/testluaplugin/lua/testluaplugin/*.lua \
|
||||
src/testdir/util/check.vim \
|
||||
src/testdir/util/color_ramp.vim \
|
||||
src/testdir/util/gen_opt_test.vim \
|
||||
src/testdir/util/gui_init.vim \
|
||||
src/testdir/util/gui_preinit.vim \
|
||||
src/testdir/util/mouse.vim \
|
||||
src/testdir/util/popupbounce.vim \
|
||||
src/testdir/util/screendump.vim \
|
||||
src/testdir/util/script_util.vim \
|
||||
src/testdir/util/setup.vim \
|
||||
src/testdir/util/setup_gui.vim \
|
||||
src/testdir/util/shared.vim \
|
||||
src/testdir/util/summarize.vim \
|
||||
src/testdir/util/term_util.vim \
|
||||
src/testdir/util/view_util.vim \
|
||||
src/testdir/util/vim9.vim \
|
||||
src/testdir/util/window_manager.vim \
|
||||
src/testdir/viewdumps.vim \
|
||||
src/testdir/popupbounce.vim \
|
||||
src/proto.h \
|
||||
src/protodef.h \
|
||||
src/proto/alloc.pro \
|
||||
@@ -290,7 +263,6 @@ SRC_ALL = \
|
||||
src/proto/float.pro \
|
||||
src/proto/fold.pro \
|
||||
src/proto/getchar.pro \
|
||||
src/proto/gc.pro \
|
||||
src/proto/gui.pro \
|
||||
src/proto/gui_beval.pro \
|
||||
src/proto/hardcopy.pro \
|
||||
@@ -301,7 +273,6 @@ SRC_ALL = \
|
||||
src/proto/insexpand.pro \
|
||||
src/proto/job.pro \
|
||||
src/proto/json.pro \
|
||||
src/proto/linematch.pro \
|
||||
src/proto/list.pro \
|
||||
src/proto/locale.pro \
|
||||
src/proto/logfile.pro \
|
||||
@@ -341,7 +312,6 @@ SRC_ALL = \
|
||||
src/proto/spellsuggest.pro \
|
||||
src/proto/strings.pro \
|
||||
src/proto/syntax.pro \
|
||||
src/proto/tabpanel.pro \
|
||||
src/proto/tag.pro \
|
||||
src/proto/term.pro \
|
||||
src/proto/terminal.pro \
|
||||
@@ -351,7 +321,6 @@ SRC_ALL = \
|
||||
src/proto/textobject.pro \
|
||||
src/proto/textprop.pro \
|
||||
src/proto/time.pro \
|
||||
src/proto/tuple.pro \
|
||||
src/proto/typval.pro \
|
||||
src/proto/ui.pro \
|
||||
src/proto/undo.pro \
|
||||
@@ -363,7 +332,6 @@ SRC_ALL = \
|
||||
src/proto/vim9compile.pro \
|
||||
src/proto/vim9execute.pro \
|
||||
src/proto/vim9expr.pro \
|
||||
src/proto/vim9generics.pro \
|
||||
src/proto/vim9instr.pro \
|
||||
src/proto/vim9script.pro \
|
||||
src/proto/vim9type.pro \
|
||||
@@ -462,7 +430,7 @@ SRC_ALL = \
|
||||
src/xdiff/xutils.h \
|
||||
|
||||
|
||||
# Source files for Unix-like only.
|
||||
# source files for Unix only
|
||||
SRC_UNIX = \
|
||||
Makefile \
|
||||
Filelist \
|
||||
@@ -496,12 +464,6 @@ SRC_UNIX = \
|
||||
src/gui_xmebwp.h \
|
||||
src/gui_x11.c \
|
||||
src/gui_x11_pm.h \
|
||||
src/auto/wayland/README.txt \
|
||||
src/auto/wayland/Makefile \
|
||||
src/auto/wayland/protocols/ext-data-control-v1.xml \
|
||||
src/auto/wayland/protocols/wlr-data-control-unstable-v1.xml \
|
||||
src/auto/wayland/protocols/xdg-shell.xml \
|
||||
src/auto/wayland/protocols/primary-selection-unstable-v1.xml \
|
||||
src/if_xcmdsrv.c \
|
||||
src/link.sh \
|
||||
src/installman.sh \
|
||||
@@ -520,24 +482,21 @@ SRC_UNIX = \
|
||||
src/proto/gui_motif.pro \
|
||||
src/proto/gui_xmdlg.pro \
|
||||
src/proto/gui_x11.pro \
|
||||
src/proto/wayland.pro \
|
||||
src/proto/if_xcmdsrv.pro \
|
||||
src/proto/os_unix.pro \
|
||||
src/proto/pty.pro \
|
||||
src/pty.c \
|
||||
src/testdir/Makefile \
|
||||
src/testdir/util/unix.vim \
|
||||
src/testdir/unix.vim \
|
||||
src/toolcheck \
|
||||
src/vim_icon.xbm \
|
||||
src/vim_mask.xbm \
|
||||
src/vimtutor \
|
||||
src/gvimtutor \
|
||||
src/wayland.c \
|
||||
src/which.sh \
|
||||
src/gen-wayland-protocols.sh \
|
||||
src/xxd/Makefile \
|
||||
|
||||
# Source files for both MS Windows and Unix-like.
|
||||
# source files for both DOS and Unix
|
||||
SRC_DOS_UNIX = \
|
||||
src/gui_xim.c \
|
||||
src/if_cscope.c \
|
||||
@@ -563,7 +522,7 @@ SRC_DOS_UNIX = \
|
||||
src/proto/if_tcl.pro \
|
||||
src/typemap \
|
||||
|
||||
# Source files for MS Windows (also in the extra archive).
|
||||
# source files for MS-Windows (also in the extra archive)
|
||||
SRC_DOS = \
|
||||
src/GvimExt/*.mak \
|
||||
src/GvimExt/GvimExt.reg \
|
||||
@@ -620,7 +579,7 @@ SRC_DOS = \
|
||||
src/testdir/Make_dos.mak \
|
||||
src/testdir/Make_mvc.mak \
|
||||
src/testdir/Make_ming.mak \
|
||||
src/testdir/util/dos.vim \
|
||||
src/testdir/dos.vim \
|
||||
src/uninstall.c \
|
||||
src/vim.rc \
|
||||
src/vim.manifest \
|
||||
@@ -635,14 +594,11 @@ SRC_DOS = \
|
||||
src/xxd/Make_mvc.mak \
|
||||
nsis/gvim.nsi \
|
||||
nsis/gvim_version.nsh \
|
||||
nsis/Makefile \
|
||||
nsis/Make_mvc.mak \
|
||||
nsis/README.txt \
|
||||
nsis/lang/*.nsi \
|
||||
nsis/lang/README.txt \
|
||||
uninstall.txt \
|
||||
|
||||
# Source files for MS Windows without CR/LF translation (also in the extra archive).
|
||||
# source files for DOS without CR/LF translation (also in the extra archive)
|
||||
SRC_DOS_BIN = \
|
||||
src/tearoff.bmp \
|
||||
src/tools.bmp \
|
||||
@@ -659,10 +615,10 @@ SRC_DOS_BIN = \
|
||||
runtime/bitmaps/vim.ico \
|
||||
nsis/icons.zip \
|
||||
|
||||
# Source files for Amiga, DOS, etc. (also in the extra archive).
|
||||
# source files for Amiga, DOS, etc. (also in the extra archive)
|
||||
SRC_AMI_DOS = \
|
||||
|
||||
# Source files for Amiga (also in the extra archive).
|
||||
# source files for Amiga (also in the extra archive)
|
||||
SRC_AMI = \
|
||||
README_amisrc.txt \
|
||||
README_amisrc.txt.info \
|
||||
@@ -673,10 +629,10 @@ SRC_AMI = \
|
||||
src/os_amiga.h \
|
||||
src/proto/os_amiga.pro \
|
||||
src/testdir/Make_amiga.mak \
|
||||
src/testdir/util/amiga.vim \
|
||||
src/testdir/amiga.vim \
|
||||
src/xxd/Make_amiga.mak \
|
||||
|
||||
# Source files for Haiku (also in the extra archive).
|
||||
# source files for Haiku (also in the extra archive)
|
||||
SRC_HAIKU = \
|
||||
README_haiku.txt \
|
||||
src/os_haiku.h \
|
||||
@@ -685,7 +641,7 @@ SRC_HAIKU = \
|
||||
src/gui_haiku.h \
|
||||
src/proto/gui_haiku.pro \
|
||||
|
||||
# Source files for the Mac (also in the extra archive).
|
||||
# source files for the Mac (also in the extra archive)
|
||||
SRC_MAC = \
|
||||
src/INSTALLmac.txt \
|
||||
src/os_mac.h \
|
||||
@@ -694,7 +650,7 @@ SRC_MAC = \
|
||||
src/proto/os_mac_conv.pro \
|
||||
src/proto/os_macosx.pro \
|
||||
|
||||
# Source files for VMS (in the extra archive).
|
||||
# source files for VMS (in the extra archive)
|
||||
SRC_VMS = \
|
||||
src/INSTALLvms.txt \
|
||||
src/Make_vms.mms \
|
||||
@@ -704,11 +660,11 @@ SRC_VMS = \
|
||||
src/os_vms_mms.c \
|
||||
src/proto/os_vms.pro \
|
||||
src/testdir/Make_vms.mms \
|
||||
src/testdir/util/vms.vim \
|
||||
src/testdir/vms.vim \
|
||||
src/xxd/Make_vms.mms \
|
||||
vimtutor.com \
|
||||
|
||||
# Source files for QNX (in the extra archive).
|
||||
# source files for QNX (in the extra archive)
|
||||
SRC_QNX = \
|
||||
src/os_qnx.c \
|
||||
src/os_qnx.h \
|
||||
@@ -716,7 +672,7 @@ SRC_QNX = \
|
||||
src/proto/gui_photon.pro \
|
||||
src/proto/os_qnx.pro \
|
||||
|
||||
# Source files for the extra archive (all sources that are not for Unix).
|
||||
# source files for the extra archive (all sources that are not for Unix)
|
||||
SRC_EXTRA = \
|
||||
$(SRC_AMI) \
|
||||
$(SRC_AMI_DOS) \
|
||||
@@ -731,7 +687,7 @@ SRC_EXTRA = \
|
||||
src/os_vms_fix.com \
|
||||
src/toolbar.phi \
|
||||
|
||||
# Runtime files for all distributions.
|
||||
# runtime files for all distributions
|
||||
RT_ALL = \
|
||||
README.txt \
|
||||
README.md \
|
||||
@@ -743,7 +699,6 @@ RT_ALL = \
|
||||
runtime/doc/*.pl \
|
||||
runtime/doc/*.txt \
|
||||
runtime/doc/Makefile \
|
||||
runtime/doc/Make_all.mak \
|
||||
runtime/doc/doctags.c \
|
||||
runtime/doc/doctags.vim \
|
||||
runtime/doc/test_urls.vim \
|
||||
@@ -755,7 +710,6 @@ RT_ALL = \
|
||||
runtime/ftoff.vim \
|
||||
runtime/gvimrc_example.vim \
|
||||
runtime/import/dist/vimhelp.vim \
|
||||
runtime/import/dist/vimhighlight.vim \
|
||||
runtime/macros/README.txt \
|
||||
runtime/macros/editexisting.vim \
|
||||
runtime/macros/hanoi/click.me \
|
||||
@@ -794,67 +748,29 @@ RT_ALL = \
|
||||
runtime/tools/README.txt \
|
||||
runtime/tools/[a-z]*[a-z0-9] \
|
||||
runtime/tutor/README.txt \
|
||||
runtime/tutor/tutor1 \
|
||||
runtime/tutor/en/vim-01-beginner.tutor \
|
||||
runtime/tutor/en/vim-01-beginner.tutor.json \
|
||||
runtime/tutor/en/vim-02-beginner.tutor \
|
||||
runtime/tutor/en/vim-02-beginner.tutor.json \
|
||||
runtime/tutor/tutor.tutor \
|
||||
runtime/tutor/tutor.tutor.json \
|
||||
runtime/tutor/tutor \
|
||||
runtime/tutor/tutor.vim \
|
||||
runtime/tutor/tutor2 \
|
||||
runtime/vimrc_example.vim \
|
||||
runtime/pack/dist/opt/cfilter/plugin/cfilter.vim \
|
||||
runtime/pack/dist/opt/comment/plugin/comment.vim \
|
||||
runtime/pack/dist/opt/comment/doc/comment.txt \
|
||||
runtime/pack/dist/opt/comment/doc/tags \
|
||||
runtime/pack/dist/opt/comment/autoload/comment.vim \
|
||||
runtime/pack/dist/opt/dvorak/plugin/dvorak.vim \
|
||||
runtime/pack/dist/opt/dvorak/dvorak/enable.vim \
|
||||
runtime/pack/dist/opt/dvorak/dvorak/disable.vim \
|
||||
runtime/pack/dist/opt/editexisting/plugin/editexisting.vim \
|
||||
runtime/pack/dist/opt/editorconfig/.editorconfig \
|
||||
runtime/pack/dist/opt/editorconfig/CONTRIBUTORS \
|
||||
runtime/pack/dist/opt/editorconfig/LICENSE* \
|
||||
runtime/pack/dist/opt/editorconfig/mkzip.sh \
|
||||
runtime/pack/dist/opt/editorconfig/README.md \
|
||||
runtime/pack/dist/opt/editorconfig/autoload/*.vim \
|
||||
runtime/pack/dist/opt/editorconfig/autoload/editorconfig_core/*.vim \
|
||||
runtime/pack/dist/opt/editorconfig/doc/tags \
|
||||
runtime/pack/dist/opt/editorconfig/doc/editorconfig.txt \
|
||||
runtime/pack/dist/opt/editorconfig/ftdetect/editorconfig.vim \
|
||||
runtime/pack/dist/opt/editorconfig/plugin/editorconfig.vim \
|
||||
runtime/pack/dist/opt/helptoc/autoload/helptoc.vim \
|
||||
runtime/pack/dist/opt/helptoc/doc/helptoc.txt \
|
||||
runtime/pack/dist/opt/helptoc/doc/tags \
|
||||
runtime/pack/dist/opt/helptoc/plugin/helptoc.vim \
|
||||
runtime/pack/dist/opt/hlyank/plugin/hlyank.vim \
|
||||
runtime/pack/dist/opt/justify/plugin/justify.vim \
|
||||
runtime/pack/dist/opt/matchit/plugin/matchit.vim \
|
||||
runtime/pack/dist/opt/matchit/doc/matchit.txt \
|
||||
runtime/pack/dist/opt/matchit/doc/tags \
|
||||
runtime/pack/dist/opt/matchit/autoload/*.vim \
|
||||
runtime/pack/dist/opt/nohlsearch/plugin/nohlsearch.vim \
|
||||
runtime/pack/dist/opt/shellmenu/plugin/shellmenu.vim \
|
||||
runtime/pack/dist/opt/swapmouse/plugin/swapmouse.vim \
|
||||
runtime/pack/dist/opt/termdebug/plugin/termdebug.vim \
|
||||
runtime/pack/dist/opt/netrw/LICENSE.txt \
|
||||
runtime/pack/dist/opt/netrw/README.md \
|
||||
runtime/pack/dist/opt/netrw/autoload/netrw.vim \
|
||||
runtime/pack/dist/opt/netrw/autoload/netrw/fs.vim \
|
||||
runtime/pack/dist/opt/netrw/autoload/netrw/os.vim \
|
||||
runtime/pack/dist/opt/netrw/autoload/netrw/msg.vim \
|
||||
runtime/pack/dist/opt/netrw/autoload/netrw_gitignore.vim \
|
||||
runtime/pack/dist/opt/netrw/doc/netrw.txt \
|
||||
runtime/pack/dist/opt/netrw/plugin/netrwPlugin.vim \
|
||||
runtime/pack/dist/opt/netrw/syntax/netrw.vim
|
||||
|
||||
# Runtime files for all distributions without CR/LF translation.
|
||||
# runtime files for all distributions without CR-NL translation
|
||||
RT_ALL_BIN = \
|
||||
runtime/doc/tags \
|
||||
runtime/print/*.ps \
|
||||
|
||||
# Runtime script files.
|
||||
# runtime script files
|
||||
RT_SCRIPTS = \
|
||||
runtime/filetype.vim \
|
||||
runtime/scripts.vim \
|
||||
@@ -865,10 +781,9 @@ RT_SCRIPTS = \
|
||||
runtime/makemenu.vim \
|
||||
runtime/autoload/*.vim \
|
||||
runtime/autoload/README.txt \
|
||||
runtime/autoload/cargo/*.vim \
|
||||
runtime/autoload/dist/*.vim \
|
||||
runtime/autoload/rust/*.vim \
|
||||
runtime/autoload/xml/*.vim \
|
||||
runtime/autoload/zig/*.vim \
|
||||
runtime/colors/*.vim \
|
||||
runtime/colors/README.txt \
|
||||
runtime/colors/lists/*.vim \
|
||||
@@ -882,7 +797,6 @@ RT_SCRIPTS = \
|
||||
runtime/indent/testdir/*.vim \
|
||||
runtime/indent/testdir/*.in \
|
||||
runtime/indent/testdir/*.ok \
|
||||
runtime/indent/testdir/tools/* \
|
||||
runtime/ftplugin/*.vim \
|
||||
runtime/ftplugin/logtalk.dict \
|
||||
runtime/ftplugin/README.txt \
|
||||
@@ -890,27 +804,10 @@ RT_SCRIPTS = \
|
||||
runtime/plugin/README.txt \
|
||||
runtime/syntax/*.vim \
|
||||
runtime/syntax/README.txt \
|
||||
runtime/syntax/modula2/opt/*.vim \
|
||||
runtime/syntax/shared/*.vim \
|
||||
runtime/syntax/shared/README.txt \
|
||||
runtime/syntax/Makefile \
|
||||
runtime/syntax/testdir/README.txt \
|
||||
runtime/syntax/testdir/runtest.vim \
|
||||
runtime/syntax/testdir/viewdumps.vim \
|
||||
runtime/syntax/testdir/ftplugin/*.* \
|
||||
runtime/syntax/testdir/input/*.* \
|
||||
runtime/syntax/testdir/input/selftestdir/* \
|
||||
runtime/syntax/testdir/input/setup/*.* \
|
||||
runtime/syntax/testdir/dumps/*.dump \
|
||||
runtime/syntax/testdir/dumps/*.vim \
|
||||
runtime/syntax/testdir/tools/* \
|
||||
runtime/syntax/generator/Makefile \
|
||||
runtime/syntax/generator/README.md \
|
||||
runtime/syntax/generator/gen_syntax_vim.vim \
|
||||
runtime/syntax/generator/update_date.vim \
|
||||
runtime/syntax/generator/vim.vim.base \
|
||||
|
||||
# Unix-like runtime.
|
||||
# Unix runtime
|
||||
RT_UNIX = \
|
||||
README_unix.txt \
|
||||
runtime/hi16-action-make.png \
|
||||
@@ -918,7 +815,7 @@ RT_UNIX = \
|
||||
runtime/gvim.desktop \
|
||||
runtime/vim.desktop \
|
||||
|
||||
# Unix-like and MS Windows runtime without CR/LF translation.
|
||||
# Unix and DOS runtime without CR-LF translation
|
||||
RT_UNIX_DOS_BIN = \
|
||||
runtime/vim16x16.gif \
|
||||
runtime/vim16x16.png \
|
||||
@@ -930,10 +827,10 @@ RT_UNIX_DOS_BIN = \
|
||||
runtime/vim48x48.png \
|
||||
runtime/vim48x48.xpm \
|
||||
|
||||
# Runtime not for Unix-like or extra.
|
||||
# runtime not for unix or extra
|
||||
RT_NO_UNIX = \
|
||||
|
||||
# Runtime for Amiga (also in the extra archive).
|
||||
# runtime for Amiga (also in the extra archive)
|
||||
RT_AMI_DOS = \
|
||||
runtime/doc/evim.man \
|
||||
runtime/doc/vim.man \
|
||||
@@ -941,21 +838,17 @@ RT_AMI_DOS = \
|
||||
runtime/doc/vimtutor.man \
|
||||
runtime/doc/xxd.man \
|
||||
|
||||
# MS Windows runtime (also in the extra archive).
|
||||
# DOS runtime (also in the extra archive)
|
||||
RT_DOS = \
|
||||
README_dos.txt \
|
||||
runtime/doc/Make_mvc.mak \
|
||||
runtime/indent/Make_mvc.mak \
|
||||
runtime/lang/Make_mvc.mak \
|
||||
vimtutor.bat \
|
||||
|
||||
# MS Windows runtime without CR/LF translation (also in the extra archive).
|
||||
# DOS runtime without CR-LF translation (also in the extra archive)
|
||||
RT_DOS_BIN = \
|
||||
runtime/vimlogo.cdr \
|
||||
runtime/vimlogo.eps \
|
||||
runtime/vimlogo.gif \
|
||||
runtime/vimlogo.pdf \
|
||||
runtime/vimlogo.svg \
|
||||
|
||||
# Amiga runtime (also in the extra archive)
|
||||
RT_AMI = \
|
||||
@@ -977,7 +870,7 @@ RT_AMI = \
|
||||
runtime/tutor.info \
|
||||
runtime/tutor/*.info \
|
||||
|
||||
# Runtime files in extra archive.
|
||||
# runtime files in extra archive
|
||||
RT_EXTRA = \
|
||||
$(RT_AMI) \
|
||||
$(RT_AMI_DOS) \
|
||||
@@ -985,46 +878,46 @@ RT_EXTRA = \
|
||||
$(RT_DOS_BIN) \
|
||||
README_mac.txt \
|
||||
|
||||
# Included in all Amiga archives.
|
||||
# included in all Amiga archives
|
||||
ROOT_AMI = \
|
||||
Contents \
|
||||
Contents.info \
|
||||
runtime.info \
|
||||
vimdir.info \
|
||||
|
||||
# Root files for the extra archive.
|
||||
# root files for the extra archive
|
||||
ROOT_EXTRA = \
|
||||
$(ROOT_AMI) \
|
||||
|
||||
# Files for Amiga small binary (also in extra archive).
|
||||
# files for Amiga small binary (also in extra archive)
|
||||
BIN_AMI = \
|
||||
README_amibin.txt \
|
||||
README_amibin.txt.info \
|
||||
Vim.info \
|
||||
Xxd.info \
|
||||
|
||||
# Files for MS Windows binary (also in extra archive).
|
||||
# files for DOS binary (also in extra archive)
|
||||
BIN_DOS = \
|
||||
README_bindos.txt \
|
||||
uninstall.txt \
|
||||
|
||||
# Files for Win32 OLE binary (also in extra archive).
|
||||
# files for Win32 OLE binary (also in extra archive)
|
||||
BIN_OLE = \
|
||||
README_ole.txt \
|
||||
|
||||
# Files for Win32s binary (also in extra archive).
|
||||
# files for Win32s binary (also in extra archive)
|
||||
BIN_W32S = \
|
||||
README_w32s.txt \
|
||||
|
||||
# Files for VMS binary (also in extra archive).
|
||||
# files for VMS binary (also in extra archive)
|
||||
BIN_VMS = \
|
||||
README_vms.txt \
|
||||
|
||||
# Files for OS/2 binary (also in extra archive).
|
||||
# files for OS/2 binary (also in extra archive)
|
||||
BIN_OS2 = \
|
||||
README_os2.txt \
|
||||
|
||||
# Binary files for extra archive.
|
||||
# binary files for extra archive
|
||||
BIN_EXTRA = \
|
||||
$(BIN_AMI) \
|
||||
$(BIN_DOS) \
|
||||
@@ -1033,7 +926,7 @@ BIN_EXTRA = \
|
||||
$(BIN_VMS) \
|
||||
$(BIN_OS2) \
|
||||
|
||||
# All files for extra archive.
|
||||
# all files for extra archive
|
||||
EXTRA = \
|
||||
$(BIN_EXTRA) \
|
||||
$(ROOT_EXTRA) \
|
||||
@@ -1042,7 +935,7 @@ EXTRA = \
|
||||
README_extra.txt \
|
||||
runtime/vimlogo.xpm \
|
||||
|
||||
# Files in READMEdir that are included from the top dir.
|
||||
# files in READMEdir that are included from the top dir
|
||||
IN_README_DIR = \
|
||||
README.txt.info \
|
||||
README_ami.txt \
|
||||
@@ -1054,7 +947,6 @@ IN_README_DIR = \
|
||||
README_bindos.txt \
|
||||
README_dos.txt \
|
||||
README_extra.txt \
|
||||
README_haiku.txt \
|
||||
README_mac.txt \
|
||||
README_ole.txt \
|
||||
README_os2.txt \
|
||||
@@ -1062,7 +954,6 @@ IN_README_DIR = \
|
||||
README_src.txt \
|
||||
README_srcdos.txt \
|
||||
README_unix.txt \
|
||||
README_vimlogo.txt \
|
||||
README_vms.txt \
|
||||
README_w32s.txt \
|
||||
Contents \
|
||||
@@ -1073,10 +964,8 @@ IN_README_DIR = \
|
||||
src.info \
|
||||
vimdir.info \
|
||||
|
||||
# Generic language files.
|
||||
# generic language files
|
||||
LANG_GEN = \
|
||||
lang/README.*.txt \
|
||||
lang/LICENSE.*.txt \
|
||||
runtime/doc/*-da.1 \
|
||||
runtime/doc/*-da.UTF-8.1 \
|
||||
runtime/doc/*-de.1 \
|
||||
@@ -1094,25 +983,24 @@ LANG_GEN = \
|
||||
runtime/doc/*-tr.UTF-8.1 \
|
||||
runtime/lang/README.txt \
|
||||
runtime/lang/Makefile \
|
||||
runtime/lang/Make_all.mak \
|
||||
runtime/lang/menu_*.vim \
|
||||
runtime/keymap/README.txt \
|
||||
runtime/keymap/*.vim \
|
||||
runtime/tutor/README.*.txt \
|
||||
runtime/tutor/it/vim-01-beginner.tutor \
|
||||
runtime/tutor/it/vim-01-beginner.tutor.json \
|
||||
runtime/tutor/ru/vim-01-beginner.tutor \
|
||||
runtime/tutor/ru/vim-01-beginner.tutor.json \
|
||||
runtime/tutor/ru/vim-02-beginner.tutor \
|
||||
runtime/tutor/ru/vim-02-beginner.tutor.json \
|
||||
runtime/tutor/sr/vim-01-beginner.tutor \
|
||||
runtime/tutor/sr/vim-01-beginner.tutor.json \
|
||||
runtime/tutor/sr/vim-02-beginner.tutor \
|
||||
runtime/tutor/sr/vim-02-beginner.tutor.json \
|
||||
runtime/tutor/tutor1.?? \
|
||||
runtime/tutor/tutor1.??_?? \
|
||||
runtime/tutor/tutor1.bar \
|
||||
runtime/tutor/tutor2.?? \
|
||||
runtime/tutor/Makefile \
|
||||
runtime/tutor/tutor.utf-8 \
|
||||
runtime/tutor/tutor.?? \
|
||||
runtime/tutor/tutor.??.utf-8 \
|
||||
runtime/tutor/tutor.??.euc \
|
||||
runtime/tutor/tutor.??.sjis \
|
||||
runtime/tutor/tutor.??.iso9 \
|
||||
runtime/tutor/tutor.??.big5 \
|
||||
runtime/tutor/tutor.??.cp1250 \
|
||||
runtime/tutor/tutor.??.cp1251 \
|
||||
runtime/tutor/tutor.??.cp737 \
|
||||
runtime/tutor/tutor.??_??.utf-8 \
|
||||
runtime/tutor/tutor.bar \
|
||||
runtime/tutor/tutor.bar.utf-8 \
|
||||
runtime/spell/README.txt \
|
||||
runtime/spell/??/*.diff \
|
||||
runtime/spell/??/main.aap \
|
||||
@@ -1127,7 +1015,7 @@ LANG_GEN = \
|
||||
runtime/spell/main.aap \
|
||||
runtime/spell/*.vim \
|
||||
|
||||
# Generic language files, binary.
|
||||
# generic language files, binary
|
||||
LANG_GEN_BIN = \
|
||||
runtime/spell/README_en.txt \
|
||||
runtime/spell/en.ascii.spl \
|
||||
@@ -1137,7 +1025,7 @@ LANG_GEN_BIN = \
|
||||
runtime/spell/en.latin1.sug \
|
||||
runtime/spell/en.utf-8.sug \
|
||||
|
||||
# All files for lang archive.
|
||||
# all files for lang archive
|
||||
LANG_SRC = \
|
||||
src/po/README.txt \
|
||||
src/po/README_mingw.txt \
|
||||
@@ -1154,27 +1042,10 @@ LANG_SRC = \
|
||||
src/po/vim.desktop.in \
|
||||
src/po/gvim.desktop.in \
|
||||
src/po/sjiscorr.c \
|
||||
src/po/big5corr.c \
|
||||
src/po/*.po \
|
||||
src/po/vim.pot \
|
||||
|
||||
# The language files for the Win32 lang archive.
|
||||
# the language files for the Win32 lang archive
|
||||
LANG_DOS = \
|
||||
src/po/*.mo \
|
||||
|
||||
# Files in the repository that are deliberately not listed above, and will thus
|
||||
# be excluded from distribution tarballs and the like.
|
||||
# This excludes them from the CI check for unlisted files.
|
||||
IGNORE = \
|
||||
.appveyor.yml \
|
||||
.github/FUNDING.yml \
|
||||
.github/labeler.yml \
|
||||
.github/workflows/label.yml \
|
||||
SECURITY.md \
|
||||
ci/unlisted.make \
|
||||
ci/hlgroups.make \
|
||||
ci/hlgroups.ignore \
|
||||
src/libvterm/CODE-MAP \
|
||||
runtime/syntax/testdir/input/html_html \
|
||||
|
||||
# vim: set ft=make:
|
||||
|
||||
@@ -21,8 +21,8 @@ II) It is allowed to distribute a modified (or extended) version of Vim,
|
||||
maintainer will do with your changes and under what license they
|
||||
will be distributed is negotiable. If there has been no negotiation
|
||||
then this license, or a later version, also applies to your changes.
|
||||
The current maintainers are listed here: https://github.com/orgs/vim/people.
|
||||
If this changes it will be announced in appropriate places (most likely
|
||||
The current maintainer is Bram Moolenaar <Bram@vim.org>. If this
|
||||
changes it will be announced in appropriate places (most likely
|
||||
vim.sf.net, www.vim.org and/or comp.editors). When it is completely
|
||||
impossible to contact the maintainer, the obligation to send him
|
||||
your changes ceases. Once the maintainer has confirmed that he has
|
||||
|
||||
@@ -39,15 +39,14 @@ all install uninstall tools config configure reconfig proto depend lint tags typ
|
||||
@echo "Starting make in the src directory."
|
||||
@echo "If there are problems, cd to the src directory and run make there"
|
||||
cd src && $(MAKE) $@
|
||||
@# When the target is "test" also run the indent and syntax tests.
|
||||
@if test "$@" = "test" -o "$@" = "testtiny"; then \
|
||||
@# When the target is "test" also run the indent tests.
|
||||
@if test "$@" = "test"; then \
|
||||
$(MAKE) indenttest; \
|
||||
$(MAKE) syntaxtest; \
|
||||
fi
|
||||
@# When the target is "clean" also clean for the indent and syntax tests.
|
||||
@# When the target is "clean" also clean for the indent tests.
|
||||
@if test "$@" = "clean" -o "$@" = "distclean" -o "$@" = "testclean"; then \
|
||||
(cd runtime/indent && $(MAKE) clean); \
|
||||
(cd runtime/syntax && $(MAKE) clean); \
|
||||
cd runtime/indent && \
|
||||
$(MAKE) clean; \
|
||||
fi
|
||||
|
||||
# Executable used for running the indent tests.
|
||||
@@ -56,19 +55,7 @@ VIM_FOR_INDENTTEST = ../../src/vim
|
||||
indenttest:
|
||||
cd runtime/indent && \
|
||||
$(MAKE) clean && \
|
||||
$(MAKE) test VIMPROG="$(VIM_FOR_INDENTTEST)"
|
||||
|
||||
# Executable used for running the syntax tests.
|
||||
VIM_FOR_SYNTAXTEST = ../../src/vim
|
||||
|
||||
# (For local testing only with GNU Make.)
|
||||
VIM_SYNTAX_TEST_FILTER =
|
||||
VIM_SYNTAX_TEST_WAIT_TIME =
|
||||
|
||||
syntaxtest:
|
||||
cd runtime/syntax && \
|
||||
$(MAKE) clean && \
|
||||
$(MAKE) test VIMPROG="$(VIM_FOR_SYNTAXTEST)"
|
||||
$(MAKE) test VIM="$(VIM_FOR_INDENTTEST)"
|
||||
|
||||
|
||||
#########################################################################
|
||||
@@ -98,7 +85,7 @@ syntaxtest:
|
||||
# Before creating an archive first delete all backup files, *.orig, etc.
|
||||
|
||||
MAJOR = 9
|
||||
MINOR = 1
|
||||
MINOR = 0
|
||||
|
||||
# CHECKLIST for creating a new version:
|
||||
#
|
||||
@@ -115,7 +102,6 @@ MINOR = 1
|
||||
# - With these features: "make depend" (works best with gcc).
|
||||
# - If you have a lint program: "make lint" and check the output (ignore GTK
|
||||
# warnings).
|
||||
# - compile release versions using -DNDEBUG to disable assert()s
|
||||
# - If you have valgrind, enable it in src/testdir/Makefile and run "make
|
||||
# test". Enable EXITFREE, disable GUI, scheme and tcl to avoid false alarms.
|
||||
# Check the valgrind output.
|
||||
@@ -158,17 +144,17 @@ MINOR = 1
|
||||
# - > make dossrc
|
||||
# > make dosrt
|
||||
# Unpack dist/vim##rt.zip and dist/vim##src.zip on an MS-Windows PC.
|
||||
# This creates the directory vim/vim91 and puts all files in there.
|
||||
# This creates the directory vim/vim90 and puts all files in there.
|
||||
# Win32 console version build:
|
||||
# - See src/INSTALLpc.txt for installing the compiler and SDK.
|
||||
# - Set environment for Visual C++ 2015:
|
||||
# > cd src
|
||||
# > msvc-latest.bat
|
||||
# > msvc2015.bat
|
||||
# - Build the console binary:
|
||||
# > nmake.exe -f Make_mvc.mak
|
||||
# > nmake -f Make_mvc.mak
|
||||
# - Run the tests and check the output:
|
||||
# > nmake.exe -f Make_mvc.mak testclean
|
||||
# > nmake.exe -f Make_mvc.mak test
|
||||
# > nmake -f Make_mvc.mak testclean
|
||||
# > nmake -f Make_mvc.mak test
|
||||
# - Rename (using ../tools/rename.bat):
|
||||
# vim.exe to vimw32.exe
|
||||
# tee/tee.exe to teew32.exe
|
||||
@@ -178,10 +164,10 @@ MINOR = 1
|
||||
# uninstall.exe to uninstallw32.exe
|
||||
# Win32 GUI version build:
|
||||
# - > cd src
|
||||
# > nmake.exe -f Make_mvc.mak "GUI=yes"
|
||||
# > nmake -f Make_mvc.mak GUI=yes
|
||||
# - Run the tests and check the output:
|
||||
# > nmake.exe -f Make_mvc.mak testclean
|
||||
# > nmake.exe -f Make_mvc.mak testgvim
|
||||
# > nmake -f Make_mvc.mak testclean
|
||||
# > nmake -f Make_mvc.mak testgvim
|
||||
# - move "gvim.exe" to here (otherwise the OLE version will overwrite it).
|
||||
# - Move gvim.pdb to here.
|
||||
# - Copy "GvimExt/gvimext.dll" to here.
|
||||
@@ -193,8 +179,8 @@ MINOR = 1
|
||||
# > cd src
|
||||
# > bigvim.bat
|
||||
# - Run the tests:
|
||||
# > nmake.exe -f Make_mvc.mak testclean
|
||||
# > nmake.exe -f Make_mvc.mak testgvim
|
||||
# > nmake -f Make_mvc.mak testclean
|
||||
# > nmake -f Make_mvc.mak testgvim
|
||||
# - check the output.
|
||||
# - Rename "gvim.exe" to "gvim_ole.exe".
|
||||
# - Rename gvim.pdb to "gvim_ole.pdb".
|
||||
@@ -214,13 +200,13 @@ MINOR = 1
|
||||
# gvimext64.dll in src/GvimExt
|
||||
# gvimext64.dll can be obtained from:
|
||||
# https://github.com/vim/vim-win32-installer/releases
|
||||
# It is part of gvim_9.1.*_x64.zip as vim/vim91/GvimExt/gvimext64.dll.
|
||||
# It is part of gvim_9.0.*_x64.zip as vim/vim90/GvimExt/gvimext64.dll.
|
||||
# - Make sure there is a diff.exe two levels up (get it from a previous Vim
|
||||
# version). Also put winpty32.dll and winpty-agent.exe there.
|
||||
# - go to ../nsis and do:
|
||||
# > nmake.exe -f Make_mvc.mak all
|
||||
# (takes a few minutes).
|
||||
# See nsis/README.txt for details.
|
||||
# > unzip icons.zip
|
||||
# > makensis gvim.nsi (takes a few minutes).
|
||||
# ignore warning for libwinpthread-1.dll
|
||||
# - Copy gvim##.exe to the dist directory.
|
||||
#
|
||||
# 64 bit builds (these are not in the normal distribution, the 32 bit build
|
||||
@@ -228,9 +214,9 @@ MINOR = 1
|
||||
# Like the console and GUI version, but first run vcvars64.bat or
|
||||
# "..\VC\vcvarsall.bat x86_amd64".
|
||||
# - Build the console version:
|
||||
# > nmake.exe -f Make_mvc.mak
|
||||
# > nmake -f Make_mvc.mak
|
||||
# - Build the GUI version:
|
||||
# > nmake.exe -f Make_mvc.mak "GUI=yes"
|
||||
# > nmake -f Make_mvc.mak GUI=yes
|
||||
# - Build the OLE version with interfaces:
|
||||
# > bigvim64.bat
|
||||
#
|
||||
@@ -254,6 +240,9 @@ VERSION = $(MAJOR)$(MINOR)
|
||||
VDOT = $(MAJOR).$(MINOR)
|
||||
VIMRTDIR = vim$(VERSION)
|
||||
|
||||
# Vim used for conversion from "unix" to "dos"
|
||||
VIM = vim
|
||||
|
||||
# How to include Filelist depends on the version of "make" you have.
|
||||
# If the current choice doesn't work, try the other one.
|
||||
|
||||
@@ -268,8 +257,8 @@ dist:
|
||||
# Clean up some files to avoid they are included.
|
||||
# Copy README files to the top directory.
|
||||
prepare:
|
||||
if test -f lang/LICENSE.nsis.txt; then \
|
||||
rm -f lang/LICENSE*.nsis.txt; fi
|
||||
if test -f runtime/doc/uganda.nsis.txt; then \
|
||||
rm runtime/doc/uganda.nsis.txt; fi
|
||||
for name in $(IN_README_DIR); do \
|
||||
cp READMEdir/"$$name" .; \
|
||||
done
|
||||
@@ -290,10 +279,10 @@ dist/$(COMMENT_RT): dist/comment
|
||||
echo "Vim - Vi IMproved - v$(VDOT) runtime files for MS-DOS and MS-Windows" > dist/$(COMMENT_RT)
|
||||
|
||||
dist/$(COMMENT_W32): dist/comment
|
||||
echo "Vim - Vi IMproved - v$(VDOT) binaries for MS-Windows" > dist/$(COMMENT_W32)
|
||||
echo "Vim - Vi IMproved - v$(VDOT) binaries for MS-Windows NT/95" > dist/$(COMMENT_W32)
|
||||
|
||||
dist/$(COMMENT_GVIM): dist/comment
|
||||
echo "Vim - Vi IMproved - v$(VDOT) GUI binaries for MS-Windows" > dist/$(COMMENT_GVIM)
|
||||
echo "Vim - Vi IMproved - v$(VDOT) GUI binaries for MS-Windows NT/95" > dist/$(COMMENT_GVIM)
|
||||
|
||||
dist/$(COMMENT_OLE): dist/comment
|
||||
echo "Vim - Vi IMproved - v$(VDOT) MS-Windows GUI binaries with OLE support" > dist/$(COMMENT_OLE)
|
||||
@@ -409,8 +398,13 @@ amisrc: dist prepare
|
||||
gzip -9 dist/vim$(VERSION)src.tar
|
||||
mv dist/vim$(VERSION)src.tar.gz dist/vim$(VERSION)src.tgz
|
||||
|
||||
no_title.vim: Makefile
|
||||
echo "set notitle noicon nocp nomodeline viminfo=" >no_title.vim
|
||||
|
||||
# MS-DOS sources
|
||||
dossrc: dist dist/$(COMMENT_SRC) license nsis/gvim_version.nsh
|
||||
dossrc: dist no_title.vim dist/$(COMMENT_SRC) \
|
||||
runtime/doc/uganda.nsis.txt \
|
||||
nsis/gvim_version.nsh
|
||||
-rm -rf dist/vim$(VERSION)src.zip
|
||||
-rm -rf dist/vim
|
||||
mkdir dist/vim
|
||||
@@ -421,19 +415,25 @@ dossrc: dist dist/$(COMMENT_SRC) license nsis/gvim_version.nsh
|
||||
$(SRC_DOS_BIN) \
|
||||
$(SRC_AMI_DOS) \
|
||||
$(SRC_DOS_UNIX) \
|
||||
lang/LICENSE.*.txt \
|
||||
lang/README.*.txt \
|
||||
runtime/doc/uganda.nsis.txt \
|
||||
nsis/gvim_version.nsh \
|
||||
| (cd dist/vim/$(VIMRTDIR); tar xf -)
|
||||
mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR)
|
||||
rmdir dist/vim/$(VIMRTDIR)/runtime
|
||||
# This file needs to be in dos fileformat for NSIS.
|
||||
$(VIM) -e -X -u no_title.vim -c ":set tx|wq" dist/vim/$(VIMRTDIR)/doc/uganda.nsis.txt
|
||||
cd dist && zip -9 -rD -z vim$(VERSION)src.zip vim <$(COMMENT_SRC)
|
||||
|
||||
license:
|
||||
cd nsis && $(MAKE) -f Makefile $@
|
||||
runtime/doc/uganda.nsis.txt: runtime/doc/uganda.txt
|
||||
cd runtime/doc && $(MAKE) uganda.nsis.txt
|
||||
|
||||
nsis/gvim_version.nsh: Makefile
|
||||
cd nsis && $(MAKE) -f Makefile $(@F)
|
||||
echo "# Generated from Makefile: define the version numbers" > $@
|
||||
echo "!ifndef __GVIM_VER__NSH__" >> $@
|
||||
echo "!define __GVIM_VER__NSH__" >> $@
|
||||
echo "!define VER_MAJOR $(MAJOR)" >> $@
|
||||
echo "!define VER_MINOR $(MINOR)" >> $@
|
||||
echo "!endif" >> $@
|
||||
|
||||
dosrt: dist dist/$(COMMENT_RT) dosrt_files
|
||||
-rm -rf dist/vim$(VERSION)rt.zip
|
||||
@@ -441,7 +441,7 @@ dosrt: dist dist/$(COMMENT_RT) dosrt_files
|
||||
|
||||
# Split in two parts to avoid an "argument list too long" error.
|
||||
# We no longer convert the files from unix to dos fileformat.
|
||||
dosrt_files: dist prepare
|
||||
dosrt_files: dist prepare no_title.vim
|
||||
-rm -rf dist/vim
|
||||
mkdir dist/vim
|
||||
mkdir dist/vim/$(VIMRTDIR)
|
||||
@@ -497,7 +497,7 @@ dosbin: prepare dosbin_gvim dosbin_w32 dosbin_ole $(DOSBIN_S)
|
||||
-rm $(IN_README_DIR)
|
||||
|
||||
# make Win32 gvim
|
||||
dosbin_gvim: dist dist/$(COMMENT_GVIM)
|
||||
dosbin_gvim: dist no_title.vim dist/$(COMMENT_GVIM)
|
||||
-rm -rf dist/gvim$(VERSION).zip
|
||||
-rm -rf dist/vim
|
||||
mkdir dist/vim
|
||||
@@ -519,7 +519,7 @@ dosbin_gvim: dist dist/$(COMMENT_GVIM)
|
||||
cp gvim.pdb dist/gvim$(VERSION).pdb
|
||||
|
||||
# make Win32 console
|
||||
dosbin_w32: dist dist/$(COMMENT_W32)
|
||||
dosbin_w32: dist no_title.vim dist/$(COMMENT_W32)
|
||||
-rm -rf dist/vim$(VERSION)w32.zip
|
||||
-rm -rf dist/vim
|
||||
mkdir dist/vim
|
||||
@@ -536,7 +536,7 @@ dosbin_w32: dist dist/$(COMMENT_W32)
|
||||
cp vimw32.pdb dist/vim$(VERSION)w32.pdb
|
||||
|
||||
# make Win32 gvim with OLE
|
||||
dosbin_ole: dist dist/$(COMMENT_OLE)
|
||||
dosbin_ole: dist no_title.vim dist/$(COMMENT_OLE)
|
||||
-rm -rf dist/gvim$(VERSION)ole.zip
|
||||
-rm -rf dist/vim
|
||||
mkdir dist/vim
|
||||
|
||||
@@ -1,78 +1,13 @@
|
||||
<h1 align=center>
|
||||
<img src=https://macvim.org/docs/MacVim.png alt="MacVim logo" style="height:4em"><br>
|
||||
MacVim
|
||||
</h1>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://macvim.org/">Website</a> · <a href="https://macvim.org/docs/gui_mac.txt">Documentation</a>
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://github.com/macvim-dev/macvim/actions/workflows/ci-macvim.yaml?query=branch%3Amaster+event%3Apush"><img src="https://github.com/macvim-dev/macvim/actions/workflows/ci-macvim.yaml/badge.svg" alt="MacVim GitHub CI"></a>
|
||||
<a href="https://github.com/macvim-dev/macvim/releases/latest"><img src="https://img.shields.io/github/v/release/macvim-dev/macvim?label=GitHub%20Release&display=release" alt="GitHub release"></a>
|
||||
<a href="https://repology.org/project/macvim/versions"><img src="https://repology.org/badge/tiny-repos/macvim.svg" alt="Packaging status"></a>
|
||||
</p>
|
||||
Vim - the text editor - for macOS
|
||||
|
||||
|
||||
MacVim is a macOS version of the [Vim](https://github.com/vim/vim) text editor, providing a graphical user interface for Vim, while tightly integrating with macOS and providing features specific to the platform.
|
||||
- MacVim homepage https://macvim-dev.github.io/macvim
|
||||
|
||||
<hr>
|
||||
- Download the latest version from [Releases](https://github.com/macvim-dev/macvim/releases/latest).
|
||||
|
||||
<p align="center">
|
||||
<picture>
|
||||
<source srcset="https://macvim.org/images/macvim-screenshot-light.png" media="(prefers-color-scheme: light)"/>
|
||||
<source srcset="https://macvim.org/images/macvim-screenshot-dark.png" media="(prefers-color-scheme: dark)"/>
|
||||
<img width="535" alt="macvim-screenshot-light" src="https://macvim.org/images/macvim-screenshot-light.png" />
|
||||
</picture>
|
||||
</p>
|
||||
- Vim README: [README_vim.md](README_vim.md)
|
||||
|
||||
## Features
|
||||
- [](https://github.com/macvim-dev/macvim/actions?query=workflow%3A%22MacVim+GitHub+CI%22)
|
||||
|
||||
- Smooth native GUI that supports menus, dialog boxes, toolbars, and scroll bars.
|
||||
- Native and non-native full-screen modes.
|
||||
- Trackpad gestures, Touch Bar, and Command key shortcuts can be mapped to Vim actions.
|
||||
- Integrates with system services, dictionary lookup, and Apple Intelligence Writing Tools.
|
||||
- Vim GUI tabs with customizable colors.
|
||||
- Font ligatures and accurate text rendering.
|
||||
|
||||
## Getting Started
|
||||
|
||||
See [installation documentation](https://github.com/macvim-dev/macvim/wiki/Installing) for more details and alternative methods to install.
|
||||
|
||||
### Download
|
||||
|
||||
You can download the latest version of MacVim from the [Releases](https://github.com/macvim-dev/macvim/releases/latest) page.
|
||||
|
||||
### Install via Package Manager
|
||||
|
||||
If you would like to install using a package manager, MacVim can be installed via Homebrew:
|
||||
|
||||
```zsh
|
||||
brew install macvim
|
||||
```
|
||||
|
||||
MacVim is also available as a Homebrew cask. It will install the same pre-built binary as the one available from GitHub release:
|
||||
|
||||
```zsh
|
||||
brew install --cask macvim-app
|
||||
```
|
||||
|
||||
After installation, MacVim can be launched using the Dock or in the terminal using the `mvim` command.
|
||||
|
||||
### Building from Source
|
||||
|
||||
If you prefer to build MacVim from source, detailed instructions are provided in the [Building MacVim](https://github.com/macvim-dev/macvim/wiki/Building) guide.
|
||||
|
||||
## Relationship with Vim
|
||||
|
||||
MacVim is a downstream fork of Vim, and routinely [merges from upstream](https://github.com/macvim-dev/macvim/wiki/Merging-from-upstream-Vim). The original Vim README can be found at [README_vim.md](README_vim.md). Vim itself is also available for macOS, but it does not have a GUI.
|
||||
|
||||
In Homebrew, there are both a `macvim` and `vim` package. Both packages will provide a terminal version of Vim with similar features. The `vim` package is from the upstream Vim project and is usually a bit more up-to-date in core Vim features, while the `macvim` package will provide the additional GUI version bundled as an app.
|
||||
|
||||
## License
|
||||
|
||||
MacVim is released under the [Vim License](https://github.com/macvim-dev/macvim/blob/master/LICENSE).
|
||||
|
||||
## Support
|
||||
|
||||
If you encounter any issues or have questions, feel free to [open an issue](https://github.com/macvim-dev/macvim/issues) or visit the [discussions](https://github.com/macvim-dev/macvim/discussions) page.
|
||||
- Packaged in [](https://repology.org/metapackage/macvim/versions) [](https://repology.org/metapackage/macvim/versions)
|
||||
|
||||
|
||||
+22
-28
@@ -1,4 +1,4 @@
|
||||
README.txt for version 9.1 of Vim: Vi IMproved.
|
||||
README.txt for version 9.0 of Vim: Vi IMproved.
|
||||
|
||||
|
||||
WHAT IS VIM?
|
||||
@@ -6,19 +6,16 @@ WHAT IS VIM?
|
||||
Vim is a greatly improved version of the good old UNIX editor Vi. Many new
|
||||
features have been added: multi-level undo, syntax highlighting, command line
|
||||
history, on-line help, spell checking, filename completion, block operations,
|
||||
script language, etc. There is also a Graphical User Interface (GUI) available.
|
||||
Still, Vi compatibility is maintained, those who have Vi "in the fingers" will
|
||||
feel at home. See "runtime/doc/vi_diff.txt" for differences with Vi.
|
||||
script language, etc. There is also a Graphical User Interface (GUI)
|
||||
available. Still, Vi compatibility is maintained, those who have Vi "in the
|
||||
fingers" will feel at home. See "runtime/doc/vi_diff.txt" for differences with
|
||||
Vi.
|
||||
|
||||
This editor is very useful for editing programs and other plain text files.
|
||||
All commands are given with normal keyboard characters, so those who can type
|
||||
with ten fingers can work very fast. Additionally, function keys can be
|
||||
mapped to commands by the user, and the mouse can be used.
|
||||
|
||||
Vim also aims to provide a (mostly) POSIX-compatible vi implementation, when
|
||||
compiled with a minimal feature set (typically called vim.tiny), which is used
|
||||
by many Linux distributions as the default vi editor.
|
||||
|
||||
Vim runs under MS-Windows (7, 8, 10, 11), macOS, Haiku, VMS and almost all
|
||||
flavours of UNIX. Porting to other systems should not be very difficult.
|
||||
Older versions of Vim run on MS-DOS, MS-Windows 95/98/Me/NT/2000/XP/Vista,
|
||||
@@ -41,7 +38,7 @@ an overview of currently available distributions.
|
||||
|
||||
Some popular places to get the latest Vim:
|
||||
* Check out the git repository from github: https://github.com/vim/vim.
|
||||
* Get the source code as an archive: https://github.com/vim/vim/tags.
|
||||
* Get the source code as an archive: https://github.com/vim/vim/releases.
|
||||
* Get a Windows executable from the vim-win32-installer repository:
|
||||
https://github.com/vim/vim-win32-installer/releases.
|
||||
|
||||
@@ -63,10 +60,9 @@ README_ami.txt Amiga
|
||||
README_unix.txt Unix
|
||||
README_dos.txt MS-DOS and MS-Windows
|
||||
README_mac.txt Macintosh
|
||||
README_haiku.txt Haiku
|
||||
README_vms.txt VMS
|
||||
|
||||
There are other README_*.txt files, depending on the distribution you used.
|
||||
There are more README_*.txt files, depending on the distribution you used.
|
||||
|
||||
|
||||
DOCUMENTATION
|
||||
@@ -75,9 +71,9 @@ The Vim tutor is a one hour training course for beginners. Often it can be
|
||||
started as "vimtutor". See ":help tutor" for more information.
|
||||
|
||||
The best is to use ":help" in Vim. If you don't have an executable yet, read
|
||||
"runtime/doc/help.txt". It contains pointers to the other documentation files.
|
||||
The User Manual reads like a book and is recommended to learn to use Vim. See
|
||||
":help user-manual".
|
||||
"runtime/doc/help.txt". It contains pointers to the other documentation
|
||||
files. The User Manual reads like a book and is recommended to learn to use
|
||||
Vim. See ":help user-manual".
|
||||
|
||||
|
||||
COPYING
|
||||
@@ -96,14 +92,15 @@ distribute it.
|
||||
SPONSORING
|
||||
|
||||
Fixing bugs and adding new features takes a lot of time and effort. To show
|
||||
your appreciation for the work and motivate developers to continue working on
|
||||
Vim please send a donation.
|
||||
your appreciation for the work and motivate Bram and others to continue
|
||||
working on Vim please send a donation.
|
||||
|
||||
The money you donated will be mainly used to help children in Uganda. See
|
||||
"runtime/doc/uganda.txt". But at the same time donations increase the
|
||||
development team motivation to keep working on Vim!
|
||||
Since Bram is back to a paid job the money will now be used to help children
|
||||
in Uganda. See runtime/doc/uganda.txt. But at the same time donations
|
||||
increase Bram's motivation to keep working on Vim!
|
||||
|
||||
For the most recent information about sponsoring look on the Vim web site:
|
||||
|
||||
https://www.vim.org/sponsor/
|
||||
|
||||
|
||||
@@ -114,8 +111,6 @@ If you would like to help make Vim better, see the CONTRIBUTING.md file.
|
||||
|
||||
INFORMATION
|
||||
|
||||
If you are on macOS, you can use MacVim: https://macvim.org
|
||||
|
||||
The latest news about Vim can be found on the Vim home page:
|
||||
https://www.vim.org/
|
||||
|
||||
@@ -123,17 +118,16 @@ If you have problems, have a look at the Vim documentation or tips:
|
||||
https://www.vim.org/docs.php
|
||||
https://vim.fandom.com/wiki/Vim_Tips_Wiki
|
||||
|
||||
If you still have problems or any other questions, use one of the mailing lists
|
||||
to discuss them with Vim users and developers:
|
||||
If you still have problems or any other questions, use one of the mailing
|
||||
lists to discuss them with Vim users and developers:
|
||||
https://www.vim.org/maillist.php
|
||||
|
||||
If nothing else works, report bugs directly to the vim-dev mailing list:
|
||||
<vim-dev@vim.org>
|
||||
If nothing else works, report bugs directly:
|
||||
Bram Moolenaar <Bram@vim.org>
|
||||
|
||||
|
||||
MAIN AUTHOR
|
||||
|
||||
Most of Vim was created by Bram Moolenaar <Bram@vim.org>, ":help Bram-Moolenaar"
|
||||
Send any other comments, patches, flowers and suggestions to:
|
||||
|
||||
Send any other comments, patches, flowers and suggestions to the vim-dev
|
||||
mailing list: <vim-dev@vim.org>
|
||||
Bram Moolenaar E-mail: Bram@vim.org
|
||||
|
||||
+48
-51
@@ -1,24 +1,20 @@
|
||||
# [](https://www.vim.org)
|
||||
[](https://www.vim.org)
|
||||
|
||||
[](https://github.com/vim/vim/actions?query=workflow%3A%22GitHub+CI%22)
|
||||
[](https://ci.appveyor.com/project/chrisbra/vim)
|
||||
[](https://cirrus-ci.com/github/vim/vim)
|
||||
[](https://codecov.io/gh/vim/vim?branch=master)
|
||||
[](https://scan.coverity.com/projects/vim)
|
||||
[](https://buildd.debian.org/vim)
|
||||
[](https://repology.org/metapackage/vim)
|
||||
[](https://fossies.org/linux/test/vim-master.tar.gz/codespell.html)
|
||||
[](https://github.com/vim/vim/actions?query=workflow%3A%22GitHub+CI%22) [](https://ci.appveyor.com/project/chrisbra/vim) [](https://cirrus-ci.com/github/vim/vim) [](https://codecov.io/gh/vim/vim?branch=master) [](https://scan.coverity.com/projects/vim) [](https://buildd.debian.org/vim) [](https://repology.org/metapackage/vim) [](https://fossies.org/linux/test/vim-master.tar.gz/codespell.html)
|
||||
|
||||
<sub>For translations of this README see the end.</sub>
|
||||
|
||||
If you find a bug or want to discuss the best way to add a new feature, please
|
||||
[open an issue](https://github.com/vim/vim/issues/new/choose).
|
||||
open an [issue](https://github.com/vim/vim/issues).
|
||||
If you have a question or want to discuss the best way to do something with
|
||||
Vim, you can use [StackExchange](https://vi.stackexchange.com/)
|
||||
or one of the [Maillists](https://www.vim.org/community.php).
|
||||
|
||||
## What is Vim?
|
||||
|
||||
## What is Vim? ##
|
||||
|
||||
Vim is a greatly improved version of the good old UNIX editor
|
||||
[Vi](https://en.wikipedia.org/wiki/Vi_(text_editor)). Many new
|
||||
[Vi](https://en.wikipedia.org/wiki/Vi). Many new
|
||||
features have been added: multi-level undo, syntax highlighting, command line
|
||||
history, on-line help, spell checking, filename completion, block operations,
|
||||
script language, etc. There is also a Graphical User Interface (GUI)
|
||||
@@ -32,10 +28,6 @@ All commands are given with normal keyboard characters, so those who can type
|
||||
with ten fingers can work very fast. Additionally, function keys can be
|
||||
mapped to commands by the user, and the mouse can be used.
|
||||
|
||||
Vim also aims to provide a (mostly) POSIX-compatible vi implementation, when
|
||||
compiled with a minimal feature set (typically called vim.tiny), which is used
|
||||
by many Linux distributions as the default vi editor.
|
||||
|
||||
Vim runs under MS-Windows (7, 8, 10, 11), macOS, Haiku, VMS and almost all
|
||||
flavours of UNIX. Porting to other systems should not be very difficult.
|
||||
Older versions of Vim run on MS-DOS, MS-Windows 95/98/Me/NT/2000/XP/Vista,
|
||||
@@ -43,7 +35,7 @@ Amiga DOS, Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
|
||||
|
||||
For Vim9 script see [README_VIM9](README_VIM9.md).
|
||||
|
||||
## Distribution
|
||||
## Distribution ##
|
||||
|
||||
You can often use your favorite package manager to install Vim. On Mac and
|
||||
Linux a small version of Vim is pre-installed, you still need to install Vim
|
||||
@@ -59,49 +51,52 @@ an overview of currently available distributions.
|
||||
|
||||
Some popular places to get the latest Vim:
|
||||
* Check out the git repository from [GitHub](https://github.com/vim/vim).
|
||||
* Get the source code as an [archive](https://github.com/vim/vim/tags).
|
||||
* Get the source code as an [archive](https://github.com/vim/vim/releases).
|
||||
* Get a Windows executable from the
|
||||
[vim-win32-installer](https://github.com/vim/vim-win32-installer/releases) repository.
|
||||
|
||||
## Compiling
|
||||
|
||||
|
||||
## Compiling ##
|
||||
|
||||
If you obtained a binary distribution you don't need to compile Vim. If you
|
||||
obtained a source distribution, all the stuff for compiling Vim is in the
|
||||
[`src`](./src/) directory. See [`src/INSTALL`](./src/INSTALL) for instructions.
|
||||
[`src`](/src) directory. See [`src/INSTALL`](src/INSTALL) for instructions.
|
||||
|
||||
## Installation
|
||||
|
||||
## Installation ##
|
||||
|
||||
See one of these files for system-specific instructions. Either in the
|
||||
[READMEdir directory](./READMEdir/) (in the repository) or
|
||||
the top directory (if you unpack an archive):
|
||||
|
||||
```
|
||||
README_ami.txt Amiga
|
||||
README_unix.txt Unix
|
||||
README_dos.txt MS-DOS and MS-Windows
|
||||
README_mac.txt Macintosh
|
||||
README_haiku.txt Haiku
|
||||
README_vms.txt VMS
|
||||
```
|
||||
README_ami.txt Amiga
|
||||
README_unix.txt Unix
|
||||
README_dos.txt MS-DOS and MS-Windows
|
||||
README_mac.txt Macintosh
|
||||
README_haiku.txt Haiku
|
||||
README_vms.txt VMS
|
||||
|
||||
There are other `README_*.txt` files, depending on the distribution you used.
|
||||
|
||||
## Documentation
|
||||
|
||||
## Documentation ##
|
||||
|
||||
The Vim tutor is a one hour training course for beginners. Often it can be
|
||||
started as `vimtutor`. See `:help tutor` for more information.
|
||||
|
||||
The best is to use `:help` in Vim. If you don't have an executable yet, read
|
||||
[`runtime/doc/help.txt`](./runtime/doc/help.txt).
|
||||
[`runtime/doc/help.txt`](/runtime/doc/help.txt).
|
||||
It contains pointers to the other documentation files.
|
||||
The User Manual reads like a book and is recommended to learn to use
|
||||
Vim. See `:help user-manual`.
|
||||
|
||||
## Copying
|
||||
|
||||
## Copying ##
|
||||
|
||||
Vim is Charityware. You can use and copy it as much as you like, but you are
|
||||
encouraged to make a donation to help orphans in Uganda. Please read the file
|
||||
[`runtime/doc/uganda.txt`](./runtime/doc/uganda.txt)
|
||||
[`runtime/doc/uganda.txt`](runtime/doc/uganda.txt)
|
||||
for details (do `:help uganda` inside Vim).
|
||||
|
||||
Summary of the license: There are no restrictions on using or distributing an
|
||||
@@ -110,27 +105,30 @@ text must always be included. For modified versions, a few restrictions apply.
|
||||
The license is GPL compatible, you may compile Vim with GPL libraries and
|
||||
distribute it.
|
||||
|
||||
## Sponsoring
|
||||
|
||||
## Sponsoring ##
|
||||
|
||||
Fixing bugs and adding new features takes a lot of time and effort. To show
|
||||
your appreciation for the work and motivate developers to continue working on
|
||||
Vim please send a donation.
|
||||
your appreciation for the work and motivate Bram and others to continue
|
||||
working on Vim please send a donation.
|
||||
|
||||
The money you donated will be mainly used to help children in Uganda. See
|
||||
[`runtime/doc/uganda.txt`](./runtime/doc/uganda.txt). But at the same time
|
||||
donations increase the development team motivation to keep working on Vim!
|
||||
Since Bram is back to a paid job the money will now be used to help children
|
||||
in Uganda. See [`runtime/doc/uganda.txt`](runtime/doc/uganda.txt). But
|
||||
at the same time donations increase Bram's motivation to keep working on Vim!
|
||||
|
||||
For the most recent information about sponsoring look on the Vim web site:
|
||||
https://www.vim.org/sponsor/
|
||||
|
||||
## Contributing
|
||||
|
||||
## Contributing ##
|
||||
|
||||
If you would like to help make Vim better, see the
|
||||
[CONTRIBUTING.md](./CONTRIBUTING.md) file.
|
||||
[CONTRIBUTING.md](/CONTRIBUTING.md) file.
|
||||
|
||||
## Information
|
||||
|
||||
If you are on macOS, you can use [MacVim](https://macvim.org).
|
||||
## Information ##
|
||||
|
||||
If you are on macOS, you can use [Macvim](https://macvim-dev.github.io/macvim/).
|
||||
|
||||
The latest news about Vim can be found on the Vim home page:
|
||||
https://www.vim.org/
|
||||
@@ -143,15 +141,14 @@ If you still have problems or any other questions, use one of the mailing
|
||||
lists to discuss them with Vim users and developers:
|
||||
https://www.vim.org/maillist.php
|
||||
|
||||
If nothing else works, report bugs directly to the vim-dev mailing list:
|
||||
`<vim-dev@vim.org>`
|
||||
If nothing else works, report bugs directly:
|
||||
Bram Moolenaar <Bram@vim.org>
|
||||
|
||||
## Main author
|
||||
|
||||
Most of Vim was created by Bram Moolenaar `<Bram@vim.org>`
|
||||
[Bram-Moolenaar](https://vimhelp.org/version9.txt.html#Bram-Moolenaar)
|
||||
## Main author ##
|
||||
|
||||
Send any other comments, patches, flowers and suggestions to the vim-dev mailing list:
|
||||
`<vim-dev@vim.org>`
|
||||
Send any other comments, patches, flowers and suggestions to:
|
||||
Bram Moolenaar <Bram@vim.org>
|
||||
|
||||
This is `README.md` for version 9.1 of Vim: Vi IMproved.
|
||||
|
||||
This is `README.md` for version 9.0 of Vim: Vi IMproved.
|
||||
|
||||
+5
-5
@@ -9,15 +9,15 @@ Vim Vi IMproved. A clone of the UNIX text editor Vi. Very useful
|
||||
messages, shows current file name in window title, on-line
|
||||
help, rectangular cut/paste, etc., etc., etc...
|
||||
|
||||
Version 9.1. Also runs under UNIX, MS-Windows, Mac, etc.
|
||||
vim91rt.tgz contains the documentation and syntax files.
|
||||
vim91bin.tgz contains the binaries.
|
||||
vim91src.tgz contains the sources.
|
||||
Version 9.0. Also runs under UNIX, MS-Windows, Mac, etc.
|
||||
vim90rt.tgz contains the documentation and syntax files.
|
||||
vim90bin.tgz contains the binaries.
|
||||
vim90src.tgz contains the sources.
|
||||
Author: Bram Moolenaar et al.
|
||||
|
||||
|
||||
Xxd Hex dumper and reader. Can be used to view files as hex, edit
|
||||
them and write them back. Can also be used to patch files.
|
||||
|
||||
Version 2023 Oct 25
|
||||
Version 2022 Jan 14
|
||||
Author: Juergen Weigert
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
README_ami.txt for version 9.1 of Vim: Vi IMproved.
|
||||
README_ami.txt for version 9.0 of Vim: Vi IMproved.
|
||||
|
||||
This file explains the installation of Vim on Amiga systems.
|
||||
See README.txt for general information about Vim.
|
||||
@@ -16,8 +16,8 @@ easily upgrade to a new version. For example:
|
||||
You would then unpack the archives like this:
|
||||
|
||||
cd dh0:editors
|
||||
tar xf t:vim91bin.tar
|
||||
tar xf t:vim91rt.tar
|
||||
tar xf t:vim90bin.tar
|
||||
tar xf t:vim90rt.tar
|
||||
|
||||
Set the $VIM environment variable to point to the top directory of your Vim
|
||||
files. For the above example:
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
README_amibin.txt for version 9.1 of Vim: Vi IMproved.
|
||||
README_amibin.txt for version 9.0 of Vim: Vi IMproved.
|
||||
|
||||
See "README.txt" for general information about Vim.
|
||||
See "README_ami.txt" for installation instructions for the Amiga.
|
||||
These files are in the runtime archive (vim91rt.tgz).
|
||||
These files are in the runtime archive (vim90rt.tgz).
|
||||
|
||||
|
||||
The Amiga "bin" archive contains the Vim executable for the Amiga. It was
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
README_amisrc.txt for version 9.1 of Vim: Vi IMproved.
|
||||
README_amisrc.txt for version 9.0 of Vim: Vi IMproved.
|
||||
|
||||
See "README.txt" for general information about Vim.
|
||||
See "README_ami.txt" for installation instructions for the Amiga.
|
||||
These files are in the runtime archive (vim91rt.tgz).
|
||||
These files are in the runtime archive (vim90rt.tgz).
|
||||
|
||||
|
||||
The Amiga source archive contains the files needed to compile Vim on the
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
README_bindos.txt for version 9.1 of Vim: Vi IMproved.
|
||||
README_bindos.txt for version 9.0 of Vim: Vi IMproved.
|
||||
|
||||
See "README.txt" for general information about Vim.
|
||||
See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.
|
||||
These files are in the runtime archive (vim91rt.zip).
|
||||
These files are in the runtime archive (vim90rt.zip).
|
||||
|
||||
|
||||
There are several binary distributions of Vim for the PC. You would normally
|
||||
pick only one of them, but it's also possible to install several.
|
||||
These ones are available (the version number may differ):
|
||||
vim91w32.zip Windows console version
|
||||
gvim91.zip Windows GUI version
|
||||
gvim91ole.zip Windows GUI version with OLE
|
||||
vim90w32.zip Windows 95/98/NT/etc. console version
|
||||
gvim90.zip Windows 95/98/NT/etc. GUI version
|
||||
gvim90ole.zip Windows 95/98/NT/etc. GUI version with OLE
|
||||
|
||||
You MUST also get the runtime archive (vim91rt.zip).
|
||||
The sources are also available (vim91src.zip).
|
||||
You MUST also get the runtime archive (vim90rt.zip).
|
||||
The sources are also available (vim90src.zip).
|
||||
|
||||
+40
-16
@@ -1,4 +1,4 @@
|
||||
README_dos.txt for version 9.1 of Vim: Vi IMproved.
|
||||
README_dos.txt for version 9.0 of Vim: Vi IMproved.
|
||||
|
||||
This file explains the installation of Vim on MS-Windows systems.
|
||||
See "README.txt" for general information about Vim.
|
||||
@@ -41,19 +41,19 @@ These are the normal steps to install Vim from the .zip archives:
|
||||
located. Check the $VIM setting to see where it points to:
|
||||
set VIM
|
||||
For example, if you have
|
||||
C:\vim\vim91
|
||||
C:\vim\vim90
|
||||
do
|
||||
cd C:\
|
||||
Binary and runtime Vim archives are normally unpacked in the same location,
|
||||
on top of each other.
|
||||
|
||||
2. Unpack the zip archives. This will create a new directory "vim\vim91",
|
||||
2. Unpack the zip archives. This will create a new directory "vim\vim90",
|
||||
in which all the distributed Vim files are placed. Since the directory
|
||||
name includes the version number, it is unlikely that you overwrite
|
||||
existing files.
|
||||
Examples:
|
||||
pkunzip -d gvim91.zip
|
||||
unzip vim91w32.zip
|
||||
pkunzip -d gvim90.zip
|
||||
unzip vim90w32.zip
|
||||
|
||||
You need to unpack the runtime archive and at least one of the binary
|
||||
archives. When using more than one binary version, be careful not to
|
||||
@@ -65,7 +65,7 @@ These are the normal steps to install Vim from the .zip archives:
|
||||
won't move or copy the runtime files.
|
||||
|
||||
3. Change to the new directory:
|
||||
cd vim\vim91
|
||||
cd vim\vim90
|
||||
Run the "install.exe" program. It will ask you a number of questions about
|
||||
how you would like to have your Vim setup. Among these are:
|
||||
- You can tell it to write a "_vimrc" file with your preferences in the
|
||||
@@ -76,8 +76,8 @@ These are the normal steps to install Vim from the .zip archives:
|
||||
console or in a shell. You can select one of the directories in your
|
||||
$PATH. If you skip this, you can add Vim to the search path manually:
|
||||
The simplest is to add a line to your autoexec.bat. Examples:
|
||||
set path=%path%;C:\vim\vim91
|
||||
set path=%path%;D:\editors\vim\vim91
|
||||
set path=%path%;C:\vim\vim90
|
||||
set path=%path%;D:\editors\vim\vim90
|
||||
- Create entries for Vim on the desktop and in the Start menu.
|
||||
|
||||
That's it!
|
||||
@@ -89,8 +89,8 @@ Remarks:
|
||||
won't show a menubar. Then you need to set the $VIM environment variable to
|
||||
point to the top directory of your Vim files. Example:
|
||||
set VIM=C:\editors\vim
|
||||
Vim version 9.1 will look for your vimrc file in $VIM, and for the runtime
|
||||
files in $VIM/vim91. See ":help $VIM" for more information.
|
||||
Vim version 9.0 will look for your vimrc file in $VIM, and for the runtime
|
||||
files in $VIM/vim90. See ":help $VIM" for more information.
|
||||
|
||||
- To avoid confusion between distributed files of different versions and your
|
||||
own modified vim scripts, it is recommended to use this directory layout:
|
||||
@@ -101,14 +101,14 @@ Remarks:
|
||||
C:\vim\vimfiles\ftplugin\*.vim Filetype plugins
|
||||
C:\vim\... Other files you made.
|
||||
Distributed files:
|
||||
C:\vim\vim91\vim.exe The Vim version 9.1 executable.
|
||||
C:\vim\vim91\doc\*.txt The version 9.1 documentation files.
|
||||
C:\vim\vim91\bugreport.vim A Vim version 9.1 script.
|
||||
C:\vim\vim91\... Other version 9.1 distributed files.
|
||||
C:\vim\vim90\vim.exe The Vim version 9.0 executable.
|
||||
C:\vim\vim90\doc\*.txt The version 9.0 documentation files.
|
||||
C:\vim\vim90\bugreport.vim A Vim version 9.0 script.
|
||||
C:\vim\vim90\... Other version 9.0 distributed files.
|
||||
In this case the $VIM environment variable would be set like this:
|
||||
set VIM=C:\vim
|
||||
Then $VIMRUNTIME will automatically be set to "$VIM\vim91". Don't add
|
||||
"vim91" to $VIM, that won't work.
|
||||
Then $VIMRUNTIME will automatically be set to "$VIM\vim90". Don't add
|
||||
"vim90" to $VIM, that won't work.
|
||||
|
||||
- You can put your Vim executable anywhere else. If the executable is not
|
||||
with the other Vim files, you should set $VIM. The simplest is to add a line
|
||||
@@ -120,6 +120,30 @@ Remarks:
|
||||
entry, you can remove it by running the "uninstall.exe". See
|
||||
":help win32-popup-menu".
|
||||
|
||||
- In Windows 95/98/NT you can create a shortcut to Vim. This works for all
|
||||
DOS and Win32 console versions. For the console version this gives you the
|
||||
opportunity to set defaults for the Console where Vim runs in.
|
||||
|
||||
1. On the desktop, click right to get a menu. Select New/Shortcut.
|
||||
2. In the dialog, enter Command line: "C:\command.com". Click "Next".
|
||||
3. Enter any name. Click "Finish".
|
||||
The new shortcut will appear on the desktop.
|
||||
4. With the mouse pointer on the new shortcut, click right to get a menu.
|
||||
Select Properties.
|
||||
5. In the Program tab, change the "Cmdline" to add "/c" and the name of the
|
||||
Vim executable. Examples:
|
||||
C:\command.com /c C:\vim\vim90\vim.exe
|
||||
C:\command.com /c D:\editors\vim\vim90\vim.exe
|
||||
6. Select the font, window size, etc. that you like. If this isn't
|
||||
possible, select "Advanced" in the Program tab, and deselect "MS-DOS
|
||||
mode".
|
||||
7. Click OK.
|
||||
|
||||
For gvim, you can use a normal shortcut on the desktop, and set the size of
|
||||
the Window in your $VIM/_gvimrc:
|
||||
set lines=30 columns=90
|
||||
|
||||
|
||||
For further information, type one of these inside Vim:
|
||||
:help dos
|
||||
:help win32
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
README_extra.txt for version 9.1 of Vim: Vi IMproved.
|
||||
README_extra.txt for version 9.0 of Vim: Vi IMproved.
|
||||
|
||||
These extra files of Vim are for special purposes. This README explains what
|
||||
the files are for. For general information about Vim, see the "README.txt"
|
||||
@@ -29,7 +29,7 @@ src/gui_w32.* Files for the Win32 GUI.
|
||||
src/gui_w48.* Files for the Win32 and Win16 GUI.
|
||||
src/Make_mvc.mak MS Visual C++ makefile for the Win32 GUI.
|
||||
|
||||
src/if_ole.* OLE automation interface, for MS Windows.
|
||||
src/if_ole.* OLE automation interface, for MS Windows 95 and NT.
|
||||
|
||||
src/GvimExt/* DLL for the "Edit with Vim" context menu entry
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
README_haiku.txt for version 9.1 of Vim: Vi IMproved.
|
||||
README_haiku.txt for version 9.0 of Vim: Vi IMproved.
|
||||
|
||||
This file explains the installation of Vim on Haiku operating system.
|
||||
See "README.txt" for general information about Vim.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
README_mac.txt for version 9.1 of Vim: Vi IMproved.
|
||||
README_mac.txt for version 9.0 of Vim: Vi IMproved.
|
||||
|
||||
How to install MacVim?
|
||||
========================
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
README_ole.txt for version 9.1 of Vim: Vi IMproved.
|
||||
README_ole.txt for version 9.0 of Vim: Vi IMproved.
|
||||
|
||||
This archive contains gvim.exe with OLE interface.
|
||||
This version of gvim.exe can also load a number of interface dynamically (you
|
||||
can optionally install the .dll files for each interface).
|
||||
It is only for MS-Windows.
|
||||
It is only for MS-Windows 95/98/ME/NT/2000/XP.
|
||||
|
||||
Also see the README_bindos.txt, README_dos.txt and README.txt files.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
README_os2.txt for version 9.1 of Vim: Vi IMproved.
|
||||
README_os2.txt for version 9.0 of Vim: Vi IMproved.
|
||||
|
||||
This file used to explain the installation of Vim on OS/2 systems.
|
||||
However, support for OS/2 has been removed in patch 7.4.1008.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
README_os390.txt for version 9.1 of Vim: Vi IMproved.
|
||||
README_os390.txt for version 9.0 of Vim: Vi IMproved.
|
||||
|
||||
This readme explains how to build Vim on z/OS. Formerly called OS/390.
|
||||
See "README.txt" for general information about Vim.
|
||||
@@ -46,7 +46,7 @@ Change to the vim directory and do:
|
||||
|
||||
$ export CC=cc
|
||||
$ export _CC_CCMODE=1
|
||||
$./configure --with-features=normal --without-x --enable-gui=no
|
||||
$./configure --with-features=big --without-x --enable-gui=no
|
||||
$ cd src
|
||||
$ make
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
README_src.txt for version 9.1 of Vim: Vi IMproved.
|
||||
README_src.txt for version 9.0 of Vim: Vi IMproved.
|
||||
|
||||
The source archive contains the files needed to compile Vim on Unix systems.
|
||||
It is packed for Unix systems (NL line separator).
|
||||
|
||||
For more information, see the README.txt file that comes with the runtime
|
||||
archive (vim-9.1-rt.tar.gz). To be able to run Vim you MUST get the runtime
|
||||
archive (vim-9.0-rt.tar.gz). To be able to run Vim you MUST get the runtime
|
||||
archive too!
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
README_srcdos.txt for version 9.1 of Vim: Vi IMproved.
|
||||
README_srcdos.txt for version 9.0 of Vim: Vi IMproved.
|
||||
|
||||
See "README.txt" for general information about Vim.
|
||||
See "README_dos.txt" for installation instructions for MS-Windows.
|
||||
These files are in the runtime archive (vim91rt.zip).
|
||||
These files are in the runtime archive (vim90rt.zip).
|
||||
|
||||
|
||||
The DOS source archive contains the files needed to compile Vim on MS-Windows.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
README_unix.txt for version 9.1 of Vim: Vi IMproved.
|
||||
README_unix.txt for version 9.0 of Vim: Vi IMproved.
|
||||
|
||||
This file explains the installation of Vim on Unix systems.
|
||||
See "README.txt" for general information about Vim.
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
The Python project that creates `vimlogo.svg` can be found at
|
||||
`https://github.com/ShayHill/vimlogo`. The Vim license applies.
|
||||
|
||||
`vimlogo.svg` is an effort to remove errors and inadvertent inconsistencies
|
||||
from the original vim logo while maintaining the original design. `vimlogo.svg`
|
||||
is based on the `vimlogo.svg` file (previously?) found at
|
||||
`https://www.vim.org/logos.php`
|
||||
|
||||
As of 2024 Jan 30, `vimlogo.svg` is a separate project from `vimlogo.cdr`,
|
||||
`vimlogo.eps`, `vimlogo.gif`, `vimlogo.pdf`, and `vimlogo.xpm`, all of which
|
||||
are slightly different from each other.
|
||||
@@ -1,4 +1,4 @@
|
||||
README_vms.txt for version 9.1 of Vim: Vi IMproved.
|
||||
README_vms.txt for version 9.0 of Vim: Vi IMproved.
|
||||
|
||||
This file explains the installation of Vim on VMS systems.
|
||||
See "README.txt" in the runtime archive for information about Vim.
|
||||
@@ -19,16 +19,14 @@ src/INSTALLvms.txt.
|
||||
|
||||
To use the binary version, you need one of these archives:
|
||||
|
||||
vim-XX-exe-x86-gui.zip X86_64 GUI/Motif executables
|
||||
vim-XX-exe-x86-term.zip X86_64 console executables
|
||||
vim-XX-exe-ia64-gui.zip IA64 GUI/Motif executables
|
||||
vim-XX-exe-ia64-gtk.zip IA64 GUI/GTK executables
|
||||
vim-XX-exe-ia64-term.zip IA64 console executables
|
||||
vim-XX-exe-ia64-gui.zip IA64 GUI/Motif executables
|
||||
vim-XX-exe-ia64-gtk.zip IA64 GUI/GTK executables
|
||||
vim-XX-exe-ia64-term.zip IA64 console executables
|
||||
vim-XX-exe-axp-gui.zip Alpha GUI/Motif executables
|
||||
vim-XX-exe-axp-gtk.zip Alpha GUI/GTK executables
|
||||
vim-XX-exe-axp-term.zip Alpha console executables
|
||||
vim-XX-exe-axp-term.zip Alpha console executables
|
||||
vim-XX-exe-vax-gui.zip VAX GUI executables
|
||||
vim-XX-exe-vax-term.zip VAX console executables
|
||||
vim-XX-exe-vax-term.zip VAX console executables
|
||||
|
||||
and of course
|
||||
vim-XX-runtime.zip runtime files
|
||||
@@ -36,8 +34,6 @@ and of course
|
||||
The binary archives contain: vim.exe, ctags.exe, xxd.exe files,
|
||||
but there are also prepared "deploy ready" archives:
|
||||
|
||||
vim-XX-x86.zip GUI and console executables with runtime and
|
||||
help files for X86_64 systems
|
||||
vim-XX-ia64.zip GUI and console executables with runtime and
|
||||
help files for IA64 systems
|
||||
vim-XX-axp.zip GUI and console executables with runtime and
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
README_w32s.txt for version 9.1 of Vim: Vi IMproved.
|
||||
README_w32s.txt for version 9.0 of Vim: Vi IMproved.
|
||||
|
||||
This file used to explain the installation of Vim on MS-Windows 3.1 and 3.11
|
||||
systems. However, support for MS-Windows 3.1 and 3.11 has been removed in
|
||||
|
||||
-10
@@ -1,10 +0,0 @@
|
||||
# Security Policy
|
||||
|
||||
## Reporting a vulnerability
|
||||
|
||||
If you want to report a security issue, please privately disclose the issue to the vim-security mailing list
|
||||
vim-security@googlegroups.com
|
||||
|
||||
This is a private list, read only by the maintainers, but anybody can post, after moderation.
|
||||
|
||||
**Please don't publicly disclose the issue until it has been addressed by us.**
|
||||
+8
-25
@@ -1,20 +1,15 @@
|
||||
@echo off
|
||||
:: Batch file for building/testing Vim on AppVeyor
|
||||
set target=%1
|
||||
set "GETTEXT_PATH=c:\gettext64\bin"
|
||||
|
||||
setlocal ENABLEDELAYEDEXPANSION
|
||||
cd %APPVEYOR_BUILD_FOLDER%
|
||||
|
||||
:: Python3
|
||||
set "PYTHON3_VER=311"
|
||||
set "PYTHON3_RELEASE=3.11.1"
|
||||
set "PYTHON3_URL=https://www.python.org/ftp/python/%PYTHON3_RELEASE%/python-%PYTHON3_RELEASE%-amd64.exe"
|
||||
set "PYTHON3_DIR=C:\python%PYTHON3_VER%-x64"
|
||||
|
||||
:: Gettext-tools, iconv and libraries
|
||||
set "GETTEXT64_URL=https://github.com/mlocati/gettext-iconv-windows/releases/download/v0.21-v1.16/gettext0.21-iconv1.16-shared-64.zip"
|
||||
set "GETTEXT64_DIR=c:\gettext64"
|
||||
set PYTHON3_VER=311
|
||||
set PYTHON3_RELEASE=3.11.1
|
||||
set PYTHON3_URL=https://www.python.org/ftp/python/%PYTHON3_RELEASE%/python-%PYTHON3_RELEASE%-amd64.exe
|
||||
set PYTHON3_DIR=C:\python%PYTHON3_VER%-x64
|
||||
|
||||
set "VSWHERE=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe"
|
||||
|
||||
@@ -48,18 +43,6 @@ if not exist %PYTHON3_DIR% (
|
||||
AssociateFiles=0 Shortcuts=0 Include_doc=0 Include_launcher=0 ^
|
||||
InstallLauncherAllUsers=0
|
||||
)
|
||||
:: GETTEXT
|
||||
if not exist %GETTEXT64_DIR% (
|
||||
mkdir %GETTEXT64_DIR%
|
||||
call :downloadfile %GETTEXT64_URL% downloads\gettext64.zip
|
||||
cmd /c powershell.exe -NoLogo -NoProfile -Command ^
|
||||
Add-Type -AssemblyName 'System.IO.Compression.FileSystem'; ^
|
||||
[System.IO.Compression.ZipFile]::ExtractToDirectory^('downloads\gettext64.zip', ^
|
||||
'%GETTEXT64_DIR%'^)
|
||||
copy /y %GETTEXT64_DIR%\bin\libintl-8.dll C:\projects\vim\src\ || exit 1
|
||||
copy /y %GETTEXT64_DIR%\bin\libiconv-2.dll C:\projects\vim\src\ || exit 1
|
||||
)
|
||||
|
||||
@echo off
|
||||
goto :eof
|
||||
|
||||
@@ -71,7 +54,7 @@ cd src
|
||||
echo "Building MSVC 64bit console Version"
|
||||
nmake -f Make_mvc.mak CPU=AMD64 ^
|
||||
OLE=no GUI=no IME=yes ICONV=yes DEBUG=no ^
|
||||
FEATURES=%FEATURE% CI_CFLAGS=/we4267
|
||||
FEATURES=%FEATURE%
|
||||
if not exist vim.exe (
|
||||
echo Build failure.
|
||||
exit 1
|
||||
@@ -85,11 +68,11 @@ if "%FEATURE%" == "HUGE" (
|
||||
OLE=no GUI=yes IME=yes ICONV=yes DEBUG=no POSTSCRIPT=yes ^
|
||||
PYTHON_VER=27 DYNAMIC_PYTHON=yes PYTHON=C:\Python27-x64 ^
|
||||
PYTHON3_VER=%PYTHON3_VER% DYNAMIC_PYTHON3=yes PYTHON3=%PYTHON3_DIR% ^
|
||||
FEATURES=%FEATURE% CI_CFLAGS=/we4267
|
||||
FEATURES=%FEATURE%
|
||||
) ELSE (
|
||||
nmake -f Make_mvc.mak CPU=AMD64 ^
|
||||
OLE=no GUI=yes IME=yes ICONV=yes DEBUG=no ^
|
||||
FEATURES=%FEATURE% CI_CFLAGS=/we4267
|
||||
FEATURES=%FEATURE%
|
||||
)
|
||||
if not exist gvim.exe (
|
||||
echo Build failure.
|
||||
@@ -109,7 +92,7 @@ goto :eof
|
||||
@echo on
|
||||
cd src/testdir
|
||||
:: Testing with MSVC gvim
|
||||
path %PYTHON3_DIR%;%GETTEXT_PATH%;%PATH%
|
||||
path %PYTHON3_DIR%;%PATH%
|
||||
nmake -f Make_mvc.mak VIMPROG=..\gvim
|
||||
nmake -f Make_mvc.mak clean
|
||||
:: Testing with MSVC console version
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
set -eu
|
||||
|
||||
LINUX_VERSION=$(uname -r | cut -d. -f1-2)
|
||||
LINUX_ARCHIVE_FILE=v${LINUX_VERSION}.tar.gz
|
||||
LINUX_SOURCE_DIR=linux-${LINUX_VERSION}
|
||||
|
||||
mkdir -p "${TMPDIR}"
|
||||
cd "${TMPDIR}"
|
||||
|
||||
wget -q "https://github.com/torvalds/linux/archive/${LINUX_ARCHIVE_FILE}"
|
||||
|
||||
tar -xf "${LINUX_ARCHIVE_FILE}" "${LINUX_SOURCE_DIR}/sound"
|
||||
cd "${LINUX_SOURCE_DIR}/sound"
|
||||
|
||||
CC=gcc make -C "/lib/modules/$(uname -r)/build" M="${PWD}" CONFIG_SOUND=m CONFIG_SND=m CONFIG_SND_PCM=m CONFIG_SND_DUMMY=m modules
|
||||
|
||||
mkdir -p "${SND_DUMMY_DIR}"
|
||||
cp soundcore.ko core/snd.ko core/snd-pcm.ko drivers/snd-dummy.ko "${SND_DUMMY_DIR}"
|
||||
@@ -1,3 +1,3 @@
|
||||
# Clang 12 (or Apple clang 13) and later makes a warning '-Wcompound-token-split-by-macro' enable by default.
|
||||
/^PERL_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=compound-token-split-by-macro -Wno-compound-token-split-by-macro/
|
||||
/^PERL_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=compound-token-split-by-macro/
|
||||
/^RUBY_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=compound-token-split-by-macro/
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
# Add link-time optimization for even better performance
|
||||
/^CFLAGS[[:blank:]]*=/s/-O2/-O3 -flto/
|
||||
/^LDFLAGS[[:blank:]]*=/s/$/ -flto/
|
||||
+3
-3
@@ -1,3 +1,3 @@
|
||||
/^CFLAGS[[:blank:]]*=/s/$/ -Wall -Wextra -Wshadow -Wstrict-prototypes -Wmissing-prototypes -Werror -Wno-deprecated-declarations/
|
||||
/^PERL_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=unused-function -Wno-shadow/
|
||||
/^RUBY_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=unused-parameter -Wno-strict-prototypes/
|
||||
/^CFLAGS[[:blank:]]*=/s/$/ -Wall -Wextra -Wshadow -Werror/
|
||||
/^PERL_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=unused-function/
|
||||
/^RUBY_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=unused-parameter/
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
/^XCODEFLAGS[[:blank:]]*=/s/$/ GCC_TREAT_WARNINGS_AS_ERRORS="YES" GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS="NO"/
|
||||
@@ -1,3 +0,0 @@
|
||||
deb http://ddebs.ubuntu.com noble main restricted universe multiverse
|
||||
deb http://ddebs.ubuntu.com noble-updates main restricted universe multiverse
|
||||
deb http://ddebs.ubuntu.com noble-proposed main restricted universe multiverse
|
||||
@@ -1,66 +0,0 @@
|
||||
ColorColumn
|
||||
ComplMatchIns
|
||||
Conceal
|
||||
Cursor
|
||||
CursorColumn
|
||||
CursorIM
|
||||
CursorLine
|
||||
CursorLineNr
|
||||
debugBreakpoint
|
||||
debugPC
|
||||
DiffAdd
|
||||
DiffChange
|
||||
DiffDelete
|
||||
DiffText
|
||||
Directory
|
||||
ErrorMsg
|
||||
FoldColumn
|
||||
Folded
|
||||
Ignore
|
||||
IncSearch
|
||||
lCursor
|
||||
LineNr
|
||||
LineNrAbove
|
||||
LineNrBelow
|
||||
MatchParen
|
||||
Menu
|
||||
ModeMsg
|
||||
MoreMsg
|
||||
MsgArea
|
||||
NonText
|
||||
Normal
|
||||
Pmenu
|
||||
PmenuSbar
|
||||
PmenuSel
|
||||
PmenuThumb
|
||||
Question
|
||||
Scrollbar
|
||||
Search
|
||||
SignColumn
|
||||
SpecialKey
|
||||
SpellBad
|
||||
SpellCap
|
||||
SpellLocal
|
||||
SpellRare
|
||||
StatusLine
|
||||
StatusLineNC
|
||||
StatusLineTerm
|
||||
StatusLineTermNC
|
||||
TabLine
|
||||
TabLineFill
|
||||
TabLineSel
|
||||
Terminal
|
||||
Title
|
||||
TOhtmlProgress
|
||||
TOhtml-progress-color
|
||||
ToolbarButton
|
||||
ToolbarLine
|
||||
Tooltip
|
||||
User1
|
||||
User1..9
|
||||
User9
|
||||
VertSplit
|
||||
Visual
|
||||
VisualNOS
|
||||
WarningMsg
|
||||
WildMenu
|
||||
@@ -1,18 +0,0 @@
|
||||
# vim: ft=make
|
||||
SHELL = /bin/bash
|
||||
|
||||
# Default target to actually run the comparison:
|
||||
.PHONY: check
|
||||
.INTERMEDIATE: hlgroups deflinks hlgroups.stripped
|
||||
|
||||
check: hlgroups.stripped deflinks
|
||||
diff hlgroups.stripped deflinks
|
||||
|
||||
hlgroups:
|
||||
grep '\*hl-' ../runtime/doc/*txt | sed -E -e 's/.*:<?\s*//' -e 's/hl-//g' -e 's/\*//g' -e 's/ /\n/g' | sort > hlgroups
|
||||
|
||||
deflinks: ../src/highlight.c
|
||||
grep '"default link' $< | sed 's/.*default link\s*\(.*\)\s.*/\1/' | sort > deflinks
|
||||
|
||||
hlgroups.stripped: hlgroups.ignore hlgroups
|
||||
grep -v -x -F -f hlgroups.ignore hlgroups > hlgroups.stripped
|
||||
@@ -1,15 +0,0 @@
|
||||
if 1 " This prevents it from being run in tiny versions
|
||||
" Check for required features
|
||||
if exists("g:required")
|
||||
for feature in g:required
|
||||
if !has(feature)
|
||||
echo "Error: Feature '" .. feature .. "' not found"
|
||||
echo ''
|
||||
cquit
|
||||
endif
|
||||
endfor
|
||||
echo "\nChecked features: " .. string(g:required)
|
||||
echo ''
|
||||
endif
|
||||
endif
|
||||
" vim: sts=2 sw=2 et
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
" Print all interface versions. Part 1.
|
||||
" Print all interface versions for Ubuntu. Part 1.
|
||||
|
||||
if 1 " This prevents it from being run in tiny versions
|
||||
if 1
|
||||
execute 'source' expand('<sfile>:h') .. '/if_ver-cmd.vim'
|
||||
|
||||
echo "*** Interface versions ***\n"
|
||||
|
||||
+2
-4
@@ -1,8 +1,6 @@
|
||||
" Print py3 interface versions. Part 2.
|
||||
" This is done separately from part 1 because Vim cannot concurrently load
|
||||
" Python 2 and 3 together.
|
||||
" Print py3 interface versions for Ubuntu. Part 2.
|
||||
|
||||
if 1 " This prevents it from being run in tiny versions
|
||||
if 1
|
||||
execute 'source' expand('<sfile>:h') .. '/if_ver-cmd.vim'
|
||||
|
||||
echo 'Python 3:'
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
if ! modprobe snd-dummy; then
|
||||
# snd-dummy is contained in linux-modules-extra (if exists)
|
||||
apt-get install -yq --no-install-suggests --no-install-recommends "linux-modules-extra-$(uname -r)"
|
||||
modprobe snd-dummy
|
||||
fi
|
||||
@@ -1,69 +0,0 @@
|
||||
# Unfortunately ubtunu does not keep the debug packages strictly up-to-date
|
||||
# with the main packages. So this file needs to pin the main packages back to
|
||||
# the version for which debug packages are available.
|
||||
|
||||
Package: libwayland-client0
|
||||
Pin: version 1.20.0-1
|
||||
Pin-Priority: 1000
|
||||
|
||||
Package: libwayland-client0
|
||||
Pin: version 1.20.0-1ubuntu0.1
|
||||
Pin-Priority: 100
|
||||
|
||||
Package: libwayland-cursor0
|
||||
Pin: version 1.20.0-1
|
||||
Pin-Priority: 1000
|
||||
|
||||
Package: libwayland-cursor0
|
||||
Pin: version 1.20.0-1ubuntu0.1
|
||||
Pin-Priority: 100
|
||||
|
||||
Package: libwayland-egl1
|
||||
Pin: version 1.20.0-1
|
||||
Pin-Priority: 1000
|
||||
|
||||
Package: libwayland-egl1
|
||||
Pin: version 1.20.0-1ubuntu0.1
|
||||
Pin-Priority: 100
|
||||
|
||||
Package: libwayland-dev
|
||||
Pin: version 1.20.0-1
|
||||
Pin-Priority: 1000
|
||||
|
||||
Package: libwayland-dev
|
||||
Pin: version 1.20.0-1ubuntu0.1
|
||||
Pin-Priority: 100
|
||||
|
||||
Package: libwayland-server0
|
||||
Pin: version 1.20.0-1
|
||||
Pin-Priority: 1000
|
||||
|
||||
Package: libwayland-server0
|
||||
Pin: version 1.20.0-1ubuntu0.1
|
||||
Pin-Priority: 100
|
||||
|
||||
Package: libwayland-bin
|
||||
Pin: version 1.20.0-1
|
||||
Pin-Priority: 1000
|
||||
|
||||
Package: libwayland-bin
|
||||
Pin: version 1.20.0-1ubuntu0.1
|
||||
Pin-Priority: 100
|
||||
|
||||
# As of 2025-04-27 the base library package libgtk-3-0t64 is still at 3.24.41-4ubuntu1.2
|
||||
Package: libgtk-3-0t64-dbgsym
|
||||
Pin: version 3.24.41-4ubuntu1.2
|
||||
Pin-Priority: 1000
|
||||
|
||||
Package: libgtk-3-0t64-dbgsym
|
||||
Pin: version 3.24.41-4ubuntu1.3
|
||||
Pin-Priority: 100
|
||||
|
||||
# As of 2025-04-27 the base binary package libgtk-3-bin is still at 3.24.41-4ubuntu1.2
|
||||
Package: libgtk-3-bin-dbgsym
|
||||
Pin: version 3.24.41-4ubuntu1.2
|
||||
Pin-Priority: 1000
|
||||
|
||||
Package: libgtk-3-bin-dbgsym
|
||||
Pin: version 3.24.41-4ubuntu1.3
|
||||
Pin-Priority: 100
|
||||
@@ -1,13 +0,0 @@
|
||||
#!/usr/bin/env sh
|
||||
pushd /etc/apt/preferences.d/
|
||||
cat > nosnap.pref <<EOF
|
||||
# To prevent repository packages from triggering the installation of snap,
|
||||
# this file forbids snapd from being installed by APT.
|
||||
|
||||
Package: snapd
|
||||
Pin: release a=*
|
||||
Pin-Priority: -10
|
||||
EOF
|
||||
popd
|
||||
snap remove --purge $(snap list | awk '!/^Name|^core/ {print $1}')
|
||||
apt-get purge -y snapd
|
||||
@@ -1,49 +0,0 @@
|
||||
# vim: ft=make
|
||||
SHELL = /bin/bash
|
||||
|
||||
# List all files that are tracked in git but not listed in Filelist.
|
||||
# Exit code is 2 ("Make encountered an error") if any such files exist.
|
||||
|
||||
# Filelist is a Makefile that defines many variables, so we use Make itself to
|
||||
# query which variables it defines, then expand them all by wrapping each name
|
||||
# in $(...), importing Filelist and using $(eval).
|
||||
|
||||
include Filelist
|
||||
$(eval all_patterns := $(shell \
|
||||
make -f Filelist --question --print-data-base --no-builtin-rules \
|
||||
--no-builtin-variables 2>/dev/null \
|
||||
| sed -nre \
|
||||
'/^# makefile .from \x27Filelist\x27,/ { \
|
||||
n; \
|
||||
s/ = .*//; \
|
||||
T; \
|
||||
s/.*/$$(\0)/; \
|
||||
p; \
|
||||
}'))
|
||||
|
||||
# In Makefile's `prepare` target, all the IN_README_DIR files are moved from
|
||||
# READMEdir to the root, so add those files in their Git-tracked location:
|
||||
all_patterns := $(all_patterns) \
|
||||
$(foreach readme, $(IN_README_DIR), READMEdir/$(readme))
|
||||
|
||||
# The result 'all_patterns' is a list of patterns (globs), which we expand with
|
||||
# wildcard to get actual filenames. Note this means Filelist can list a file
|
||||
# that does not exist, and it will be omitted at this step.
|
||||
listed_files := $(wildcard $(all_patterns))
|
||||
|
||||
# Default target to actually run the comparison:
|
||||
.PHONY: check
|
||||
check:
|
||||
@# There are too many files to list on the command line, so we write
|
||||
@# that to a temporary file, one per line.
|
||||
$(file > Filelist-listed-files)
|
||||
$(foreach filename, $(listed_files),\
|
||||
$(file >> Filelist-listed-files,$(filename)))
|
||||
@# Compare the sorted lists. Delete that temporary file on both
|
||||
@# success and failure, but exit with diff's exit code.
|
||||
diff -u0 --label files-in-git <(git ls-files | sort) \
|
||||
--label Filelist <(sort --unique Filelist-listed-files); \
|
||||
RV=$$?; \
|
||||
rm Filelist-listed-files; \
|
||||
(($$RV != 0)) && echo "Add files to the right variable in Filelist."; \
|
||||
exit $$RV
|
||||
@@ -1,99 +0,0 @@
|
||||
LICENZA VIM
|
||||
|
||||
Nota: Agli effetti legali ha valore non la seguente traduzione italiana, ma
|
||||
l'originale inglese su cui è basata. È alla versione inglese che si fa
|
||||
riferimento qui sotto quando si parla di "questa licenza" (NdT).
|
||||
|
||||
I) Non ci sono restrizioni alla distribuzione di copie non modificate di Vim,
|
||||
alla condizione che esse includano il testo di questa licenza. Si possono
|
||||
anche distribuire parti non modificate di Vim, sempre senza restrizioni,
|
||||
alla condizione che esse includano il testo di questa licenza. È anche
|
||||
consentito includere programmi eseguibili da voi preparati a partire dai
|
||||
file sorgenti Vim non modificati, più i vostri esempi di utilizzo e i
|
||||
vostri script Vim.
|
||||
|
||||
II) È consentito distribuire una versione modificata (o estesa) di Vim,
|
||||
contenente programmi eseguibile e/o codice sorgente, quando siano
|
||||
rispettare le seguenti quattro condizioni:
|
||||
1) Il testo di questa licenza deve essere incluso senza modifiche.
|
||||
2) La versione modificata di Vim dev'essere distribuita in una della
|
||||
seguenti cinque maniere:
|
||||
a) Se voi personalmente modificate a Vim, dovete descrivere
|
||||
chiaramente nella distribuzione come è possibile mettersi in
|
||||
contatto con voi. Quando il manutentore vi chiede (in qualsiasi
|
||||
forma) una copia della versione modificata di Vim da voi
|
||||
distribuita, dovete rendere disponibili le vostre modifiche,
|
||||
compreso il codice sorgente, al manutentore, senza alcuna spesa.
|
||||
Il manutentore si riserva il diritto di includere le vostre
|
||||
modifiche nella versione ufficiale di Vim. Quel che il manutentore
|
||||
potrà fare con le vostre modifiche e sotto quale licenza esse
|
||||
verranno distribuite può essere oggetto di negoziazione. Se non c'è
|
||||
stata alcuna negoziazione, questa licenza, o una versione successiva
|
||||
della stessa è anche applicabile alle vostre modifiche.
|
||||
I manutentori correnti sono elencati qui:
|
||||
https://github.com/orgs/vim/people.
|
||||
Se dovessero cambiare, ne sarò dato annuncio nei luoghi appropriati
|
||||
(verosimilmente vim.sf.net, www.vim.org e/o comp.editors). Quando
|
||||
sia completamente impossibile contattare il manutentore, l'obbligo
|
||||
di spedirgli le vostre modifiche viene meno. Una volta che il
|
||||
manutentore abbia confermato di aver ricevuto le vostre modifiche,
|
||||
non sarà necessario spedirle ulteriormente.
|
||||
b) Se avete ricevuto un Vim modificato che era stato distribuito come
|
||||
descritto al punto a) potete ulteriormente distribuirlo senza
|
||||
modificarlo, come menzionato al punto I). Se fate ulteriori
|
||||
modifiche, il testo al punto a) si applica a queste modifiche.
|
||||
c) Includete tutte le modifiche, compreso il codice sorgente, con ogni
|
||||
copia del Vim modificato da voi distribuito. Questo può essere
|
||||
fatto sotto forma dell'output di un comando "diff", che contenga
|
||||
anche il contesto [ossia anche le linee non modificate di sorgente
|
||||
che vengono prima o dopo le modifiche - NdT]. Potete scegliere
|
||||
quale licenza volete utilizzare per il nuovo codice sorgente che voi
|
||||
aggiungere. Le modifiche e la relativa licenza non devono impedire
|
||||
a terze parti di apportare le loro proprie modifiche a Vim.
|
||||
d) Quando avete un Vim modificato che comprende modifiche quali quelle
|
||||
menzionate al punto c), potete distribuirlo senza il codice sorgente
|
||||
che descrive le modifiche, se le seguenti tre condizioni sono
|
||||
soddisfatte:
|
||||
- La licenza applicabile alle modifiche vi consente di distribuire
|
||||
le modifiche al manutentore Vim senza alcun costo o restrizione, e
|
||||
permette al manutentore Vim di includere le modifiche nella
|
||||
versione ufficiale di Vim senza alcun costo o restrizione.
|
||||
- Le modifiche da voi fatte sono conservate per almeno tre anni,
|
||||
dopo che avrete distribuito per l'ultima volta il Vim modificato
|
||||
corrispondente alle modifiche stesse. Quando il manutentore o
|
||||
qualcuno a cui voi avete distribuito il Vim modificato vi chiede
|
||||
(in qualsiasi forma) le modifiche, entro il periodo qui indicato,
|
||||
dovete fargliele avere.
|
||||
- Dovete descrivere chiaramente nella distribuzione come è possibile
|
||||
mettersi in contatto con voi. Questa informazione di contatto
|
||||
deve rimanere valida per almeno tre anni dopo l'ultima data di
|
||||
distribuzione della corrispondente modifica di Vim, oppure il più
|
||||
a lungo possibile.
|
||||
e) Quando al GNU General Public License (GPL) si applica alle
|
||||
modifiche, potete distribuire il Vim modificato sotto la versione 2
|
||||
della licenza GNU GPL versione 2 o una qualsiasi versione successiva
|
||||
della stessa licenza.
|
||||
3) Un messaggio deve essere aggiunto, almeno all'output del comando
|
||||
":version" e nella schermata introduttiva, in modo che l'utilizzatore
|
||||
del Vim modificato sia in grado di comprendere cosa è stato modificato.
|
||||
Quando si distribuisca come menzionato al punto 2)e) l'aggiunta del
|
||||
messaggio è richiesta solo se ciò non conduca a conflitti con la
|
||||
licenza usata per le modifiche.
|
||||
4) L'informazione di contatto, richiesta ai punto 2)a) e 2)d) non deve
|
||||
essere rimossa o modificata, tranne che per il fatto che la persona
|
||||
stessa può apportare delle correzioni.
|
||||
|
||||
III) Se distribuite una versione modificata di Vim, siete incoraggiati a
|
||||
utilizzare la licenza Vim per le vostre modifiche, e a mettere le
|
||||
modifiche a disposizione del manutentore, compreso il codice sorgente.
|
||||
Il modo preferito in cui fare questo è tramite e-mail o caricando
|
||||
i file su un server ed inviandone l'indirizzo (URL) tramite e-mail.
|
||||
Se il numero di modifiche è piccolo (per esempio, una modifica a un
|
||||
Makefile) inviare tramite email l'output del comando diff con contesto
|
||||
può essere sufficiente. L'indirizzo e-mail da utilizzare è
|
||||
<maintainer@vim.org>
|
||||
|
||||
IV) Non è consentito rimuovere questa licenza dalla distribuzione dei codici
|
||||
sorgente Vim, anche in parte, o da una versione di Vim modificata.
|
||||
Potete usare questa licenza per precedenti versioni di Vim, invece della
|
||||
licenza con cui esse sono state distribuite, a vostra scelta.
|
||||
@@ -1,81 +0,0 @@
|
||||
LICENÇA DO VIM
|
||||
|
||||
I) Não há restrições para distribuir cópias não modificadas do Vim, exceto
|
||||
que elas devem incluir este texto de licença. Você também pode distribuir
|
||||
partes não modificadas do Vim, igualmente irrestritas, exceto que elas
|
||||
devem incluir este texto de licença. Você também tem permissão para incluir
|
||||
executáveis que você fez a partir das fontes não modificadas do Vim, além
|
||||
de seus próprios exemplos de uso e scripts do Vim.
|
||||
|
||||
II) É permitido distribuir uma versão modificada (ou estendida) do Vim,
|
||||
incluindo executáveis e/ou código-fonte, quando as quatro
|
||||
condições a seguir forem atendidas:
|
||||
1) Este texto de licença deve ser incluído sem modificações.
|
||||
2) O Vim modificado deve ser distribuído de uma das cinco formas a seguir:
|
||||
a) Se você fizer alterações no Vim, deverá descrever claramente na
|
||||
distribuição como entrar em contato com você. Quando o mantenedor
|
||||
solicitar a você (de qualquer forma) uma cópia do Vim modificado que
|
||||
você distribuiu, você deverá disponibilizar suas alterações,
|
||||
incluindo o código-fonte, ao mantenedor sem taxa. O mantenedor
|
||||
reserva o direito de incluir suas alterações na versão oficial
|
||||
do Vim. O que o mantenedor fará com suas alterações e sob qual
|
||||
licença elas serão distribuídas é negociável. Se não houve negociação
|
||||
então esta licença, ou uma versão posterior, também se aplica às suas
|
||||
alterações. Os mantenedores atuais estão listados aqui:
|
||||
https://github.com/orgs/vim/people. Se isso mudar, será anunciado em
|
||||
lugares apropriados (provavelmente vim.sf.net, www.vim.org e/ou
|
||||
comp.editors). Quando for completamente impossível contatar o
|
||||
mantenedor, a obrigação de enviar a ele suas alterações cessa.
|
||||
Uma vez que o mantenedor tenha confirmado que ele recebeu suas
|
||||
alterações, elas não precisarão ser enviadas novamente.
|
||||
b) Se você recebeu um Vim modificado que foi distribuído como
|
||||
mencionado em a), você tem permissão para distribuí-lo sem
|
||||
modificações, como mencionado em I). Se você fizer alterações
|
||||
adicionais, o texto em a) se aplica a essas alterações.
|
||||
c) Forneça todas as alterações, incluindo o código-fonte, com cada cópia
|
||||
do Vim modificado que você distribuir. Isso pode ser feito na forma
|
||||
de um diff de contexto. Você pode escolher qual licença usar para o
|
||||
novo código que você adicionar. As alterações e sua licença não devem
|
||||
restringir outros de fazer suas próprias alterações na versão oficial
|
||||
do Vim.
|
||||
d) Quando você tem um Vim modificado que inclui alterações conforme
|
||||
mencionado em c), você pode distribuí-lo sem o código-fonte para as
|
||||
alterações se as três condições a seguir forem atendidas:
|
||||
- A licença que se aplica às alterações permite que você distribua
|
||||
as alterações para o mantenedor do Vim sem taxa ou restrição, e
|
||||
permite que o mantenedor do Vim inclua as alterações na
|
||||
versão oficial do Vim sem taxa ou restrição.
|
||||
- Você mantém as alterações por pelo menos três anos após a última
|
||||
distribuição do Vim modificado correspondente. Quando o mantenedor
|
||||
ou alguém para quem você distribuiu o Vim modificado solicitar a
|
||||
você (de qualquer forma) as alterações dentro deste período, você
|
||||
deve disponibilizá-las a ele.
|
||||
- Você descreve claramente na distribuição como entrar em contato
|
||||
com você. Estas informações de contato devem permanecer válidas por
|
||||
pelo menos três anos após a última distribuição do Vim modificado
|
||||
correspondente, ou pelo maior tempo possível.
|
||||
e) Quando a Licença Pública Geral GNU (GPL) se aplica às alterações,
|
||||
você pode distribuir o Vim modificado sob a GNU GPL versão 2 ou
|
||||
qualquer versão posterior.
|
||||
3) Uma mensagem deve ser adicionada, no mínimo na saída do comando
|
||||
":version" e na tela de introdução, de modo que o usuário do Vim
|
||||
modificado seja capaz de ver que ele foi modificado. Ao distribuir
|
||||
conforme mencionado em 2)e), só é necessário adicionar a mensagem
|
||||
na medida em que isso não entre em conflito com a licença usada para
|
||||
as alterações.
|
||||
4) As informações de contato conforme exigido em 2)a) e 2)d) não devem ser
|
||||
removidas ou alteradas, exceto que a própria pessoa pode fazer
|
||||
correções.
|
||||
|
||||
III) Se você distribuir uma versão modificada do Vim, encorajamos que use
|
||||
a licença do Vim para suas alterações e disponibilizá-las ao
|
||||
mantenedor, incluindo o código-fonte. A maneira preferida de fazer isso é
|
||||
por e-mail ou enviando os arquivos para um servidor e enviando a URL por
|
||||
e-mail. Se o número de alterações for pequeno (por exemplo, um Makefile
|
||||
modificado), enviar um diff de contexto por e-mail será suficiente.
|
||||
O endereço de e-mail a ser usado é <maintainer@vim.org>
|
||||
|
||||
IV) Não é permitido remover esta licença da distribuição das fontes do Vim,
|
||||
partes dela ou de uma versão modificada. Você pode usar esta licença
|
||||
para versões anteriores do Vim em vez da licença com a qual elas vieram,
|
||||
a seu critério.
|
||||
@@ -1,109 +0,0 @@
|
||||
ЛИЦЕНЗИЯ VIM
|
||||
|
||||
I) Неизменённые копии программы Vim могут распространяться без ограничения
|
||||
при условии включения данного текста лицензии. Распространение
|
||||
неизменённых копий отдельных частей программы Vim также возможно
|
||||
при соблюдении условия о включении данного текста лицензии. Подобным
|
||||
образом разрешается добавлять исполняемые файлы, скомпилированные
|
||||
из неизменённого исходного кода программы Vim, а также собственные
|
||||
примеры использования и командные файлы редактора Vim.
|
||||
|
||||
II) Изменённую (или дополненную) версию программы Vim, включающую
|
||||
исполняемые файлы и/или исходный код, допускается распространять
|
||||
при соблюдении следующих четырёх условий:
|
||||
1) Текст настоящей лицензии должен включаться в состав распространяемой
|
||||
версии программы Vim без изменений.
|
||||
2) Изменённая версия программы Vim должна распространяться одним
|
||||
из следующих пяти способов:
|
||||
a) При внесении изменений в программу Vim, в дистрибутиве должны
|
||||
быть явно указаны контактные данные лица, внёсшего эти изменения.
|
||||
Ответственному разработчику по его запросу (в любой форме) должна
|
||||
быть безвозмездно предоставлена копия распространяемой изменённой
|
||||
версии программы Vim, включая её исходный код. Ответственный
|
||||
разработчик оставляет за собой право включать сделанные изменения
|
||||
в официальную версию программы Vim. Конкретные действия
|
||||
ответственного разработчика, относительно переданных изменений,
|
||||
а также лицензионные условия, на основании которых будет
|
||||
осуществляться их распространение, могут быть дополнительно
|
||||
согласованы. Если согласование не проводилось, сделанные изменения
|
||||
будут распространяться на условиях настоящей лицензии или более
|
||||
поздней её версии. Лица, в данное время являющиеся ответственными
|
||||
за разработку, указаны в перечне, размещённом по адресу:
|
||||
https://github.com/orgs/vim/people. В случае изменения этой
|
||||
информации, актуальные данные будут опубликованы на
|
||||
соответствующих ресурсах (вероятнее всего по интернет‐адресам
|
||||
vim.sf.net, www.vim.org и/или comp.editors). В случае полной
|
||||
невозможности установить контакт с ответственным разработчиком,
|
||||
обязательства по отправке изменений утрачивают силу. После
|
||||
передачи подтверждения о получении изменений от ответственного
|
||||
разработчика, необходимость в повторной отправке копии изменённой
|
||||
программы Vim неприменима.
|
||||
b) Если лицом получена изменённая версия программа Vim,
|
||||
распространяющаяся на условиях, указанных в ч. II) п. 2) пп. а)
|
||||
допускается дальнейшее её распространение этим лицом без внесения
|
||||
изменений и согласно ч. I) настоящей лицензии. В случае внесения
|
||||
дополнительных изменений, на эти изменения будут распространяться
|
||||
условия, указанные в ч. II) п. 2) пп. a).
|
||||
c) Каждая копия распространяемой изменённой версии программы Vim
|
||||
должна включать информацию обо всех произведённых изменениях,
|
||||
включая исходный код. Эта информация может быть представлена
|
||||
в виде построчного сравнения файлов. Выбор лицензии, по условиям
|
||||
которой будет распространяться добавленный код, остаётся
|
||||
за автором этих изменений. Изменения и лицензия на эти изменения
|
||||
не должны запрещать другим лицам внесение своих собственных
|
||||
изменений в официальную версию программы Vim.
|
||||
d) Изменённая версия программы Vim, содержащая изменения в
|
||||
соответствии с ч. II) п. 2 пп. c), может распространяться без
|
||||
исходного кода для этих изменений, при соблюдении следующих трёх
|
||||
условий:
|
||||
- Лицензия, применяемая к внесённым изменениям, предоставляет
|
||||
ответственному разработчику программы Vim возможность
|
||||
безвозмездного и неограниченного распространения этих изменений,
|
||||
а также право на безвозмездное и неограниченное включение этих
|
||||
изменений в официальную версию программы Vim.
|
||||
- Изменения должны сохраняться не менее трёх лет со времени
|
||||
распространения соответствующей изменённой версии программы Vim.
|
||||
В течение этого периода по запросу ответственного разработчика
|
||||
или другого пользователя изменённой версии программы Vim
|
||||
(в любой форме) необходимо предоставить исходный код данных
|
||||
изменений.
|
||||
- В дистрибутиве изменённой версии программы Vim должны быть явно
|
||||
указаны контактные данные лица, внёсшего эти изменения.
|
||||
Контактные данные должны сохранять актуальность в течение
|
||||
не менее трёх лет со времени последнего распространения
|
||||
соответствующей изменённой версии программы Vim или как можно
|
||||
дольше.
|
||||
e) Если к изменениям, внесённым в программу Vim, применимы условия
|
||||
лицензии GNU General Public License (GNU GPL), допускается
|
||||
распространение изменённой версия программы Vim на условиях
|
||||
лицензии GNU GPL версии 2 или любой более поздней версии этой
|
||||
лицензии.
|
||||
3) Необходимо добавить соответствующую информацию, которая должна быть
|
||||
выведена в результате выполнения команды ":version" в программе Vim,
|
||||
а также на экране приветствия программы Vim, чтобы пользователь
|
||||
изменённой версии программы Vim имел возможность определить,
|
||||
что он пользуется изменённой версией. При распространении
|
||||
на условиях, указанных в ч. II) п. 2) пп. e) такую информацию
|
||||
требуется добавлять только в том случае, когда она не противоречит
|
||||
лицензии, распространяющейся на эти изменения.
|
||||
4) Контактная информация, которая указывается по требованию ч. II) п. 2)
|
||||
пп. a) и ч. II) п. 2) пп. d) не должна удаляться или изменяться никем
|
||||
другим, кроме лица, указавшего данную контактную информацию.
|
||||
|
||||
III) При распространении изменённой версии программы Vim рекомендуется
|
||||
пользоваться лицензией Vim для произведённых изменений и обеспечить
|
||||
доступ к этим изменениям ответственного разработчика, включая исходный
|
||||
код изменений. Предпочтительным способом предоставления доступа
|
||||
к произведённым изменениям является отправка этих изменений через
|
||||
электронную почту или размещение файлов на сервер с отправкой
|
||||
URL-адреса по электронной почте. Если количество изменений
|
||||
незначительно (например, изменения в файле Makefile), достаточно будет
|
||||
отправить через электронную почту файл построчного сравнения. Изменения
|
||||
или URL-адреса должны быть направлены на адрес электронной почты
|
||||
maintainer@vim.org
|
||||
|
||||
IV) Не допускается удаление настоящей лицензия из дистрибутива исходного
|
||||
кода программы Vim, его отдельных частей или изменённой версии.
|
||||
Допускается использование настоящей лицензию для предыдущих
|
||||
изменённых выпусков программы Vim, взамен тех лицензий, с которыми
|
||||
они распространялись.
|
||||
@@ -1,167 +0,0 @@
|
||||
README.txt per la versione 9.1 di Vim: VI Migliorato.
|
||||
|
||||
|
||||
COS'È VIM?
|
||||
|
||||
Vim è una versione migliorata del classico programma di videoscrittura UNIX
|
||||
Vi. Molte nuove funzionalità sono state aggiunte: la possibilità di avere
|
||||
multipli annullamenti di comando, l'evidenziazione sintattica, una storia dei
|
||||
comandi immessi, file di aiuto facilmente consultabili, controlli ortografici,
|
||||
completamento di nomi di file, operazioni su blocchi di dati, un linguaggio di
|
||||
script, etc. È anche disponibile una versione grafica (GUI). Tuttavia è
|
||||
possibile lavorare come se si stesse usando il Vi "classico". Chi avesse Vi
|
||||
"sulle dita" si troverà a suo agio. Vedere il file "runtime/doc/vi_diff.txt"
|
||||
[in inglese] per dettagli sulle differenze di Vim rispetto a Vi.
|
||||
|
||||
Questo editor è molto utile per modificare programmi e altri file di testo.
|
||||
Tutti i comandi sono immessi usando i tasti presenti sulla tastiera, in modo
|
||||
che chi è in grado di digitare usando tutte e dieci le dita può lavorare molto
|
||||
velocemente. Inoltre, i tasti funzione possono essere mappati per inserire
|
||||
comandi dell'utente, ed è possibile usare il mouse.
|
||||
|
||||
Vim è disponibile in ambiente MS-Windows (7, 8, 10, 11), macOS, Haiku, VMS e
|
||||
in quasi tutte le varianti di Unix. L'adattamento a nuovi sistemi operativi
|
||||
non dovrebbe essere molto difficile.
|
||||
Precedenti versioni di Vim funzionano in ambiente MS-DOS, MS-Windows
|
||||
95/98/Me/NT/2000/XP/Vista, Amiga DOS, Atari MiNT, BeOS, RISC OS e OS/2.
|
||||
Tali versioni non sono più supportate.
|
||||
|
||||
|
||||
DISTRIBUZIONE
|
||||
|
||||
Spesso è possibile usare il vostro Gestore applicazioni preferito per
|
||||
installare Vim. Negli ambienti Mac e Linux una versione base di Vim è inclusa
|
||||
nel sistema operativo, ma può ancora essere necessario installare Vim se si
|
||||
desiderano funzionalità ulteriori.
|
||||
|
||||
Ci sono distribuzioni separate di Vim per gli ambienti Unix, PC, Amiga e per
|
||||
qualche altro sistema operativo. Questo file README.txt è contenuto nelle
|
||||
directory che contengono i file usati da Vim in fase di esecuzione. Nelle
|
||||
stesse directory sono presente la documentazione, i file usati per
|
||||
l'evidenziazione sintattica e altri file usati da Vim in fase di esecuzione.
|
||||
Per installare Vim occorre ottenere un archivio che contiene solo i file
|
||||
eseguibili, o un archivio che permette di compilare Vim a partire dai file
|
||||
sorgente. Quale alternativa preferire dipende dal sistema su cui si vuole
|
||||
usare Vim, e dal preferire (o meno) di compilarlo direttamente a partire dai
|
||||
file sorgente. Consultate "https://www.vim.org/download.php" per una
|
||||
panoramica delle distribuzioni correntemente disponibili.
|
||||
|
||||
Alcuni siti da cui ottenere l'ultima versione di Vim:
|
||||
* Consultare la repository git in github: https://github.com/vim/vim.
|
||||
* Procurarsi il codice sorgente come archivio https://github.com/vim/vim/tags.
|
||||
* Ottenere un file per installare Vim in ambiente Windows dalla repository
|
||||
vim-win32-installer:
|
||||
https://github.com/vim/vim-win32-installer/releases.
|
||||
|
||||
|
||||
COMPILARE VIM
|
||||
|
||||
Se si è ottenuta una distribuzione di file eseguibili di Vim non è necessario
|
||||
compilarlo. Se si è ottenuta una distribuzione di file sorgente, tutto ciò
|
||||
che serve per compilare Vim è nella directory "src". Vedere src/INSTALL per
|
||||
come procedere.
|
||||
|
||||
|
||||
INSTALLAZIONE
|
||||
|
||||
Vedere uno dei file elencati più sotto per istruzioni riguardo a uno specifico
|
||||
sistema operativo. Tali file sono (nella repository git) nella directory
|
||||
READMEdir oppure nella directory principale se si scompatta un archivio:
|
||||
|
||||
README_ami.txt Amiga
|
||||
README_unix.txt Unix
|
||||
README_dos.txt MS-DOS e MS-Windows
|
||||
README_mac.txt Macintosh
|
||||
README_haiku.txt Haiku
|
||||
README_vms.txt VMS
|
||||
|
||||
Esistono altri file README_*.txt, a seconda della distribuzione in uso.
|
||||
|
||||
|
||||
DOCUMENTAZIONE
|
||||
|
||||
Esiste un corso di introduzione a Vim per principianti, della durata di circa
|
||||
un'ora. Normalmente si può accedervi tramite il comando "vimtutor". Vedere
|
||||
":help tutor" per ulteriori informazioni.
|
||||
|
||||
Ma la cosa migliore è usare la documentazione disponibile in una sessione di
|
||||
Vim, tramite il comando ":help". Se ancora non si ha a disposizione Vim, si
|
||||
può leggere il file "runtime/doc/help.txt". Questo file contiene puntatori
|
||||
agli altri file che costituiscono la documentazione.
|
||||
All'interno della documentazione esiste anche uno User Manual (manuale utente)
|
||||
che si legge come un libro ed è raccomandato per imparare a usare Vim.
|
||||
Vedere ":help user-manual". Il manuale utente è stato interamente tradotto in
|
||||
italiano, ed è disponibile, vedere:
|
||||
https://www.vim.org/translations.php
|
||||
|
||||
|
||||
COPIE
|
||||
|
||||
Vim è un Charityware (ossia eventuali offerte per il suo utilizzo vanno a
|
||||
un'attività caritativa). Vim può essere usato e copiato liberamente, senza
|
||||
limitazioni, ma è incoraggiata un'offerta a favore di orfani ugandesi. Si
|
||||
prega di leggere il file "runtime/doc/uganda.txt" per dettagli su come fare
|
||||
(il file si può visualizzare digitando ":help uganda" all'interno di Vim).
|
||||
|
||||
Sommario della licenza: Non ci sono restrizioni nell'uso e nella distribuzione
|
||||
di una copia non modificata di Vim. Parti di Vim possono anche essere
|
||||
distribuite, ma il testo della licenza va sempre incluso. Per versioni
|
||||
modificate di Vim, valgono alcune limitazioni. La licenza di Vim è
|
||||
compatibile con la licenza GPL, è possibile compilare Vim utilizzando librerie
|
||||
con licenza GPL e distribuirlo.
|
||||
|
||||
|
||||
SPONSORIZZAZIONI
|
||||
|
||||
Correggere errori e aggiungere nuove funzionalità richiede tempo e fatica.
|
||||
Per mostrare la vostra stima per quest'attività e per fornire motivazioni
|
||||
agli sviluppatori perché continuino a lavorare su Vim, siete invitati a
|
||||
fare una donazione.
|
||||
|
||||
Le somme donate saranno usate principalmente per aiutare dei bambini in
|
||||
Uganda. Vedere "runtime/doc/uganda.txt". Allo stesso tempo, le donazioni
|
||||
aumentano la motivazione del gruppo di sviluppo a continuare a lavorare su
|
||||
Vim!
|
||||
|
||||
Informazioni più aggiornate sulla sponsorizzazione, possono essere trovate
|
||||
sul sito Internet di Vim:
|
||||
https://www.vim.org/sponsor/
|
||||
|
||||
|
||||
CONTRIBUIRE
|
||||
|
||||
Chi vuole contribuire a rendere Vim ancora migliore, può consultare
|
||||
il file CONTRIBUTING.md (in inglese).
|
||||
|
||||
|
||||
INFORMAZIONE
|
||||
|
||||
Se il vostro sistema operativo è macOS, potete usare MacVim:
|
||||
https://macvim.org
|
||||
|
||||
Le ultime notizie riguardo a Vim si possono trovare sulla pagina Internet di
|
||||
Vim:
|
||||
https://www.vim.org/
|
||||
|
||||
Se avete problemi, è possibile consultare la documentazione Vim e i
|
||||
suggerimenti su come utilizzarlo:
|
||||
https://www.vim.org/docs.php
|
||||
https://vim.fandom.com/wiki/Vim_Tips_Wiki
|
||||
|
||||
Se avete ancora problemi o qualsiasi altra richiesta, è possibile usare una
|
||||
delle mailing list per discuterne con utenti e sviluppatori di Vim:
|
||||
https://www.vim.org/maillist.php
|
||||
|
||||
Se nient'altro funziona, potete riferire direttamente i problemi incontrati
|
||||
alla mailing list degli sviluppatori, vim-dev:
|
||||
<vim-dev@vim.org>
|
||||
|
||||
|
||||
AUTORE PRINCIPALE
|
||||
|
||||
La maggior parte di Vim è stata creata da Bram Moolenaar <Bram@vim.org>,
|
||||
vedere ":help Bram-Moolenaar"
|
||||
|
||||
Spedire tutti gli altri commenti, modifiche al codice sorgente, fiori e
|
||||
suggerimenti alla mailing list vim-dev:
|
||||
<vim-dev@vim.org>
|
||||
@@ -1,131 +0,0 @@
|
||||
README.txt para a versão 9.1 do Vim: Vi IMproved.
|
||||
|
||||
O QUE É VIM?
|
||||
|
||||
Vim é uma versão muito melhorada do bom e velho editor UNIX Vi. Muitos novos
|
||||
recursos foram adicionados: desfazer multinível, destaque de sintaxe, histórico
|
||||
de linha de comando, ajuda on-line, verificação ortográfica, completar
|
||||
nome de arquivo, operações de bloco, linguagem de script, etc. Há também uma
|
||||
interface gráfica (GUI) disponível. Ainda assim, a compatibilidade com Vi é
|
||||
mantida, aqueles que têm Vi "nos dedos" se sentirão em casa.
|
||||
Veja "runtime/doc/vi_diff.txt" para diferenças com Vi.
|
||||
|
||||
Este editor é muito útil para editar programas e outros arquivos de texto
|
||||
simples. Todos os comandos são fornecidos com caracteres normais do teclado,
|
||||
então aqueles que podem digitar com dez dedos podem trabalhar muito rápido.
|
||||
Além disso, as teclas de função podem ser mapeadas para comandos pelo usuário,
|
||||
e o mouse pode ser usado.
|
||||
|
||||
O Vim funciona em MS-Windows (7, 8, 10, 11), macOS, Haiku, VMS e quase todos
|
||||
os sabores do UNIX. A portabilidade para outros sistemas não deve ser difícil.
|
||||
Versões mais antigas do Vim rodam em MS-DOS, MS-Windows 95/98/Me/NT/2000/XP/Vista,
|
||||
Amiga DOS, Atari MiNT, BeOS, RISC OS e OS/2. Eles não são mais mantidos.
|
||||
|
||||
DISTRIBUIÇÃO
|
||||
|
||||
Você pode frequentemente usar seu gerenciador de pacotes favorito para
|
||||
instalar o Vim. No Mac e Linux, uma pequena versão do Vim é pré-instalada,
|
||||
você ainda precisa instalar o Vim se quiser mais recursos.
|
||||
|
||||
Existem distribuições separadas para Unix, PC, Amiga e alguns outros sistemas.
|
||||
Este arquivo README.txt vem com o arquivo de tempo de execução. Ele inclui a
|
||||
documentação, arquivos de sintaxe e outros arquivos que são usados em
|
||||
tempo de execução. Para executar o Vim, você deve obter um dos arquivos
|
||||
binários ou um arquivo fonte. Qual deles você precisa depende do sistema em
|
||||
que deseja executá-lo e se você deseja ou deve compilá-lo você mesmo.
|
||||
Verifique "https://www.vim.org/download.php" para uma visão geral das
|
||||
distribuições disponíveis atualmente.
|
||||
|
||||
Alguns lugares populares para obter o Vim mais recente:
|
||||
* Confira o repositório git do github: https://github.com/vim/vim.
|
||||
* Obtenha o código-fonte como um arquivo: https://github.com/vim/vim/tags.
|
||||
* Obtenha um executável do Windows do repositório vim-win32-installer:
|
||||
https://github.com/vim/vim-win32-installer/releases.
|
||||
|
||||
COMPILAR
|
||||
|
||||
Se você obteve uma distribuição binária, não precisa compilar o Vim. Se você
|
||||
obteve uma distribuição de origem, todo o material para compilar o Vim está no
|
||||
diretório "src". Veja src/INSTALL para instruções.
|
||||
|
||||
INSTALAÇÃO
|
||||
|
||||
Veja um desses arquivos para instruções específicas do sistema. No diretório
|
||||
READMEdir (no repositório) ou no diretório superior (se você descompactar um
|
||||
arquivo):
|
||||
|
||||
README_ami.txt Amiga
|
||||
README_unix.txt Unix
|
||||
README_dos.txt MS-DOS e MS-Windows
|
||||
README_mac.txt Macintosh
|
||||
README_haiku.txt Haiku
|
||||
README_vms.txt VMS
|
||||
|
||||
Existem outros arquivos README_*.txt, dependendo da distribuição que você usou.
|
||||
|
||||
DOCUMENTAÇÃO
|
||||
|
||||
O tutor do Vim é um curso de treinamento de uma hora para iniciantes.
|
||||
Frequentemente, ele pode ser iniciado como "vimtutor". Veja ":help tutor"
|
||||
para mais informações.
|
||||
|
||||
O melhor é usar ":help" no Vim. Se você ainda não tem um executável, leia
|
||||
"runtime/doc/help.txt". Ele contém direcionamentos para os outros arquivos
|
||||
de documentação. O Manual do Usuário é lido como um livro e é recomendado
|
||||
para aprender a usar o Vim. Veja ":help user-manual".
|
||||
|
||||
CÓPIA
|
||||
|
||||
O Vim é um Charityware. Você pode usá-lo e copiá-lo o quanto quiser, mas
|
||||
encorajamos que faça uma doação para ajudar órfãos em Uganda. Leia o arquivo
|
||||
"runtime/doc/uganda.txt" para detalhes (execute ":help uganda" dentro do Vim).
|
||||
|
||||
Resumo da licença: Não há restrições quanto ao uso ou distribuição de uma
|
||||
cópia não modificada do Vim. Partes do Vim também podem ser distribuídas, mas
|
||||
o texto da licença deve sempre ser incluído. Para versões modificadas, algumas
|
||||
restrições se aplicam. A licença é compatível com GPL, você pode compilar o Vim
|
||||
com bibliotecas GPL e distribuí-lo.
|
||||
|
||||
PATROCÍNIO
|
||||
|
||||
Corrigir bugs e adicionar novos recursos exige muito tempo e esforço.
|
||||
Para mostrar seu apreço pelo trabalho e motivar os desenvolvedores a continuar
|
||||
trabalhando no Vim, envie uma doação.
|
||||
|
||||
O dinheiro que você doou será usado principalmente para ajudar crianças em
|
||||
Uganda. Veja "runtime/doc/uganda.txt". Mas, ao mesmo tempo, as doações aumentam
|
||||
a motivação da equipe de desenvolvimento para continuar trabalhando no Vim!
|
||||
|
||||
Para as informações mais recentes sobre patrocínio, consulte o site do Vim:
|
||||
https://www.vim.org/sponsor/
|
||||
|
||||
CONTRIBUIÇÕES
|
||||
|
||||
Se você gostaria de ajudar a tornar o Vim melhor, veja o arquivo CONTRIBUTING.md.
|
||||
|
||||
INFORMAÇÕES
|
||||
|
||||
Se você estiver no macOS, pode usar o MacVim: https://macvim.org
|
||||
|
||||
As últimas notícias sobre o Vim podem ser encontradas na página inicial do Vim:
|
||||
https://www.vim.org/
|
||||
|
||||
Se você tiver problemas, dê uma olhada na documentação ou dicas do Vim:
|
||||
https://www.vim.org/docs.php
|
||||
https://vim.fandom.com/wiki/Vim_Tips_Wiki
|
||||
|
||||
Se você ainda tiver problemas ou quaisquer outras perguntas, use uma das listas
|
||||
de discussão para discuti-las com usuários e desenvolvedores do Vim:
|
||||
https://www.vim.org/maillist.php
|
||||
|
||||
Se nada mais funcionar, relate os bugs diretamente para a lista de discussão
|
||||
vim-dev:
|
||||
<vim-dev@vim.org>
|
||||
|
||||
AUTOR PRINCIPAL
|
||||
|
||||
A maior parte do Vim foi criada por Bram Moolenaar <Bram@vim.org>,
|
||||
":help Bram-Moolenaar"
|
||||
|
||||
Envie quaisquer outros comentários, patches, flores e sugestões para
|
||||
a lista de discussão vim-dev: <vim-dev@vim.org>
|
||||
@@ -1,166 +0,0 @@
|
||||
README.ru.txt для версии 9.1 программы Vim — Vi IMproved.
|
||||
|
||||
|
||||
ЧТО ТАКОЕ РЕДАКТОР VIM?
|
||||
|
||||
Программа Vim — это значительно улучшенная версия старого доброго редактора Vi
|
||||
из системы UNIX. При разработке этого редактора было добавлено множество новых
|
||||
возможностей: многоуровневая отмена изменений, подсветка синтаксиса, журнал
|
||||
командной строки, интерактивная справка, проверка орфографии, подстановка
|
||||
наименований файлов и команд, операции с произвольными блоками текста,
|
||||
встроенный язык программирования и т. д. Также доступен графический интерфейс
|
||||
пользователя (GUI). И при этом сохраняется совместимость с редактором Vi,
|
||||
и те, у кого Vi «в крови», будут чувствовать себя как дома. Подробности о
|
||||
различиях с редактором Vi см. в файле "runtime/doc/vi_diff.txt".
|
||||
|
||||
Этот редактор очень удобен для работы с исходным кодом программ, а также
|
||||
разного рода других текстовых файлов. Все команды вводятся набором обычных
|
||||
символов клавиатуры, поэтому те, кто освоил десятипальцевый метод печати, могут
|
||||
работать очень быстро. Кроме того, пользователи могут назначить на
|
||||
функциональные клавиши клавиатуры необходимые команды, и использовать
|
||||
манипулятор «мышь».
|
||||
|
||||
В редакторе Vim также обеспечивается (насколько это возможно) совместимость
|
||||
с POSIX-реализацией редактора vi, если он скомпилирован с минимальным набором
|
||||
функционала (обычно называемый vim.tiny). Данная сборка чаще всего используется
|
||||
во многих дистрибутивах Linux в качестве предустановленного редактора vi.
|
||||
|
||||
Редактор Vim работает в ОС MS Windows (7, 8, 10, 11), macOS, Haiku, VMS и
|
||||
практически во всех UNIX-подобных системах. А перенос на другие платформы не
|
||||
должен представлять особой сложности.
|
||||
Предыдущие версии редактора Vim работают в операционных системах OS/2, MS-DOS,
|
||||
MS Windows 95/98/Me/NT/2000/XP/Vista, AmigaDOS, Atari MiNT, BeOS и RISC OS.
|
||||
Но поддержка этих версий больше не осуществляется.
|
||||
|
||||
|
||||
ПРЕДОСТАВЛЕНИЕ РЕДАКТОРА Vim
|
||||
|
||||
Для установки редактора Vim можно воспользоваться привычным диспетчером пакетов.
|
||||
В системах Mac и Linux уже предустановленна начальная версия программы Vim,
|
||||
но вам все равно нужно установить редактор Vim, если вы хотите получить больше
|
||||
возможностей.
|
||||
|
||||
Существуют отдельные версии для Unix, PC, Amiga и некоторых других систем.
|
||||
Данный файл README.ru.txt поставляется вместе с архивом рабочих файлов
|
||||
программы. Этот архив включает в себя документацию, файлы подсветки синтаксиса
|
||||
и другие файлы, которые используются редактором во время работы. Чтобы
|
||||
запустить программу Vim, вы должны получить либо архив с исполняемыми файлами,
|
||||
либо архив с исходным кодом. Какой из них вам нужен, зависит от того, на какой
|
||||
системе вы хотите запустить редактор Vim, и есть ли для этой системы
|
||||
исполняемые файлы или вы должны компилировать программу самостоятельно.
|
||||
Чтобы узнать о доступных в настоящее время пакетах программы, посмотрите на
|
||||
веб‐странице https://www.vim.org/download.php.
|
||||
|
||||
Несколько полезных мест, где можно получить последнюю версию редактора Vim:
|
||||
* Посмотрите в git-хранилище на GitHub: https://github.com/vim/vim.
|
||||
* Получить исходный код в виде архива: https://github.com/vim/vim/tags.
|
||||
* Получить исполняемый файл для ОС Windows из хранилища vim-win32-installer:
|
||||
https://github.com/vim/vim-win32-installer/releases.
|
||||
|
||||
|
||||
КОМПИЛЯЦИЯ РЕДАКТОРА Vim
|
||||
|
||||
Если для вашей системы уже есть готовые исполняемые файлы, вам не нужно самому
|
||||
компилировать редактор Vim. Если вы скачали архив с исходным кодом, то всё
|
||||
необходимое для компиляции программы Vim находится в каталоге "src".
|
||||
Инструкции смотрите в файле src/INSTALL.
|
||||
|
||||
|
||||
УСТАНОВКА ПРОГРАММЫ Vim
|
||||
|
||||
Инструкции для конкретной системы смотрите в одном из нижеуказанных файлов.
|
||||
Или в каталоге READMEdir (на https://github.com/vim/vim), или в основном
|
||||
каталоге (если вы распаковываете архив):
|
||||
|
||||
README_ami.txt Amiga
|
||||
README_unix.txt Unix
|
||||
README_dos.txt MS-DOS и MS Windows
|
||||
README_mac.txt Macintosh
|
||||
README_haiku.txt Haiku
|
||||
README_vms.txt VMS
|
||||
|
||||
Существует ещё несколько файлов README_*.txt, в зависимости от предоставляемого
|
||||
пакета.
|
||||
|
||||
|
||||
ДОКУМЕНТАЦИЯ ПО РЕДАКТОРУ Vim
|
||||
|
||||
Учебник Vim — это часовой практический курс для начинающих. Как правило, для
|
||||
работы с ним нужно набрать команду "vimtutor". Чтобы получить дополнительную
|
||||
информацию, смотрите раздел документации ":help tutor".
|
||||
|
||||
Лучше всего воспользоваться командой ":help" в редакторе Vim. Если у вас ещё
|
||||
нет исполняемого файла программы, прочитайте файл "runtime/doc/help.txt".
|
||||
В нём содержатся отсылки на другие полезные файлы документации. Руководство
|
||||
пользователя можно читать как книгу, и оно рекомендуется для обучения работе
|
||||
с редактором Vim. Смотрите ":help user-manual".
|
||||
|
||||
|
||||
ЛИЦЕНЗИОННЫЕ ПРАВА
|
||||
|
||||
Редактор Vim является благотворительным программным обеспечением.
|
||||
Использование и копирование программы Vim не ограничено, однако рекомендуется
|
||||
сделать добровольное пожертвование для нуждающихся детей в Уганде. Чтобы узнать
|
||||
подробности, прочитайте, пожалуйста, файл "runtime/doc/uganda.txt" (введите
|
||||
команду ":help uganda" в редакторе Vim).
|
||||
|
||||
Краткое описание лицензии.
|
||||
Нет никаких ограничений на использование или распространение немодифицированной
|
||||
копии программы Vim. Части программы Vim также могут предоставляться отдельно,
|
||||
но текст лицензии Vim всегда должен быть включён в поставку.
|
||||
Для модифицированных версий программы действует несколько ограничений.
|
||||
Лицензия Vim совместима с лицензией GNU GPL, вы можете компилировать
|
||||
и распространять программу Vim с библиотеками, лицензированными под GNU GPL.
|
||||
|
||||
|
||||
ФИНАНСОВАЯ ПОДДЕРЖКА ДЛЯ РАЗРАБОТКИ РЕДАКТОРА Vim
|
||||
|
||||
Устранение ошибок и добавление новых функциональных возможностей требует
|
||||
вложения немалого количества времени и сил. Выразить признательность за труд
|
||||
и подкрепить заинтересованность разработчиков программы в дальнейшей работе
|
||||
над редактором Vim можно с помощью оказания финансовой поддержки.
|
||||
|
||||
Пожертвованные вами деньги будут в основном направлены на оказание помощи детям
|
||||
Уганды, см. "runtime/doc/uganda.txt". Однако в любом случае финансирование
|
||||
будет способствовать повышению заинтересованности команды разработчиков
|
||||
в продолжении работы над редактором Vim!
|
||||
|
||||
Самая свежая информация об оказании финансовой поддержки публикуется на
|
||||
веб-сайте программы Vim:
|
||||
https://www.vim.org/sponsor/
|
||||
|
||||
|
||||
ПОМОЩЬ В РАЗРАБОТКЕ РЕДАКТОРА Vim
|
||||
|
||||
Если вы хотите помочь сделать редактор Vim лучше, смотрите файл CONTRIBUTING.md.
|
||||
|
||||
|
||||
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ
|
||||
|
||||
Для системе macOS вы може использовать MacVim: https://macvim.org
|
||||
|
||||
Последние новости о редакторе Vim можно найти на его домашней странице:
|
||||
https://www.vim.org/
|
||||
|
||||
Если у вас возникли вопросы, посмотрите полезные советы или документацию по
|
||||
редактору Vim:
|
||||
https://www.vim.org/docs.php
|
||||
https://vim.fandom.com/wiki/Vim_Tips_Wiki
|
||||
|
||||
Если у вас все ещё остались вопросы или есть сложности, воспользуйтесь одним
|
||||
из списков рассылки, чтобы обсудить их с пользователями и разработчиками:
|
||||
https://www.vim.org/maillist.php
|
||||
|
||||
Если ничего не помогает, сообщайте об ошибках непосредственно в список рассылки
|
||||
vim-dev:
|
||||
<vim-dev@vim.org>
|
||||
|
||||
|
||||
ОСНОВНОЙ АВТОР ПРОГРАММЫ
|
||||
|
||||
Большая часть редактора Vim была создана Брамом Моленаром <Bram@vim.org>,
|
||||
см. ":help Bram-Moolenaar"
|
||||
|
||||
Присылайте все прочие комментарии, исправления, цветы и предложения в список
|
||||
рассылки vim-dev:
|
||||
<vim-dev@vim.org>
|
||||
@@ -1,138 +0,0 @@
|
||||
#
|
||||
# Makefile for MS Windows for create self-installing exe of Vim.
|
||||
# 05/04/2024, Restorer restorer@mail2k.ru
|
||||
#
|
||||
|
||||
|
||||
#!INCLUDE .\Make_all.mak
|
||||
|
||||
.SUFFIXES :
|
||||
|
||||
!IFDEF PROGRAMW6432
|
||||
ProgFiles=%%PROGRAMFILES(x86)%%
|
||||
!ELSE
|
||||
ProgFiles=$(PROGRAMFILES)
|
||||
!ENDIF
|
||||
|
||||
!IFDEF VIMSRC
|
||||
MKNSISFLAGS = /D"VIMSRC=$(VIMSRC)"
|
||||
!ENDIF
|
||||
|
||||
!IFDEF VIMRT
|
||||
MKNSISFLAGS = $(MKNSISFLAGS) /D"VIMRT=$(VIMRT)"
|
||||
!ENDIF
|
||||
|
||||
!IFDEF VIMTOOLS
|
||||
MKNSISFLAGS = $(MKNSISFLAGS) /D"VIMTOOLS=$(VIMTOOLS)"
|
||||
!ENDIF
|
||||
|
||||
!IFDEF GETTEXT
|
||||
MKNSISFLAGS = $(MKNSISFLAGS) /D"GETTEXT=$(GETTEXT)"
|
||||
!ENDIF
|
||||
|
||||
!IFDEF HAVE_UPX
|
||||
MKNSISFLAGS = $(MKNSISFLAGS) /DHAVE_UPX=$(HAVE_UPX)
|
||||
!ENDIF
|
||||
|
||||
!IFDEF HAVE_NLS
|
||||
MKNSISFLAGS = $(MKNSISFLAGS) /DHAVE_NLS=$(HAVE_NLS)
|
||||
!ENDIF
|
||||
|
||||
!IFDEF HAVE_MULTI_LANG
|
||||
MKNSISFLAGS = $(MKNSISFLAGS) /DHAVE_MULTI_LANG=$(HAVE_MULTI_LANG)
|
||||
!ENDIF
|
||||
|
||||
!IFDEF WIN64
|
||||
MKNSISFLAGS = $(MKNSISFLAGS) /DWIN64=$(WIN64)
|
||||
!ENDIF
|
||||
|
||||
!IFDEF ARM64
|
||||
MKNSISFLAGS = $(MKNSISFLAGS) /DARM64=$(ARM64)
|
||||
!ENDIF
|
||||
|
||||
!IFDEF INCLUDE_LIBGCC
|
||||
MKNSISFLAGS = $(MKNSISFLAGS) /DINCLUDE_LIBGCC=$(INCLUDE_LIBGCC)
|
||||
!ENDIF
|
||||
|
||||
!IFDEF X
|
||||
XX = /X"$(X:;=" /X")"
|
||||
!ENDIF
|
||||
|
||||
# If necessary, correct the full path of the NSIS compiler in the next line.
|
||||
# Please do not enclose the path in quotation marks.
|
||||
MKNSIS = $(ProgFiles)\NSIS
|
||||
|
||||
PS = powershell.exe
|
||||
RM = del /f /q
|
||||
RD = rmdir /s /q
|
||||
|
||||
MKNSISFLAGS = /INPUTCHARSET UTF8 $(MKNSISFLAGS)
|
||||
PSFLAGS = -NoLogo -NoProfile -Command
|
||||
|
||||
# Read MAJOR and MINOR from version.h.
|
||||
!IF ![for /F "tokens=2,3" %G in ( \
|
||||
'findstr /rc:"VIM_VERSION_MINOR[ ^]*[0-9^]" \
|
||||
/rc:"VIM_VERSION_MAJOR[ ^]*[0-9^]" ..\src\version.h') do \
|
||||
@if "VIM_VERSION_MAJOR"=="%G" (echo MAJOR=%H>>_ver.tmp) \
|
||||
else echo MINOR=%H>>_ver.tmp]
|
||||
! INCLUDE .\_ver.tmp
|
||||
! IF [$(RM) .\_ver.tmp]
|
||||
! ENDIF
|
||||
!ENDIF
|
||||
|
||||
# Read PATCHLEVEL from version.c
|
||||
!IF ![for /F %G in ( \
|
||||
'findstr /nblc:"static int included_patches[^]" ..\src\version.c \
|
||||
^| (set /p "_t=" ^& set /a _t+=2 ^)') do \
|
||||
@cmd /q /c "for /F "skip=%G delims=, " %H in (..\src\version.c) do \
|
||||
(echo PATCH=%H>_patchlvl.tmp & exit /b)"]
|
||||
! INCLUDE .\_patchlvl.tmp
|
||||
! IF [$(RM) .\_patchlvl.tmp]
|
||||
! ENDIF
|
||||
!ENDIF
|
||||
!IF $(PATCH) < 10
|
||||
PATCH = 000$(PATCH)
|
||||
!ELSEIF $(PATCH) < 100
|
||||
PATCH = 00$(PATCH)
|
||||
!ELSEIF $(PATCH) < 1000
|
||||
PATCH = 0$(PATCH)
|
||||
!ENDIF
|
||||
|
||||
|
||||
all : makeinst
|
||||
|
||||
makeinst : prepare
|
||||
^"$(MKNSIS)\makensis.exe" $(MKNSISFLAGS) gvim.nsi $(XX)
|
||||
|
||||
prepare : unzipicons gvim_version.nsh license rename
|
||||
|
||||
unzipicons : icons.zip
|
||||
@ if exist %|fF\nul $(RD) %|fF
|
||||
@ $(PS) $(PSFLAGS) \
|
||||
Add-Type -AssemblyName 'System.IO.Compression.FileSystem'; \
|
||||
[System.IO.Compression.ZipFile]::ExtractToDirectory(\"$**\", \".\")
|
||||
|
||||
gvim_version.nsh : Make_mvc.mak
|
||||
@ 1> $@ echo:^# Generated from Makefile: define the version numbers
|
||||
@ 1>> $@ echo:^!ifndef __GVIM_VER__NSH__
|
||||
@ 1>> $@ echo:^!define __GVIM_VER__NSH__
|
||||
@ 1>> $@ echo:^!define VER_MAJOR $(MAJOR)
|
||||
@ 1>> $@ echo:^!define VER_MINOR $(MINOR)
|
||||
@ 1>> $@ echo:^!define PATCHLEVEL $(PATCH)
|
||||
@ 1>> $@ echo:^!endif
|
||||
|
||||
license : ..\lang\LICENSE.*.txt ..\LICENSE
|
||||
!@ $(PS) $(PSFLAGS) \
|
||||
Get-Content -Path '$**' -Encoding UTF8 ^| \
|
||||
Set-Content -Path '..\lang\$(**B).nsis.txt' -Enc Unicode -Force
|
||||
|
||||
rename :
|
||||
@ ..\tools\rename.bat "$(SRC)" "$(DST)" 1> nul
|
||||
|
||||
clean :
|
||||
@ if exist .\gvim_version.nsh $(RM) .\gvim_version.nsh
|
||||
@ if exist ..\lang\LICENSE*.nsis.txt $(RM) ..\lang\LICENSE*.nsis.txt
|
||||
@ if exist .\icons\nul $(RD) .\icons
|
||||
@ if exist .\gvim??.exe $(RM) .\gvim??.exe
|
||||
|
||||
# vim: set noet sw=8 ts=8 sts=0 wm=0 tw=0 ft=make:
|
||||
@@ -1,99 +0,0 @@
|
||||
#
|
||||
# Makefile for UNIX-like for create self-installing exe of Vim.
|
||||
# 15/12/2024, Restorer restorer@mail2k.ru
|
||||
#
|
||||
|
||||
|
||||
.SUFFIXES:
|
||||
.PHONY: all makeinst prepare rename clean
|
||||
|
||||
ifdef VIMSRC
|
||||
MKNSISFLAGS := -D"VIMSRC=$(VIMSRC)"
|
||||
endif
|
||||
|
||||
ifdef VIMRT
|
||||
MKNSISFLAGS := $(MKNSISFLAGS) -D"VIMRT=$(VIMRT)"
|
||||
endif
|
||||
|
||||
ifdef VIMTOOLS
|
||||
MKNSISFLAGS := $(MKNSISFLAGS) -D"VIMTOOLS=$(VIMTOOLS)"
|
||||
endif
|
||||
|
||||
ifdef GETTEXT
|
||||
MKNSISFLAGS := $(MKNSISFLAGS) -D"GETTEXT=$(GETTEXT)"
|
||||
endif
|
||||
|
||||
ifdef HAVE_UPX
|
||||
MKNSISFLAGS := $(MKNSISFLAGS) -DHAVE_UPX=$(HAVE_UPX)
|
||||
endif
|
||||
|
||||
ifdef HAVE_NLS
|
||||
MKNSISFLAGS := $(MKNSISFLAGS) -DHAVE_NLS=$(HAVE_NLS)
|
||||
endif
|
||||
|
||||
ifdef HAVE_MULTI_LANG
|
||||
MKNSISFLAGS := $(MKNSISFLAGS) -DHAVE_MULTI_LANG=$(HAVE_MULTI_LANG)
|
||||
endif
|
||||
|
||||
ifdef WIN64
|
||||
MKNSISFLAGS := $(MKNSISFLAGS) -DWIN64=$(WIN64)
|
||||
endif
|
||||
|
||||
ifdef ARM64
|
||||
MKNSISFLAGS := $(MKNSISFLAGS) -DARM64=$(ARM64)
|
||||
endif
|
||||
|
||||
ifdef INCLUDE_LIBGCC
|
||||
MKNSISFLAGS := $(MKNSISFLAGS) -DINCLUDE_LIBGCC=$(INCLUDE_LIBGCC)
|
||||
endif
|
||||
|
||||
ifdef X
|
||||
XX := -X"$(X:;=" -X")"
|
||||
endif
|
||||
|
||||
MAJOR != grep -E 'VIM_VERSION_MAJOR\s{2,}' ../src/version.h | \
|
||||
awk '{ printf "%d",$$3 }'
|
||||
MINOR != grep -E 'VIM_VERSION_MINOR\s{2,}' ../src/version.h | \
|
||||
awk '{ printf "%d",$$3 }'
|
||||
PATCH != awk '/number below this line/,/,/' ../src/version.c | \
|
||||
awk 'NR == 3 { printf "%04d",$$1 }' | sed -e 's/[ ,]//g'
|
||||
|
||||
MKNSISFLAGS := -INPUTCHARSET UTF8 $(MKNSISFLAGS)
|
||||
|
||||
all: makeinst
|
||||
|
||||
makeinst: prepare
|
||||
makensis $(MKNSISFLAGS) gvim.nsi $(XX)
|
||||
|
||||
prepare: unzipicons gvim_version.nsh license rename
|
||||
|
||||
unzipicons: icons.zip
|
||||
if test -d `basename $? .zip` ; then rm -rf `basename $? .zip` ; fi
|
||||
unzip $?
|
||||
|
||||
gvim_version.nsh: Makefile
|
||||
echo "# Generated from Makefile: define the version numbers" > $@
|
||||
echo "!ifndef __GVIM_VER__NSH__" >> $@
|
||||
echo "!define __GVIM_VER__NSH__" >> $@
|
||||
echo "!define VER_MAJOR $(MAJOR)" >> $@
|
||||
echo "!define VER_MINOR $(MINOR)" >> $@
|
||||
echo "!define PATCHLEVEL $(PATCH)" >> $@
|
||||
echo "!endif" >> $@
|
||||
|
||||
license: ../lang/LICENSE.*.txt ../LICENSE
|
||||
for lic in $? ; do \
|
||||
bn=`basename $$lic .txt` ; \
|
||||
awk 'sub("$$", "\r")' < $$lic | \
|
||||
iconv -f UTF-8 -t UTF-16 > ../lang/$$bn.nsis.txt ; \
|
||||
done
|
||||
|
||||
rename:
|
||||
../tools/rename.bat "$(SRC)" "$(DST)"
|
||||
|
||||
clean:
|
||||
if test -f gvim_version.nsh ; then rm -f gvim_version.nsh ; fi
|
||||
rm -f ../lang/LICENSE*.nsis.txt
|
||||
if test -d icons ; then rm -rf icons ; fi
|
||||
if test -f gvim??.exe ; then rm -f gvim??.exe ; fi
|
||||
|
||||
# vim: set noet sw=8 ts=8 sts=0 wm=0 tw=0 ft=make:
|
||||
+38
-71
@@ -1,17 +1,25 @@
|
||||
This builds a one-click install for Vim for MS Windows using the Nullsoft
|
||||
This builds a one-click install for Vim for Win32 using the Nullsoft
|
||||
Installation System (NSIS), available at http://nsis.sourceforge.net/
|
||||
|
||||
To build the installable .exe file:
|
||||
To build the installable .exe:
|
||||
|
||||
Preparatory stage
|
||||
1. Unpack three archives:
|
||||
PC sources
|
||||
PC runtime
|
||||
PC language files
|
||||
You can generate these from the Unix sources and runtime plus the extra
|
||||
archive (see the Makefile in the top directory).
|
||||
|
||||
1. Clone using the git tool the Vim repository or download its zip file
|
||||
available at:
|
||||
https://github.com/vim/vim
|
||||
2. Go to the src directory and build:
|
||||
gvim.exe (the OLE version),
|
||||
vimrun.exe,
|
||||
install.exe,
|
||||
uninstall.exe,
|
||||
tee/tee.exe,
|
||||
xxd/xxd.exe,
|
||||
|
||||
2. Go to the "/src" directory and build the Vim editor, making sure to use the
|
||||
following variable values: "GUI=yes"; "OLE=yes"; "VIMDLL=yes". See
|
||||
INSTALLpc.txt and Make_mvc.mak for details.
|
||||
Then execute tools/rename.bat to rename the executables. (mv command is
|
||||
required.)
|
||||
|
||||
3. Go to the GvimExt directory and build gvimext.dll (or get it from a binary
|
||||
archive). Both 64- and 32-bit versions are needed and should be placed
|
||||
@@ -20,30 +28,17 @@ Preparatory stage
|
||||
32-bit: src/GvimExt/gvimext.dll
|
||||
|
||||
4. Get a "diff.exe" program. If you skip this the built-in diff will always
|
||||
be used (which is fine for most users).
|
||||
be used (which is fine for most users). If you do have your own
|
||||
"diff.exe" put it in the "../.." directory (above the "vim90" directory,
|
||||
it's the same for all Vim versions).
|
||||
You can find one in previous Vim versions or in this archive:
|
||||
https://www.mediafire.com/file/9edk4g3xvfgzby0/diff4Vim.zip/file
|
||||
When will you have "diff.exe" put it in the "../.." directory (above the
|
||||
"vim91" directory, it's the same for all Vim versions). However, you can
|
||||
specify a different directory by specifying the appropriate makefile value.
|
||||
How to do this is described below.
|
||||
http://www.mossbayeng.com/~ron/vim/diffutils.tar.gz
|
||||
|
||||
5. For the terminal window to work in Vim, the library winpty is required.
|
||||
You can get it at the following url:
|
||||
https://github.com/rprichard/winpty/releases/download/0.4.3/winpty-0.4.3-msvc2015.zip
|
||||
For the 32-bit version, rename "winpty.dll" from ia32/bin to "winpty32.dll",
|
||||
and for the 64-bit version — "winpty.dll" from x64/bin to "winpty64.dll".
|
||||
Put the renamed file and "winpty-agent.exe" in "../.." (above the "vim91"
|
||||
directory). However, you can specify a different directory by specifying
|
||||
the appropriate makefile value. How to do this is described below.
|
||||
5 Also put winpty32.dll and winpty-agent.exe in "../.." (above the "vim90"
|
||||
directory). This is required for the terminal window.
|
||||
|
||||
6. To use stronger encryption, add the Sodium library. You can get it here:
|
||||
https://github.com/jedisct1/libsodium/releases/download/1.0.19-RELEASE/libsodium-1.0.19-msvc.zip
|
||||
Unpack the archive. Put the "libsodium.dll" from
|
||||
path/to/libsodium/Win32/Release/v143/dynamic for the 32‐bit version or
|
||||
path/to/libsodium/X64/Release/v143/dynamic for the 64‐bit version in the
|
||||
"../.." directory (above the "vim91" directory, where "diff.exe" and
|
||||
"winpty{32|64}.dll").
|
||||
6. Do "make uganda.nsis.txt" in runtime/doc. This requires sed, you may have
|
||||
to do this on Unix. Make sure the file is in DOS file format!
|
||||
|
||||
7. Get gettext and iconv DLLs from the following site:
|
||||
https://github.com/mlocati/gettext-iconv-windows/releases
|
||||
@@ -58,53 +53,25 @@ Preparatory stage
|
||||
| libiconv-2.dll
|
||||
| libgcc_s_sjlj-1.dll
|
||||
|
|
||||
+ gettext64/
|
||||
` gettext64/
|
||||
libintl-8.dll
|
||||
libiconv-2.dll
|
||||
|
||||
The default <GETTEXT directory> is "../..". However, you can specify a
|
||||
different directory by specifying the appropriate makefile value. How to do
|
||||
this is described below.
|
||||
The default <GETTEXT directory> is "..", however, you can change it by
|
||||
passing /DGETTEXT=... option to the makensis command.
|
||||
|
||||
8. Install NSIS if you didn't do that already.
|
||||
Download Unicode version the ShellExecAsUser plug-in for NSIS from:
|
||||
https://nsis.sourceforge.io/ShellExecAsUser_plug-in
|
||||
and put "ShellExecAsUser.dll" to path\to\NSIS\Plugins\x86-unicode
|
||||
|
||||
Installer assembly stage
|
||||
Install NSIS if you didn't do that already.
|
||||
Also install UPX, if you want a compressed file.
|
||||
Download and include the ShellExecAsUser.dll Unicode version which can be
|
||||
sourced from: https://nsis.sourceforge.io/ShellExecAsUser_plug-in
|
||||
|
||||
On MS Windows, open the Developer Command Prompt for VS and go to the
|
||||
"/nsis" directory and type the command
|
||||
nmake.exe -lf Make_mvc.mak [variables] all
|
||||
|
||||
After the installer is created and you copy it to the desired location, run
|
||||
the following command in the "/nsis" directory
|
||||
nmake.exe -lf Make_mvc.mak clean
|
||||
|
||||
On UNIX-like systems, go to the "/nsis" directory and type the command
|
||||
make -f Makefile [variables] all
|
||||
Unpack the images:
|
||||
cd nsis
|
||||
unzip icons.zip
|
||||
|
||||
After the installer is created and you copy it to the desired location, run
|
||||
the following command in the "/nsis" directory
|
||||
make -f Makefile clean
|
||||
Then build gvim.exe:
|
||||
|
||||
Variables and their values available for building the installer (not mandatory):
|
||||
|
||||
"VIMSRC=<dir>" — directory where location of gvim_ole.exe, vimw32.exe,
|
||||
GvimExt/*, etc.
|
||||
"VIMRT=<dir>" — directory where location of runtime files.
|
||||
"VIMTOOLS=<dir>" — directory where location of extra tools: diff.exe,
|
||||
winpty{32|64}.dll, winpty-agent.exe, libsodium.dll.
|
||||
"GETTEXT=<dir>" — directory where location of gettext libraries.
|
||||
"HAVE_UPX=1" — additional compression of the installer. UPX program
|
||||
must be installed.
|
||||
"HAVE_NLS=0" — do not add native language support.
|
||||
"HAVE_MULTI_LANG=0" — to create an English-only the installer.
|
||||
"WIN64=1" — to create a 64-bit the installer.
|
||||
"ARM64=1" — to create the installer for ARM64. The WIN64 variable
|
||||
must be set to 1.
|
||||
"X=<scriptcmd>" — executes scriptcmd in script. If multiple scriptcmd
|
||||
are specified, they are separated by a semicolon.
|
||||
Example "X=OutFile MyVim.exe;XPMode on"
|
||||
"MKNSIS=<dir>" — the directory where the "makensis.exe" program is
|
||||
located.
|
||||
cd nsis
|
||||
makensis gvim.nsi
|
||||
|
||||
+74
-223
@@ -1,6 +1,6 @@
|
||||
# NSIS file to create a self-installing exe for Vim.
|
||||
# It requires NSIS version 3.0 or later.
|
||||
# Last Change: 2025 Feb 24
|
||||
# Last Change: 2014 Nov 5
|
||||
|
||||
Unicode true
|
||||
|
||||
@@ -14,124 +14,58 @@ Unicode true
|
||||
|
||||
# Location of runtime files
|
||||
!ifndef VIMRT
|
||||
!define VIMRT "..\runtime"
|
||||
!define VIMRT ".."
|
||||
!endif
|
||||
|
||||
# Location of extra tools: diff.exe, winpty{32|64}.dll, winpty-agent.exe, etc.
|
||||
# Location of extra tools: diff.exe
|
||||
!ifndef VIMTOOLS
|
||||
!define VIMTOOLS "..\.."
|
||||
!define VIMTOOLS ..\..
|
||||
!endif
|
||||
|
||||
# Location of gettext.
|
||||
# It must contain two directories: gettext32 and gettext64.
|
||||
# See README.txt for detail.
|
||||
!ifndef GETTEXT
|
||||
!define GETTEXT ${VIMTOOLS}
|
||||
!define GETTEXT ${VIMRT}
|
||||
!endif
|
||||
|
||||
# If you have UPX, use the switch /DHAVE_UPX=1 on the command line makensis.exe.
|
||||
# This property will be set to 1. Get it at https://upx.github.io/
|
||||
!ifndef HAVE_UPX
|
||||
!define HAVE_UPX 0
|
||||
!endif
|
||||
# Comment the next line if you don't have UPX.
|
||||
# Get it at https://upx.github.io/
|
||||
!define HAVE_UPX
|
||||
|
||||
# If you do not want to add Native Language Support, use the switch /DHAVE_NLS=0
|
||||
# in the command line makensis.exe. This property will be set to 0.
|
||||
!ifndef HAVE_NLS
|
||||
!define HAVE_NLS 1
|
||||
!endif
|
||||
# Comment the next line if you do not want to add Native Language Support
|
||||
!define HAVE_NLS
|
||||
|
||||
# To create an English-only the installer, use the switch /DHAVE_MULTI_LANG=0 on
|
||||
# the command line makensis.exe. This property will be set to 0.
|
||||
!ifndef HAVE_MULTI_LANG
|
||||
!define HAVE_MULTI_LANG 1
|
||||
!endif
|
||||
# Comment the following line to create an English-only installer:
|
||||
!define HAVE_MULTI_LANG
|
||||
|
||||
# if you want to create a 64-bit the installer, use the switch /DWIN64=1 on
|
||||
# the command line makensis.exe. This property will be set to 1.
|
||||
!ifndef WIN64
|
||||
!define WIN64 0
|
||||
!endif
|
||||
|
||||
# if you want to create the installer for ARM64, use the /DARM64=1 on
|
||||
# the command line makensis.exe. This property will be set to 1.
|
||||
!ifndef ARM64
|
||||
!define ARM64 0
|
||||
!else
|
||||
!if ${ARM64} > 0
|
||||
!if ${WIN64} < 1
|
||||
!define /redef WIN64 1
|
||||
!endif
|
||||
!endif
|
||||
!endif
|
||||
|
||||
# if you don't want to include libgcc_s_sjlj-1.dll in the package, use the
|
||||
# switch /DINCLUDE_LIBGCC=0 on the command line makensis.exe.
|
||||
!ifndef INCLUDE_LIBGCC
|
||||
!define INCLUDE_LIBGCC 1
|
||||
!endif
|
||||
# Uncomment the next line if you want to create a 64-bit installer.
|
||||
#!define WIN64
|
||||
|
||||
!include gvim_version.nsh # for version number
|
||||
|
||||
# Definition of Patch for Vim.
|
||||
# Definition of Patch for Vim
|
||||
!ifndef PATCHLEVEL
|
||||
!define PATCHLEVEL 0
|
||||
!endif
|
||||
|
||||
# ----------- No configurable settings below this line -----------
|
||||
|
||||
!include "Library.nsh" # for DLL install
|
||||
!include "Library.nsh" # For DLL install
|
||||
!include "LogicLib.nsh"
|
||||
!include "MUI2.nsh"
|
||||
!include "nsDialogs.nsh"
|
||||
!include "Sections.nsh"
|
||||
!include "x64.nsh"
|
||||
!include "StrFunc.nsh"
|
||||
${StrRep}
|
||||
|
||||
# See https://nsis.sourceforge.io/LogicLib
|
||||
;FileExists is already part of LogicLib, but returns true for directories
|
||||
;as well as files
|
||||
!macro _FileExists2 _a _b _t _f
|
||||
!insertmacro _LOGICLIB_TEMP
|
||||
StrCpy $_LOGICLIB_TEMP "0"
|
||||
;if path is not blank, continue to next check
|
||||
StrCmp `${_b}` `` +4 0
|
||||
;if path exists, continue to next check (IfFileExists returns true if this
|
||||
;is a directory)
|
||||
IfFileExists `${_b}` `0` +3
|
||||
;if path is not a directory, continue to confirm exists
|
||||
IfFileExists `${_b}\*.*` +2 0
|
||||
StrCpy $_LOGICLIB_TEMP "1" ;file exists
|
||||
;now we have a definitive value - the file exists or it does not
|
||||
StrCmp $_LOGICLIB_TEMP "1" `${_t}` `${_f}`
|
||||
!macroend
|
||||
!undef FileExists
|
||||
!define FileExists `"" FileExists2`
|
||||
!macro _DirExists _a _b _t _f
|
||||
!insertmacro _LOGICLIB_TEMP
|
||||
StrCpy $_LOGICLIB_TEMP "0"
|
||||
;if path is not blank, continue to next check
|
||||
StrCmp `${_b}` `` +3 0
|
||||
;if directory exists, continue to confirm exists
|
||||
IfFileExists `${_b}\*.*` 0 +2
|
||||
StrCpy $_LOGICLIB_TEMP "1"
|
||||
StrCmp $_LOGICLIB_TEMP "1" `${_t}` `${_f}`
|
||||
!macroend
|
||||
!define DirExists `"" DirExists`
|
||||
|
||||
!define PRODUCT "Vim ${VER_MAJOR}.${VER_MINOR}"
|
||||
!define UNINST_REG_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall"
|
||||
!define UNINST_REG_KEY_VIM "${UNINST_REG_KEY}\${PRODUCT}"
|
||||
|
||||
!if ${WIN64}
|
||||
!if ${ARM64}
|
||||
Name "${PRODUCT} (ARM64)"
|
||||
!else
|
||||
Name "${PRODUCT} (x64)"
|
||||
!endif
|
||||
!ifdef WIN64
|
||||
Name "${PRODUCT} (x64)"
|
||||
!else
|
||||
Name "${PRODUCT}"
|
||||
Name "${PRODUCT}"
|
||||
!endif
|
||||
OutFile gvim${VER_MAJOR}${VER_MINOR}.exe
|
||||
CRCCheck force
|
||||
@@ -141,11 +75,11 @@ ManifestDPIAware true
|
||||
SetDatablockOptimize on
|
||||
RequestExecutionLevel highest
|
||||
|
||||
!if ${HAVE_UPX}
|
||||
!ifdef HAVE_UPX
|
||||
!packhdr temp.dat "upx --best --compress-icons=1 temp.dat"
|
||||
!endif
|
||||
|
||||
!if ${WIN64}
|
||||
!ifdef WIN64
|
||||
!define BIT 64
|
||||
!else
|
||||
!define BIT 32
|
||||
@@ -162,8 +96,6 @@ RequestExecutionLevel highest
|
||||
|
||||
# Show all languages, despite user's codepage:
|
||||
!define MUI_LANGDLL_ALLLANGUAGES
|
||||
# Always show dialog choice language
|
||||
#!define MUI_LANGDLL_ALWAYSSHOW
|
||||
!define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
|
||||
!define MUI_LANGDLL_REGISTRY_KEY "Software\Vim"
|
||||
!define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
|
||||
@@ -181,13 +113,13 @@ RequestExecutionLevel highest
|
||||
|
||||
!define MUI_COMPONENTSPAGE_SMALLDESC
|
||||
!define MUI_LICENSEPAGE_CHECKBOX
|
||||
!define MUI_FINISHPAGE_SHOWREADME
|
||||
!define MUI_FINISHPAGE_SHOWREADME_TEXT $(str_show_readme)
|
||||
!define MUI_FINISHPAGE_SHOWREADME_FUNCTION LaunchApplication
|
||||
!define MUI_FINISHPAGE_RUN
|
||||
!define MUI_FINISHPAGE_RUN_FUNCTION LaunchApplication
|
||||
!define MUI_FINISHPAGE_RUN_TEXT $(str_show_readme)
|
||||
|
||||
# This adds '\Vim' to the user choice automagically. The actual value is
|
||||
# obtained below with CheckOldVim.
|
||||
!if ${WIN64}
|
||||
!ifdef WIN64
|
||||
!define DEFAULT_INSTDIR "$PROGRAMFILES64\Vim"
|
||||
!else
|
||||
!define DEFAULT_INSTDIR "$PROGRAMFILES\Vim"
|
||||
@@ -207,7 +139,7 @@ SilentInstall normal
|
||||
|
||||
# Installer pages
|
||||
!insertmacro MUI_PAGE_WELCOME
|
||||
!insertmacro MUI_PAGE_LICENSE $(page_lic_file)
|
||||
!insertmacro MUI_PAGE_LICENSE "${VIMRT}\doc\uganda.nsis.txt"
|
||||
!insertmacro MUI_PAGE_COMPONENTS
|
||||
Page custom SetCustom ValidateCustom
|
||||
#!define MUI_PAGE_CUSTOMFUNCTION_LEAVE VimFinalCheck
|
||||
@@ -231,16 +163,13 @@ Page custom SetCustom ValidateCustom
|
||||
!include "lang\english.nsi"
|
||||
|
||||
# Include support for other languages:
|
||||
!if ${HAVE_MULTI_LANG}
|
||||
!include "lang\portuguesebr.nsi"
|
||||
!ifdef HAVE_MULTI_LANG
|
||||
!include "lang\danish.nsi"
|
||||
!include "lang\dutch.nsi"
|
||||
!include "lang\german.nsi"
|
||||
!include "lang\greek.nsi"
|
||||
!include "lang\italian.nsi"
|
||||
!include "lang\japanese.nsi"
|
||||
!include "lang\russian.nsi"
|
||||
!include "lang\serbian.nsi"
|
||||
!include "lang\simpchinese.nsi"
|
||||
!include "lang\tradchinese.nsi"
|
||||
!include "lang\turkish.nsi"
|
||||
@@ -250,7 +179,7 @@ Page custom SetCustom ValidateCustom
|
||||
# Version resources
|
||||
|
||||
VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "Vim"
|
||||
VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "The Vim Project"
|
||||
VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "Vim Developers"
|
||||
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalTrademarks" "Vim"
|
||||
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "Copyright (C) 1996"
|
||||
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "Vi Improved - A Text Editor"
|
||||
@@ -265,9 +194,6 @@ Var vim_nsd_mouse
|
||||
Var vim_compat_stat
|
||||
Var vim_keymap_stat
|
||||
Var vim_mouse_stat
|
||||
!if ${HAVE_NLS}
|
||||
Var lng_usr
|
||||
!endif
|
||||
|
||||
|
||||
# Reserve files
|
||||
@@ -302,28 +228,6 @@ FunctionEnd
|
||||
!insertmacro GetParent ""
|
||||
!insertmacro GetParent "un."
|
||||
|
||||
# Get home directory
|
||||
!macro GetHomeDir un
|
||||
Function ${un}GetHomeDir
|
||||
Push $0
|
||||
Push $1
|
||||
ReadEnvStr $0 "HOME"
|
||||
${If} $0 == ""
|
||||
ReadEnvStr $0 "HOMEDRIVE"
|
||||
ReadEnvStr $1 "HOMEPATH"
|
||||
StrCpy $0 "$0$1"
|
||||
${If} $0 == ""
|
||||
ReadEnvStr $0 "USERPROFILE"
|
||||
${EndIf}
|
||||
${EndIf}
|
||||
Pop $1
|
||||
Exch $0 # put $0 on top of stack, restore $0 to original value
|
||||
FunctionEnd
|
||||
!macroend
|
||||
|
||||
!insertmacro GetHomeDir ""
|
||||
!insertmacro GetHomeDir "un."
|
||||
|
||||
# Check if Vim is already installed.
|
||||
# return: Installed directory. If not found, it will be empty.
|
||||
Function CheckOldVim
|
||||
@@ -393,7 +297,7 @@ FunctionEnd
|
||||
|
||||
Function LaunchApplication
|
||||
SetOutPath $0
|
||||
ShellExecAsUser::ShellExecAsUser "" "$0\gvim.exe" '-R "$0\$(vim_readme_file)"'
|
||||
ShellExecAsUser::ShellExecAsUser "" "$0\gvim.exe" '-R "$0\README.txt"'
|
||||
FunctionEnd
|
||||
|
||||
##########################################################
|
||||
@@ -437,6 +341,9 @@ Section "$(str_section_exe)" id_section_exe
|
||||
File /oname=gvim.exe ${VIMSRC}\gvim_ole.exe
|
||||
!if /FileExists "${VIMSRC}\vim${BIT}.dll"
|
||||
File ${VIMSRC}\vim${BIT}.dll
|
||||
!endif
|
||||
!if /FileExists "${VIMRT}\libsodium.dll"
|
||||
File ${VIMRT}\libsodium.dll
|
||||
!endif
|
||||
File /oname=install.exe ${VIMSRC}\installw32.exe
|
||||
File /oname=uninstall.exe ${VIMSRC}\uninstallw32.exe
|
||||
@@ -445,22 +352,12 @@ Section "$(str_section_exe)" id_section_exe
|
||||
File /oname=xxd.exe ${VIMSRC}\xxdw32.exe
|
||||
File ..\vimtutor.bat
|
||||
File ..\README.txt
|
||||
File /oname=LICENSE.txt ..\LICENSE
|
||||
File ..\uninstall.txt
|
||||
File ${VIMRT}\*.vim
|
||||
|
||||
!if /FileExists "${VIMTOOLS}\diff.exe"
|
||||
File ${VIMTOOLS}\diff.exe
|
||||
!endif
|
||||
!if /FileExists "${VIMTOOLS}\winpty${BIT}.dll"
|
||||
File ${VIMTOOLS}\winpty${BIT}.dll
|
||||
!endif
|
||||
!if /FileExists "${VIMTOOLS}\winpty-agent.exe"
|
||||
File ${VIMTOOLS}\winpty-agent.exe
|
||||
!endif
|
||||
!if /FileExists "${VIMTOOLS}\libsodium.dll"
|
||||
File ${VIMTOOLS}\libsodium.dll
|
||||
!endif
|
||||
|
||||
SetOutPath $0\colors
|
||||
File /r ${VIMRT}\colors\*.*
|
||||
@@ -469,22 +366,17 @@ Section "$(str_section_exe)" id_section_exe
|
||||
File ${VIMRT}\compiler\*.*
|
||||
|
||||
SetOutPath $0\doc
|
||||
File /x uganda.nsis.txt ${VIMRT}\doc\*.txt
|
||||
File ${VIMRT}\doc\*.txt
|
||||
File ${VIMRT}\doc\tags
|
||||
|
||||
SetOutPath $0\ftplugin
|
||||
File ${VIMRT}\ftplugin\*.*
|
||||
|
||||
SetOutPath $0\indent
|
||||
File ${VIMRT}\indent\README.txt
|
||||
File ${VIMRT}\indent\*.vim
|
||||
|
||||
SetOutPath $0\keymap
|
||||
File ${VIMRT}\keymap\README.txt
|
||||
File ${VIMRT}\keymap\*.vim
|
||||
File ${VIMRT}\indent\*.*
|
||||
|
||||
SetOutPath $0\macros
|
||||
File /r /x *.info ${VIMRT}\macros\*.*
|
||||
File /r ${VIMRT}\macros\*.*
|
||||
|
||||
SetOutPath $0\pack
|
||||
File /r ${VIMRT}\pack\*.*
|
||||
@@ -502,7 +394,7 @@ Section "$(str_section_exe)" id_section_exe
|
||||
File ${VIMSRC}\vim.ico
|
||||
|
||||
SetOutPath $0\syntax
|
||||
File /r /x testdir /x generator /x Makefile ${VIMRT}\syntax\*.*
|
||||
File /r ${VIMRT}\syntax\*.*
|
||||
|
||||
SetOutPath $0\spell
|
||||
File ${VIMRT}\spell\*.txt
|
||||
@@ -514,7 +406,7 @@ Section "$(str_section_exe)" id_section_exe
|
||||
File ${VIMRT}\tools\*.*
|
||||
|
||||
SetOutPath $0\tutor
|
||||
File /r /x *.info ${VIMRT}\tutor\*.*
|
||||
File ${VIMRT}\tutor\*.*
|
||||
SectionEnd
|
||||
|
||||
##########################################################
|
||||
@@ -628,8 +520,7 @@ SectionGroup $(str_group_plugin) id_group_plugin
|
||||
Section "$(str_section_plugin_home)" id_section_pluginhome
|
||||
SectionIn 1 3
|
||||
|
||||
# use ShellExecAsUser below instead
|
||||
# StrCpy $1 "$1 -create-directories home"
|
||||
StrCpy $1 "$1 -create-directories home"
|
||||
SectionEnd
|
||||
|
||||
Section "$(str_section_plugin_vim)" id_section_pluginvim
|
||||
@@ -640,29 +531,15 @@ SectionGroup $(str_group_plugin) id_group_plugin
|
||||
SectionGroupEnd
|
||||
|
||||
##########################################################
|
||||
!if ${HAVE_NLS}
|
||||
!ifdef HAVE_NLS
|
||||
Section "$(str_section_nls)" id_section_nls
|
||||
SectionIn 1 3
|
||||
|
||||
SetOutPath $INSTDIR
|
||||
!if /FileExists "..\lang\README.*.txt"
|
||||
File ..\lang\README.*.txt
|
||||
CopyFiles /SILENT /FILESONLY $INSTDIR\README.$lng_usr.txt \
|
||||
$INSTDIR\vim${VER_MAJOR}${VER_MINOR}\README.$lng_usr.txt
|
||||
Delete $INSTDIR\README.*.txt
|
||||
!endif
|
||||
!if /FileExists "..\lang\LICENSE.??.txt"
|
||||
File ..\lang\LICENSE.??.txt
|
||||
!if /FileExists "..\lang\LICENSE.??_??.txt"
|
||||
File ..\lang\LICENSE.??_??.txt
|
||||
!endif
|
||||
CopyFiles /SILENT /FILESONLY $INSTDIR\LICENSE.$lng_usr.txt \
|
||||
$INSTDIR\vim${VER_MAJOR}${VER_MINOR}\LICENSE.$lng_usr.txt
|
||||
Delete $INSTDIR\LICENSE.*.txt
|
||||
!endif
|
||||
|
||||
SetOutPath $0\lang
|
||||
File /r /x Makefile ${VIMRT}\lang\*.*
|
||||
File /r ${VIMRT}\lang\*.*
|
||||
SetOutPath $0\keymap
|
||||
File ${VIMRT}\keymap\README.txt
|
||||
File ${VIMRT}\keymap\*.vim
|
||||
SetOutPath $0
|
||||
!insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
|
||||
"${GETTEXT}\gettext${BIT}\libintl-8.dll" \
|
||||
@@ -670,14 +547,12 @@ Section "$(str_section_nls)" id_section_nls
|
||||
!insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
|
||||
"${GETTEXT}\gettext${BIT}\libiconv-2.dll" \
|
||||
"$0\libiconv-2.dll" "$0"
|
||||
!if ${INCLUDE_LIBGCC}
|
||||
!if /FileExists "${GETTEXT}\gettext${BIT}\libgcc_s_sjlj-1.dll"
|
||||
!if /FileExists "${GETTEXT}\gettext${BIT}\libgcc_s_sjlj-1.dll"
|
||||
# Install libgcc_s_sjlj-1.dll only if it is needed.
|
||||
!insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
|
||||
"${GETTEXT}\gettext${BIT}\libgcc_s_sjlj-1.dll" \
|
||||
"$0\libgcc_s_sjlj-1.dll" "$0"
|
||||
!endif
|
||||
!endif
|
||||
!endif
|
||||
|
||||
${If} ${SectionIsSelected} ${id_section_editwith}
|
||||
${If} ${RunningX64}
|
||||
@@ -703,14 +578,12 @@ Section "$(str_section_nls)" id_section_nls
|
||||
!insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
|
||||
"${GETTEXT}\gettext32\libiconv-2.dll" \
|
||||
"$0\GvimExt32\libiconv-2.dll" "$0\GvimExt32"
|
||||
!if ${INCLUDE_LIBGCC}
|
||||
!if /FileExists "${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll"
|
||||
!if /FileExists "${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll"
|
||||
# Install libgcc_s_sjlj-1.dll only if it is needed.
|
||||
!insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
|
||||
"${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll" \
|
||||
"$0\GvimExt32\libgcc_s_sjlj-1.dll" "$0\GvimExt32"
|
||||
!endif
|
||||
!endif
|
||||
!endif
|
||||
${EndIf}
|
||||
SectionEnd
|
||||
!endif
|
||||
@@ -721,13 +594,6 @@ Section -call_install_exe
|
||||
DetailPrint "$(str_msg_registering)"
|
||||
nsExec::Exec "$0\install.exe $1"
|
||||
Pop $3
|
||||
|
||||
${If} ${SectionIsSelected} ${id_section_pluginhome}
|
||||
ReadEnvStr $3 "COMSPEC"
|
||||
Call GetHomeDir
|
||||
Pop $4
|
||||
ShellExecAsUser::ShellExecAsUser "" "$3" '/c "cd /d "$4" & mkdir vimfiles & cd vimfiles & mkdir colors compiler doc ftdetect ftplugin indent keymap plugin syntax"' SW_HIDE
|
||||
${EndIf}
|
||||
SectionEnd
|
||||
|
||||
##########################################################
|
||||
@@ -751,7 +617,7 @@ Section -post
|
||||
SectionGetSize ${id_section_editwith} $4
|
||||
IntOp $3 $3 + $4
|
||||
${EndIf}
|
||||
!if ${HAVE_NLS}
|
||||
!ifdef HAVE_NLS
|
||||
${If} ${SectionIsSelected} ${id_section_nls}
|
||||
SectionGetSize ${id_section_nls} $4
|
||||
IntOp $3 $3 + $4
|
||||
@@ -781,7 +647,7 @@ Section -post
|
||||
!insertmacro SaveSectionSelection ${id_section_vimrc} "select_vimrc"
|
||||
!insertmacro SaveSectionSelection ${id_section_pluginhome} "select_pluginhome"
|
||||
!insertmacro SaveSectionSelection ${id_section_pluginvim} "select_pluginvim"
|
||||
!if ${HAVE_NLS}
|
||||
!ifdef HAVE_NLS
|
||||
!insertmacro SaveSectionSelection ${id_section_nls} "select_nls"
|
||||
!endif
|
||||
${If} ${RunningX64}
|
||||
@@ -814,26 +680,11 @@ SectionEnd
|
||||
!macroend
|
||||
|
||||
Function .onInit
|
||||
!if ${HAVE_MULTI_LANG}
|
||||
!ifdef HAVE_MULTI_LANG
|
||||
# Select a language (or read from the registry).
|
||||
!insertmacro MUI_LANGDLL_DISPLAY
|
||||
!endif
|
||||
|
||||
!if ${HAVE_NLS}
|
||||
ClearErrors
|
||||
System::Call 'kernel32::GetUserDefaultLocaleName(t.r19, *i${NSIS_MAX_STRLEN})'
|
||||
StrCmp $R9 "zh-cn" coincide 0
|
||||
StrCmp $R9 "zh-tw" coincide 0
|
||||
StrCmp $R9 "pt-br" 0 part
|
||||
coincide:
|
||||
System::Call 'User32::CharLower(t r19 r19)*i${NSIS_MAX_STRLEN}'
|
||||
${StrRep} $lng_usr "$R9" "-" "_"
|
||||
Goto done
|
||||
part:
|
||||
StrCpy $lng_usr $R9 2
|
||||
done:
|
||||
!endif
|
||||
|
||||
${If} $INSTDIR == ${DEFAULT_INSTDIR}
|
||||
# Check $VIM
|
||||
ReadEnvStr $3 "VIM"
|
||||
@@ -867,7 +718,7 @@ Function .onInit
|
||||
!insertmacro LoadSectionSelection ${id_section_vimrc} "select_vimrc"
|
||||
!insertmacro LoadSectionSelection ${id_section_pluginhome} "select_pluginhome"
|
||||
!insertmacro LoadSectionSelection ${id_section_pluginvim} "select_pluginvim"
|
||||
!if ${HAVE_NLS}
|
||||
!ifdef HAVE_NLS
|
||||
!insertmacro LoadSectionSelection ${id_section_nls} "select_nls"
|
||||
!endif
|
||||
# Load the default _vimrc settings from the registry (if any).
|
||||
@@ -925,12 +776,12 @@ Function SetCustom
|
||||
|
||||
|
||||
# 1st group - Compatibility
|
||||
${NSD_CreateGroupBox} 0u 0u 296u 44u $(str_msg_compat_title)
|
||||
${NSD_CreateGroupBox} 0 0 100% 32% $(str_msg_compat_title)
|
||||
Pop $3
|
||||
|
||||
${NSD_CreateLabel} 16u 14u 269u 10u $(str_msg_compat_desc)
|
||||
${NSD_CreateLabel} 5% 10% 35% 8% $(str_msg_compat_desc)
|
||||
Pop $3
|
||||
${NSD_CreateDropList} 42u 26u 237u 13u ""
|
||||
${NSD_CreateDropList} 18% 19% 75% 8% ""
|
||||
Pop $vim_nsd_compat
|
||||
${NSD_CB_AddString} $vim_nsd_compat $(str_msg_compat_vi)
|
||||
${NSD_CB_AddString} $vim_nsd_compat $(str_msg_compat_vim)
|
||||
@@ -950,12 +801,12 @@ Function SetCustom
|
||||
|
||||
|
||||
# 2nd group - Key remapping
|
||||
${NSD_CreateGroupBox} 0u 48u 296u 44u $(str_msg_keymap_title)
|
||||
${NSD_CreateGroupBox} 0 35% 100% 31% $(str_msg_keymap_title)
|
||||
Pop $3
|
||||
|
||||
${NSD_CreateLabel} 16u 62u 269u 10u $(str_msg_keymap_desc)
|
||||
${NSD_CreateLabel} 5% 45% 90% 8% $(str_msg_keymap_desc)
|
||||
Pop $3
|
||||
${NSD_CreateDropList} 42u 74u 236u 13u ""
|
||||
${NSD_CreateDropList} 38% 54% 55% 8% ""
|
||||
Pop $vim_nsd_keymap
|
||||
${NSD_CB_AddString} $vim_nsd_keymap $(str_msg_keymap_default)
|
||||
${NSD_CB_AddString} $vim_nsd_keymap $(str_msg_keymap_windows)
|
||||
@@ -969,12 +820,12 @@ Function SetCustom
|
||||
|
||||
|
||||
# 3rd group - Mouse behavior
|
||||
${NSD_CreateGroupBox} 0u 95u 296u 44u $(str_msg_mouse_title)
|
||||
${NSD_CreateGroupBox} 0 69% 100% 31% $(str_msg_mouse_title)
|
||||
Pop $3
|
||||
|
||||
${NSD_CreateLabel} 16u 108u 269u 10u $(str_msg_mouse_desc)
|
||||
${NSD_CreateLabel} 5% 79% 90% 8% $(str_msg_mouse_desc)
|
||||
Pop $3
|
||||
${NSD_CreateDropList} 42u 121u 237u 13u ""
|
||||
${NSD_CreateDropList} 23% 87% 70% 8% ""
|
||||
Pop $vim_nsd_mouse
|
||||
${NSD_CB_AddString} $vim_nsd_mouse $(str_msg_mouse_default)
|
||||
${NSD_CB_AddString} $vim_nsd_mouse $(str_msg_mouse_windows)
|
||||
@@ -1041,7 +892,7 @@ FunctionEnd
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${id_group_plugin} $(str_desc_plugin)
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${id_section_pluginhome} $(str_desc_plugin_home)
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${id_section_pluginvim} $(str_desc_plugin_vim)
|
||||
!if ${HAVE_NLS}
|
||||
!ifdef HAVE_NLS
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${id_section_nls} $(str_desc_nls)
|
||||
!endif
|
||||
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|
||||
@@ -1051,7 +902,7 @@ FunctionEnd
|
||||
# Uninstaller Functions and Sections
|
||||
|
||||
Function un.onInit
|
||||
!if ${HAVE_MULTI_LANG}
|
||||
!ifdef HAVE_MULTI_LANG
|
||||
# Get the language from the registry.
|
||||
!insertmacro MUI_UNGETLANGUAGE
|
||||
!endif
|
||||
@@ -1061,7 +912,7 @@ Section "un.$(str_unsection_register)" id_unsection_register
|
||||
SectionIn RO
|
||||
|
||||
# Apparently $INSTDIR is set to the directory where the uninstaller is
|
||||
# created. Thus the "vim91" directory is included in it.
|
||||
# created. Thus the "vim61" directory is included in it.
|
||||
StrCpy $0 "$INSTDIR"
|
||||
|
||||
# delete the context menu entry and batch files
|
||||
@@ -1158,7 +1009,6 @@ Section "un.$(str_unsection_exe)" id_unsection_exe
|
||||
RMDir /r $0\tutor
|
||||
RMDir /r $0\lang
|
||||
RMDir /r $0\keymap
|
||||
RMDir /r $0\bitmaps
|
||||
Delete $0\*.exe
|
||||
Delete $0\*.bat
|
||||
Delete $0\*.vim
|
||||
@@ -1168,17 +1018,14 @@ Section "un.$(str_unsection_exe)" id_unsection_exe
|
||||
MessageBox MB_OK|MB_ICONEXCLAMATION $(str_msg_rm_exe_fail) /SD IDOK
|
||||
${EndIf}
|
||||
|
||||
# No error message if the "vim91" directory can't be removed, the
|
||||
# No error message if the "vim62" directory can't be removed, the
|
||||
# gvimext.dll may still be there.
|
||||
RMDir $0
|
||||
SectionEnd
|
||||
|
||||
# Remove "vimfiles" directory under the specified directory.
|
||||
!macro RemoveVimfiles dir
|
||||
${If} ${FileExists} ${dir}\_viminfo
|
||||
Delete ${dir}\_viminfo
|
||||
${EndIf}
|
||||
${If} ${DirExists} ${dir}\vimfiles
|
||||
${If} ${FileExists} ${dir}\vimfiles
|
||||
RMDir ${dir}\vimfiles\colors
|
||||
RMDir ${dir}\vimfiles\compiler
|
||||
RMDir ${dir}\vimfiles\doc
|
||||
@@ -1188,9 +1035,6 @@ SectionEnd
|
||||
RMDir ${dir}\vimfiles\keymap
|
||||
RMDir ${dir}\vimfiles\plugin
|
||||
RMDir ${dir}\vimfiles\syntax
|
||||
${If} ${FileExists} ${dir}\vimfiles\.netrwhist*
|
||||
Delete ${dir}\vimfiles\.netrwhist*
|
||||
${EndIf}
|
||||
RMDir ${dir}\vimfiles
|
||||
${EndIf}
|
||||
!macroend
|
||||
@@ -1198,8 +1042,15 @@ SectionEnd
|
||||
SectionGroup "un.$(str_ungroup_plugin)" id_ungroup_plugin
|
||||
Section /o "un.$(str_unsection_plugin_home)" id_unsection_plugin_home
|
||||
# get the home dir
|
||||
Call un.GetHomeDir
|
||||
Pop $0
|
||||
ReadEnvStr $0 "HOME"
|
||||
${If} $0 == ""
|
||||
ReadEnvStr $0 "HOMEDRIVE"
|
||||
ReadEnvStr $1 "HOMEPATH"
|
||||
StrCpy $0 "$0$1"
|
||||
${If} $0 == ""
|
||||
ReadEnvStr $0 "USERPROFILE"
|
||||
${EndIf}
|
||||
${EndIf}
|
||||
|
||||
${If} $0 != ""
|
||||
!insertmacro RemoveVimfiles $0
|
||||
|
||||
@@ -2,6 +2,5 @@
|
||||
!ifndef __GVIM_VER__NSH__
|
||||
!define __GVIM_VER__NSH__
|
||||
!define VER_MAJOR 9
|
||||
!define VER_MINOR 1
|
||||
!define PATCHLEVEL 0
|
||||
!define VER_MINOR 0
|
||||
!endif
|
||||
|
||||
@@ -1,63 +0,0 @@
|
||||
This directory contains a file with text strings for gVim installer.
|
||||
It also contains files with translations of the text strings for gVim installer
|
||||
into different languages.
|
||||
|
||||
For translators.
|
||||
|
||||
If you want to prepare a translation for the gVim installer, use the file
|
||||
"english.nsi" as a master file. See the other translation files in this
|
||||
directory.
|
||||
Note that in the definition of the MUI_LANGUAGE macro, the name of the language
|
||||
to be translated must be the English name of the language.
|
||||
The name of the file with the translation must match the name of the target
|
||||
language.
|
||||
Also, when translating strings, pay attention to some restrictions on the
|
||||
allowable length of strings. For example:
|
||||
component description field - 117 characters;
|
||||
description above the drop-down lists on the .vimrc page - 53 characters;
|
||||
drop-down lists on the .vimrc page - 55 characters.
|
||||
Characters in this case mean characters of the English alphabet.
|
||||
|
||||
Once the message translation file is ready, it must be included in the
|
||||
"gvim.nsi" file.
|
||||
Find the line "# Include support for other languages:" in the file "gvim.nsi"
|
||||
and specify the name of the file with your translation below the line
|
||||
!if ${HAVE_MULTI_LANG}, similar to the entries already there. File names are
|
||||
specified in alphabetical order.
|
||||
|
||||
If you do not yet have a translated "LICENSE" file and/or a main "README.txt"
|
||||
file, set the following values:
|
||||
|
||||
for the license file
|
||||
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
|
||||
|
||||
for the readme.txt file
|
||||
LangString vim_readme_file 0 "README.txt"
|
||||
|
||||
Once you have the translations of these files, then set the values for these
|
||||
variables similarly to what is done in the other translation files.
|
||||
Translation files should be located in the "lang" subdirectory of the root
|
||||
directory. The name of the files is as follows: "README.xx.txt", where xx is the
|
||||
language code according to ISO639.
|
||||
|
||||
|
||||
There are two ways to test the installer in different languages:
|
||||
|
||||
1. Find and uncomment the "!define MUI_LANGDLL_ALWAYSSHOW" line in the
|
||||
"gvim.nsi" file and rebuild the installer.
|
||||
Now every time you run it, you will see a dialog box with the possibility to
|
||||
select the language of the installer.
|
||||
|
||||
2. If the Vim editor is already installed in your system, delete the
|
||||
"Installer Language" parameter in the Windows registry under
|
||||
"HKEY_CURRENT_USER\Software\Vim".
|
||||
Or you can create a file "NoLangInstallerVim.reg" with the following content:
|
||||
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
[HKEY_CURRENT_USER\Software\Vim]
|
||||
"Installer Language"=-
|
||||
|
||||
and apply it by double-clicking on it.
|
||||
After these steps, when you start the installer, a window with the installer
|
||||
language selection will also be displayed.
|
||||
@@ -3,7 +3,6 @@
|
||||
# danish.nsi: Danish language strings for gvim NSIS installer.
|
||||
#
|
||||
# Locale ID : 1030
|
||||
# Locale Name : da
|
||||
# fileencoding : UTF-8
|
||||
# Author : scootergrisen
|
||||
|
||||
@@ -15,20 +14,6 @@
|
||||
LangString ^SetupCaption ${LANG_DANISH} "$(^Name) Setup"
|
||||
LangString ^UninstallCaption ${LANG_DANISH} "$(^Name) Uninstall"
|
||||
|
||||
##############################################################################
|
||||
# Translated license file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_DANISH} "..\lang\LICENSE.da.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# Translated README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file 0 "README.txt"
|
||||
#LangString vim_readme_file ${LANG_DANISH} "README.da.txt"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
##############################################################################
|
||||
|
||||
@@ -17,20 +17,6 @@ LangString ^SetupCaption ${LANG_DUTCH} \
|
||||
LangString ^UninstallCaption ${LANG_DUTCH} \
|
||||
"$(^Name) Uninstall"
|
||||
|
||||
##############################################################################
|
||||
# Translated license file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_DUTCH} "..\lang\LICENSE.nl.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# Translated README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file 0 "README.txt"
|
||||
#LangString vim_readme_file ${LANG_DUTCH} "README.nl.txt"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
##############################################################################
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
# english.nsi: English language strings for gvim NSIS installer.
|
||||
#
|
||||
# Locale ID : 1033
|
||||
# Locale Name : en
|
||||
# fileencoding : UTF-8
|
||||
# Author : Guopeng Wen, Ken Takata
|
||||
|
||||
@@ -17,18 +16,6 @@ LangString ^SetupCaption ${LANG_ENGLISH} \
|
||||
LangString ^UninstallCaption ${LANG_ENGLISH} \
|
||||
"$(^Name) Uninstall"
|
||||
|
||||
##############################################################################
|
||||
# License file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file ${LANG_ENGLISH} "..\lang\LICENSE.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file ${LANG_ENGLISH} "README.txt"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
##############################################################################
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
# german.nsi : German language strings for gvim NSIS installer.
|
||||
#
|
||||
# Locale ID : 1031
|
||||
# Locale Name : de
|
||||
# fileencoding : UTF-8
|
||||
# Author : Christian Brabandt, tux
|
||||
|
||||
@@ -17,20 +16,6 @@ LangString ^SetupCaption ${LANG_GERMAN} \
|
||||
LangString ^UninstallCaption ${LANG_GERMAN} \
|
||||
"$(^Name) Uninstall"
|
||||
|
||||
##############################################################################
|
||||
# Translated license file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_GERMAN} "..\lang\LICENSE.de.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# Translated README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file 0 "README.txt"
|
||||
#LangString vim_readme_file ${LANG_GERMAN} "README.de.txt"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
##############################################################################
|
||||
|
||||
@@ -1,291 +0,0 @@
|
||||
# vi:set ts=8 sts=4 sw=4 et fdm=marker:
|
||||
#
|
||||
# greek.nsi: Greek language strings for gvim NSIS installer.
|
||||
#
|
||||
# Locale ID : 1032
|
||||
# Locale Name : el
|
||||
# fileencoding : UTF-8
|
||||
# Author : Christos Longros
|
||||
|
||||
!insertmacro MUI_LANGUAGE "Greek"
|
||||
|
||||
|
||||
# Overwrite the default translation.
|
||||
# These strings should be always English. Otherwise dosinst.c fails.
|
||||
LangString ^SetupCaption ${LANG_GREEK} \
|
||||
"$(^Name) Setup"
|
||||
LangString ^UninstallCaption ${LANG_GREEK} \
|
||||
"$(^Name) Uninstall"
|
||||
|
||||
##############################################################################
|
||||
# Translated license file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_GREEK} "..\lang\LICENSE.el.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# Translated README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file 0 "README.txt"
|
||||
#LangString vim_readme_file ${LANG_GREEK} "README.el.txt"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
##############################################################################
|
||||
|
||||
#LangString str_dest_folder ${LANG_GREEK} \
|
||||
# "Φάκελος προορισμός (Πρέπει να τελειώνει σε $\"vim$\")"
|
||||
|
||||
LangString str_show_readme ${LANG_GREEK} \
|
||||
"Εμφάνιση README μετά την ολοκλήρωση της εγκατάστασης"
|
||||
|
||||
# Install types:
|
||||
LangString str_type_typical ${LANG_GREEK} \
|
||||
"Typical"
|
||||
|
||||
LangString str_type_minimal ${LANG_GREEK} \
|
||||
"Minimal"
|
||||
|
||||
LangString str_type_full ${LANG_GREEK} \
|
||||
"Full"
|
||||
|
||||
|
||||
##############################################################################
|
||||
# Section Titles & Description {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString str_section_old_ver ${LANG_GREEK} \
|
||||
"Απεγκατάσταση υπάρχουσων εκδόσεων"
|
||||
LangString str_desc_old_ver ${LANG_GREEK} \
|
||||
"Απεγκατάσταση υπάρχουσων εκδόσεων Vim από το σύστημά σας."
|
||||
|
||||
LangString str_section_exe ${LANG_GREEK} \
|
||||
"Vim GUI and runtime files"
|
||||
LangString str_desc_exe ${LANG_GREEK} \
|
||||
"Vim GUI executables and runtime files. This component is required."
|
||||
|
||||
LangString str_section_console ${LANG_GREEK} \
|
||||
"Vim console program"
|
||||
LangString str_desc_console ${LANG_GREEK} \
|
||||
"Console version of Vim (vim.exe)."
|
||||
|
||||
LangString str_section_batch ${LANG_GREEK} \
|
||||
"Δημιουργία αρχείων .bat"
|
||||
LangString str_desc_batch ${LANG_GREEK} \
|
||||
"Δημιουργία αρχείων .bat από παράγωγα Vim στον κατάλογο των Windows για \
|
||||
χρήση γραμμής εντολών."
|
||||
|
||||
LangString str_group_icons ${LANG_GREEK} \
|
||||
"Δημιουργία εικονιδίων Vim"
|
||||
LangString str_desc_icons ${LANG_GREEK} \
|
||||
"Δημιουργία εικονιδίων για τον Vim σε διάφορες τοποθεσίες για την διευκόλυνση της προσβασιμότητας."
|
||||
|
||||
LangString str_section_desktop ${LANG_GREEK} \
|
||||
"Στην επιφάνεια εργασίας"
|
||||
LangString str_desc_desktop ${LANG_GREEK} \
|
||||
"Δημιουργία εικονιδίων για gVim εκτελέσιμα στην επιφάνεια εργασίας."
|
||||
|
||||
LangString str_section_start_menu ${LANG_GREEK} \
|
||||
"In the Start Menu Programs Folder"
|
||||
LangString str_desc_start_menu ${LANG_GREEK} \
|
||||
"Προσθήκη του Vim στον φάκελο προγραμμάτων του μενού εκκίνησης."
|
||||
|
||||
#LangString str_section_quick_launch ${LANG_GREEK} \
|
||||
# "In the Quick Launch Bar"
|
||||
#LangString str_desc_quick_launch ${LANG_GREEK} \
|
||||
# "Add Vim shortcut in the quick launch bar."
|
||||
|
||||
LangString str_section_edit_with ${LANG_GREEK} \
|
||||
"Add Vim Context Menu"
|
||||
LangString str_desc_edit_with ${LANG_GREEK} \
|
||||
"Add Vim to the $\"Open With...$\" context menu list."
|
||||
|
||||
#LangString str_section_edit_with32 ${LANG_GREEK} \
|
||||
# "32-bit Version"
|
||||
#LangString str_desc_edit_with32 ${LANG_GREEK} \
|
||||
# "Add Vim to the $\"Open With...$\" context menu list \
|
||||
# for 32-bit applications."
|
||||
|
||||
#LangString str_section_edit_with64 ${LANG_GREEK} \
|
||||
# "64-bit Version"
|
||||
#LangString str_desc_edit_with64 ${LANG_GREEK} \
|
||||
# "Add Vim to the $\"Open With...$\" context menu list \
|
||||
# for 64-bit applications."
|
||||
|
||||
LangString str_section_vim_rc ${LANG_GREEK} \
|
||||
"Δημιουργία προεπιλεγμένων ρυθμίσεων"
|
||||
LangString str_desc_vim_rc ${LANG_GREEK} \
|
||||
"Δημιουργία προεπιλεγμένου αρχείου ρυθμίσεων (_vimrc) αν δεν υπάρχει ήδη."
|
||||
|
||||
LangString str_group_plugin ${LANG_GREEK} \
|
||||
"Δημιουργία καταλόγων Plugin"
|
||||
LangString str_desc_plugin ${LANG_GREEK} \
|
||||
"Δημιουργία καταλόγων plugin. Οι κατάλογοι Plugin επιτρέπουν την επέκταση του Vim \
|
||||
με την μεταφορά ενός αρχείου σε έναν κατάλογο."
|
||||
|
||||
LangString str_section_plugin_home ${LANG_GREEK} \
|
||||
"Private"
|
||||
LangString str_desc_plugin_home ${LANG_GREEK} \
|
||||
"Δημιουργία καταλόγων plugin στον κατάλογο HOME."
|
||||
|
||||
LangString str_section_plugin_vim ${LANG_GREEK} \
|
||||
"Shared"
|
||||
LangString str_desc_plugin_vim ${LANG_GREEK} \
|
||||
"Δημιουργία καταλόγων plugin στον κατάλογο εγκατάστασης του Vim, χρησιμοποιείται από \
|
||||
όλους στο σύστημα."
|
||||
|
||||
LangString str_section_nls ${LANG_GREEK} \
|
||||
"Native Language Support"
|
||||
LangString str_desc_nls ${LANG_GREEK} \
|
||||
"Install files for native language support."
|
||||
|
||||
LangString str_unsection_register ${LANG_GREEK} \
|
||||
"Unregister Vim"
|
||||
LangString str_desc_unregister ${LANG_GREEK} \
|
||||
"Unregister Vim from the system."
|
||||
|
||||
LangString str_unsection_exe ${LANG_GREEK} \
|
||||
"Remove Vim Executables/Runtime Files"
|
||||
LangString str_desc_rm_exe ${LANG_GREEK} \
|
||||
"Remove all Vim executables and runtime files."
|
||||
|
||||
LangString str_ungroup_plugin ${LANG_GREEK} \
|
||||
"Remove plugin directories"
|
||||
LangString str_desc_rm_plugin ${LANG_GREEK} \
|
||||
"Remove the plugin directories if they are empty."
|
||||
|
||||
LangString str_unsection_plugin_home ${LANG_GREEK} \
|
||||
"Private"
|
||||
LangString str_desc_rm_plugin_home ${LANG_GREEK} \
|
||||
"Remove the plugin directories from HOME directory."
|
||||
|
||||
LangString str_unsection_plugin_vim ${LANG_GREEK} \
|
||||
"Shared"
|
||||
LangString str_desc_rm_plugin_vim ${LANG_GREEK} \
|
||||
"Remove the plugin directories from Vim install directory."
|
||||
|
||||
LangString str_unsection_rootdir ${LANG_GREEK} \
|
||||
"Remove the Vim root directory"
|
||||
LangString str_desc_rm_rootdir ${LANG_GREEK} \
|
||||
"Remove the Vim root directory. It contains your Vim configuration files!"
|
||||
|
||||
|
||||
##############################################################################
|
||||
# Messages {{{1
|
||||
##############################################################################
|
||||
|
||||
#LangString str_msg_too_many_ver ${LANG_GREEK} \
|
||||
# "Found $vim_old_ver_count Vim versions on your system.$\r$\n\
|
||||
# This installer can only handle ${VIM_MAX_OLD_VER} versions \
|
||||
# at most.$\r$\n\
|
||||
# Please remove some versions and start again."
|
||||
|
||||
#LangString str_msg_invalid_root ${LANG_GREEK} \
|
||||
# "Invalid install path: $vim_install_root!$\r$\n\
|
||||
# It should end with $\"vim$\"."
|
||||
|
||||
#LangString str_msg_bin_mismatch ${LANG_GREEK} \
|
||||
# "Binary path mismatch!$\r$\n$\r$\n\
|
||||
# Expect the binary path to be $\"$vim_bin_path$\",$\r$\n\
|
||||
# but system indicates the binary path is $\"$INSTDIR$\"."
|
||||
|
||||
#LangString str_msg_vim_running ${LANG_GREEK} \
|
||||
# "Vim is still running on your system.$\r$\n\
|
||||
# Please close all instances of Vim before you continue."
|
||||
|
||||
#LangString str_msg_register_ole ${LANG_GREEK} \
|
||||
# "Attempting to register Vim with OLE. \
|
||||
# There is no message indicates whether this works or not."
|
||||
|
||||
#LangString str_msg_unreg_ole ${LANG_GREEK} \
|
||||
# "Attempting to unregister Vim with OLE. \
|
||||
# There is no message indicates whether this works or not."
|
||||
|
||||
#LangString str_msg_rm_start ${LANG_GREEK} \
|
||||
# "Uninstalling the following version:"
|
||||
|
||||
#LangString str_msg_rm_fail ${LANG_GREEK} \
|
||||
# "Fail to uninstall the following version:"
|
||||
|
||||
#LangString str_msg_no_rm_key ${LANG_GREEK} \
|
||||
# "Cannot find uninstaller registry key."
|
||||
|
||||
#LangString str_msg_no_rm_reg ${LANG_GREEK} \
|
||||
# "Cannot find uninstaller from registry."
|
||||
|
||||
#LangString str_msg_no_rm_exe ${LANG_GREEK} \
|
||||
# "Cannot access uninstaller."
|
||||
|
||||
#LangString str_msg_rm_copy_fail ${LANG_GREEK} \
|
||||
# "Fail to copy uninstaller to temporary directory."
|
||||
|
||||
#LangString str_msg_rm_run_fail ${LANG_GREEK} \
|
||||
# "Αποτυχία εκτέλεσης της λειτουργίας απεγκατάστασης."
|
||||
|
||||
#LangString str_msg_abort_install ${LANG_GREEK} \
|
||||
# "Installer will abort."
|
||||
|
||||
LangString str_msg_install_fail ${LANG_GREEK} \
|
||||
"Η εγκατάσταση απέτυχε. Better luck next time."
|
||||
|
||||
LangString str_msg_rm_exe_fail ${LANG_GREEK} \
|
||||
"Μερικά αρχεία στο $0 δεν έχουν διαγραφεί!$\r$\n\
|
||||
Πρέπει να το κάνετε χειροκίνητα."
|
||||
|
||||
#LangString str_msg_rm_root_fail ${LANG_GREEK} \
|
||||
# "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Αδύνατη η αφαίρεση $\"$vim_install_root$\", δεν είναι κενό!"
|
||||
|
||||
LangString str_msg_uninstalling ${LANG_GREEK} \
|
||||
"Απεγκατάσταση παλιάς έκδοσης the old version..."
|
||||
|
||||
LangString str_msg_registering ${LANG_GREEK} \
|
||||
"Καταχώρηση..."
|
||||
|
||||
LangString str_msg_unregistering ${LANG_GREEK} \
|
||||
"Unregistering..."
|
||||
|
||||
|
||||
##############################################################################
|
||||
# Dialog Box {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString str_vimrc_page_title ${LANG_GREEK} \
|
||||
"Επιλογή ρυθμίσεων _vimrc"
|
||||
LangString str_vimrc_page_subtitle ${LANG_GREEK} \
|
||||
"Choose the settings for enhancement, keyboard and mouse."
|
||||
|
||||
LangString str_msg_compat_title ${LANG_GREEK} \
|
||||
" Συμπεριφορά Vi / Vim "
|
||||
LangString str_msg_compat_desc ${LANG_GREEK} \
|
||||
"&Compatibility and enhancements"
|
||||
LangString str_msg_compat_vi ${LANG_GREEK} \
|
||||
"Vi compatible"
|
||||
LangString str_msg_compat_vim ${LANG_GREEK} \
|
||||
"Vim original"
|
||||
LangString str_msg_compat_defaults ${LANG_GREEK} \
|
||||
"Vim with some enhancements (load defaults.vim)"
|
||||
LangString str_msg_compat_all ${LANG_GREEK} \
|
||||
"Vim with all enhancements (load vimrc_example.vim) (Default)"
|
||||
|
||||
LangString str_msg_keymap_title ${LANG_GREEK} \
|
||||
" Mappings "
|
||||
LangString str_msg_keymap_desc ${LANG_GREEK} \
|
||||
"&Remap a few keys for Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc)"
|
||||
LangString str_msg_keymap_default ${LANG_GREEK} \
|
||||
"Do not remap keys (Default)"
|
||||
LangString str_msg_keymap_windows ${LANG_GREEK} \
|
||||
"Remap a few keys"
|
||||
|
||||
LangString str_msg_mouse_title ${LANG_GREEK} \
|
||||
" Ποντίκι "
|
||||
LangString str_msg_mouse_desc ${LANG_GREEK} \
|
||||
"&Behavior of right and left buttons"
|
||||
LangString str_msg_mouse_default ${LANG_GREEK} \
|
||||
"Right: popup menu, Left: visual mode (Default)"
|
||||
LangString str_msg_mouse_windows ${LANG_GREEK} \
|
||||
"Right: popup menu, Left: select mode (Windows)"
|
||||
LangString str_msg_mouse_unix ${LANG_GREEK} \
|
||||
"Right: extends selection, Left: visual mode (Unix)"
|
||||
|
||||
+88
-98
@@ -5,7 +5,7 @@
|
||||
# Locale ID : 1040
|
||||
# Locale Name : it
|
||||
# fileencoding : UTF-8
|
||||
# Author : Antonio Colombo, bovirus - revision: 12.05.2023
|
||||
# Author : Antonio Colombo
|
||||
|
||||
!insertmacro MUI_LANGUAGE "Italian"
|
||||
|
||||
@@ -17,27 +17,15 @@ LangString ^SetupCaption ${LANG_ITALIAN} \
|
||||
LangString ^UninstallCaption ${LANG_ITALIAN} \
|
||||
"$(^Name) Uninstall"
|
||||
|
||||
##############################################################################
|
||||
# Translated license file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file ${LANG_ITALIAN} "..\lang\LICENSE.it.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# Translated README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file ${LANG_ITALIAN} "README.it.txt"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
##############################################################################
|
||||
|
||||
#LangString str_dest_folder ${LANG_ITALIAN} \
|
||||
# "Cartella installazione (il percorso deve finire con $\"vim$\")"
|
||||
# "Cartella d'installazione (il nome deve finire con $\"vim$\")"
|
||||
|
||||
LangString str_show_readme ${LANG_ITALIAN} \
|
||||
"Visualizza file README a fine installazione"
|
||||
"Visualizza README al termine dell'installazione"
|
||||
|
||||
# Install types:
|
||||
LangString str_type_typical ${LANG_ITALIAN} \
|
||||
@@ -55,119 +43,120 @@ LangString str_type_full ${LANG_ITALIAN} \
|
||||
##############################################################################
|
||||
|
||||
LangString str_section_old_ver ${LANG_ITALIAN} \
|
||||
"Disinstalla versioni esistenti"
|
||||
"Disinstalla versione/i esistente/i"
|
||||
LangString str_desc_old_ver ${LANG_ITALIAN} \
|
||||
"Disinstalla versioni esistenti di Vim."
|
||||
"Disinstalla versione/i esistente/i di Vim dal vostro sistema."
|
||||
|
||||
LangString str_section_exe ${LANG_ITALIAN} \
|
||||
"GUI e file supporto Vim"
|
||||
"Vim GUI e file di supporto"
|
||||
LangString str_desc_exe ${LANG_ITALIAN} \
|
||||
"GUI programmi e file di supporto Vim. Questa componente è indispensabile."
|
||||
"Vim GUI programmi e file di supporto. Questa componente è indispensabile."
|
||||
|
||||
LangString str_section_console ${LANG_ITALIAN} \
|
||||
"Console Vim (vim.exe per MS-DOS)"
|
||||
"Vim console (vim.exe per MS-DOS)"
|
||||
LangString str_desc_console ${LANG_ITALIAN} \
|
||||
"Versione console di Vim (vim.exe)."
|
||||
|
||||
LangString str_section_batch ${LANG_ITALIAN} \
|
||||
"Crea file .bat"
|
||||
LangString str_desc_batch ${LANG_ITALIAN} \
|
||||
"Crea file .bat per varianti di Vim nella cartella \
|
||||
"Crea file .bat per varianti di Vim nella directory \
|
||||
di Windows, per utilizzo da riga di comando."
|
||||
|
||||
LangString str_group_icons ${LANG_ITALIAN} \
|
||||
"Crea icone Vim"
|
||||
"Crea icone per Vim"
|
||||
LangString str_desc_icons ${LANG_ITALIAN} \
|
||||
"Crea icone Vim per rendere facile l'accesso."
|
||||
"Crea icone per Vim in vari posti, per rendere facile l'accesso."
|
||||
|
||||
LangString str_section_desktop ${LANG_ITALIAN} \
|
||||
"Icone sul Desktop"
|
||||
"Sul Desktop"
|
||||
LangString str_desc_desktop ${LANG_ITALIAN} \
|
||||
"Crea icone programma gVim sul desktop."
|
||||
"Crea icone per programma gVim sul desktop."
|
||||
|
||||
LangString str_section_start_menu ${LANG_ITALIAN} \
|
||||
"Gruppo programmi menù START"
|
||||
"Nella cartella del menù START"
|
||||
LangString str_desc_start_menu ${LANG_ITALIAN} \
|
||||
"Aggiunge gruppo programmi al menù START."
|
||||
"Aggiungi Vim alle cartelle del menù START."
|
||||
|
||||
#LangString str_section_quick_launch ${LANG_ITALIAN} \
|
||||
# "Barra avvio veloce"
|
||||
# "Nella barra di Avvio Veloce"
|
||||
#LangString str_desc_quick_launch ${LANG_ITALIAN} \
|
||||
# "Aggiunge un collegamento a Vim nella barra di avvio veloce."
|
||||
# "Aggiungi un puntatore a Vim nella barra di Avvio Veloce."
|
||||
|
||||
LangString str_section_edit_with ${LANG_ITALIAN} \
|
||||
"Aggiungi Vim al menù contestuale"
|
||||
"Aggiungi Vim al Menù Contestuale"
|
||||
LangString str_desc_edit_with ${LANG_ITALIAN} \
|
||||
"Aggiunge Vim al menu contestuale $\"Apri con...$\"."
|
||||
"Aggiungi Vim alla lista contestuale $\"Apri con...$\"."
|
||||
|
||||
#LangString str_section_edit_with32 ${LANG_ITALIAN} \
|
||||
# "Versione a 32 bit"
|
||||
# "Versione a 32-bit"
|
||||
#LangString str_desc_edit_with32 ${LANG_ITALIAN} \
|
||||
# "Aggiungi Vim al menu contestuale $\"Apri con...$\" \
|
||||
# per applicazioni a 32 bit."
|
||||
# "Aggiungi Vim alla lista contestuale $\"Apri con...$\" \
|
||||
# per applicazioni a 32-bit."
|
||||
|
||||
#LangString str_section_edit_with64 ${LANG_ITALIAN} \
|
||||
# "Versione a 64 bit"
|
||||
# "Versione a 64-bit"
|
||||
#LangString str_desc_edit_with64 ${LANG_ITALIAN} \
|
||||
# "Aggiunge Vim al menu contestuale $\"Apri con...$\" \
|
||||
# per applicazioni a 64 bit."
|
||||
# "Aggiungi Vim alla lista contestuale $\"Apri con...$\" \
|
||||
# per applicazioni a 64-bit."
|
||||
|
||||
LangString str_section_vim_rc ${LANG_ITALIAN} \
|
||||
"Crea configurazione predefinita"
|
||||
"Crea configurazione di default"
|
||||
LangString str_desc_vim_rc ${LANG_ITALIAN} \
|
||||
"Crea, se non ne esiste già uno, un file configurazione predefinito (_vimrc) ."
|
||||
"Crea un file configurazione di default (_vimrc) se non \
|
||||
ne esiste già uno."
|
||||
|
||||
LangString str_group_plugin ${LANG_ITALIAN} \
|
||||
"Crea cartella plugin"
|
||||
"Crea directory per plugin"
|
||||
LangString str_desc_plugin ${LANG_ITALIAN} \
|
||||
"Crea cartella plugin. I plugin consentono di aggiungere funzionalità \
|
||||
a Vim copiando i relativi file in una di queste cartelle."
|
||||
"Crea directory per plugin. Consentono di aggiungere funzionalità \
|
||||
a Vim mettendo file in una di queste directory."
|
||||
|
||||
LangString str_section_plugin_home ${LANG_ITALIAN} \
|
||||
"Privata"
|
||||
"Private"
|
||||
LangString str_desc_plugin_home ${LANG_ITALIAN} \
|
||||
"Crea cartella plugin nella cartella HOME."
|
||||
"Crea directory per plugin nella directory HOME."
|
||||
|
||||
LangString str_section_plugin_vim ${LANG_ITALIAN} \
|
||||
"Condivisa"
|
||||
"Condivise"
|
||||
LangString str_desc_plugin_vim ${LANG_ITALIAN} \
|
||||
"Crea cartella plugin nella cartella di installazione di Vim \
|
||||
"Crea directory per plugin nella directory di installazione di Vim \
|
||||
per uso da parte di tutti gli utenti di questo sistema."
|
||||
|
||||
LangString str_section_nls ${LANG_ITALIAN} \
|
||||
"Supporto nativo lingua (NLS)"
|
||||
"Supporto Multilingue (NLS)"
|
||||
LangString str_desc_nls ${LANG_ITALIAN} \
|
||||
"Installa i file per il supporto nativo multilingua."
|
||||
"Installa file per supportare messaggi in diverse lingue."
|
||||
|
||||
LangString str_unsection_register ${LANG_ITALIAN} \
|
||||
"Rimuovi Vim dal registro"
|
||||
"Togli Vim dal Registry"
|
||||
LangString str_desc_unregister ${LANG_ITALIAN} \
|
||||
"Rimuove Vim dal registro di configurazione sistema."
|
||||
"Togli Vim dal Registry di configurazione sistema."
|
||||
|
||||
LangString str_unsection_exe ${LANG_ITALIAN} \
|
||||
"Elimina programmi/file di supporto Vim"
|
||||
"Cancella programmi/file di supporto Vim"
|
||||
LangString str_desc_rm_exe ${LANG_ITALIAN} \
|
||||
"Elimina tutti i programmi/file di supporto di Vim."
|
||||
"Cancella tutti i programmi/file di supporto di Vim."
|
||||
|
||||
LangString str_ungroup_plugin ${LANG_ITALIAN} \
|
||||
"Elimina cartelle plugin"
|
||||
"Cancella le directory per plugin"
|
||||
LangString str_desc_rm_plugin ${LANG_ITALIAN} \
|
||||
"Elimina le cartelle plugin se sono vuote."
|
||||
"Cancella le directory per plugin se sono vuote."
|
||||
|
||||
LangString str_unsection_plugin_home ${LANG_ITALIAN} \
|
||||
"Private"
|
||||
LangString str_desc_rm_plugin_home ${LANG_ITALIAN} \
|
||||
"Elimina cartelle plugin nella cartella HOME."
|
||||
"Cancella le directory per plugin dalla directory HOME."
|
||||
|
||||
LangString str_unsection_plugin_vim ${LANG_ITALIAN} \
|
||||
"Condivise"
|
||||
LangString str_desc_rm_plugin_vim ${LANG_ITALIAN} \
|
||||
"Elimina cartelle plugin nella cartella di installazione di Vim."
|
||||
"Cancella le directory per plugin dalla directory di installazione di Vim."
|
||||
|
||||
LangString str_unsection_rootdir ${LANG_ITALIAN} \
|
||||
"Elimina la cartella di installazione di Vim"
|
||||
"Cancella la directory di installazione di Vim"
|
||||
LangString str_desc_rm_rootdir ${LANG_ITALIAN} \
|
||||
"Elimina la cartella di installazione di Vim. Contiene i file di configurazione!"
|
||||
"Cancella la directory di installazione di Vim. Contiene i vostri file di configurazione!"
|
||||
|
||||
|
||||
##############################################################################
|
||||
@@ -175,74 +164,75 @@ LangString str_desc_rm_rootdir ${LANG_ITALIAN} \
|
||||
##############################################################################
|
||||
|
||||
#LangString str_msg_too_many_ver ${LANG_ITALIAN} \
|
||||
# "Rilevate nel sistema $vim_old_ver_count versioni di Vim.$\r$\n\
|
||||
# "Trovate $vim_old_ver_count versioni di Vim sul vostro sistema.$\r$\n\
|
||||
# Questo programma di installazione può gestire solo \
|
||||
# ${VIM_MAX_OLD_VER} versioni.$\r$\n\
|
||||
# Disinstalla qualche versione precedente e ricomincia."
|
||||
# Disinstallate qualche versione precedente e ricominciate."
|
||||
|
||||
#LangString str_msg_invalid_root ${LANG_ITALIAN} \
|
||||
# "Nome cartella di installazione non valida: $vim_install_root!$\r$\n\
|
||||
# "Nome di directory di installazione non valida: $vim_install_root!$\r$\n\
|
||||
# Dovrebbe terminare con $\"vim$\"."
|
||||
|
||||
#LangString str_msg_bin_mismatch ${LANG_ITALIAN} \
|
||||
# "Conflitto nella cartella di installazione!$\r$\n$\r$\n\
|
||||
# La cartella di installazione dev'essere $\"$vim_bin_path$\",$\r$\n\
|
||||
# ma il sistema indica che il percorso è $\"$INSTDIR$\"."
|
||||
# "Conflitto nella directory di installazione!$\r$\n$\r$\n\
|
||||
# Cartella di installazione dev'essere $\"$vim_bin_path$\",$\r$\n\
|
||||
# ma il sistema segnala invece $\"$INSTDIR$\"."
|
||||
|
||||
#LangString str_msg_vim_running ${LANG_ITALIAN} \
|
||||
# "Vim è ancora in esecuzione nel sistema.$\r$\n\
|
||||
# Per continuare chiudi tutte le sessioni attive di Vim."
|
||||
# "Vim ancora in esecuzione sul vostro sistema.$\r$\n\
|
||||
# Chiudete tutte le sessioni attive di Vim per continuare."
|
||||
|
||||
#LangString str_msg_register_ole ${LANG_ITALIAN} \
|
||||
# "Tentativo di registrazione di Vim con OLE. \
|
||||
# Non ci sono messaggi che indicano se l'operazione è riuscita."
|
||||
# Non c'è messaggio che indica se è riuscito o no."
|
||||
|
||||
#LangString str_msg_unreg_ole ${LANG_ITALIAN} \
|
||||
# "Tentativo di rimozione di VIM dal registro via OLE. \
|
||||
# Non ci sono messaggi che indicano se l'operazione è riuscita."
|
||||
# "Tentativo di togliere dal Registry Vim con OLE. \
|
||||
# Non c'è messaggio che indica se è riuscito o no."
|
||||
|
||||
#LangString str_msg_rm_start ${LANG_ITALIAN} \
|
||||
# "Disinstallazione della versione:"
|
||||
# "Disinstallazione della seguente versione:"
|
||||
|
||||
#LangString str_msg_rm_fail ${LANG_ITALIAN} \
|
||||
# "Disinstallazione non riuscita per la versione:"
|
||||
# "Disinstallazione non riuscita per la seguente versione:"
|
||||
|
||||
#LangString str_msg_no_rm_key ${LANG_ITALIAN} \
|
||||
# "Impossibile trovare chiave disinstallazione nel registro."
|
||||
# "Non riesco a trovare chiave di disinstallazione nel Registry."
|
||||
|
||||
#LangString str_msg_no_rm_reg ${LANG_ITALIAN} \
|
||||
# "Impossibile trovare programma disinstallazione nel registro."
|
||||
# "Non riesco a trovare programma disinstallazione nel Registry."
|
||||
|
||||
#LangString str_msg_no_rm_exe ${LANG_ITALIAN} \
|
||||
# "Impossibile trovare programma disinstallazione."
|
||||
# "Non riesco a trovare programma disinstallazione."
|
||||
|
||||
#LangString str_msg_rm_copy_fail ${LANG_ITALIAN} \
|
||||
# "Impossibile copiare il programma disinstallazione in una cartella temporanea."
|
||||
# "Non riesco a copiare programma disinstallazione a una \
|
||||
# directory temporanea."
|
||||
|
||||
#LangString str_msg_rm_run_fail ${LANG_ITALIAN} \
|
||||
# "Impossibile eseguire programma disinstallazione."
|
||||
# "Non riesco a eseguire programma disinstallazione."
|
||||
|
||||
#LangString str_msg_abort_install ${LANG_ITALIAN} \
|
||||
# "Il programma di disinstallazione verrà chiuso senza aver eseguito nessuna modifica."
|
||||
# "Il programma di disinstallazione verrà chiuso senza aver fatto nulla."
|
||||
|
||||
LangString str_msg_install_fail ${LANG_ITALIAN} \
|
||||
"Installazione non riuscita."
|
||||
"Installazione non riuscita. Miglior fortuna alla prossima!"
|
||||
|
||||
LangString str_msg_rm_exe_fail ${LANG_ITALIAN} \
|
||||
"Alcuni file in $0 non sono stati eliminati!$\r$\n\
|
||||
I file vanno rimossi manualmente."
|
||||
"Alcuni file in $0 non sono stati cancellati!$\r$\n\
|
||||
Dovreste cancellarli voi stessi."
|
||||
|
||||
#LangString str_msg_rm_root_fail ${LANG_ITALIAN} \
|
||||
# "AVVISO: impossibile eliminare $\"$vim_install_root$\", non è vuota!"
|
||||
# "AVVISO: Non posso cancellare $\"$vim_install_root$\", non è vuota!"
|
||||
|
||||
LangString str_msg_uninstalling ${LANG_ITALIAN} \
|
||||
"Disinstallazione vecchia versione Vim..."
|
||||
"Sto disinstallando la vecchia versione..."
|
||||
|
||||
LangString str_msg_registering ${LANG_ITALIAN} \
|
||||
"Aggiunta di Vim al registro..."
|
||||
"Sto aggiungendo Vim al Registry..."
|
||||
|
||||
LangString str_msg_unregistering ${LANG_ITALIAN} \
|
||||
"Rimozione di Vim dal registro..."
|
||||
"Sto togliendo Vim dal Registry..."
|
||||
|
||||
|
||||
##############################################################################
|
||||
@@ -252,37 +242,37 @@ LangString str_msg_unregistering ${LANG_ITALIAN} \
|
||||
LangString str_vimrc_page_title ${LANG_ITALIAN} \
|
||||
"Scelta impostazioni _vimrc"
|
||||
LangString str_vimrc_page_subtitle ${LANG_ITALIAN} \
|
||||
"Scelta impostazioni funzionalità aggiuntive, tastiera e mouse."
|
||||
"Scelta impostazioni per funzionalità ulteriori, tastiera e mouse."
|
||||
|
||||
LangString str_msg_compat_title ${LANG_ITALIAN} \
|
||||
" Comportamento come Vi / Vim "
|
||||
" comportamento come Vi / Vim "
|
||||
LangString str_msg_compat_desc ${LANG_ITALIAN} \
|
||||
"&Compatibilità e funzionalità"
|
||||
"&Compatibilità e funzionalità ulteriori"
|
||||
LangString str_msg_compat_vi ${LANG_ITALIAN} \
|
||||
"Compatibile Vi"
|
||||
"Compatibile con Vi"
|
||||
LangString str_msg_compat_vim ${LANG_ITALIAN} \
|
||||
"Vim originale"
|
||||
LangString str_msg_compat_defaults ${LANG_ITALIAN} \
|
||||
"Vim con alcune funzionalità aggiuntive (defaults.vim)"
|
||||
"Vim con alcune funzionalità ulteriori (esecuzione defaults.vim)"
|
||||
LangString str_msg_compat_all ${LANG_ITALIAN} \
|
||||
"Vim con tutte le funzionalità aggiuntive (vimrc_example.vim) (predefinito)"
|
||||
"Vim con tutte le funzionalità ulteriori (esecuzione vimrc_example.vim) (Default)"
|
||||
|
||||
LangString str_msg_keymap_title ${LANG_ITALIAN} \
|
||||
" Mappature tastiera "
|
||||
" Mappature "
|
||||
LangString str_msg_keymap_desc ${LANG_ITALIAN} \
|
||||
"&Rimappa alcuni tasti Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc.)"
|
||||
"&Rimappatura di alcuni tasti per Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc.)"
|
||||
LangString str_msg_keymap_default ${LANG_ITALIAN} \
|
||||
"Non rimappare i tasti (predefinito)"
|
||||
"Non effettuare rimappature di tasti (Default)"
|
||||
LangString str_msg_keymap_windows ${LANG_ITALIAN} \
|
||||
"Rimappa solo alcuni tasti"
|
||||
"Rimappare solo alcuni tasti"
|
||||
|
||||
LangString str_msg_mouse_title ${LANG_ITALIAN} \
|
||||
" Mouse "
|
||||
LangString str_msg_mouse_desc ${LANG_ITALIAN} \
|
||||
"&Comportamento pulsanti destro/sinistro"
|
||||
"&Comportamento dei pulsanti destro e sinistro"
|
||||
LangString str_msg_mouse_default ${LANG_ITALIAN} \
|
||||
"Destro: menu popup, Sinistro: modalità visuale (predefinito)"
|
||||
"Destro: popup menu, Sinistro: modalità visuale (Default)"
|
||||
LangString str_msg_mouse_windows ${LANG_ITALIAN} \
|
||||
"Destro: menu popup, Sinistro: selezione modalità (Windows)"
|
||||
"Destro: popup menu, Sinistro: seleziona modalità (Windows)"
|
||||
LangString str_msg_mouse_unix ${LANG_ITALIAN} \
|
||||
"Destro: estensione selezione, Sinistro: modalità visuale (Unix)"
|
||||
"Destro: estende selezione, Sinistro: modalità visuale (Unix)"
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
# japanese.nsi: Japanese language strings for gvim NSIS installer.
|
||||
#
|
||||
# Locale ID : 1041
|
||||
# Locale Name : ja
|
||||
# fileencoding : UTF-8
|
||||
# Author : Ken Takata
|
||||
|
||||
@@ -27,20 +26,6 @@ LangString ^SpaceRequired ${LANG_JAPANESE} \
|
||||
LangString ^InstallBtn ${LANG_JAPANESE} \
|
||||
"インストール(&I)"
|
||||
|
||||
##############################################################################
|
||||
# Translated license file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_JAPANESE} "..\lang\LICENSE.ja.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# Translated README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file 0 "README.txt"
|
||||
#LangString vim_readme_file ${LANG_JAPANESE} "README.ja.txt"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
##############################################################################
|
||||
|
||||
@@ -1,291 +0,0 @@
|
||||
# vi:set ts=8 sts=4 sw=4 et fdm=marker:
|
||||
#
|
||||
# portuguesebr.nsi: Brazilian Portuguese strings for gvim NSIS installer.
|
||||
#
|
||||
# Locale ID : 1046
|
||||
# Locale Name : pt-BR
|
||||
# fileencoding : UTF-8
|
||||
# Author : Rafael Fontenelle
|
||||
|
||||
!insertmacro MUI_LANGUAGE "PortugueseBR"
|
||||
|
||||
|
||||
# Overwrite the default translation.
|
||||
# These strings should be always English. Otherwise dosinst.c fails.
|
||||
LangString ^SetupCaption ${LANG_PORTUGUESEBR} \
|
||||
"Configuração do $(^Name)"
|
||||
LangString ^UninstallCaption ${LANG_PORTUGUESEBR} \
|
||||
"Desinstalação do $(^Name)"
|
||||
|
||||
##############################################################################
|
||||
# License file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file ${LANG_PORTUGUESEBR} "..\lang\LICENSE.pt_br.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file ${LANG_PORTUGUESEBR} "README.pt_br.txt"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
##############################################################################
|
||||
|
||||
#LangString str_dest_folder ${LANG_PORTUGUESEBR} \
|
||||
# "Pasta de destino (Deve terminar com $\"vim$\")"
|
||||
|
||||
LangString str_show_readme ${LANG_PORTUGUESEBR} \
|
||||
"Mostrar o README ao concluir a instalação"
|
||||
|
||||
# Install types:
|
||||
LangString str_type_typical ${LANG_PORTUGUESEBR} \
|
||||
"Típica"
|
||||
|
||||
LangString str_type_minimal ${LANG_PORTUGUESEBR} \
|
||||
"Mínima"
|
||||
|
||||
LangString str_type_full ${LANG_PORTUGUESEBR} \
|
||||
"Completa"
|
||||
|
||||
|
||||
##############################################################################
|
||||
# Section Titles & Description {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString str_section_old_ver ${LANG_PORTUGUESEBR} \
|
||||
"Desinstalar versões existentes"
|
||||
LangString str_desc_old_ver ${LANG_PORTUGUESEBR} \
|
||||
"Desinstala versões do Vim existentes no seu sistema."
|
||||
|
||||
LangString str_section_exe ${LANG_PORTUGUESEBR} \
|
||||
"Vim GUI e arquivos de runtime"
|
||||
LangString str_desc_exe ${LANG_PORTUGUESEBR} \
|
||||
"Executáveis e arquivos de runtime do Vim GUI. Este componente \
|
||||
é obrigatório."
|
||||
|
||||
LangString str_section_console ${LANG_PORTUGUESEBR} \
|
||||
"Programa de console do Vim"
|
||||
LangString str_desc_console ${LANG_PORTUGUESEBR} \
|
||||
"Versão de console do Vim (vim.exe)."
|
||||
|
||||
LangString str_section_batch ${LANG_PORTUGUESEBR} \
|
||||
"Criar arquivos .bat"
|
||||
LangString str_desc_batch ${LANG_PORTUGUESEBR} \
|
||||
"Cria arquivos .bat para variantes do Vim no diretório Windows para \
|
||||
usar na linha de comando."
|
||||
|
||||
LangString str_group_icons ${LANG_PORTUGUESEBR} \
|
||||
"Criar ícones para o Vim"
|
||||
LangString str_desc_icons ${LANG_PORTUGUESEBR} \
|
||||
"Cria ícones para Vim em vários locais para facilitar o acesso rápido."
|
||||
|
||||
LangString str_section_desktop ${LANG_PORTUGUESEBR} \
|
||||
"Na área de trabalho"
|
||||
LangString str_desc_desktop ${LANG_PORTUGUESEBR} \
|
||||
"Cria ícones para executáveis do gVim na área de trabalho."
|
||||
|
||||
LangString str_section_start_menu ${LANG_PORTUGUESEBR} \
|
||||
"Na pasta Programas do Menu Iniciar"
|
||||
LangString str_desc_start_menu ${LANG_PORTUGUESEBR} \
|
||||
"Adiciona Vim na pasta de programas do menu iniciar."
|
||||
|
||||
#LangString str_section_quick_launch ${LANG_PORTUGUESEBR} \
|
||||
# "Na barra de Inicialização Rápida"
|
||||
#LangString str_desc_quick_launch ${LANG_PORTUGUESEBR} \
|
||||
# "Adiciona um atalho para o Vim na barra de inicialização rápida."
|
||||
|
||||
LangString str_section_edit_with ${LANG_PORTUGUESEBR} \
|
||||
"Adicionar menu de contexto do Vim"
|
||||
LangString str_desc_edit_with ${LANG_PORTUGUESEBR} \
|
||||
"Adiciona o Vim à lista $\"Abrir com...$\" do menu de contexto."
|
||||
|
||||
#LangString str_section_edit_with32 ${LANG_PORTUGUESEBR} \
|
||||
# "Versão 32 bits"
|
||||
#LangString str_desc_edit_with32 ${LANG_PORTUGUESEBR} \
|
||||
# "Adiciona o Vim à lista $\"Abrir com...$\" do menu de contexto \
|
||||
# para aplicativos 32 bits."
|
||||
|
||||
#LangString str_section_edit_with64 ${LANG_PORTUGUESEBR} \
|
||||
# "Versão 64 bits"
|
||||
#LangString str_desc_edit_with64 ${LANG_PORTUGUESEBR} \
|
||||
# "Adiciona o Vim à lista $\"Abrir com...$\" do menu de contexto \
|
||||
# para aplicativos 64 bits."
|
||||
|
||||
LangString str_section_vim_rc ${LANG_PORTUGUESEBR} \
|
||||
"Criar configuração padrão"
|
||||
LangString str_desc_vim_rc ${LANG_PORTUGUESEBR} \
|
||||
"Cria um arquivo de configuração padrão (_vimrc) se não já existir."
|
||||
|
||||
LangString str_group_plugin ${LANG_PORTUGUESEBR} \
|
||||
"Criar diretórios de plugins"
|
||||
LangString str_desc_plugin ${LANG_PORTUGUESEBR} \
|
||||
"Cria diretórios de plugins. Diretórios de plugins permitem estender \
|
||||
o Vim adicionando um arquivo a um direótrio."
|
||||
|
||||
LangString str_section_plugin_home ${LANG_PORTUGUESEBR} \
|
||||
"Privados"
|
||||
LangString str_desc_plugin_home ${LANG_PORTUGUESEBR} \
|
||||
"Cria diretórios de plugins no diretório HOME."
|
||||
|
||||
LangString str_section_plugin_vim ${LANG_PORTUGUESEBR} \
|
||||
"Compartilhados"
|
||||
LangString str_desc_plugin_vim ${LANG_PORTUGUESEBR} \
|
||||
"Cria diretórios de plugins no diretório de instalação do Vim, \
|
||||
o qual é usado por todos os usuários do sistema."
|
||||
|
||||
LangString str_section_nls ${LANG_PORTUGUESEBR} \
|
||||
"Suporte ao idioma nativo"
|
||||
LangString str_desc_nls ${LANG_PORTUGUESEBR} \
|
||||
"Instala arquivos para suporte ao idioma nativo."
|
||||
|
||||
LangString str_unsection_register ${LANG_PORTUGUESEBR} \
|
||||
"Desregistrar Vim"
|
||||
LangString str_desc_unregister ${LANG_PORTUGUESEBR} \
|
||||
"Remove os registras do Vim do sistema."
|
||||
|
||||
LangString str_unsection_exe ${LANG_PORTUGUESEBR} \
|
||||
"Remover arquivos executáveis/runtime do Vim"
|
||||
LangString str_desc_rm_exe ${LANG_PORTUGUESEBR} \
|
||||
"Remove todos os arquivos executáveis e de runtime do Vim."
|
||||
|
||||
LangString str_ungroup_plugin ${LANG_PORTUGUESEBR} \
|
||||
"Remover diretórios de plugins"
|
||||
LangString str_desc_rm_plugin ${LANG_PORTUGUESEBR} \
|
||||
"Remove os diretórios de plugins se eles estiverem vazios."
|
||||
|
||||
LangString str_unsection_plugin_home ${LANG_PORTUGUESEBR} \
|
||||
"Privados"
|
||||
LangString str_desc_rm_plugin_home ${LANG_PORTUGUESEBR} \
|
||||
"Remove os diretórios de plugins do diretório HOME."
|
||||
|
||||
LangString str_unsection_plugin_vim ${LANG_PORTUGUESEBR} \
|
||||
"Compartilhados"
|
||||
LangString str_desc_rm_plugin_vim ${LANG_PORTUGUESEBR} \
|
||||
"Remove os diretórios de plugins do diretório de instalação do Vim."
|
||||
|
||||
LangString str_unsection_rootdir ${LANG_PORTUGUESEBR} \
|
||||
"Remover diretório raiz do Vim"
|
||||
LangString str_desc_rm_rootdir ${LANG_PORTUGUESEBR} \
|
||||
"Remove o diretório raiz do Vim. Ele contém seus \
|
||||
arquivos de configuração do Vim!"
|
||||
|
||||
|
||||
##############################################################################
|
||||
# Messages {{{1
|
||||
##############################################################################
|
||||
|
||||
#LangString str_msg_too_many_ver ${LANG_PORTUGUESEBR} \
|
||||
# "Encontradas $vim_old_ver_count versões do Vim em seu sistema.$\r$\n\
|
||||
# Este instalador só consegue lidar com ${VIM_MAX_OLD_VER} versões\
|
||||
# no máximo.$\r$\n\
|
||||
# Por favor, remova algumas versões e comece novamente."
|
||||
|
||||
#LangString str_msg_invalid_root ${LANG_PORTUGUESEBR} \
|
||||
# "Caminho de instalação inválido: $vim_install_root!$\r$\n\
|
||||
# Ele deve terminar com $\"vim$\"."
|
||||
|
||||
#LangString str_msg_bin_mismatch ${LANG_PORTUGUESEBR} \
|
||||
# "Incompatibilidade de caminho de binários!$\r$\n$\r$\n\
|
||||
# Esperava que o caminho de binários fosse $\"$vim_bin_path$\",$\r$\n\
|
||||
# mas o sistema indica que o caminho de binários é $\"$INSTDIR$\"."
|
||||
|
||||
#LangString str_msg_vim_running ${LANG_PORTUGUESEBR} \
|
||||
# "Vim ainda está em execução em seu sistema.$\r$\n\
|
||||
# Por favor, feche todas as instâncias do Vim para poder continuar."
|
||||
|
||||
#LangString str_msg_register_ole ${LANG_PORTUGUESEBR} \
|
||||
# "Tentativa de registrar o Vim com OLE. \
|
||||
# Não há mensagem que indique se isso funciona ou não."
|
||||
|
||||
#LangString str_msg_unreg_ole ${LANG_PORTUGUESEBR} \
|
||||
# "Tentando desregistrar o Vim com OLE. \
|
||||
# Não há mensagem que indique se isso funciona ou não."
|
||||
|
||||
#LangString str_msg_rm_start ${LANG_PORTUGUESEBR} \
|
||||
# "Desinstalando a seguinte versão:"
|
||||
|
||||
#LangString str_msg_rm_fail ${LANG_PORTUGUESEBR} \
|
||||
# "Falha ao desinstalar a seguinte versão:"
|
||||
|
||||
#LangString str_msg_no_rm_key ${LANG_PORTUGUESEBR} \
|
||||
# "Não foi possível encontrar a chave de registro do desinstalador."
|
||||
|
||||
#LangString str_msg_no_rm_reg ${LANG_PORTUGUESEBR} \
|
||||
# "Não foi possível encontrar o desinstalador a partir do registro."
|
||||
|
||||
#LangString str_msg_no_rm_exe ${LANG_PORTUGUESEBR} \
|
||||
# "Não foi possível acessar o desinstalador."
|
||||
|
||||
#LangString str_msg_rm_copy_fail ${LANG_PORTUGUESEBR} \
|
||||
# "Falha ao copiar o desinstalador para um diretório temporário."
|
||||
|
||||
#LangString str_msg_rm_run_fail ${LANG_PORTUGUESEBR} \
|
||||
# "Falha ao executar o desinstalador."
|
||||
|
||||
#LangString str_msg_abort_install ${LANG_PORTUGUESEBR} \
|
||||
# "Instalador será interrompido."
|
||||
|
||||
LangString str_msg_install_fail ${LANG_PORTUGUESEBR} \
|
||||
"A instalação falhou. Mais sorte na próxima vez."
|
||||
|
||||
LangString str_msg_rm_exe_fail ${LANG_PORTUGUESEBR} \
|
||||
"Alguns arquivos em $0 não foram excluídos!$\r$\n\
|
||||
Você deve fazê-lo manualmente."
|
||||
|
||||
#LangString str_msg_rm_root_fail ${LANG_PORTUGUESEBR} \
|
||||
# "AVISO: Não foi possível remover $\"$vim_install_root$\", \
|
||||
# pois não está vazio!"
|
||||
|
||||
LangString str_msg_uninstalling ${LANG_PORTUGUESEBR} \
|
||||
"Desinstalando a versão antiga..."
|
||||
|
||||
LangString str_msg_registering ${LANG_PORTUGUESEBR} \
|
||||
"Registrando..."
|
||||
|
||||
LangString str_msg_unregistering ${LANG_PORTUGUESEBR} \
|
||||
"Desregistrando..."
|
||||
|
||||
|
||||
##############################################################################
|
||||
# Dialog Box {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString str_vimrc_page_title ${LANG_PORTUGUESEBR} \
|
||||
"Escolher configurações do _vimrc"
|
||||
LangString str_vimrc_page_subtitle ${LANG_PORTUGUESEBR} \
|
||||
"Escolha as configurações para melhorias, teclado e mouse."
|
||||
|
||||
LangString str_msg_compat_title ${LANG_PORTUGUESEBR} \
|
||||
" Comportamento Vi / Vim "
|
||||
LangString str_msg_compat_desc ${LANG_PORTUGUESEBR} \
|
||||
"&Compatibilidade e melhorias"
|
||||
LangString str_msg_compat_vi ${LANG_PORTUGUESEBR} \
|
||||
"Compatível com Vi"
|
||||
LangString str_msg_compat_vim ${LANG_PORTUGUESEBR} \
|
||||
"Vim original"
|
||||
LangString str_msg_compat_defaults ${LANG_PORTUGUESEBR} \
|
||||
"Vim com algumas melhorias (carrega defaults.vim)"
|
||||
LangString str_msg_compat_all ${LANG_PORTUGUESEBR} \
|
||||
"Vim com todas as melhorias (carrega vimrc_example.vim) (Padrão)"
|
||||
|
||||
LangString str_msg_keymap_title ${LANG_PORTUGUESEBR} \
|
||||
" Mapeamentos "
|
||||
LangString str_msg_keymap_desc ${LANG_PORTUGUESEBR} \
|
||||
"&Remapear algumas teclas para o Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc)"
|
||||
LangString str_msg_keymap_default ${LANG_PORTUGUESEBR} \
|
||||
"Não remapear teclas (Padrão)"
|
||||
LangString str_msg_keymap_windows ${LANG_PORTUGUESEBR} \
|
||||
"Remapear algumas teclas"
|
||||
|
||||
LangString str_msg_mouse_title ${LANG_PORTUGUESEBR} \
|
||||
" Mouse "
|
||||
LangString str_msg_mouse_desc ${LANG_PORTUGUESEBR} \
|
||||
"&Comportamento de botões direito e esquerdo"
|
||||
LangString str_msg_mouse_default ${LANG_PORTUGUESEBR} \
|
||||
"Direito: menu popup, Esquerdo: modo visual (Padrão)"
|
||||
LangString str_msg_mouse_windows ${LANG_PORTUGUESEBR} \
|
||||
"Direito: menu popup, Esquerdo: modo de seleção (Windows)"
|
||||
LangString str_msg_mouse_unix ${LANG_PORTUGUESEBR} \
|
||||
"Direito: estende seleção, Esquerdo: modo visual (Unix)"
|
||||
+47
-69
@@ -3,7 +3,7 @@
|
||||
# russian.nsi: Russian language strings for gvim NSIS installer.
|
||||
#
|
||||
# Locale ID : 1049
|
||||
# Locale name : ru
|
||||
# Locale name : ru-RU
|
||||
# fileencoding : UTF-8
|
||||
# Author : Restorer
|
||||
|
||||
@@ -17,37 +17,25 @@ LangString ^SetupCaption ${LANG_RUSSIAN} \
|
||||
LangString ^UninstallCaption ${LANG_RUSSIAN} \
|
||||
"$(^Name) Uninstall"
|
||||
|
||||
##############################################################################
|
||||
# Translated license file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file ${LANG_RUSSIAN} "..\lang\LICENSE.ru.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# Translated README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file ${LANG_RUSSIAN} "README.ru.txt"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
##############################################################################
|
||||
|
||||
#LangString str_dest_folder ${LANG_RUSSIAN} \
|
||||
# "Маршрут установки программы (должен завершаться каталогом $\"vim$\")"
|
||||
# "Маршрут к каталогу установки (должен оканчиваться каталогом $\"vim$\")"
|
||||
|
||||
LangString str_show_readme ${LANG_RUSSIAN} \
|
||||
" Ознакомиться с кратким описанием программы"
|
||||
"После окончания установки ознакомиться с кратким описанием"
|
||||
|
||||
# Install types:
|
||||
LangString str_type_typical ${LANG_RUSSIAN} \
|
||||
"Стандартный"
|
||||
"Стандартная"
|
||||
|
||||
LangString str_type_minimal ${LANG_RUSSIAN} \
|
||||
"Минимальный"
|
||||
"Минимальная"
|
||||
|
||||
LangString str_type_full ${LANG_RUSSIAN} \
|
||||
"Полный"
|
||||
"Полная"
|
||||
|
||||
|
||||
##############################################################################
|
||||
@@ -62,61 +50,59 @@ LangString str_desc_old_ver ${LANG_RUSSIAN} \
|
||||
LangString str_section_exe ${LANG_RUSSIAN} \
|
||||
"Графический интерфейс и вспомогательные файлы"
|
||||
LangString str_desc_exe ${LANG_RUSSIAN} \
|
||||
"Исполняемые файлы и все необходимые для работы программы файлы. \
|
||||
"Графический интерфейс программы Vim и все необходимые для этого файлы. \
|
||||
Это обязательный компонент"
|
||||
|
||||
LangString str_section_console ${LANG_RUSSIAN} \
|
||||
"Консольная программа Vim"
|
||||
LangString str_desc_console ${LANG_RUSSIAN} \
|
||||
"Вариант редактора Vim (vim.exe), используемый для работы в командной \
|
||||
оболочке"
|
||||
"Вариант редактора Vim (vim.exe), используемый в командной оболочке"
|
||||
|
||||
LangString str_section_batch ${LANG_RUSSIAN} \
|
||||
"Создать командные файлы"
|
||||
LangString str_desc_batch ${LANG_RUSSIAN} \
|
||||
"Создание командных bat-файлов в каталоге Windows для работы с редактором \
|
||||
Vim из командной строки"
|
||||
"Создание командных bat-файлов позволяющих работать с редактором \
|
||||
Vim из командной строки Windows"
|
||||
|
||||
LangString str_group_icons ${LANG_RUSSIAN} \
|
||||
"Создать ярлыки для редактора Vim"
|
||||
LangString str_desc_icons ${LANG_RUSSIAN} \
|
||||
"Создание ярлыков программы для удобного и быстрого запуска редактора Vim"
|
||||
"Создание ярлыков редактора Vim для облегчения запуска программы"
|
||||
|
||||
LangString str_section_desktop ${LANG_RUSSIAN} \
|
||||
"На Рабочем столе"
|
||||
LangString str_desc_desktop ${LANG_RUSSIAN} \
|
||||
"Создание ярлыков редактора Vim на Рабочем столе"
|
||||
"Создание ярлыков программы Gvim на Рабочем столе"
|
||||
|
||||
LangString str_section_start_menu ${LANG_RUSSIAN} \
|
||||
"В меню кнопки Пуск"
|
||||
LangString str_desc_start_menu ${LANG_RUSSIAN} \
|
||||
"Создание ярлыков редактора Vim в меню кнопки Пуск"
|
||||
"Создание ярлыков программы Gvim в меню кнопки Пуск"
|
||||
|
||||
#LangString str_section_quick_launch ${LANG_RUSSIAN} \
|
||||
# "На панели быстрого запуска"
|
||||
#LangString str_desc_quick_launch ${LANG_RUSSIAN} \
|
||||
# "Создание ярлыков редактора Vim на панели быстрого запуска"
|
||||
# "Создание ярлыков программы GVim на панели быстрого запуска"
|
||||
|
||||
LangString str_section_edit_with ${LANG_RUSSIAN} \
|
||||
"Запуск редактора Vim из контекстного меню"
|
||||
"В контекстном меню"
|
||||
LangString str_desc_edit_with ${LANG_RUSSIAN} \
|
||||
"Добавление необходимой строки в пункт контекстного меню \
|
||||
«Открыть с помощью...»"
|
||||
"Добавление вызова программы Gvim в пункт $\"Открыть с помощью...$\" контекстного меню"
|
||||
|
||||
#LangString str_section_edit_with32 ${LANG_RUSSIAN} \
|
||||
# "Для 32-разрядной версии программы"
|
||||
# "32-разрядная версия программы"
|
||||
#LangString str_desc_edit_with32 ${LANG_RUSSIAN} \
|
||||
# "Добавление в пункт контекстного меню \
|
||||
# «Открыть с помощью...» 32-разрядных приложений"
|
||||
# "Добавление вызова программы Gvim в пункт $\"Открыть с помощью...$\" контекстного меню \
|
||||
# для 32-разрядных приложений"
|
||||
|
||||
#LangString str_section_edit_with64 ${LANG_RUSSIAN} \
|
||||
# "Для 64-разрядной версии программы"
|
||||
# "64-разрядная версия программы"
|
||||
#LangString str_desc_edit_with64 ${LANG_RUSSIAN} \
|
||||
# "Добавление в пункт контекстного меню \
|
||||
# «Открыть с помощью...» 64-разрядных приложений"
|
||||
# "Добавление вызова программы Gvim в пункт $\"Открыть с помощью...$\" контекстного меню \
|
||||
# для 64-разрядных приложений"
|
||||
|
||||
LangString str_section_vim_rc ${LANG_RUSSIAN} \
|
||||
"Начальная настройка программы"
|
||||
"Настройки программы по умолчанию"
|
||||
LangString str_desc_vim_rc ${LANG_RUSSIAN} \
|
||||
"Создание файла _vimrc с предустановленными настройками, если нет других \
|
||||
файлов настроек"
|
||||
@@ -124,31 +110,25 @@ LangString str_desc_vim_rc ${LANG_RUSSIAN} \
|
||||
LangString str_group_plugin ${LANG_RUSSIAN} \
|
||||
"Создать каталог для подключаемых модулей"
|
||||
LangString str_desc_plugin ${LANG_RUSSIAN} \
|
||||
"Создание каталога для подключаемых модулей, которые расширяют возможности \
|
||||
редактора Vim"
|
||||
"Создание каталога для размещения подключаемых модулей, которые расширяют \
|
||||
возможности редактора Vim"
|
||||
|
||||
LangString str_section_plugin_home ${LANG_RUSSIAN} \
|
||||
"Личный каталог"
|
||||
LangString str_desc_plugin_home ${LANG_RUSSIAN} \
|
||||
"В домашнем каталоге пользователя. Модули в этом каталоге доступны только \
|
||||
этому пользователю"
|
||||
"Создание каталога для подключаемых модулей в домашнем каталоге пользователя"
|
||||
|
||||
LangString str_section_plugin_vim ${LANG_RUSSIAN} \
|
||||
"Общий каталог"
|
||||
LangString str_desc_plugin_vim ${LANG_RUSSIAN} \
|
||||
"В каталоге установки редактора Vim. Модули в этом каталоге доступны для \
|
||||
всех пользователей"
|
||||
|
||||
#LangString str_section_vis_vim ${LANG_RUSSIAN} \
|
||||
# "Подключаемый модуль VisVim"
|
||||
#LangString str_desc_vis_vim ${LANG_RUSSIAN} \
|
||||
# "Подключаемый модуль VisVim используется для интеграции с \
|
||||
# Microsoft Visual Studio"
|
||||
"Создание каталога для подключаемых модулей в каталоге установки редактора Vim. \
|
||||
Модули в этом каталоге будут доступны для любого пользователя \
|
||||
зарегистрировавшегося в системе"
|
||||
|
||||
LangString str_section_nls ${LANG_RUSSIAN} \
|
||||
"Поддержка региональных языков"
|
||||
LangString str_desc_nls ${LANG_RUSSIAN} \
|
||||
"Установка файлов для работы программе на различных региональных языках"
|
||||
"Установка файлов для поддержки региональных языков операционной системы"
|
||||
|
||||
LangString str_unsection_register ${LANG_RUSSIAN} \
|
||||
"Отменить регистрацию компонентов программы Vim"
|
||||
@@ -178,8 +158,8 @@ LangString str_desc_rm_plugin_vim ${LANG_RUSSIAN} \
|
||||
LangString str_unsection_rootdir ${LANG_RUSSIAN} \
|
||||
"Удалить основной каталог программы Vim"
|
||||
LangString str_desc_rm_rootdir ${LANG_RUSSIAN} \
|
||||
"Удаление основного каталога программы Vim. В этом каталоге находятся \
|
||||
файлы настроек!"
|
||||
"Удаление основного каталога программы Vim. В этом каталоге находятся файлы \
|
||||
настроек!"
|
||||
|
||||
|
||||
##############################################################################
|
||||
@@ -219,11 +199,10 @@ LangString str_desc_rm_rootdir ${LANG_RUSSIAN} \
|
||||
# "Произошёл сбой при выполнении удаления следующих версий программы:"
|
||||
|
||||
#LangString str_msg_no_rm_key ${LANG_RUSSIAN} \
|
||||
# "Не удалось найти раздел реестра, содержащий информацию об удалении \
|
||||
# программы"
|
||||
# "Не удалось найти раздел реестра, содержащий информацию об удалении программы"
|
||||
|
||||
#LangString str_msg_no_rm_reg ${LANG_RUSSIAN} \
|
||||
# "Не удалось найти указанную в реестре программу, которая выполняет удаление"
|
||||
# "Не удалось найти программу выполняющую удаление, указанную в разделе реестра"
|
||||
|
||||
#LangString str_msg_no_rm_exe ${LANG_RUSSIAN} \
|
||||
# "Отсутствуют права на доступ к программе, выполняющей удаление"
|
||||
@@ -240,15 +219,14 @@ LangString str_desc_rm_rootdir ${LANG_RUSSIAN} \
|
||||
LangString str_msg_install_fail ${LANG_RUSSIAN} \
|
||||
"Произошла ошибка при установке программы. Попробуйте повторить установку \
|
||||
немного попозже"
|
||||
# когда Луна будет в другой фазе и ветер должен дуть с юго‐запада
|
||||
# когда луна будет в другой фазе и ветер должен дуть с юго‐запада
|
||||
|
||||
LangString str_msg_rm_exe_fail ${LANG_RUSSIAN} \
|
||||
"Некоторые файлы не были удалены из каталога $0 $\r$\n\
|
||||
Необходимо выполнить их удаление самостоятельно"
|
||||
|
||||
#LangString str_msg_rm_root_fail ${LANG_RUSSIAN} \
|
||||
# "Внимание! В каталоге $\"$vim_install_root$\" содержатся файлы. Удаление \
|
||||
# каталога не выполнено"
|
||||
# "Внимание! В каталоге $\"$vim_install_root$\" содержатся файлы. Удаление каталога не выполнено"
|
||||
|
||||
LangString str_msg_uninstalling ${LANG_RUSSIAN} \
|
||||
"Удаление предыдущих версий программ..."
|
||||
@@ -267,8 +245,7 @@ LangString str_msg_unregistering ${LANG_RUSSIAN} \
|
||||
LangString str_vimrc_page_title ${LANG_RUSSIAN} \
|
||||
"Установка параметров программы"
|
||||
LangString str_vimrc_page_subtitle ${LANG_RUSSIAN} \
|
||||
"Параметры, используемые для клавиатуры, манипулятора «мышь» и \
|
||||
функциональности программы"
|
||||
"Параметры, используемые для клавиатуры, «мыши» и функциональности программы"
|
||||
|
||||
LangString str_msg_compat_title ${LANG_RUSSIAN} \
|
||||
" Варианты использования программы "
|
||||
@@ -279,26 +256,27 @@ LangString str_msg_compat_vi ${LANG_RUSSIAN} \
|
||||
LangString str_msg_compat_vim ${LANG_RUSSIAN} \
|
||||
"Работа в варианте функциональности редактора Vim"
|
||||
LangString str_msg_compat_defaults ${LANG_RUSSIAN} \
|
||||
"Включить некоторые улучшения (из файла defaults.vim)"
|
||||
"Работа редактора Vim с некоторыми улучшениями (файл defaults.vim)"
|
||||
LangString str_msg_compat_all ${LANG_RUSSIAN} \
|
||||
"Включить все улучшения (из файла vimrc_example.vim). Стандартно"
|
||||
"Работа редактора Vim со всеми улучшениями (файл vimrc_example.vim). \
|
||||
Используется по умолчанию"
|
||||
|
||||
LangString str_msg_keymap_title ${LANG_RUSSIAN} \
|
||||
" Клавиатурные команды "
|
||||
LangString str_msg_keymap_desc ${LANG_RUSSIAN} \
|
||||
"Изменение клавиатурных команд CTRL+V, CTRL+C, CTRL+S, CTRL+F и т. п."
|
||||
"Клавиатурные команды используемые в ОС Windows (CTRL+V, CTRL+C, CTRL+S, CTRL+F и т. п.)"
|
||||
LangString str_msg_keymap_default ${LANG_RUSSIAN} \
|
||||
"Без изменения, использовать как принято в редакторе Vim"
|
||||
"Не изменять клавиатурные команды. Использовать принятые в редакторе Vim"
|
||||
LangString str_msg_keymap_windows ${LANG_RUSSIAN} \
|
||||
"Изменить и использовать как принято в ОС Windows"
|
||||
"Изменить указанные клавиатурные команды"
|
||||
|
||||
LangString str_msg_mouse_title ${LANG_RUSSIAN} \
|
||||
" Манипулятор «мышь» "
|
||||
LangString str_msg_mouse_desc ${LANG_RUSSIAN} \
|
||||
"Действия правой и левой кнопки манипулятора «мышь»"
|
||||
"Действий правой и левой кнопки манипулятора «мышь»"
|
||||
LangString str_msg_mouse_default ${LANG_RUSSIAN} \
|
||||
"Правая — всплывающее меню, левая — режим визуальный (Vim)"
|
||||
"Правая кнопка — всплывающее меню, левая кнопка — режим визуальный"
|
||||
LangString str_msg_mouse_windows ${LANG_RUSSIAN} \
|
||||
"Правая — всплывающее меню, левая — режим выборки (Windows)"
|
||||
"Правая кнопка — всплывающее меню, левая кнопка — режим выборки (как в ОС Windows)"
|
||||
LangString str_msg_mouse_unix ${LANG_RUSSIAN} \
|
||||
"Правая — расширение выборки, левая — режим визуальный (UNIX)"
|
||||
"Правая кнопка — расширяемый режим выбора, левая кнопка — режим визуальный (как в UNIX‐подобных ОС)"
|
||||
|
||||
+1
-16
@@ -3,11 +3,10 @@
|
||||
# serbian.nsi: Serbian language strings for gvim NSIS installer.
|
||||
#
|
||||
# Locale ID : 3098
|
||||
# Locale Name : sr
|
||||
# fileencoding : UTF-8
|
||||
# Author : Ivan Pešić
|
||||
|
||||
!insertmacro MUI_LANGUAGE "Serbian"
|
||||
!insertmacro MUI_LANGUAGE "Српски"
|
||||
|
||||
|
||||
# Overwrite the default translation.
|
||||
@@ -17,20 +16,6 @@ LangString ^SetupCaption ${LANG_SERBIAN} \
|
||||
LangString ^UninstallCaption ${LANG_SERBIAN} \
|
||||
"$(^Name) Uninstall"
|
||||
|
||||
##############################################################################
|
||||
# Translated license file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_SERBIAN} "..\lang\LICENSE.sr.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# Translated README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file 0 "README.txt"
|
||||
#LangString vim_readme_file ${LANG_SERBIAN} "README.sr.txt"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
##############################################################################
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
# installer.
|
||||
#
|
||||
# Locale ID : 2052
|
||||
# Locale Name : cn
|
||||
# fileencoding : UTF-8
|
||||
# Author : Guopeng Wen, David Liu
|
||||
|
||||
@@ -18,21 +17,6 @@ LangString ^SetupCaption ${LANG_SIMPCHINESE} \
|
||||
LangString ^UninstallCaption ${LANG_SIMPCHINESE} \
|
||||
"$(^Name) Uninstall"
|
||||
|
||||
##############################################################################
|
||||
# Translated license file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_SIMPCHINESE} \
|
||||
# "..\lang\LICENSE.zh_cn.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# Translated README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file 0 "README.txt"
|
||||
#LangString vim_readme_file ${LANG_SIMPCHINESE} "README.zh_cn.txt"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
##############################################################################
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
# installer.
|
||||
#
|
||||
# Locale ID : 1028
|
||||
# Locale Name : tw
|
||||
# fileencoding : UTF-8
|
||||
# Author : Guopeng Wen
|
||||
|
||||
@@ -18,21 +17,6 @@ LangString ^SetupCaption ${LANG_TRADCHINESE} \
|
||||
LangString ^UninstallCaption ${LANG_TRADCHINESE} \
|
||||
"$(^Name) Uninstall"
|
||||
|
||||
##############################################################################
|
||||
# Translated license file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_TRADCHINESE} \
|
||||
# "..\lang\LICENSE.zh_tw.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# Translated README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file 0 "README.txt"
|
||||
#LangString vim_readme_file ${LANG_TRADCHINESE} "README.zh_tw.txt"
|
||||
|
||||
##############################################################################
|
||||
# MUI Configuration Strings {{{1
|
||||
##############################################################################
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
# vi:set ts=8 sts=4 sw=4 et fdm=marker:
|
||||
#
|
||||
# turkish.nsi: Turkish language strings for gvim NSIS installer.
|
||||
#
|
||||
# Locale ID : 1055
|
||||
# Locale Name : tr
|
||||
# fileencoding : UTF-8
|
||||
# Author : Emir SARI
|
||||
|
||||
@@ -16,22 +11,6 @@ LangString ^SetupCaption ${LANG_TURKISH} \
|
||||
LangString ^UninstallCaption ${LANG_TURKISH} \
|
||||
"$(^Name) Uninstall"
|
||||
|
||||
##############################################################################
|
||||
# Translated license file for the license page {{{1
|
||||
##############################################################################
|
||||
|
||||
LicenseLangString page_lic_file 0 "..\lang\LICENSE.nsis.txt"
|
||||
#LicenseLangString page_lic_file ${LANG_TURKISH} "..\lang\LICENSE.tr.nsis.txt"
|
||||
|
||||
##############################################################################
|
||||
# Translated README.txt file, which is opened after installation {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString vim_readme_file 0 "README.txt"
|
||||
#LangString vim_readme_file ${LANG_TURKISH} "README.tr.txt"
|
||||
|
||||
##############################################################################
|
||||
|
||||
LangString str_show_readme ${LANG_TURKISH} \
|
||||
"Kurulum bittikten sonra README dosyasını aç"
|
||||
|
||||
|
||||
@@ -1,149 +0,0 @@
|
||||
" Last Modified: 2023-09-11
|
||||
|
||||
function! cargo#Load()
|
||||
" Utility call to get this script loaded, for debugging
|
||||
endfunction
|
||||
|
||||
function! cargo#cmd(args) abort
|
||||
" Trim trailing spaces. This is necessary since :terminal command parses
|
||||
" trailing spaces as an empty argument.
|
||||
let args = substitute(a:args, '\s\+$', '', '')
|
||||
if exists('g:cargo_shell_command_runner')
|
||||
let cmd = g:cargo_shell_command_runner
|
||||
elseif has('terminal')
|
||||
let cmd = 'terminal'
|
||||
elseif has('nvim')
|
||||
let cmd = 'noautocmd new | terminal'
|
||||
else
|
||||
let cmd = '!'
|
||||
endif
|
||||
execute cmd 'cargo' args
|
||||
endfunction
|
||||
|
||||
function! s:nearest_cargo(...) abort
|
||||
" If the second argument is not specified, the first argument determines
|
||||
" whether we will start from the current directory or the directory of the
|
||||
" current buffer, otherwise, we start with the provided path on the
|
||||
" second argument.
|
||||
|
||||
let l:is_getcwd = get(a:, 1, 0)
|
||||
if l:is_getcwd
|
||||
let l:starting_path = get(a:, 2, getcwd())
|
||||
else
|
||||
let l:starting_path = get(a:, 2, expand('%:p:h'))
|
||||
endif
|
||||
|
||||
return findfile('Cargo.toml', l:starting_path . ';')
|
||||
endfunction
|
||||
|
||||
function! cargo#nearestCargo(is_getcwd) abort
|
||||
return s:nearest_cargo(a:is_getcwd)
|
||||
endfunction
|
||||
|
||||
function! cargo#nearestWorkspaceCargo(is_getcwd) abort
|
||||
let l:nearest = s:nearest_cargo(a:is_getcwd)
|
||||
while l:nearest !=# ''
|
||||
for l:line in readfile(l:nearest, '', 0x100)
|
||||
if l:line =~# '\V[workspace]'
|
||||
return l:nearest
|
||||
endif
|
||||
endfor
|
||||
let l:next = fnamemodify(l:nearest, ':p:h:h')
|
||||
let l:nearest = s:nearest_cargo(0, l:next)
|
||||
endwhile
|
||||
return ''
|
||||
endfunction
|
||||
|
||||
function! cargo#nearestRootCargo(is_getcwd) abort
|
||||
" Try to find a workspace Cargo.toml, and if not found, take the nearest
|
||||
" regular Cargo.toml
|
||||
let l:workspace_cargo = cargo#nearestWorkspaceCargo(a:is_getcwd)
|
||||
if l:workspace_cargo !=# ''
|
||||
return l:workspace_cargo
|
||||
endif
|
||||
return s:nearest_cargo(a:is_getcwd)
|
||||
endfunction
|
||||
|
||||
|
||||
function! cargo#build(args)
|
||||
call cargo#cmd("build " . a:args)
|
||||
endfunction
|
||||
|
||||
function! cargo#check(args)
|
||||
call cargo#cmd("check " . a:args)
|
||||
endfunction
|
||||
|
||||
function! cargo#clean(args)
|
||||
call cargo#cmd("clean " . a:args)
|
||||
endfunction
|
||||
|
||||
function! cargo#doc(args)
|
||||
call cargo#cmd("doc " . a:args)
|
||||
endfunction
|
||||
|
||||
function! cargo#new(args)
|
||||
call cargo#cmd("new " . a:args)
|
||||
cd `=a:args`
|
||||
endfunction
|
||||
|
||||
function! cargo#init(args)
|
||||
call cargo#cmd("init " . a:args)
|
||||
endfunction
|
||||
|
||||
function! cargo#run(args)
|
||||
call cargo#cmd("run " . a:args)
|
||||
endfunction
|
||||
|
||||
function! cargo#test(args)
|
||||
call cargo#cmd("test " . a:args)
|
||||
endfunction
|
||||
|
||||
function! cargo#bench(args)
|
||||
call cargo#cmd("bench " . a:args)
|
||||
endfunction
|
||||
|
||||
function! cargo#update(args)
|
||||
call cargo#cmd("update " . a:args)
|
||||
endfunction
|
||||
|
||||
function! cargo#search(args)
|
||||
call cargo#cmd("search " . a:args)
|
||||
endfunction
|
||||
|
||||
function! cargo#publish(args)
|
||||
call cargo#cmd("publish " . a:args)
|
||||
endfunction
|
||||
|
||||
function! cargo#install(args)
|
||||
call cargo#cmd("install " . a:args)
|
||||
endfunction
|
||||
|
||||
function! cargo#runtarget(args)
|
||||
let l:filename = expand('%:p')
|
||||
let l:read_manifest = system('cargo read-manifest')
|
||||
let l:metadata = json_decode(l:read_manifest)
|
||||
let l:targets = get(l:metadata, 'targets', [])
|
||||
let l:did_run = 0
|
||||
for l:target in l:targets
|
||||
let l:src_path = get(l:target, 'src_path', '')
|
||||
let l:kinds = get(l:target, 'kind', [])
|
||||
let l:name = get(l:target, 'name', '')
|
||||
if l:src_path == l:filename
|
||||
if index(l:kinds, 'example') != -1
|
||||
let l:did_run = 1
|
||||
call cargo#run("--example " . shellescape(l:name) . " " . a:args)
|
||||
return
|
||||
elseif index(l:kinds, 'bin') != -1
|
||||
let l:did_run = 1
|
||||
call cargo#run("--bin " . shellescape(l:name) . " " . a:args)
|
||||
return
|
||||
endif
|
||||
endif
|
||||
endfor
|
||||
if l:did_run != 1
|
||||
call cargo#run(a:args)
|
||||
return
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" vim: set et sw=4 sts=4 ts=8:
|
||||
@@ -1,29 +0,0 @@
|
||||
" Last Modified: 2023-09-11
|
||||
|
||||
function! cargo#quickfix#CmdPre() abort
|
||||
if &filetype ==# 'rust' && get(b:, 'current_compiler', '') ==# 'cargo' &&
|
||||
\ &makeprg =~ '\V\^cargo\ \.\*'
|
||||
" Preserve the current directory, and 'lcd' to the nearest Cargo file.
|
||||
let b:rust_compiler_cargo_qf_has_lcd = haslocaldir()
|
||||
let b:rust_compiler_cargo_qf_prev_cd = getcwd()
|
||||
let b:rust_compiler_cargo_qf_prev_cd_saved = 1
|
||||
let l:nearest = fnamemodify(cargo#nearestRootCargo(0), ':h')
|
||||
execute 'lchdir! '.l:nearest
|
||||
else
|
||||
let b:rust_compiler_cargo_qf_prev_cd_saved = 0
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! cargo#quickfix#CmdPost() abort
|
||||
if exists("b:rust_compiler_cargo_qf_prev_cd_saved") && b:rust_compiler_cargo_qf_prev_cd_saved
|
||||
" Restore the current directory.
|
||||
if b:rust_compiler_cargo_qf_has_lcd
|
||||
execute 'lchdir! '.b:rust_compiler_cargo_qf_prev_cd
|
||||
else
|
||||
execute 'chdir! '.b:rust_compiler_cargo_qf_prev_cd
|
||||
endif
|
||||
let b:rust_compiler_cargo_qf_prev_cd_saved = 0
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" vim: set et sw=4 sts=4 ts=8:
|
||||
@@ -1,11 +1,10 @@
|
||||
vim9script noclear
|
||||
|
||||
# Vim completion script
|
||||
# Language: C
|
||||
# Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
# Last Change: 2024 Jun 06
|
||||
# Language: C
|
||||
# Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
# Rewritten in Vim9 script by github user lacygoill
|
||||
# Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
# Last Change: 2022 Jan 31
|
||||
|
||||
var prepended: string
|
||||
var grepCache: dict<list<dict<any>>>
|
||||
@@ -210,7 +209,7 @@ export def Complete(findstart: bool, abase: string): any # {{{1
|
||||
# Find the variable in the tags file(s)
|
||||
var diclist: list<dict<any>> = taglist('^' .. items[0] .. '$')
|
||||
# Remove members, these can't appear without something in front.
|
||||
->filter((_, v: dict<any>): bool =>
|
||||
->filter((_, v: dict<string>): bool =>
|
||||
v->has_key('kind') ? v.kind != 'm' : true)
|
||||
|
||||
res = []
|
||||
|
||||
@@ -3,7 +3,7 @@ vim9script
|
||||
# Language: ConTeXt typesetting engine
|
||||
# Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
# Former Maintainers: Nikolai Weibull <now@bitwi.se>
|
||||
# Latest Revision: 2023 Dec 26
|
||||
# Latest Revision: 2022 Sep 19
|
||||
|
||||
# Typesetting {{{
|
||||
import autoload './typeset.vim'
|
||||
|
||||
Vendored
+92
-531
@@ -2,19 +2,14 @@ vim9script
|
||||
|
||||
# Vim functions for file type detection
|
||||
#
|
||||
# Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
# Last Change: 2025 Jul 09
|
||||
# Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
# Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
# Last Change: 2022 Dec 14
|
||||
|
||||
# These functions are moved here from runtime/filetype.vim to make startup
|
||||
# faster.
|
||||
|
||||
var prolog_pattern = '^\s*\(:-\|%\+\(\s\|$\)\|\/\*\)\|\.\s*$'
|
||||
|
||||
export def Check_inp()
|
||||
if getline(1) =~ '%%'
|
||||
setf tex
|
||||
elseif getline(1) =~ '^\*'
|
||||
if getline(1) =~ '^\*'
|
||||
setf abaqus
|
||||
else
|
||||
var n = 1
|
||||
@@ -30,7 +25,7 @@ export def Check_inp()
|
||||
enddef
|
||||
|
||||
# This function checks for the kind of assembly that is wanted by the user, or
|
||||
# can be detected from the beginning of the file.
|
||||
# can be detected from the first five lines of the file.
|
||||
export def FTasm()
|
||||
# make sure b:asmsyntax exists
|
||||
if !exists("b:asmsyntax")
|
||||
@@ -61,33 +56,12 @@ export def FTasmsyntax()
|
||||
var match = matchstr(head, '\sasmsyntax=\zs[a-zA-Z0-9]\+\ze\s')
|
||||
if match != ''
|
||||
b:asmsyntax = match
|
||||
return
|
||||
elseif ((head =~? '\.title') || (head =~? '\.ident') || (head =~? '\.macro') || (head =~? '\.subtitle') || (head =~? '\.library'))
|
||||
b:asmsyntax = "vmasm"
|
||||
endif
|
||||
# Use heuristics
|
||||
var is_slash_star_encountered = false
|
||||
var i = 1
|
||||
const n = min([50, line("$")])
|
||||
while i <= n
|
||||
const line = getline(i)
|
||||
if line =~ '^/\*'
|
||||
is_slash_star_encountered = true
|
||||
endif
|
||||
if line =~# '^; Listing generated by Microsoft' || line =~? '^\%(\%(CONST\|_BSS\|_DATA\|_TEXT\)\s\+SEGMENT\>\)\|\s*\.[2-6]86P\?\>\|\s*\.XMM\>'
|
||||
b:asmsyntax = "masm"
|
||||
return
|
||||
elseif line =~ 'Texas Instruments Incorporated' || (line =~ '^\*' && !is_slash_star_encountered)
|
||||
# tiasm uses `* commment`, but detection is unreliable if '/*' is seen
|
||||
b:asmsyntax = "tiasm"
|
||||
return
|
||||
elseif ((line =~? '\.title\>\|\.ident\>\|\.macro\>\|\.subtitle\>\|\.library\>'))
|
||||
b:asmsyntax = "vmasm"
|
||||
return
|
||||
endif
|
||||
i += 1
|
||||
endwhile
|
||||
enddef
|
||||
|
||||
var ft_visual_basic_content = '\c^\s*\%(Attribute\s\+VB_Name\|Begin\s\+\%(VB\.\|{\%(\x\+-\)\+\x\+}\)\)'
|
||||
var ft_visual_basic_content = '\cVB_Name\|Begin VB\.\(Form\|MDIForm\|UserControl\)'
|
||||
|
||||
# See FTfrm() for Visual Basic form file detection
|
||||
export def FTbas()
|
||||
@@ -165,56 +139,23 @@ export def FTcfg()
|
||||
endif
|
||||
enddef
|
||||
|
||||
export def FTcl()
|
||||
if join(getline(1, 4), '') =~ '/\*'
|
||||
setf opencl
|
||||
else
|
||||
setf lisp
|
||||
endif
|
||||
enddef
|
||||
|
||||
export def FTcls()
|
||||
if exists("g:filetype_cls")
|
||||
exe "setf " .. g:filetype_cls
|
||||
return
|
||||
endif
|
||||
|
||||
var line1 = getline(1)
|
||||
if line1 =~ '^#!.*\<\%(rexx\|regina\)\>'
|
||||
setf rexx
|
||||
return
|
||||
elseif line1 == 'VERSION 1.0 CLASS'
|
||||
setf vb
|
||||
return
|
||||
endif
|
||||
|
||||
var nonblank1 = getline(nextnonblank(1))
|
||||
if nonblank1 =~ '^\v%(\%|\\)'
|
||||
if getline(1) =~ '^\v%(\%|\\)'
|
||||
setf tex
|
||||
elseif nonblank1 =~ '^\s*\%(/\*\|::\w\)'
|
||||
elseif getline(1)[0] == '#' && getline(1) =~ 'rexx'
|
||||
setf rexx
|
||||
elseif getline(1) == 'VERSION 1.0 CLASS'
|
||||
setf vb
|
||||
else
|
||||
setf st
|
||||
endif
|
||||
enddef
|
||||
|
||||
export def FTll()
|
||||
if getline(1) =~ ';\|\<source_filename\>\|\<target\>'
|
||||
setf llvm
|
||||
return
|
||||
endif
|
||||
var n = 1
|
||||
while n < 100 && n <= line("$")
|
||||
var line = getline(n)
|
||||
if line =~ '^\s*%'
|
||||
setf lex
|
||||
return
|
||||
endif
|
||||
n += 1
|
||||
endwhile
|
||||
setf lifelines
|
||||
enddef
|
||||
|
||||
export def FTlpc()
|
||||
if exists("g:lpc_syntax_for_c")
|
||||
var lnum = 1
|
||||
@@ -229,36 +170,19 @@ export def FTlpc()
|
||||
setf c
|
||||
enddef
|
||||
|
||||
# Searches within the first `maxlines` lines of the file for distinctive
|
||||
# Objective-C or C++ syntax and returns the appropriate filetype. Returns a
|
||||
# null_string if the search was inconclusive.
|
||||
def CheckObjCOrCpp(maxlines = 100): string
|
||||
var n = 1
|
||||
while n < maxlines && n <= line('$')
|
||||
const line = getline(n)
|
||||
if line =~ '\v^\s*\@%(class|interface|end)>'
|
||||
return 'objcpp'
|
||||
elseif line =~ '\v^\s*%(class|namespace|template|using)>'
|
||||
return 'cpp'
|
||||
endif
|
||||
++n
|
||||
endwhile
|
||||
return null_string
|
||||
enddef
|
||||
|
||||
# Determines whether a *.h file is C, C++, Ch, or Objective-C/Objective-C++.
|
||||
export def FTheader()
|
||||
if exists('g:filetype_h')
|
||||
execute $'setf {g:filetype_h}'
|
||||
elseif exists('g:c_syntax_for_h')
|
||||
if match(getline(1, min([line("$"), 200])), '^@\(interface\|end\|class\)') > -1
|
||||
if exists("g:c_syntax_for_h")
|
||||
setf objc
|
||||
else
|
||||
setf objcpp
|
||||
endif
|
||||
elseif exists("g:c_syntax_for_h")
|
||||
setf c
|
||||
elseif exists('g:ch_syntax_for_h')
|
||||
elseif exists("g:ch_syntax_for_h")
|
||||
setf ch
|
||||
else
|
||||
# Search the first 100 lines of the file for distinctive Objective-C or C++
|
||||
# syntax and set the filetype accordingly. Otherwise, use C as the default
|
||||
# filetype.
|
||||
execute $'setf {CheckObjCOrCpp() ?? 'c'}'
|
||||
setf cpp
|
||||
endif
|
||||
enddef
|
||||
|
||||
@@ -346,23 +270,6 @@ export def DtraceCheck()
|
||||
endif
|
||||
enddef
|
||||
|
||||
export def FTdef()
|
||||
# LaTeX def files are usually generated by docstrip, which will output '%%' in first line
|
||||
if getline(1) =~ '%%'
|
||||
setf tex
|
||||
endif
|
||||
if get(g:, "filetype_def", "") == "modula2" || IsModula2()
|
||||
SetFiletypeModula2()
|
||||
return
|
||||
endif
|
||||
|
||||
if exists("g:filetype_def")
|
||||
exe "setf " .. g:filetype_def
|
||||
else
|
||||
setf def
|
||||
endif
|
||||
enddef
|
||||
|
||||
export def FTe()
|
||||
if exists('g:filetype_euphoria')
|
||||
exe 'setf ' .. g:filetype_euphoria
|
||||
@@ -379,48 +286,12 @@ export def FTe()
|
||||
endif
|
||||
enddef
|
||||
|
||||
def IsForth(): bool
|
||||
var first_line = nextnonblank(1)
|
||||
|
||||
# SwiftForth block comment (line is usually filled with '-' or '=') or
|
||||
# OPTIONAL (sometimes precedes the header comment)
|
||||
if getline(first_line) =~? '^\%({\%(\s\|$\)\|OPTIONAL\s\)'
|
||||
return true
|
||||
endif
|
||||
|
||||
var n = first_line
|
||||
while n < 100 && n <= line("$")
|
||||
# Forth comments and colon definitions
|
||||
if getline(n) =~ '^[:(\\] '
|
||||
return true
|
||||
endif
|
||||
n += 1
|
||||
endwhile
|
||||
return false
|
||||
enddef
|
||||
|
||||
# Distinguish between Forth and Fortran
|
||||
export def FTf()
|
||||
if exists("g:filetype_f")
|
||||
exe "setf " .. g:filetype_f
|
||||
elseif IsForth()
|
||||
setf forth
|
||||
else
|
||||
setf fortran
|
||||
endif
|
||||
enddef
|
||||
|
||||
export def FTfrm()
|
||||
if exists("g:filetype_frm")
|
||||
exe "setf " .. g:filetype_frm
|
||||
return
|
||||
endif
|
||||
|
||||
if getline(1) == "VERSION 5.00"
|
||||
setf vb
|
||||
return
|
||||
endif
|
||||
|
||||
var lines = getline(1, min([line("$"), 5]))
|
||||
|
||||
if match(lines, ft_visual_basic_content) > -1
|
||||
@@ -430,75 +301,35 @@ export def FTfrm()
|
||||
endif
|
||||
enddef
|
||||
|
||||
# Distinguish between Forth and F#
|
||||
# Distinguish between Forth and F#.
|
||||
# Provided by Doug Kearns.
|
||||
export def FTfs()
|
||||
if exists("g:filetype_fs")
|
||||
exe "setf " .. g:filetype_fs
|
||||
elseif IsForth()
|
||||
setf forth
|
||||
else
|
||||
setf fsharp
|
||||
endif
|
||||
enddef
|
||||
|
||||
# Recursively search for Hare source files in a directory and any
|
||||
# subdirectories, up to a given depth.
|
||||
def IsHareModule(dir: string, depth: number): bool
|
||||
if depth <= 0
|
||||
return !empty(glob(dir .. '/*.ha'))
|
||||
endif
|
||||
|
||||
return reduce(sort(glob(dir .. '/*', true, true),
|
||||
(a, b) => isdirectory(a) - isdirectory(b)),
|
||||
(acc, n) => acc
|
||||
|| n =~ '\.ha$'
|
||||
|| isdirectory(n)
|
||||
&& IsHareModule(n, depth - 1),
|
||||
false)
|
||||
enddef
|
||||
|
||||
# Determine if a README file exists within a Hare module and should be given the
|
||||
# Haredoc filetype.
|
||||
export def FTharedoc()
|
||||
if exists('g:filetype_haredoc')
|
||||
if IsHareModule('<afile>:h', get(g:, 'haredoc_search_depth', 1))
|
||||
setf haredoc
|
||||
var line = getline(nextnonblank(1))
|
||||
# comments and colon definitions
|
||||
if line =~ '^\s*\.\=( ' || line =~ '^\s*\\G\= ' || line =~ '^\\$'
|
||||
\ || line =~ '^\s*: \S'
|
||||
setf forth
|
||||
else
|
||||
setf fsharp
|
||||
endif
|
||||
endif
|
||||
enddef
|
||||
|
||||
# Distinguish between HTML, XHTML, Django and Angular
|
||||
# Distinguish between HTML, XHTML and Django
|
||||
export def FThtml()
|
||||
var n = 1
|
||||
|
||||
# Test if the filename follows the Angular component template convention
|
||||
# Disabled for the reasons mentioned here: #13594
|
||||
# if expand('%:t') =~ '^.*\.component\.html$'
|
||||
# setf htmlangular
|
||||
# return
|
||||
# endif
|
||||
|
||||
while n < 40 && n <= line("$")
|
||||
# Check for Angular
|
||||
if getline(n) =~ '@\(if\|for\|defer\|switch\)\|\*\(ngIf\|ngFor\|ngSwitch\|ngTemplateOutlet\)\|ng-template\|ng-content'
|
||||
setf htmlangular
|
||||
return
|
||||
endif
|
||||
# Check for XHTML
|
||||
while n < 10 && n <= line("$")
|
||||
if getline(n) =~ '\<DTD\s\+XHTML\s'
|
||||
setf xhtml
|
||||
return
|
||||
endif
|
||||
# Check for Django
|
||||
if getline(n) =~ '{%\s*\(autoescape\|block\|comment\|csrf_token\|cycle\|debug\|extends\|filter\|firstof\|for\|if\|ifchanged\|include\|load\|lorem\|now\|query_string\|regroup\|resetcycle\|spaceless\|templatetag\|url\|verbatim\|widthratio\|with\)\>\|{#\s\+'
|
||||
if getline(n) =~ '{%\s*\(extends\|block\|load\)\>\|{#\s\+'
|
||||
setf htmldjango
|
||||
return
|
||||
endif
|
||||
# Check for SuperHTML
|
||||
if getline(n) =~ '<extend\|<super>'
|
||||
setf superhtml
|
||||
return
|
||||
endif
|
||||
n += 1
|
||||
endwhile
|
||||
setf FALLBACK html
|
||||
@@ -517,24 +348,20 @@ export def FTidl()
|
||||
setf idl
|
||||
enddef
|
||||
|
||||
# Distinguish between "default", Prolog, zsh module's C and Cproto prototype file.
|
||||
# Distinguish between "default", Prolog and Cproto prototype file.
|
||||
export def ProtoCheck(default: string)
|
||||
# zsh modules use '#include "*.pro"'
|
||||
# https://github.com/zsh-users/zsh/blob/63f086d167960a27ecdbcb762179e2c2bf8a29f5/Src/Modules/example.c#L31
|
||||
if getline(1) =~ '/* Generated automatically */'
|
||||
setf c
|
||||
# Cproto files have a comment in the first line and a function prototype in
|
||||
# the second line, it always ends in ";". Indent files may also have
|
||||
# comments, thus we can't match comments to see the difference.
|
||||
# IDL files can have a single ';' in the second line, require at least one
|
||||
# chacter before the ';'.
|
||||
elseif getline(2) =~ '.;$'
|
||||
if getline(2) =~ '.;$'
|
||||
setf cpp
|
||||
else
|
||||
# recognize Prolog by specific text in the first non-empty line
|
||||
# require a blank after the '%' because Perl uses "%list" and "%translate"
|
||||
var lnum = getline(nextnonblank(1))
|
||||
if lnum =~ '\<prolog\>' || lnum =~ prolog_pattern
|
||||
var l = getline(nextnonblank(1))
|
||||
if l =~ '\<prolog\>' || l =~ '^\s*\(%\+\(\s\|$\)\|/\*\)' || l =~ ':-'
|
||||
setf prolog
|
||||
else
|
||||
exe 'setf ' .. default
|
||||
@@ -599,55 +426,6 @@ export def FTm()
|
||||
endif
|
||||
enddef
|
||||
|
||||
export def FTmake()
|
||||
# Check if it is a BSD, GNU, or Microsoft Makefile
|
||||
unlet! b:make_flavor
|
||||
|
||||
# 1. filename
|
||||
if expand('%:t') == 'BSDmakefile'
|
||||
b:make_flavor = 'bsd'
|
||||
setf make
|
||||
return
|
||||
elseif expand('%:t') == 'GNUmakefile'
|
||||
b:make_flavor = 'gnu'
|
||||
setf make
|
||||
return
|
||||
endif
|
||||
|
||||
# 2. user's setting
|
||||
if exists('g:make_flavor')
|
||||
b:make_flavor = g:make_flavor
|
||||
setf make
|
||||
return
|
||||
elseif get(g:, 'make_microsoft')
|
||||
echom "make_microsoft is deprecated; try g:make_flavor = 'microsoft' instead"
|
||||
b:make_flavor = 'microsoft'
|
||||
setf make
|
||||
return
|
||||
endif
|
||||
|
||||
# 3. try to detect a flavor from file content
|
||||
var n = 1
|
||||
while n < 1000 && n <= line('$')
|
||||
var line = getline(n)
|
||||
if line =~? '^\s*!\s*\(ifn\=\(def\)\=\|include\|message\|error\)\>'
|
||||
b:make_flavor = 'microsoft'
|
||||
break
|
||||
elseif line =~ '^\.\%(export\|error\|for\|if\%(n\=\%(def\|make\)\)\=\|info\|warning\)\>'
|
||||
b:make_flavor = 'bsd'
|
||||
break
|
||||
elseif line =~ '^ *\%(ifn\=\%(eq\|def\)\|define\|override\)\>'
|
||||
b:make_flavor = 'gnu'
|
||||
break
|
||||
elseif line =~ '\$[({][a-z-]\+\s\+\S\+' # a function call, e.g. $(shell pwd)
|
||||
b:make_flavor = 'gnu'
|
||||
break
|
||||
endif
|
||||
n += 1
|
||||
endwhile
|
||||
setf make
|
||||
enddef
|
||||
|
||||
export def FTmms()
|
||||
var n = 1
|
||||
while n < 20
|
||||
@@ -665,19 +443,14 @@ export def FTmms()
|
||||
setf mmix
|
||||
enddef
|
||||
|
||||
# This function checks if one of the first five lines start with a typical
|
||||
# nroff pattern in man files. In that case it is probably an nroff file:
|
||||
# 'filetype' is set and 1 is returned.
|
||||
# This function checks if one of the first five lines start with a dot. In
|
||||
# that case it is probably an nroff file: 'filetype' is set and 1 is returned.
|
||||
export def FTnroff(): number
|
||||
var n = 1
|
||||
while n <= 5
|
||||
var line = getline(n)
|
||||
if line =~ '^\%([.'']\s*\%(TH\|D[dt]\|S[Hh]\|d[es]1\?\|so\)\s\+\S\|[.'']\s*ig\>\|\%([.'']\s*\)\?\\"\)'
|
||||
setf nroff
|
||||
return 1
|
||||
endif
|
||||
n += 1
|
||||
endwhile
|
||||
if getline(1)[0] .. getline(2)[0] .. getline(3)[0]
|
||||
.. getline(4)[0] .. getline(5)[0] =~ '\.'
|
||||
setf nroff
|
||||
return 1
|
||||
endif
|
||||
return 0
|
||||
enddef
|
||||
|
||||
@@ -695,65 +468,28 @@ enddef
|
||||
|
||||
# Returns true if file content looks like LambdaProlog module
|
||||
def IsLProlog(): bool
|
||||
# skip apparent comments and blank lines, what looks like
|
||||
# skip apparent comments and blank lines, what looks like
|
||||
# LambdaProlog comment may be RAPID header
|
||||
var lnum: number = nextnonblank(1)
|
||||
while lnum > 0 && lnum < line('$') && getline(lnum) =~ '^\s*%' # LambdaProlog comment
|
||||
lnum = nextnonblank(lnum + 1)
|
||||
var l: number = nextnonblank(1)
|
||||
while l > 0 && l < line('$') && getline(l) =~ '^\s*%' # LambdaProlog comment
|
||||
l = nextnonblank(l + 1)
|
||||
endwhile
|
||||
# this pattern must not catch a go.mod file
|
||||
return getline(lnum) =~ '\<module\s\+\w\+\s*\.\s*\(%\|$\)'
|
||||
enddef
|
||||
|
||||
def IsModula2(): bool
|
||||
return getline(nextnonblank(1)) =~ '\<MODULE\s\+\w\+\s*\%(\[.*]\s*\)\=;\|^\s*(\*'
|
||||
enddef
|
||||
|
||||
def SetFiletypeModula2()
|
||||
const KNOWN_DIALECTS = ["iso", "pim", "r10"]
|
||||
const KNOWN_EXTENSIONS = ["gm2"]
|
||||
const LINE_COUNT = 200
|
||||
const TAG = '(\*!m2\(\w\+\)\%(+\(\w\+\)\)\=\*)'
|
||||
|
||||
var dialect = get(g:, "modula2_default_dialect", "pim")
|
||||
var extension = get(g:, "modula2_default_extension", "")
|
||||
|
||||
var matches = []
|
||||
|
||||
# ignore unknown dialects or badly formatted tags
|
||||
for lnum in range(1, min([line("$"), LINE_COUNT]))
|
||||
matches = matchlist(getline(lnum), TAG)
|
||||
if !empty(matches)
|
||||
if index(KNOWN_DIALECTS, matches[1]) >= 0
|
||||
dialect = matches[1]
|
||||
endif
|
||||
if index(KNOWN_EXTENSIONS, matches[2]) >= 0
|
||||
extension = matches[2]
|
||||
endif
|
||||
break
|
||||
endif
|
||||
endfor
|
||||
|
||||
modula2#SetDialect(dialect, extension)
|
||||
|
||||
setf modula2
|
||||
return getline(l) =~ '\<module\s\+\w\+\s*\.\s*\(%\|$\)'
|
||||
enddef
|
||||
|
||||
# Determine if *.mod is ABB RAPID, LambdaProlog, Modula-2, Modsim III or go.mod
|
||||
export def FTmod()
|
||||
if get(g:, "filetype_mod", "") == "modula2" || IsModula2()
|
||||
SetFiletypeModula2()
|
||||
return
|
||||
endif
|
||||
|
||||
if exists("g:filetype_mod")
|
||||
exe "setf " .. g:filetype_mod
|
||||
elseif expand("<afile>") =~ '\<go.mod$'
|
||||
setf gomod
|
||||
elseif IsLProlog()
|
||||
setf lprolog
|
||||
elseif getline(nextnonblank(1)) =~ '\%(\<MODULE\s\+\w\+\s*;\|^\s*(\*\)'
|
||||
setf modula2
|
||||
elseif IsRapid()
|
||||
setf rapid
|
||||
elseif expand("<afile>") =~ '\<go.mod$'
|
||||
setf gomod
|
||||
else
|
||||
# Nothing recognized, assume modsim3
|
||||
setf modsim3
|
||||
@@ -766,8 +502,8 @@ export def FTpl()
|
||||
else
|
||||
# recognize Prolog by specific text in the first non-empty line
|
||||
# require a blank after the '%' because Perl uses "%list" and "%translate"
|
||||
var line = getline(nextnonblank(1))
|
||||
if line =~ '\<prolog\>' || line =~ prolog_pattern
|
||||
var l = getline(nextnonblank(1))
|
||||
if l =~ '\<prolog\>' || l =~ '^\s*\(%\+\(\s\|$\)\|/\*\)' || l =~ ':-'
|
||||
setf prolog
|
||||
else
|
||||
setf perl
|
||||
@@ -815,27 +551,23 @@ export def FTprogress_cweb()
|
||||
endif
|
||||
enddef
|
||||
|
||||
# These include the leading '%' sign
|
||||
var ft_swig_keywords = '^\s*%\%(addmethods\|apply\|beginfile\|clear\|constant\|define\|echo\|enddef\|endoffile\|extend\|feature\|fragment\|ignore\|import\|importfile\|include\|includefile\|inline\|insert\|keyword\|module\|name\|namewarn\|native\|newobject\|parms\|pragma\|rename\|template\|typedef\|typemap\|types\|varargs\|warn\)'
|
||||
# This is the start/end of a block that is copied literally to the processor file (C/C++)
|
||||
var ft_swig_verbatim_block_start = '^\s*%{'
|
||||
|
||||
export def FTi()
|
||||
export def FTprogress_asm()
|
||||
if exists("g:filetype_i")
|
||||
exe "setf " .. g:filetype_i
|
||||
return
|
||||
endif
|
||||
# This function checks for an assembly comment or a SWIG keyword or verbatim block in the first 50 lines.
|
||||
# This function checks for an assembly comment the first ten lines.
|
||||
# If not found, assume Progress.
|
||||
var lnum = 1
|
||||
while lnum <= 50 && lnum < line('$')
|
||||
while lnum <= 10 && lnum < line('$')
|
||||
var line = getline(lnum)
|
||||
if line =~ '^\s*;' || line =~ '^\*'
|
||||
FTasm()
|
||||
return
|
||||
elseif line =~ ft_swig_keywords || line =~ ft_swig_verbatim_block_start
|
||||
setf swig
|
||||
return
|
||||
elseif line !~ '^\s*$' || line =~ '^/\*'
|
||||
# Not an empty line: Doesn't look like valid assembly code.
|
||||
# Or it looks like a Progress /* comment
|
||||
break
|
||||
endif
|
||||
lnum += 1
|
||||
endwhile
|
||||
@@ -944,25 +676,27 @@ export def McSetf()
|
||||
enddef
|
||||
|
||||
# Called from filetype.vim and scripts.vim.
|
||||
# When "setft" is passed and false then the 'filetype' option is not set.
|
||||
export def SetFileTypeSH(name: string, setft = true): string
|
||||
if setft && did_filetype()
|
||||
export def SetFileTypeSH(name: string)
|
||||
if did_filetype()
|
||||
# Filetype was already detected
|
||||
return ''
|
||||
return
|
||||
endif
|
||||
if setft && expand("<amatch>") =~ g:ft_ignore_pat
|
||||
return ''
|
||||
if expand("<amatch>") =~ g:ft_ignore_pat
|
||||
return
|
||||
endif
|
||||
if name =~ '^csh$' || name =~ '^#!.\{-2,}\<csh\>'
|
||||
if name =~ '\<csh\>'
|
||||
# Some .sh scripts contain #!/bin/csh.
|
||||
return SetFileTypeShell("csh", setft)
|
||||
elseif name =~ '^tcsh$' || name =~ '^#!.\{-2,}\<tcsh\>'
|
||||
SetFileTypeShell("csh")
|
||||
return
|
||||
elseif name =~ '\<tcsh\>'
|
||||
# Some .sh scripts contain #!/bin/tcsh.
|
||||
return SetFileTypeShell("tcsh", setft)
|
||||
elseif name =~ '^zsh$' || name =~ '^#!.\{-2,}\<zsh\>'
|
||||
SetFileTypeShell("tcsh")
|
||||
return
|
||||
elseif name =~ '\<zsh\>'
|
||||
# Some .sh scripts contain #!/bin/zsh.
|
||||
return SetFileTypeShell("zsh", setft)
|
||||
elseif name =~ '^ksh$' || name =~ '^#!.\{-2,}\<ksh\>'
|
||||
SetFileTypeShell("zsh")
|
||||
return
|
||||
elseif name =~ '\<ksh\>'
|
||||
b:is_kornshell = 1
|
||||
if exists("b:is_bash")
|
||||
unlet b:is_bash
|
||||
@@ -970,8 +704,7 @@ export def SetFileTypeSH(name: string, setft = true): string
|
||||
if exists("b:is_sh")
|
||||
unlet b:is_sh
|
||||
endif
|
||||
elseif exists("g:bash_is_sh") || name =~ '^bash2\=$' ||
|
||||
\ name =~ '^#!.\{-2,}\<bash2\=\>'
|
||||
elseif exists("g:bash_is_sh") || name =~ '\<bash\>' || name =~ '\<bash2\>'
|
||||
b:is_bash = 1
|
||||
if exists("b:is_kornshell")
|
||||
unlet b:is_kornshell
|
||||
@@ -979,7 +712,7 @@ export def SetFileTypeSH(name: string, setft = true): string
|
||||
if exists("b:is_sh")
|
||||
unlet b:is_sh
|
||||
endif
|
||||
elseif name =~ '^\%(da\)\=sh$' || name =~ '^#!.\{-2,}\<\%(da\)\=sh\>'
|
||||
elseif name =~ '\<sh\>' || name =~ '\<dash\>'
|
||||
# Ubuntu links "sh" to "dash", thus it is expected to work the same way
|
||||
b:is_sh = 1
|
||||
if exists("b:is_kornshell")
|
||||
@@ -989,43 +722,34 @@ export def SetFileTypeSH(name: string, setft = true): string
|
||||
unlet b:is_bash
|
||||
endif
|
||||
endif
|
||||
|
||||
return SetFileTypeShell("sh", setft)
|
||||
SetFileTypeShell("sh")
|
||||
enddef
|
||||
|
||||
# For shell-like file types, check for an "exec" command hidden in a comment,
|
||||
# as used for Tcl.
|
||||
# When "setft" is passed and false then the 'filetype' option is not set.
|
||||
# Also called from scripts.vim, thus can't be local to this script.
|
||||
export def SetFileTypeShell(name: string, setft = true): string
|
||||
if setft && did_filetype()
|
||||
export def SetFileTypeShell(name: string)
|
||||
if did_filetype()
|
||||
# Filetype was already detected
|
||||
return ''
|
||||
return
|
||||
endif
|
||||
if setft && expand("<amatch>") =~ g:ft_ignore_pat
|
||||
return ''
|
||||
if expand("<amatch>") =~ g:ft_ignore_pat
|
||||
return
|
||||
endif
|
||||
|
||||
var lnum = 2
|
||||
while lnum < 20 && lnum < line("$") && getline(lnum) =~ '^\s*\(#\|$\)'
|
||||
var l = 2
|
||||
while l < 20 && l < line("$") && getline(l) =~ '^\s*\(#\|$\)'
|
||||
# Skip empty and comment lines.
|
||||
lnum += 1
|
||||
l += 1
|
||||
endwhile
|
||||
if lnum < line("$") && getline(lnum) =~ '\s*exec\s' && getline(lnum - 1) =~ '^\s*#.*\\$'
|
||||
if l < line("$") && getline(l) =~ '\s*exec\s' && getline(l - 1) =~ '^\s*#.*\\$'
|
||||
# Found an "exec" line after a comment with continuation
|
||||
var n = substitute(getline(lnum), '\s*exec\s\+\([^ ]*/\)\=', '', '')
|
||||
var n = substitute(getline(l), '\s*exec\s\+\([^ ]*/\)\=', '', '')
|
||||
if n =~ '\<tclsh\|\<wish'
|
||||
if setft
|
||||
setf tcl
|
||||
endif
|
||||
return 'tcl'
|
||||
setf tcl
|
||||
return
|
||||
endif
|
||||
endif
|
||||
|
||||
if setft
|
||||
exe "setf " .. name
|
||||
endif
|
||||
return name
|
||||
exe "setf " .. name
|
||||
enddef
|
||||
|
||||
export def CSH()
|
||||
@@ -1085,14 +809,6 @@ export def SQL()
|
||||
endif
|
||||
enddef
|
||||
|
||||
export def FTsa()
|
||||
if join(getline(1, 4), "\n") =~# '\%(^\|\n\);'
|
||||
setf tiasm
|
||||
return
|
||||
endif
|
||||
setf sather
|
||||
enddef
|
||||
|
||||
# This function checks the first 25 lines of file extension "sc" to resolve
|
||||
# detection between scala and SuperCollider.
|
||||
# NOTE: We don't check for 'Class : Method', as this can easily be confused
|
||||
@@ -1388,160 +1104,5 @@ export def FTlsl()
|
||||
endif
|
||||
enddef
|
||||
|
||||
export def FTtyp()
|
||||
if exists("g:filetype_typ")
|
||||
exe "setf " .. g:filetype_typ
|
||||
return
|
||||
endif
|
||||
|
||||
# Look for SQL type definition syntax
|
||||
for line in getline(1, 200)
|
||||
# SQL type files may define the casing
|
||||
if line =~ '^CASE\s\==\s\=\(SAME\|LOWER\|UPPER\|OPPOSITE\)$'
|
||||
setf sql
|
||||
return
|
||||
endif
|
||||
|
||||
# SQL type files may define some types as follows
|
||||
if line =~ '^TYPE\s.*$'
|
||||
setf sql
|
||||
return
|
||||
endif
|
||||
endfor
|
||||
|
||||
# Otherwise, affect the typst filetype
|
||||
setf typst
|
||||
enddef
|
||||
|
||||
# Detect Microsoft Developer Studio Project files (Makefile) or Faust DSP
|
||||
# files.
|
||||
export def FTdsp()
|
||||
if exists("g:filetype_dsp")
|
||||
exe "setf " .. g:filetype_dsp
|
||||
return
|
||||
endif
|
||||
|
||||
# Test the filename
|
||||
if expand('%:t') =~ '^[mM]akefile.*$'
|
||||
setf make
|
||||
return
|
||||
endif
|
||||
|
||||
# Test the file contents
|
||||
for line in getline(1, 200)
|
||||
# Chech for comment style
|
||||
if line =~ '^#.*'
|
||||
setf make
|
||||
return
|
||||
endif
|
||||
|
||||
# Check for common lines
|
||||
if line =~ '^.*Microsoft Developer Studio Project File.*$'
|
||||
setf make
|
||||
return
|
||||
endif
|
||||
|
||||
if line =~ '^!MESSAGE This is not a valid makefile\..+$'
|
||||
setf make
|
||||
return
|
||||
endif
|
||||
|
||||
# Check for keywords
|
||||
if line =~ '^!(IF,ELSEIF,ENDIF).*$'
|
||||
setf make
|
||||
return
|
||||
endif
|
||||
|
||||
# Check for common assignments
|
||||
if line =~ '^SOURCE=.*$'
|
||||
setf make
|
||||
return
|
||||
endif
|
||||
endfor
|
||||
|
||||
# Otherwise, assume we have a Faust file
|
||||
setf faust
|
||||
enddef
|
||||
|
||||
# Set the filetype of a *.v file to Verilog, V or Cog based on the first 500
|
||||
# lines.
|
||||
export def FTv()
|
||||
if did_filetype()
|
||||
# ":setf" will do nothing, bail out early
|
||||
return
|
||||
endif
|
||||
if exists("g:filetype_v")
|
||||
exe "setf " .. g:filetype_v
|
||||
return
|
||||
endif
|
||||
|
||||
var in_comment = 0
|
||||
for lnum in range(1, min([line("$"), 500]))
|
||||
var line = getline(lnum)
|
||||
# Skip Verilog and V comments (lines and blocks).
|
||||
if line =~ '^\s*/\*'
|
||||
# start comment block
|
||||
in_comment = 1
|
||||
endif
|
||||
if in_comment == 1
|
||||
if line =~ '\*/'
|
||||
# end comment block
|
||||
in_comment = 0
|
||||
endif
|
||||
# skip comment-block line
|
||||
continue
|
||||
endif
|
||||
if line =~ '^\s*//'
|
||||
# skip comment line
|
||||
continue
|
||||
endif
|
||||
|
||||
# Coq: line ends with a '.' followed by an optional variable number of
|
||||
# spaces or contains the start of a comment, but not inside a Verilog or V
|
||||
# comment.
|
||||
# Example: "Definition x := 10. (*".
|
||||
if (line =~ '\.\s*$' && line !~ '/[/*]') || (line =~ '(\*' && line !~ '/[/*].*(\*')
|
||||
setf coq
|
||||
return
|
||||
endif
|
||||
|
||||
# Verilog: line ends with ';' followed by an optional variable number of
|
||||
# spaces and an optional start of a comment.
|
||||
# Example: " b <= a + 1; // Add 1".
|
||||
# Alternatively: a module is defined: " module MyModule ( input )"
|
||||
if line =~ ';\s*\(/[/*].*\)\?$' || line =~ '\C^\s*module\s\+\w\+\s*('
|
||||
setf verilog
|
||||
return
|
||||
endif
|
||||
endfor
|
||||
|
||||
# No line matched, fall back to "v".
|
||||
setf v
|
||||
enddef
|
||||
|
||||
export def FTvba()
|
||||
if getline(1) =~ '^["#] Vimball Archiver'
|
||||
setf vim
|
||||
else
|
||||
setf vb
|
||||
endif
|
||||
enddef
|
||||
|
||||
export def Detect_UCI_statements(): bool
|
||||
# Match a config or package statement at the start of the line.
|
||||
const config_or_package_statement = '^\s*\(\(c\|config\)\|\(p\|package\)\)\s\+\S'
|
||||
# Match a line that is either all blank or blank followed by a comment
|
||||
const comment_or_blank = '^\s*\(#.*\)\?$'
|
||||
|
||||
# Return true iff the file has a config or package statement near the
|
||||
# top of the file and all preceding lines were comments or blank.
|
||||
return getline(1) =~# config_or_package_statement
|
||||
\ || getline(1) =~# comment_or_blank
|
||||
\ && ( getline(2) =~# config_or_package_statement
|
||||
\ || getline(2) =~# comment_or_blank
|
||||
\ && getline(3) =~# config_or_package_statement
|
||||
\ )
|
||||
enddef
|
||||
|
||||
# Uncomment this line to check for compilation errors early
|
||||
# defcompile
|
||||
|
||||
Vendored
-182
@@ -1,182 +0,0 @@
|
||||
vim9script
|
||||
|
||||
# Maintainer: Maxim Kim <habamax@gmail.com>
|
||||
# Last update: 2023-12-10
|
||||
#
|
||||
# Set of functions to format/beautify JSON data structures.
|
||||
#
|
||||
# Could be used to reformat a minified json in a buffer (put it into ~/.vim/ftplugin/json.vim):
|
||||
# import autoload 'dist/json.vim'
|
||||
# setl formatexpr=json.FormatExpr()
|
||||
#
|
||||
# Or to get a formatted string out of vim's dict/list/string:
|
||||
# vim9script
|
||||
# import autoload 'dist/json.vim'
|
||||
# echo json.Format({
|
||||
# "widget": { "debug": "on", "window": { "title": "Sample \"Konfabulator\" Widget",
|
||||
# "name": "main_window", "width": 500, "height": 500
|
||||
# },
|
||||
# "image": { "src": "Images/Sun.png", "name": "sun1", "hOffset": 250,
|
||||
# "vOffset": 250, "alignment": "center" },
|
||||
# "text": { "data": "Click Here", "size": 36, "style": "bold", "name": "text1",
|
||||
# "hOffset": 250, "vOffset": 100, "alignment": "center",
|
||||
# "onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;" } }
|
||||
# })
|
||||
#
|
||||
# Should output:
|
||||
# {
|
||||
# "widget": {
|
||||
# "debug": "on",
|
||||
# "window": {
|
||||
# "title": "Sample \"Konfabulator\" Widget",
|
||||
# "name": "main_window",
|
||||
# "width": 500,
|
||||
# "height": 500
|
||||
# },
|
||||
# "image": {
|
||||
# "src": "Images/Sun.png",
|
||||
# "name": "sun1",
|
||||
# "hOffset": 250,
|
||||
# "vOffset": 250,
|
||||
# "alignment": "center"
|
||||
# },
|
||||
# "text": {
|
||||
# "data": "Click Here",
|
||||
# "size": 36,
|
||||
# "style": "bold",
|
||||
# "name": "text1",
|
||||
# "hOffset": 250,
|
||||
# "vOffset": 100,
|
||||
# "alignment": "center",
|
||||
# "onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"
|
||||
# }
|
||||
# }
|
||||
# }
|
||||
#
|
||||
# NOTE: order of `key: value` pairs is not kept.
|
||||
#
|
||||
# You can also use a JSON string instead of vim's dict/list to maintain order:
|
||||
# echo json.Format('{"hello": 1, "world": 2}')
|
||||
# {
|
||||
# "hello": 1,
|
||||
# "world": 2
|
||||
# }
|
||||
|
||||
|
||||
# To be able to reformat with `gq` add following to `~/.vim/ftplugin/json.vim`:
|
||||
# import autoload 'dist/json.vim'
|
||||
# setl formatexpr=json.FormatExpr()
|
||||
export def FormatExpr(): number
|
||||
FormatRange(v:lnum, v:lnum + v:count - 1)
|
||||
return 0
|
||||
enddef
|
||||
|
||||
|
||||
# import autoload 'dist/json.vim'
|
||||
# command -range=% JSONFormat json.FormatRange(<line1>, <line2>)
|
||||
export def FormatRange(line1: number, line2: number)
|
||||
var indent_base = matchstr(getline(line1), '^\s*')
|
||||
var indent = &expandtab ? repeat(' ', &shiftwidth) : "\t"
|
||||
|
||||
var [l1, l2] = line1 > line2 ? [line2, line1] : [line1, line2]
|
||||
|
||||
var json_src = getline(l1, l2)->join()
|
||||
var json_fmt = Format(json_src, {use_tabs: !&et, indent: &sw, indent_base: indent_base})->split("\n")
|
||||
|
||||
exe $":{l1},{l2}d"
|
||||
|
||||
if line('$') == 1 && getline(1) == ''
|
||||
setline(l1, json_fmt[0])
|
||||
append(l1, json_fmt[1 : ])
|
||||
else
|
||||
append(l1 - 1, json_fmt)
|
||||
endif
|
||||
enddef
|
||||
|
||||
|
||||
# Format JSON string or dict/list as JSON
|
||||
# import autoload 'dist/json.vim'
|
||||
# echo json.Format('{"hello": "world"}', {use_tabs: false, indent: 2, indent_base: 0})
|
||||
|
||||
# {
|
||||
# "hello": "world"
|
||||
# }
|
||||
|
||||
# echo json.Format({'hello': 'world'}, {use_tabs: false, indent: 2, indent_base: 0})
|
||||
# {
|
||||
# "hello": "world"
|
||||
# }
|
||||
#
|
||||
# Note, when `obj` is dict, order of the `key: value` pairs might be different:
|
||||
# echo json.Format({'hello': 1, 'world': 2})
|
||||
# {
|
||||
# "world": 2,
|
||||
# "hello": 1
|
||||
# }
|
||||
export def Format(obj: any, params: dict<any> = {}): string
|
||||
var obj_str = ''
|
||||
if type(obj) == v:t_string
|
||||
obj_str = obj
|
||||
else
|
||||
obj_str = json_encode(obj)
|
||||
endif
|
||||
|
||||
var indent_lvl = 0
|
||||
var indent_base = get(params, "indent_base", "")
|
||||
var indent = get(params, "use_tabs", false) ? "\t" : repeat(' ', get(params, "indent", 2))
|
||||
var json_line = indent_base
|
||||
var json = ""
|
||||
var state = ""
|
||||
for char in obj_str
|
||||
if state == ""
|
||||
if char =~ '[{\[]'
|
||||
json_line ..= char
|
||||
json ..= json_line .. "\n"
|
||||
indent_lvl += 1
|
||||
json_line = indent_base .. repeat(indent, indent_lvl)
|
||||
elseif char =~ '[}\]]'
|
||||
if json_line !~ '^\s*$'
|
||||
json ..= json_line .. "\n"
|
||||
indent_lvl -= 1
|
||||
if indent_lvl < 0
|
||||
json_line = strpart(indent_base, -indent_lvl * len(indent))
|
||||
else
|
||||
json_line = indent_base .. repeat(indent, indent_lvl)
|
||||
endif
|
||||
elseif json =~ '[{\[]\n$'
|
||||
json = json[ : -2]
|
||||
json_line = substitute(json_line, '^\s*', '', '')
|
||||
indent_lvl -= 1
|
||||
endif
|
||||
json_line ..= char
|
||||
elseif char == ':'
|
||||
json_line ..= char .. ' '
|
||||
elseif char == '"'
|
||||
json_line ..= char
|
||||
state = 'QUOTE'
|
||||
elseif char == ','
|
||||
json_line ..= char
|
||||
json ..= json_line .. "\n"
|
||||
json_line = indent_base .. repeat(indent, indent_lvl)
|
||||
elseif char !~ '\s'
|
||||
json_line ..= char
|
||||
endif
|
||||
elseif state == "QUOTE"
|
||||
json_line ..= char
|
||||
if char == '\'
|
||||
state = "ESCAPE"
|
||||
elseif char == '"'
|
||||
state = ""
|
||||
endif
|
||||
elseif state == "ESCAPE"
|
||||
state = "QUOTE"
|
||||
json_line ..= char
|
||||
else
|
||||
json_line ..= char
|
||||
endif
|
||||
endfor
|
||||
if json_line !~ '^\s*$'
|
||||
json ..= json_line .. "\n"
|
||||
endif
|
||||
return json
|
||||
enddef
|
||||
Vendored
+32
-173
@@ -1,12 +1,9 @@
|
||||
" Vim filetype plugin autoload file
|
||||
" Language: man
|
||||
" Maintainer: Jason Franklin <jason@oneway.dev>
|
||||
" Maintainer: Jason Franklin <vim@justemail.net>
|
||||
" Maintainer: SungHyun Nam <goweol@gmail.com>
|
||||
" Autoload Split: Bram Moolenaar
|
||||
" Last Change: 2024 Jan 17 (make it work on AIX, see #13847)
|
||||
" 2024 Jul 06 (honor command modifiers, #15117)
|
||||
" 2025 Mar 05 (add :keepjumps, #16791)
|
||||
" 2025 Mar 09 (improve :Man completion for man-db, #16843)
|
||||
" Last Change: 2022 Jun 18
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
@@ -16,167 +13,39 @@ let s:man_tag_depth = 0
|
||||
let s:man_sect_arg = ""
|
||||
let s:man_find_arg = "-w"
|
||||
try
|
||||
if !has("win32") && $OSTYPE !~ 'cygwin\|linux'
|
||||
" cache the value
|
||||
let uname_s = system('uname -s')
|
||||
|
||||
if uname_s =~ "SunOS" && system('uname -r') =~ "^5"
|
||||
" Special Case for Man on SunOS
|
||||
let s:man_sect_arg = "-s"
|
||||
let s:man_find_arg = "-l"
|
||||
elseif uname_s =~? 'AIX'
|
||||
" Special Case for Man on AIX
|
||||
let s:man_sect_arg = ""
|
||||
let s:man_find_arg = ""
|
||||
endif
|
||||
if !has("win32") && $OSTYPE !~ 'cygwin\|linux' && system('uname -s') =~ "SunOS" && system('uname -r') =~ "^5"
|
||||
let s:man_sect_arg = "-s"
|
||||
let s:man_find_arg = "-l"
|
||||
endif
|
||||
catch /E145:/
|
||||
" Ignore the error in restricted mode
|
||||
endtry
|
||||
|
||||
unlet! uname_s
|
||||
|
||||
let s:man_db_pages_by_section = v:null
|
||||
func! s:ManDbPagesBySection() abort
|
||||
if s:man_db_pages_by_section isnot v:null
|
||||
return s:man_db_pages_by_section
|
||||
endif
|
||||
let s:man_db_pages_by_section = {}
|
||||
let list_command = 'apropos --long .'
|
||||
let unparsed_lines = []
|
||||
for line in systemlist(list_command)
|
||||
" Typical lines:
|
||||
" vim (1) - Vi IMproved, a programmer's text editor
|
||||
"
|
||||
" Unusual lines:
|
||||
" pgm_read_ T _ (3avr) - (unknown subject)
|
||||
"
|
||||
" Code that shows the line's format:
|
||||
" https://gitlab.com/man-db/man-db/-/blob/2607d203472efb036d888e9e7997724a41a53876/src/whatis.c#L409
|
||||
let match = matchlist(line, '^\(.\{-1,}\) (\(\S\+\)) ')
|
||||
if empty(match)
|
||||
call add(unparsed_lines, line)
|
||||
continue
|
||||
endif
|
||||
let [page, section] = match[1:2]
|
||||
if !has_key(s:man_db_pages_by_section, section)
|
||||
let s:man_db_pages_by_section[section] = []
|
||||
endif
|
||||
call add(s:man_db_pages_by_section[section], page)
|
||||
endfor
|
||||
if !empty(unparsed_lines)
|
||||
echomsg 'Unable to parse ' .. string(len(unparsed_lines)) .. ' lines ' ..
|
||||
\ 'from the output of `' .. list_command .. '`. Example lines:'
|
||||
for line in unparsed_lines[:9]
|
||||
echomsg line
|
||||
endfor
|
||||
endif
|
||||
return s:man_db_pages_by_section
|
||||
endfunc
|
||||
|
||||
func! dist#man#Reload() abort
|
||||
if g:ft_man_implementation ==# 'man-db'
|
||||
let s:man_db_pages_by_section = v:null
|
||||
call s:ManDbPagesBySection()
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func! s:StartsWithCaseInsensitive(haystack, needle) abort
|
||||
if empty(a:needle)
|
||||
return v:true
|
||||
endif
|
||||
return a:haystack[:len(a:needle)-1] ==? a:needle
|
||||
endfunc
|
||||
|
||||
func! dist#man#ManDbComplete(arg_lead, cmd_line, cursor_pos) abort
|
||||
let args = split(trim(a:cmd_line[: a:cursor_pos - 1], '', 1), '', v:true)
|
||||
let pages_by_section = s:ManDbPagesBySection()
|
||||
if len(args) > 2
|
||||
" Page in the section args[1]. At least on Debian testing as of
|
||||
" 2025-03-06, man seems to match sections case-insensitively and match any
|
||||
" prefix of the section. E.g., `man 3 sigprocmask` and `man 3PoSi
|
||||
" sigprocmask` with both load sigprocmask(3posix) even though the 3 in the
|
||||
" first command is also the name of a different section.
|
||||
let results = []
|
||||
for [section, pages] in items(pages_by_section)
|
||||
if s:StartsWithCaseInsensitive(section, args[1])
|
||||
call extend(results, pages)
|
||||
endif
|
||||
endfor
|
||||
else
|
||||
" Could be a section, or a page in any section. Add space after sections
|
||||
" since there has to be a second argument in that case.
|
||||
let results = flattennew(values(pages_by_section), 1)
|
||||
for section in keys(pages_by_section)
|
||||
call add(results, section .. ' ')
|
||||
endfor
|
||||
endif
|
||||
call sort(results)
|
||||
call uniq(results)
|
||||
call filter(results,
|
||||
\ {_, val -> s:StartsWithCaseInsensitive(val, a:arg_lead)})
|
||||
return results
|
||||
endfunc
|
||||
|
||||
func s:ParseIntoPageAndSection()
|
||||
" Accommodate a reference that terminates in a hyphen.
|
||||
"
|
||||
" See init_charset_table() at
|
||||
" https://git.savannah.gnu.org/cgit/groff.git/tree/src/roff/troff/input.cpp?h=1.22.4#n6794
|
||||
"
|
||||
" See can_break_after() at
|
||||
" https://git.savannah.gnu.org/cgit/groff.git/tree/src/roff/troff/charinfo.h?h=1.22.4#n140
|
||||
"
|
||||
" Assumptions and limitations:
|
||||
" 1) Manual-page references (in consequence of command-related filenames)
|
||||
" do not contain non-ASCII HYPHENs (0x2010), any terminating HYPHEN
|
||||
" must have been introduced to mark division of a word at the end of
|
||||
" a line and can be discarded; whereas similar references may contain
|
||||
" ASCII HYPHEN-MINUSes (0x002d) and any terminating HYPHEN-MINUS forms
|
||||
" a compound word in addition to marking word division.
|
||||
" 2) Well-formed manual-page references always have a section suffix, e.g.
|
||||
" "git-commit(1)", therefore suspended hyphenated compounds are not
|
||||
" determined, e.g. [V] (With cursor at _git-merge-_ below...)
|
||||
" ".................... git-merge- and git-merge-base. (See git-cherry-
|
||||
" pick(1) and git-cherry(1).)" (... look up "git-merge-pick(1)".)
|
||||
"
|
||||
" Note that EM DASH (0x2014), a third stooge from init_charset_table(),
|
||||
" neither connects nor divides parts of a word.
|
||||
let str = expand("<cWORD>")
|
||||
|
||||
if str =~ '\%u2010$' " HYPHEN (-1).
|
||||
let str = strpart(str, 0, strridx(str, "\u2010"))
|
||||
|
||||
" Append the leftmost WORD (or an empty string) from the line below.
|
||||
let str .= get(split(get(getbufline(bufnr('%'), line('.') + 1), 0, '')), 0, '')
|
||||
elseif str =~ '-$' " HYPHEN-MINUS.
|
||||
" Append the leftmost WORD (or an empty string) from the line below.
|
||||
let str .= get(split(get(getbufline(bufnr('%'), line('.') + 1), 0, '')), 0, '')
|
||||
endif
|
||||
|
||||
" According to man(1), section name formats vary (MANSECT):
|
||||
" 1 n l 8 3 2 3posix 3pm 3perl 3am 5 4 9 6 7
|
||||
let parts = matchlist(str, '\(\k\+\)(\(\k\+\))')
|
||||
return (len(parts) > 2)
|
||||
\ ? {'page': parts[1], 'section': parts[2]}
|
||||
\ : {'page': matchstr(str, '\k\+'), 'section': ''}
|
||||
endfunc
|
||||
|
||||
func dist#man#PreGetPage(cnt)
|
||||
if a:cnt == 0
|
||||
let what = s:ParseIntoPageAndSection()
|
||||
let sect = what.section
|
||||
let page = what.page
|
||||
let old_isk = &iskeyword
|
||||
if &ft == 'man'
|
||||
setl iskeyword+=(,)
|
||||
endif
|
||||
let str = expand("<cword>")
|
||||
let &l:iskeyword = old_isk
|
||||
let page = substitute(str, '(*\(\k\+\).*', '\1', '')
|
||||
let sect = substitute(str, '\(\k\+\)(\([^()]*\)).*', '\2', '')
|
||||
if match(sect, '^[0-9 ]\+$') == -1
|
||||
let sect = ""
|
||||
endif
|
||||
if sect == page
|
||||
let sect = ""
|
||||
endif
|
||||
else
|
||||
let what = s:ParseIntoPageAndSection()
|
||||
let sect = a:cnt
|
||||
let page = what.page
|
||||
let page = expand("<cword>")
|
||||
endif
|
||||
|
||||
call dist#man#GetPage('', sect, page)
|
||||
endfunc
|
||||
|
||||
func s:GetCmdArg(sect, page)
|
||||
|
||||
if empty(a:sect)
|
||||
return shellescape(a:page)
|
||||
endif
|
||||
@@ -206,11 +75,9 @@ func dist#man#GetPage(cmdmods, ...)
|
||||
return
|
||||
endif
|
||||
|
||||
" To support: nmap K :Man <cWORD><CR>
|
||||
if page ==? '<cword>'
|
||||
let what = s:ParseIntoPageAndSection()
|
||||
let sect = what.section
|
||||
let page = what.page
|
||||
" To support: nmap K :Man <cword>
|
||||
if page == '<cword>'
|
||||
let page = expand('<cword>')
|
||||
endif
|
||||
|
||||
if !exists('g:ft_man_no_sect_fallback') || (g:ft_man_no_sect_fallback == 0)
|
||||
@@ -250,9 +117,7 @@ func dist#man#GetPage(cmdmods, ...)
|
||||
endwhile
|
||||
endif
|
||||
if &filetype != "man"
|
||||
if a:cmdmods =~ '\<\(tab\|vertical\|horizontal\)\>'
|
||||
let open_cmd = a:cmdmods . ' split'
|
||||
elseif exists("g:ft_man_open_mode")
|
||||
if exists("g:ft_man_open_mode")
|
||||
if g:ft_man_open_mode == 'vert'
|
||||
let open_cmd = 'vsplit'
|
||||
elseif g:ft_man_open_mode == 'tab'
|
||||
@@ -261,7 +126,7 @@ func dist#man#GetPage(cmdmods, ...)
|
||||
let open_cmd = 'split'
|
||||
endif
|
||||
else
|
||||
let open_cmd = 'split'
|
||||
let open_cmd = a:cmdmods . ' split'
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
@@ -272,7 +137,7 @@ func dist#man#GetPage(cmdmods, ...)
|
||||
setl buftype=nofile noswapfile
|
||||
|
||||
setl fdc=0 ma nofen nonu nornu
|
||||
keepjumps %delete _
|
||||
%delete _
|
||||
let unsetwidth = 0
|
||||
if empty($MANWIDTH)
|
||||
let $MANWIDTH = winwidth(0)
|
||||
@@ -289,23 +154,18 @@ func dist#man#GetPage(cmdmods, ...)
|
||||
endif
|
||||
let env_cmd = s:env_has_u ? 'env -u MANPAGER' : 'env MANPAGER=cat'
|
||||
let env_cmd .= ' GROFF_NO_SGR=1'
|
||||
let man_cmd = env_cmd . ' man ' . s:GetCmdArg(sect, page)
|
||||
|
||||
let man_cmd = env_cmd . ' man ' . s:GetCmdArg(sect, page) . ' | col -b'
|
||||
silent exec "r !" . man_cmd
|
||||
|
||||
" Emulate piping the buffer through the "col -b" command.
|
||||
" Ref: https://github.com/vim/vim/issues/12301
|
||||
exe 'silent! keepjumps keeppatterns %s/\v(.)\b\ze\1?//e' .. (&gdefault ? '' : 'g')
|
||||
|
||||
if unsetwidth
|
||||
let $MANWIDTH = ''
|
||||
endif
|
||||
" Remove blank lines from top and bottom.
|
||||
while line('$') > 1 && getline(1) =~ '^\s*$'
|
||||
keepjumps 1delete _
|
||||
1delete _
|
||||
endwhile
|
||||
while line('$') > 1 && getline('$') =~ '^\s*$'
|
||||
keepjumps $delete _
|
||||
$delete _
|
||||
endwhile
|
||||
1
|
||||
setl ft=man nomod
|
||||
@@ -320,10 +180,9 @@ func dist#man#PopPage()
|
||||
exec "let s:man_tag_buf=s:man_tag_buf_".s:man_tag_depth
|
||||
exec "let s:man_tag_lin=s:man_tag_lin_".s:man_tag_depth
|
||||
exec "let s:man_tag_col=s:man_tag_col_".s:man_tag_depth
|
||||
|
||||
exec s:man_tag_buf."b"
|
||||
call cursor(s:man_tag_lin, s:man_tag_col)
|
||||
|
||||
exec s:man_tag_lin
|
||||
exec "norm! ".s:man_tag_col."|"
|
||||
exec "unlet s:man_tag_buf_".s:man_tag_depth
|
||||
exec "unlet s:man_tag_lin_".s:man_tag_depth
|
||||
exec "unlet s:man_tag_col_".s:man_tag_depth
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user