1
0
Fork 0

Adding upstream version 2:9.1.1230.

Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
This commit is contained in:
Daniel Baumann 2025-06-21 11:09:31 +02:00
parent 95f88d82e6
commit 0985b09abd
Signed by: daniel.baumann
GPG key ID: BCC918A2ABD66424
6270 changed files with 2000183 additions and 0 deletions

52
.appveyor.yml Normal file
View file

@ -0,0 +1,52 @@
version: "{build}"
image: Visual Studio 2015
skip_tags: true
environment:
matrix:
- FEATURE: HUGE
# Alternate environments, not used right now. 2022 is a lot slower.
#
# - job_name: VS-2015
# appveyor_build_worker_image: Visual Studio 2015
# FEATURE: HUGE
# - job_name: VS-2017
# appveyor_build_worker_image: Visual Studio 2017
# FEATURE: HUGE
# - job_name: VS-2019
# appveyor_build_worker_image: Visual Studio 2019
# FEATURE: HUGE
# - job_name: VS-2022
# appveyor_build_worker_image: Visual Studio 2022
# FEATURE: HUGE
# disabled
# - FEATURE: TINY
# - FEATURE: NORMAL
matrix:
fast_finish: true
before_build:
- call ver
- ci\appveyor.bat install
build_script:
- ci\appveyor.bat build
test_script:
- ci\appveyor.bat test
artifacts:
- path: src/vim.exe
name: vim
- path: src/gvim.exe
name: gvim
# vim: sw=2 sts=2 et ts=8 sr

31
.cirrus.yml Normal file
View file

@ -0,0 +1,31 @@
env:
CIRRUS_CLONE_DEPTH: 3
FEATURES: huge
freebsd_task:
name: FreeBSD
matrix:
- name: FreeBSD 14.2
freebsd_instance:
image_family: freebsd-14-2
timeout_in: 20m
install_script:
- pkg install -y gettext
build_script:
- NPROC=$(getconf _NPROCESSORS_ONLN)
- ./configure --with-features=${FEATURES}
- make -j${NPROC}
test_script:
- src/vim --version
# run tests as user "cirrus" instead of root
- 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

254
.clang-format Normal file
View file

@ -0,0 +1,254 @@
---
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'
...

14
.codecov.yml Normal file
View file

@ -0,0 +1,14 @@
coverage:
range: "80...100"
status:
project:
default:
threshold: 0.05%
comment: false
# Files not run by tests
ignore:
- "src/dosinst.c"
- "src/dosinst.h"
- "src/uninstall.c"

37
.editorconfig Normal file
View file

@ -0,0 +1,37 @@
# 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
[*.{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

15
.git-blame-ignore-revs Normal file
View file

@ -0,0 +1,15 @@
# 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

1
.gitattributes vendored Normal file
View file

@ -0,0 +1 @@
src/testdir/test42.in diff

1
.github/FUNDING.yml vendored Normal file
View file

@ -0,0 +1 @@
custom: https://www.vim.org/sponsor/index.php

57
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View file

@ -0,0 +1,57 @@
---
name: Bug report
description: Create a report to help us improve Vim.
labels: [bug]
body:
- type: markdown
attributes:
value: |
Thanks for reporting issues of Vim!
If you want to report a security issue, instead of reporting it here publicly,
please disclose it privately via mail to vim-security@googlegroups.com.
(It's a private list read only by the maintainers,
but anybody can post, after moderation.)
To make it easier for us to help you please enter detailed information below.
- type: textarea
attributes:
label: Steps to reproduce
placeholder: |
1.
2.
3.
4.
validations:
required: true
- type: textarea
attributes:
label: Expected behaviour
placeholder: A clear and concise description of what you expected to happen.
validations:
required: true
- type: input
attributes:
label: Version of Vim
description: >
Including patch level, use ":version" to see it [e.g. 8.2.1234]
validations:
required: true
- type: textarea
attributes:
label: Environment
description: >
OS [e.g. Ubuntu 21.10], terminal [e.g. GNOME Terminal 3.38.1], value of $TERM, shell [e.g. bash 5.1.8]; anything that might matter
placeholder: |
Operating system:
Terminal:
Value of $TERM:
Shell:
validations:
required: true
- type: textarea
attributes:
label: Logs and stack traces
placeholder: Insert log or other text here (if necessary)
render: shell

View file

@ -0,0 +1,22 @@
---
name: Feature request
about: Suggest an enhancement for Vim
title: ''
labels: enhancement
---
_Instructions: Replace the template text and remove irrelevant text (including this line)_
**Is your feature request about something that is currently impossible or hard to do? Please describe the problem.**
A clear and concise description of what is hard to do. Ex. It is difficult to [...] when [...]
(If it is related to runtime files, please check their header for where to discuss enhancements.)
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

678
.github/MAINTAINERS vendored Normal file
View file

@ -0,0 +1,678 @@
# 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/haskell.vim @alx741
runtime/autoload/hcl.vim @gpanders
runtime/autoload/javascript.vim @jsit
runtime/autoload/modula2.vim @dkearns
runtime/autoload/php.vim @david-szabo97
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/lazbuild.vim @dkearns
runtime/compiler/pandoc.vim @Konfekt
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/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/ps1.txt @heaths
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/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/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/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/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 @trilowy
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/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/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/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 @a-vrma
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/plsql.vim @lee-lindley
runtime/ftplugin/pod.vim @petdance @dkearns
runtime/ftplugin/poefilter.vim @ObserverOfTime
runtime/ftplugin/postscr.vim @mrdubya
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/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/sdoc.vim @gpanders
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 @cothi
runtime/ftplugin/solution.vim @dkearns
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/typescript.vim @dkearns
runtime/ftplugin/typescriptreact.vim @dkearns
runtime/ftplugin/typst.vim @saccarosium
runtime/ftplugin/unison.vim @chuwy
runtime/ftplugin/v.vim @ribru17
runtime/ftplugin/vdf.vim @ObserverOfTime
runtime/ftplugin/vim.vim @dkearns
runtime/ftplugin/wast.vim @rhysd
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 @cothi
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/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/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/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 @gacallea
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/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/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/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_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/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/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/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/sdoc.vim @gpanders
runtime/syntax/sed.vim @dkearns
runtime/syntax/shared/debversions.vim @jamessan
runtime/syntax/shaderslang.vim @mTvare6
runtime/syntax/solidity.vim @cothi
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/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/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/tutor.eo @dpelle
runtime/tutor/tutor.eo.utf-8 @dpelle
runtime/tutor/tutor.fr @dpelle
runtime/tutor/tutor.fr.utf-8 @dpelle
runtime/tutor/tutor.ru @RestorerZ
runtime/tutor/tutor.ru.cp1251 @RestorerZ
runtime/tutor/tutor.ru.utf-8 @RestorerZ
src/iscygpty.* @k-takata
src/libvterm/ @leonerd
src/po/am.po @gagikh
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/ru.po @RestorerZ
src/po/sr.po @eevan78
src/po/tr.po @bitigchi
src/po/uk.po @sakhnik
src/xxd/ @jnweiger

View file

@ -0,0 +1,27 @@
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

8
.github/dependabot.yml vendored Normal file
View file

@ -0,0 +1,8 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
commit-message:
prefix: "CI"

155
.github/labeler.yml vendored Normal file
View file

@ -0,0 +1,155 @@
# 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/*'

744
.github/workflows/ci.yml vendored Normal file
View file

@ -0,0 +1,744 @@
name: GitHub CI
on:
push:
branches: ['**']
pull_request:
# Cancels all previous workflow runs for pull requests that have not completed.
concurrency:
# The concurrency group contains the workflow name and the branch name for
# pull requests or the commit hash for any other events.
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
cancel-in-progress: true
permissions:
contents: read # to fetch code (actions/checkout)
jobs:
linux:
runs-on: ${{ matrix.architecture == 'arm64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
env:
CC: ${{ matrix.compiler }}
GCC_VER: 13
CLANG_VER: 20
TEST: test
SRCDIR: ./src
LEAK_CFLAGS: -DEXITFREE
LOG_DIR: ${{ github.workspace }}/logs
TERM: xterm
DISPLAY: ':99'
DEBIAN_FRONTEND: noninteractive
strategy:
fail-fast: false
matrix:
features: [tiny, normal, huge]
compiler: [clang, gcc]
extra: [[]]
# Only use non-native architecture when features != huge.
# features=huge tries to install python3-dev, which fails to install
# for the non-native architecture.
architecture: [native]
include:
- features: tiny
compiler: clang
extra: [nogui]
- features: tiny
compiler: gcc
extra: [nogui]
- features: tiny
compiler: gcc
extra: [nogui]
architecture: arm64
- features: normal
shadow: ./src/shadow
compiler: gcc
architecture: i386
- features: huge
coverage: true
- features: huge
compiler: clang
interface: dynamic
python3: stable-abi
- features: huge
compiler: gcc
coverage: true
interface: dynamic
extra: [uchar, testgui]
- features: huge
compiler: clang
# Lua5.1 is the most widely used version (since it's what LuaJIT is
# compatible with), so ensure it works
lua_ver: '5.1'
extra: [asan]
- features: huge
compiler: gcc
coverage: true
extra: [unittests]
- features: huge
compiler: gcc
coverage: true
extra: [unittests]
architecture: arm64
- features: normal
compiler: gcc
extra: [vimtags]
steps:
- name: Checkout repository from github
uses: actions/checkout@v4
- name: Check Filelist (for packaging)
run: |
# If any files in the repository are not listed in Filelist this will
# exit with an error code and list the missing entries.
make -f ci/unlisted.make
- name: Check hlgroups (are any new hlgroups added, but not handled in highlight.c)
run: |
# If any highlight groups have been documented, but not handled in
# highlight.c, nor listed as 'intentionally left out' in hlgroups.ignore,
# exit with an error code and list the missing entries.
make -C ci -f hlgroups.make
- run: sudo dpkg --add-architecture i386
if: matrix.architecture == 'i386'
- name: Uninstall snap
run: |
sudo bash ci/remove_snap.sh
- name: Install packages
run: |
# This is added by default, and it is often broken, but we don't need anything from it
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
PKGS=( \
gettext \
libgtk2.0-dev:${{ matrix.architecture }} \
desktop-file-utils \
libtool-bin \
libncurses-dev:${{ matrix.architecture }} \
libxt-dev:${{ matrix.architecture }} \
locales-all \
software-properties-common \
)
if ${{ matrix.features == 'huge' }}; then
LUA_VER=${{ matrix.lua_ver || '5.4' }}
PKGS+=( \
autoconf \
gdb \
lcov \
libcanberra-dev \
libperl-dev \
python3-dev \
liblua${LUA_VER}-dev \
lua${LUA_VER} \
ruby-dev \
tcl-dev \
cscope \
libsodium-dev \
attr \
libattr1-dev
)
fi
sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get install -y "${PKGS[@]}"
- name: Install gcc-${{ env.GCC_VER }}
if: matrix.compiler == 'gcc'
run: |
# ubuntu-toolchain-r/test PPA for gcc-13 compiler
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
sudo apt-get update -y
sudo apt-get install -y gcc-${{ env.GCC_VER }}:${{ matrix.architecture }}
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${{ env.GCC_VER }} 100
sudo update-alternatives --set gcc /usr/bin/gcc-${{ env.GCC_VER }}
- name: Install clang-${{ env.CLANG_VER }}
if: matrix.compiler == 'clang'
run: |
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
. /etc/lsb-release
sudo add-apt-repository -y "deb http://apt.llvm.org/${DISTRIB_CODENAME}/ llvm-toolchain-${DISTRIB_CODENAME}-${{ env.CLANG_VER }} main"
sudo apt-get install -y clang-${{ env.CLANG_VER }} llvm-${{ env.CLANG_VER }}
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-${{ env.CLANG_VER }} 100
sudo update-alternatives --set clang /usr/bin/clang-${{ env.CLANG_VER }}
sudo update-alternatives --install /usr/bin/llvm-cov llvm-cov /usr/bin/llvm-cov-${{ env.CLANG_VER }} 100
sudo update-alternatives --install /usr/bin/asan_symbolize asan_symbolize /usr/bin/asan_symbolize-${{ env.CLANG_VER }} 100
- name: Set up environment
run: |
mkdir -p "${LOG_DIR}"
mkdir -p "${HOME}/bin"
echo "${HOME}/bin" >> $GITHUB_PATH
(
echo "LINUX_VERSION=$(uname -r)"
echo "NPROC=$(getconf _NPROCESSORS_ONLN)"
echo "TMPDIR=$(mktemp -d -p /tmp)"
case "${{ matrix.features }}" in
tiny)
echo "TEST=testtiny"
if ${{ contains(matrix.extra, 'nogui') }}; then
echo "CONFOPT=--disable-gui"
fi
;;
normal)
;;
huge)
echo "TEST=scripttests test_libvterm indenttest syntaxtest"
INTERFACE=${{ matrix.interface || 'yes' }}
if ${{ matrix.python3 == 'stable-abi' }}; then
PYTHON3_CONFOPT="--with-python3-stable-abi=3.8"
fi
# The ubuntu-24.04 CI runner does not provide a python2 package.
echo "CONFOPT=--enable-perlinterp=${INTERFACE} --enable-pythoninterp=no --enable-python3interp=${INTERFACE} --enable-rubyinterp=${INTERFACE} --enable-luainterp=${INTERFACE} --enable-tclinterp=${INTERFACE} ${PYTHON3_CONFOPT}"
;;
esac
if ${{ matrix.coverage == true }}; then
CFLAGS="${CFLAGS} --coverage -DUSE_GCOV_FLUSH"
echo "LDFLAGS=--coverage"
fi
if ${{ contains(matrix.extra, 'uchar') }}; then
CFLAGS="${CFLAGS} -funsigned-char"
fi
if ${{ contains(matrix.extra, 'testgui') }}; then
echo "TEST=-C src testgui"
fi
if ${{ contains(matrix.extra, 'unittests') }}; then
echo "TEST=unittests"
fi
if ${{ contains(matrix.extra, 'asan') }}; then
echo "SANITIZER_CFLAGS=-g -O0 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize-recover=all -fsanitize=address -fsanitize=undefined -fno-omit-frame-pointer"
echo "ASAN_OPTIONS=print_stacktrace=1:log_path=${LOG_DIR}/asan"
echo "UBSAN_OPTIONS=print_stacktrace=1:log_path=${LOG_DIR}/ubsan"
echo "LSAN_OPTIONS=suppressions=${GITHUB_WORKSPACE}/src/testdir/lsan-suppress.txt"
fi
if ${{ contains(matrix.extra, 'vimtags') }}; then
echo "TEST=-C runtime/doc vimtags VIMEXE=../../${SRCDIR}/vim"
fi
echo "CFLAGS=${CFLAGS}"
) >> $GITHUB_ENV
- name: Set up system
run: |
if [[ ${CC} = clang ]]; then
# Use llvm-cov instead of gcov when compiler is clang.
ln -fs /usr/bin/llvm-cov ${HOME}/bin/gcov
fi
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0
sudo usermod -a -G audio "${USER}"
sudo bash ci/setup-xvfb.sh
- name: Check autoconf
if: contains(matrix.extra, 'unittests')
run: |
make -C src autoconf
- name: Set up shadow dir
if: matrix.shadow
run: |
make -C src shadow
echo "SRCDIR=${{ matrix.shadow }}" >> $GITHUB_ENV
echo "SHADOWOPT=-C ${{ matrix.shadow }}" >> $GITHUB_ENV
- name: Configure
run: |
./configure --with-features=${{ matrix.features }} ${CONFOPT} --enable-fail-if-missing
# Append various warning flags to CFLAGS.
sed -i -f ci/config.mk.sed ${SRCDIR}/auto/config.mk
sed -i -f ci/config.mk.${CC}.sed ${SRCDIR}/auto/config.mk
if [[ ${CC} = clang ]]; then
# Suppress some warnings produced by clang 12 and later.
sed -i -f ci/config.mk.clang-12.sed ${SRCDIR}/auto/config.mk
fi
- name: Build
if: (!contains(matrix.extra, 'unittests'))
run: |
make ${SHADOWOPT} -j${NPROC}
- name: Check version
if: (!contains(matrix.extra, 'unittests'))
run: |
"${SRCDIR}"/vim --version
"${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-1.vim -c quit
"${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit
- name: Test
if: matrix.architecture != 'arm64'
timeout-minutes: 25
run: |
make ${SHADOWOPT} ${TEST}
# `sg audio` does not work on arm64 runner due to permission ('Incorrect password' error).
- name: Test on arm64
if: matrix.architecture == 'arm64'
timeout-minutes: 25
run: |
make ${SHADOWOPT} ${TEST}
- if: ${{ !cancelled() }}
uses: ./.github/actions/test_artifacts
- name: Vim tags
if: contains(matrix.extra, 'vimtags')
run: |
# This will exit with an error code if the generated vim tags differs from source.
(
cd runtime/doc
git diff --exit-code -- tags
make html; rm *.html tags.ref;
test -f errors.log && exit 3;
true
)
- name: Generate gcov files
if: matrix.coverage
run: |
cd "${SRCDIR}"
find . -type f -name '*.gcno' -exec gcov -pb {} + || true
- name: Codecov
timeout-minutes: 20
if: matrix.coverage
uses: codecov/codecov-action@v5
with:
flags: linux,${{ matrix.features }}-${{ matrix.compiler }}-${{ join(matrix.extra, '-') }}
token: ${{ secrets.CODECOV_TOKEN }}
- name: ASan logs
if: contains(matrix.extra, 'asan') && !cancelled()
run: |
for f in $(grep -lR '#[[:digit:]]* *0x[[:xdigit:]]*' "${LOG_DIR}"); do
echo "$f"
asan_symbolize -l "$f"
false # in order to fail a job
done
macos:
runs-on: ${{ matrix.runner }}
env:
CC: clang
TEST: test
SRCDIR: ./src
LEAK_CFLAGS: -DEXITFREE
TERM: xterm
strategy:
fail-fast: false
matrix:
features: [tiny, normal, huge]
runner: [macos-13, macos-15]
steps:
- name: Checkout repository from github
uses: actions/checkout@v4
- name: Install packages
if: matrix.features == 'huge'
run: |
brew install lua libtool
echo "LUA_PREFIX=$(brew --prefix)" >> $GITHUB_ENV
- name: Set up Xcode
if: matrix.runner == 'macos-15'
run: |
# Xcode 16 has compiler bugs which are fixed in 16.2+
sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer
- name: Set up environment
run: |
(
echo "NPROC=$(getconf _NPROCESSORS_ONLN)"
case "${{ matrix.features }}" in
tiny)
echo "TEST=testtiny"
echo "CONFOPT=--disable-gui"
;;
normal)
;;
huge)
echo "CONFOPT=--enable-perlinterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
;;
esac
) >> $GITHUB_ENV
- name: Configure
run: |
./configure --with-features=${{ matrix.features }} ${CONFOPT} --enable-fail-if-missing
# Append various warning flags to CFLAGS.
# BSD sed needs backup extension specified.
sed -i.bak -f ci/config.mk.sed ${SRCDIR}/auto/config.mk
# On macOS, the entity of gcc is clang.
sed -i.bak -f ci/config.mk.clang.sed ${SRCDIR}/auto/config.mk
# Suppress some warnings produced by clang 12 and later.
if clang --version | grep -qs 'Apple clang version \(1[3-9]\|[2-9]\)\.'; then
sed -i.bak -f ci/config.mk.clang-12.sed ${SRCDIR}/auto/config.mk
fi
- name: Build
env:
LC_ALL: C
run: |
make -j${NPROC}
- name: Check version
run: |
"${SRCDIR}"/vim --version
"${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-1.vim -c quit
"${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit
- name: Install packages for testing
run: |
# Apple diff is broken. Use GNU diff instead. See #14032.
brew install diffutils
- name: Test
timeout-minutes: 25
run: |
make ${TEST}
- if: ${{ !cancelled() }}
uses: ./.github/actions/test_artifacts
windows:
runs-on: windows-2022
env:
# Interfaces
# Lua
LUA_VER: 54
LUA_VER_DOT: '5.4'
LUA_RELEASE: 5.4.2
LUA32_URL: https://downloads.sourceforge.net/luabinaries/lua-%LUA_RELEASE%_Win32_dllw6_lib.zip
LUA64_URL: https://downloads.sourceforge.net/luabinaries/lua-%LUA_RELEASE%_Win64_dllw6_lib.zip
LUA_DIR: D:\Lua
# do not want \L to end up in pathdef.c and compiler complaining about unknown escape sequences \l
LUA_DIR_SLASH: D:/Lua
# Python 2
PYTHON_VER: 27
PYTHON_VER_DOT: '2.7'
PYTHON_DIR: 'C:\Python27'
# Python 3
PYTHON3_VER: 313
PYTHON3_VER_DOT: '3.13'
# Other dependencies
# winpty
WINPTY_URL: https://github.com/rprichard/winpty/releases/download/0.4.3/winpty-0.4.3-msvc2015.zip
# libsodium
SODIUM_VER: '1.0.20'
# SODIUM_MSVC_URL: https://download.libsodium.org/libsodium/releases/libsodium-%SODIUM_VER%-stable-msvc.zip
SODIUM_MSVC_URL: https://github.com/jedisct1/libsodium/releases/download/%SODIUM_VER%-RELEASE/libsodium-%SODIUM_VER%-msvc.zip
SODIUM_MSVC_VER: v143
# SODIUM_MINGW_URL: https://download.libsodium.org/libsodium/releases/libsodium-%SODIUM_VER%-stable-mingw.tar.gz
SODIUM_MINGW_URL: https://github.com/jedisct1/libsodium/releases/download/%SODIUM_VER%-RELEASE/libsodium-%SODIUM_VER%-mingw.tar.gz
SODIUM_MINGW_VER: 26
# Gettext-tools, iconv and libraries
GETTEXT32_URL: https://github.com/mlocati/gettext-iconv-windows/releases/download/v0.21-v1.16/gettext0.21-iconv1.16-shared-32.zip
GETTEXT64_URL: https://github.com/mlocati/gettext-iconv-windows/releases/download/v0.21-v1.16/gettext0.21-iconv1.16-shared-64.zip
# Escape sequences
COL_RED: "\x1b[31m"
COL_GREEN: "\x1b[32m"
COL_YELLOW: "\x1b[33m"
COL_RESET: "\x1b[m"
strategy:
fail-fast: false
matrix:
include:
- { features: HUGE, toolchain: msvc, VIMDLL: no, GUI: no, arch: x64, python3: stable }
- { features: HUGE, toolchain: mingw, VIMDLL: yes, GUI: yes, arch: x86, python3: stable, coverage: yes }
- { features: HUGE, toolchain: msvc, VIMDLL: no, GUI: yes, arch: x86 }
- { features: HUGE, toolchain: mingw, VIMDLL: yes, GUI: no, arch: x64, coverage: yes }
- { features: NORMAL, toolchain: msvc, VIMDLL: yes, GUI: no, arch: x86 }
- { features: NORMAL, toolchain: mingw, VIMDLL: no, GUI: yes, arch: x64 }
- { features: TINY, toolchain: msvc, VIMDLL: yes, GUI: yes, arch: x64 }
- { features: TINY, toolchain: mingw, VIMDLL: no, GUI: no, arch: x86 }
steps:
- name: Initialize
id: init
shell: bash
run: |
# Show Windows version
cmd /c ver
git config --global core.autocrlf input
if ${{ matrix.arch == 'x64' }}; then
cygreg=registry
pyreg=
echo "VCARCH=amd64" >> $GITHUB_ENV
echo "WARCH=x64" >> $GITHUB_ENV
echo "BITS=64" >> $GITHUB_ENV
echo "MSYSTEM=MINGW64" >> $GITHUB_ENV
else
cygreg=registry32
pyreg=-32
echo "VCARCH=x86" >> $GITHUB_ENV
echo "WARCH=ia32" >> $GITHUB_ENV
echo "BITS=32" >> $GITHUB_ENV
echo "MSYSTEM=MINGW32" >> $GITHUB_ENV
fi
echo "VCVARSALL=$(vswhere -products \* -latest -property installationPath)\\VC\\Auxiliary\\Build\\vcvarsall.bat" >> $GITHUB_ENV
if ${{ matrix.features != 'TINY' }}; then
if ${{ matrix.arch == 'x86' }}; then
choco install python2 --no-progress --forcex86
else
choco install python2 --no-progress
fi
fi
python3_dir=$(cat "/proc/$cygreg/HKEY_LOCAL_MACHINE/SOFTWARE/Python/PythonCore/${PYTHON3_VER_DOT}$pyreg/InstallPath/@")
echo "PYTHON3_DIR=$python3_dir" >> $GITHUB_ENV
if ${{ matrix.toolchain == 'msvc' }}; then
SODIUM_DIR=D:\\libsodium
echo "SODIUM_LIB=${SODIUM_DIR}\\${{ matrix.arch == 'x64' && 'x64' || 'Win32' }}\\Release\\${SODIUM_MSVC_VER}\\dynamic" >> $GITHUB_ENV
else
SODIUM_DIR=D:\\libsodium-win${{ matrix.arch == 'x64' && '64' || '32' }}
# do not want \L to end up in pathdef.c and compiler complaining about unknown escape sequences \l
SODIUM_DIR_SLASH=D:/libsodium-win${{ matrix.arch == 'x64' && '64' || '32' }}
echo "SODIUM_LIB=${SODIUM_DIR}\\bin" >> $GITHUB_ENV
echo "SODIUM_DIR_SLASH=${SODIUM_DIR_SLASH}" >> $GITHUB_ENV
fi
echo "SODIUM_DIR=${SODIUM_DIR}" >> $GITHUB_ENV
echo "GETTEXT_PATH=D:\gettext${{ matrix.arch == 'x64' && '64' || '32' }}" >> $GITHUB_ENV
- uses: msys2/setup-msys2@v2
if: matrix.toolchain == 'mingw'
with:
update: true
install: tar
pacboy: >-
make:p gcc:p
msystem: ${{ env.MSYSTEM }}
release: false
- name: Checkout repository from github
uses: actions/checkout@v4
- name: Create a list of download URLs
shell: cmd
run: |
type NUL > urls.txt
echo %LUA_RELEASE%>> urls.txt
echo %WINPTY_URL%>> urls.txt
echo %SODIUM_VER%>> urls.txt
echo %GETTEXT32_URL%>> urls.txt
echo %GETTEXT64_URL%>> urls.txt
- name: Cache downloaded files
uses: actions/cache@v4
with:
path: downloads
key: ${{ runner.os }}-${{ matrix.arch }}-${{ hashFiles('urls.txt') }}
- name: Download dependencies
shell: cmd
run: |
path C:\Program Files\7-Zip;%path%
if not exist downloads mkdir downloads
echo %COL_GREEN%Download Lua%COL_RESET%
call :downloadfile %LUA${{ env.BITS }}_URL% downloads\lua.zip
7z x downloads\lua.zip -o%LUA_DIR% > nul || exit 1
echo %COL_GREEN%Download winpty%COL_RESET%
call :downloadfile %WINPTY_URL% downloads\winpty.zip
7z x -y downloads\winpty.zip -oD:\winpty > nul || exit 1
copy /Y D:\winpty\%WARCH%\bin\winpty.dll src\winpty%BITS%.dll
copy /Y D:\winpty\%WARCH%\bin\winpty-agent.exe src\
echo %COL_GREEN%Download libsodium%COL_RESET%
if "${{ matrix.toolchain }}"=="msvc" (
call :downloadfile %SODIUM_MSVC_URL% downloads\libsodium.zip
7z x -y downloads\libsodium.zip -oD:\ > nul || exit 1
) else (
call :downloadfile %SODIUM_MINGW_URL% downloads\libsodium.tar.gz
7z x -y downloads\libsodium.tar.gz -so | 7z x -si -ttar -oD:\ > nul || exit 1
mklink %SODIUM_LIB%\libsodium.dll %SODIUM_LIB%\libsodium-%SODIUM_MINGW_VER%.dll
)
echo %COL_GREEN%Download Gettext%COL_RESET%
call :downloadfile %GETTEXT${{ env.BITS }}_URL% downloads\gettext${{ env.BITS }}.zip
7z e -y downloads\gettext${{ env.BITS }}.zip -oD:\gettext${{ env.BITS }} > nul || exit 1
copy /y D:\gettext${{ env.BITS }}\libintl-8.dll src\ || exit 1
copy /y D:\gettext${{ env.BITS }}\libiconv-2.dll src\ || exit 1
goto :eof
:downloadfile
:: call :downloadfile <URL> <localfile>
if not exist %2 (
curl -f -L %1 -o %2
)
if ERRORLEVEL 1 (
rem Retry once.
curl -f -L %1 -o %2 || exit 1
)
goto :eof
- name: Build (MSVC)
if: matrix.toolchain == 'msvc'
shell: cmd
run: |
call "%VCVARSALL%" %VCARCH%
cd src
if "${{ matrix.VIMDLL }}"=="yes" (
set GUI=yes
) else (
set GUI=${{ matrix.GUI }}
)
if "${{ matrix.python3 }}"=="stable" (
set PYTHON3_STABLE=yes
) else (
set PYTHON3_STABLE=no
)
if "${{ matrix.features }}"=="HUGE" (
nmake -nologo -f Make_mvc.mak ^
FEATURES=${{ matrix.features }} ^
GUI=%GUI% IME=yes ICONV=yes VIMDLL=${{ matrix.VIMDLL }} ^
DYNAMIC_LUA=yes LUA=%LUA_DIR% ^
DYNAMIC_PYTHON=yes PYTHON=%PYTHON_DIR% ^
DYNAMIC_PYTHON3=yes PYTHON3=%PYTHON3_DIR% ^
DYNAMIC_PYTHON3_STABLE_ABI=%PYTHON3_STABLE% ^
DYNAMIC_SODIUM=yes SODIUM=%SODIUM_DIR%
) else (
nmake -nologo -f Make_mvc.mak ^
FEATURES=${{ matrix.features }} ^
GUI=%GUI% IME=yes ICONV=yes VIMDLL=${{ matrix.VIMDLL }}
)
- name: Build (MinGW)
if: matrix.toolchain == 'mingw'
shell: msys2 {0}
run: |
cd src
if [ "${{ matrix.VIMDLL }}" = "yes" ]; then
GUI=yes
else
GUI=${{ matrix.GUI }}
fi
if [ "${{ matrix.python3 }}" = "stable" ]; then
PYTHON3_STABLE=yes
else
PYTHON3_STABLE=no
fi
if [ "${{ matrix.features }}" = "HUGE" ]; then
mingw32-make -f Make_ming.mak -j2 \
FEATURES=${{ matrix.features }} \
GUI=$GUI IME=yes ICONV=yes VIMDLL=${{ matrix.VIMDLL }} \
DYNAMIC_LUA=yes LUA=${LUA_DIR_SLASH} \
DYNAMIC_PYTHON=yes PYTHON=${PYTHON_DIR} \
DYNAMIC_PYTHON3=yes PYTHON3=${PYTHON3_DIR} \
DYNAMIC_PYTHON3_STABLE_ABI=${PYTHON3_STABLE} \
DYNAMIC_SODIUM=yes SODIUM=${SODIUM_DIR_SLASH} \
STATIC_STDCPLUS=yes COVERAGE=${{ matrix.coverage }}
else
mingw32-make -f Make_ming.mak -j2 \
FEATURES=${{ matrix.features }} \
GUI=$GUI IME=yes ICONV=yes VIMDLL=${{ matrix.VIMDLL }} \
STATIC_STDCPLUS=yes
fi
- name: Check version
shell: cmd
run: |
PATH %LUA_DIR%;C:\msys64\%MSYSTEM%\bin;%PATH%;%PYTHON3_DIR%
if "${{ matrix.GUI }}"=="yes" (
start /wait src\gvim -u NONE -i NONE -c "redir > version.txt | ver | q" || exit 1
type version.txt
echo.
start /wait src\gvim -u NONE -i NONE -c "redir! > version.txt | so ci\if_ver-1.vim | q"
start /wait src\gvim -u NONE -i NONE -c "redir >> version.txt | so ci\if_ver-2.vim | q"
type version.txt
del version.txt
) else (
src\vim --version || exit 1
src\vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-1.vim -c quit
src\vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit
)
#- name: Prepare Artifact
# shell: cmd
# run: |
# mkdir artifacts
# copy src\*vim.exe artifacts
# copy src\vim*.dll artifacts
#
#- name: Upload Artifact
# uses: actions/upload-artifact@v1
# with:
# name: vim${{ matrix.bits }}-${{ matrix.toolchain }}
# path: ./artifacts
- name: Install packages for testing
shell: bash
run: |
if ${{ matrix.features != 'TINY' }}; then
if ${{ matrix.arch == 'x64' }}; then
choco install netbeans --no-progress
else
exit 0
fi
fi
- name: Test and show the result of testing gVim
if: matrix.GUI == 'yes' || matrix.VIMDLL == 'yes'
shell: cmd
timeout-minutes: 15
run: |
PATH %LUA_DIR%;C:\msys64\%MSYSTEM%\bin;%PATH%;%PYTHON3_DIR%;%SODIUM_LIB%
call "%VCVARSALL%" %VCARCH%
echo %COL_GREEN%Test gVim:%COL_RESET%
cd src\testdir
if "${{ matrix.GUI }}"=="yes" (
nmake -nologo -f Make_mvc.mak VIMPROG=..\gvim || exit 1
) else (
@rem Run only tiny tests.
nmake -nologo -f Make_mvc.mak tiny VIMPROG=..\gvim || exit 1
)
- name: Test and show the result of testing Vim
if: matrix.GUI == 'no' || matrix.VIMDLL == 'yes'
shell: cmd
timeout-minutes: 15
run: |
PATH %LUA_DIR%;C:\msys64\%MSYSTEM%\bin;%PATH%;%PYTHON3_DIR%;%SODIUM_LIB%
call "%VCVARSALL%" %VCARCH%
echo %COL_GREEN%Test Vim:%COL_RESET%
cd src\testdir
nmake -nologo -f Make_mvc.mak clean
if "${{ matrix.GUI }}"=="no" (
nmake -nologo -f Make_mvc.mak VIMPROG=..\vim || exit 1
) else (
@rem Run only tiny tests.
nmake -nologo -f Make_mvc.mak tiny VIMPROG=..\vim || exit 1
)
- if: ${{ !cancelled() }}
uses: ./.github/actions/test_artifacts
- name: Generate gcov files
if: matrix.coverage
shell: msys2 {0}
run: |
cd src
find . -type f -name '*.gcno' -exec gcov -pb {} + || true
- name: Codecov
timeout-minutes: 20
if: matrix.coverage
uses: codecov/codecov-action@v5
with:
directory: src
flags: windows,${{ matrix.toolchain }}-${{ matrix.arch }}-${{ matrix.features }}
token: ${{ secrets.CODECOV_TOKEN }}

76
.github/workflows/codeql-analysis.yml vendored Normal file
View file

@ -0,0 +1,76 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
name: "CodeQL"
on:
push:
branches: [master]
pull_request:
# The branches below must be a subset of the branches above
branches: [master]
schedule:
- cron: '0 18 * * 1'
# Cancels all previous workflow runs for pull requests that have not completed.
concurrency:
# The concurrency group contains the workflow name and the branch name for
# pull requests or the commit hash for any other events.
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
cancel-in-progress: true
permissions:
contents: read # to fetch code (actions/checkout)
jobs:
analyze:
permissions:
contents: read # to fetch code (actions/checkout)
security-events: write # (github/codeql-action/autobuild)
name: Analyze
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
# Override automatic language detection by changing the below list
# Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python']
language: ['cpp', 'python']
# Learn more...
# https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection
steps:
- name: Checkout repository from github
uses: actions/checkout@v4
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# 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
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3

86
.github/workflows/coverity.yml vendored Normal file
View file

@ -0,0 +1,86 @@
name: Coverity
on:
schedule:
- cron: '42 0 * * *' # Run once per day, to avoid Coverity's submission limits
workflow_dispatch:
permissions:
contents: read # to fetch code (actions/checkout)
jobs:
scan:
runs-on: ubuntu-22.04
env:
CC: gcc
DEBIAN_FRONTEND: noninteractive
TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
steps:
- name: Checkout repository from github
if: env.TOKEN
uses: actions/checkout@v4
- name: Download Coverity
if: env.TOKEN
run: |
wget -q https://scan.coverity.com/download/cxx/linux64 --post-data "token=$TOKEN&project=vim" -O coverity_tool.tgz
mkdir cov-scan
tar ax -f coverity_tool.tgz --strip-components=1 -C cov-scan
- name: Install packages
if: env.TOKEN
run: |
sudo apt-get update && sudo apt-get install -y \
autoconf \
gettext \
libcanberra-dev \
libperl-dev \
python2-dev \
python3-dev \
liblua5.4-dev \
lua5.4 \
ruby-dev \
tcl-dev \
libgtk2.0-dev \
desktop-file-utils \
libtool-bin \
libsodium-dev
- name: Set up environment
if: env.TOKEN
run: |
echo "$(pwd)/cov-scan/bin" >> $GITHUB_PATH
(
echo "NPROC=$(getconf _NPROCESSORS_ONLN)"
echo "CONFOPT=--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
) >> $GITHUB_ENV
- name: Configure
if: env.TOKEN
run: |
./configure --with-features=huge ${CONFOPT} --enable-fail-if-missing
# 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
run: |
cov-build --dir cov-int make -j${NPROC}
- name: Submit results
if: env.TOKEN
run: |
tar zcf cov-scan.tgz cov-int
curl --form token=$TOKEN \
--form email=$EMAIL \
--form file=@cov-scan.tgz \
--form version="$(git rev-parse HEAD)" \
--form description="Automatic GHA scan" \
'https://scan.coverity.com/builds?project=vim'
env:
EMAIL: ${{ secrets.COVERITY_SCAN_EMAIL }}

22
.github/workflows/label.yml vendored Normal file
View file

@ -0,0 +1,22 @@
# 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 }}"

130
.gitignore vendored Normal file
View file

@ -0,0 +1,130 @@
# Unixen: object and executable files.
*.o
src/vim
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/types.vim
# We do need src/auto/configure.
src/auto/config.cache
src/auto/config.h
src/auto/config.log
src/auto/config.mk
src/auto/config.status
src/auto/osdef.h
src/auto/link.log
src/auto/link.sed
src/auto/pathdef.c
# Windows
*.exe
*.idb
*.exp
*.map
*.obj
*.pdb
*.ilk
*.sln
*.suo
*.res
*.RES
vim*.dll
vim*.lib
src/dobj*/pathdef.c
src/gobj*/pathdef.c
src/obj*/pathdef.c
src/Obj*/pathdef.c
gvimext.dll
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
*.orig
*.mo
*.swp
*~
*.pyc
*.log
src/po/vim.pot
src/tags
/tags
/GPATH
/GTAGS
/GRTAGS
nsis/tags
# Generated by "make test"
src/po/*.ck
src/po/*.desktop
src/testdir/mbyte.vim
src/testdir/mzscheme.vim
src/testdir/lua.vim
src/testdir/small.vim
src/testdir/tiny.vim
src/testdir/test*.out
src/testdir/test*.failed
src/testdir/test.log
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/Xfilter
runtime/syntax/testdir/done/
runtime/syntax/testdir/failed/
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-*
src/shadow
src/shadow-*
src/runtime
src/pixmaps
src/LICENSE
src/README.txt
# other files possibly created by tools
src/cscope.out
# Linter/language server files
/.cache/clangd/
/.ccls-cache/
/compile_commands.json

132
.hgignore Normal file
View file

@ -0,0 +1,132 @@
syntax: glob
# Unixen: object and executable files.
*.o
src/vim
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/types.vim
# We do need src/auto/configure.
src/auto/config.cache
src/auto/config.h
src/auto/config.log
src/auto/config.mk
src/auto/config.status
src/auto/osdef.h
src/auto/link.log
src/auto/link.sed
src/auto/pathdef.c
# Windows
*.exe
*.idb
*.exp
*.map
*.obj
*.pdb
*.ilk
*.sln
*.suo
*.res
*.RES
vim*.dll
vim*.lib
src/dobj*/pathdef.c
src/gobj*/pathdef.c
src/obj*/pathdef.c
src/Obj*/pathdef.c
gvimext.dll
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
*.orig
*.mo
*.swp
*~
*.pyc
*.log
src/po/vim.pot
src/tags
/tags
/GPATH
/GTAGS
/GRTAGS
nsis/tags
# Generated by "make test"
src/po/*.ck
src/po/*.desktop
src/testdir/mbyte.vim
src/testdir/mzscheme.vim
src/testdir/lua.vim
src/testdir/small.vim
src/testdir/tiny.vim
src/testdir/test*.out
src/testdir/test*.failed
src/testdir/test.log
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/Xfilter
runtime/syntax/testdir/done/
runtime/syntax/testdir/failed/
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-*
src/shadow
src/shadow-*
src/runtime
src/pixmaps
src/LICENSE
src/README.txt
# other files possibly created by tools
src/cscope.out
# Linter/language server files
.cache/clangd/
.ccls-cache/
compile_commands.json

115
CONTRIBUTING.md Normal file
View file

@ -0,0 +1,115 @@
# Contributing to Vim
Patches are welcome in whatever form.
Discussions about patches happen on the [vim-dev][0] mailing list.
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]
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
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".
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.
# Reporting issues
We use GitHub issues, but that is not a requirement. Writing to the Vim
mailing list 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:
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>`.
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.
# 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).
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.
The maintainer will take care of issues and send updates to the Vim project for
distribution with Vim.
If the maintainer does not respond, contact the [vim-dev][0] mailing list.
## 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
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]
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
style. Often it's also beneficial to check the surrounding code for the style
being used.
# 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

1169
Filelist Normal file

File diff suppressed because it is too large Load diff

78
LICENSE Normal file
View file

@ -0,0 +1,78 @@
VIM LICENSE
I) There are no restrictions on distributing unmodified copies of Vim except
that they must include this license text. You can also distribute
unmodified parts of Vim, likewise unrestricted except that they must
include this license text. You are also allowed to include executables
that you made from the unmodified Vim sources, plus your own usage
examples and Vim scripts.
II) It is allowed to distribute a modified (or extended) version of Vim,
including executables and/or source code, when the following four
conditions are met:
1) This license text must be included unmodified.
2) The modified Vim must be distributed in one of the following five ways:
a) If you make changes to Vim yourself, you must clearly describe in
the distribution how to contact you. When the maintainer asks you
(in any way) for a copy of the modified Vim you distributed, you
must make your changes, including source code, available to the
maintainer without fee. The maintainer reserves the right to
include your changes in the official version of Vim. What the
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
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
received your changes they will not have to be sent again.
b) If you have received a modified Vim that was distributed as
mentioned under a) you are allowed to further distribute it
unmodified, as mentioned at I). If you make additional changes the
text under a) applies to those changes.
c) Provide all the changes, including source code, with every copy of
the modified Vim you distribute. This may be done in the form of a
context diff. You can choose what license to use for new code you
add. The changes and their license must not restrict others from
making their own changes to the official version of Vim.
d) When you have a modified Vim which includes changes as mentioned
under c), you can distribute it without the source code for the
changes if the following three conditions are met:
- The license that applies to the changes permits you to distribute
the changes to the Vim maintainer without fee or restriction, and
permits the Vim maintainer to include the changes in the official
version of Vim without fee or restriction.
- You keep the changes for at least three years after last
distributing the corresponding modified Vim. When the maintainer
or someone who you distributed the modified Vim to asks you (in
any way) for the changes within this period, you must make them
available to him.
- You clearly describe in the distribution how to contact you. This
contact information must remain valid for at least three years
after last distributing the corresponding modified Vim, or as long
as possible.
e) When the GNU General Public License (GPL) applies to the changes,
you can distribute the modified Vim under the GNU GPL version 2 or
any later version.
3) A message must be added, at least in the output of the ":version"
command and in the intro screen, such that the user of the modified Vim
is able to see that it was modified. When distributing as mentioned
under 2)e) adding the message is only required for as far as this does
not conflict with the license used for the changes.
4) The contact information as required under 2)a) and 2)d) must not be
removed or changed, except that the person himself can make
corrections.
III) If you distribute a modified version of Vim, you are encouraged to use
the Vim license for your changes and make them available to the
maintainer, including the source code. The preferred way to do this is
by e-mail or by uploading the files to a server and e-mailing the URL.
If the number of changes is small (e.g., a modified Makefile) e-mailing a
context diff will do. The e-mail address to be used is
<maintainer@vim.org>
IV) It is not allowed to remove this license from the distribution of the Vim
sources, parts of it or from a modified version. You may use this
license for previous Vim releases instead of the license that they came
with, at your option.

563
Makefile Normal file
View file

@ -0,0 +1,563 @@
# This Makefile has two purposes:
# 1. Starting the compilation of Vim for Unix.
# 2. Creating the various distribution files.
#########################################################################
# 1. Starting the compilation of Vim for Unix.
#
# Using this Makefile without an argument will compile Vim for Unix.
# "make install" is also possible.
#
# NOTE: If this doesn't work properly, first change directory to "src" and use
# the Makefile there:
# cd src
# make [arguments]
# Noticed on AIX systems when using this Makefile: Trying to run "cproto" or
# something else after Vim has been compiled. Don't know why...
# Noticed on OS/390 Unix: Restarts configure.
#
# The first (default) target is "first". This will result in running
# "make first", so that the target from "src/auto/config.mk" is picked
# up properly when config didn't run yet. Doing "make all" before configure
# has run can result in compiling with $(CC) empty.
first:
@if test ! -f src/auto/config.mk; then \
cp src/config.mk.dist src/auto/config.mk; \
fi
@echo "Starting make in the src directory."
@echo "If there are problems, cd to the src directory and run make there"
cd src && $(MAKE) $@
# Some make programs use the last target for the $@ default; put the other
# targets separately to always let $@ expand to "first" by default.
all install uninstall tools config configure reconfig proto depend lint tags types test scripttests testtiny test_libvterm unittests testclean clean distclean:
@if test ! -f src/auto/config.mk; then \
cp src/config.mk.dist src/auto/config.mk; \
fi
@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 \
$(MAKE) indenttest; \
$(MAKE) syntaxtest; \
fi
@# When the target is "clean" also clean for the indent and syntax tests.
@if test "$@" = "clean" -o "$@" = "distclean" -o "$@" = "testclean"; then \
(cd runtime/indent && $(MAKE) clean); \
(cd runtime/syntax && $(MAKE) clean); \
fi
# Executable used for running the indent tests.
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)"
#########################################################################
# 2. Creating the various distribution files.
#
# TARGET PRODUCES CONTAINS
# unixall vim-#.#.tar.bz2 All runtime files and sources, for Unix
#
# html vim##html.zip HTML docs
#
# dossrc vim##src.zip sources for MS-DOS
# dosrt vim##rt.zip runtime for MS-DOS
# dosbin vim##w32.zip binary for Win32
# gvim##.zip binary for GUI Win32
# gvim##ole.zip OLE exe for Win32 GUI
#
# OBSOLETE
# amisrc vim##src.tgz sources for Amiga
# amirt vim##rt.tgz runtime for Amiga
# amibin vim##bin.tgz binary for Amiga
#
# farsi farsi##.zip Farsi fonts
#
# All output files are created in the "dist" directory. Existing files are
# overwritten!
# To do all this you need the Unix archive and compiled binaries.
# Before creating an archive first delete all backup files, *.orig, etc.
MAJOR = 9
MINOR = 1
# CHECKLIST for creating a new version:
#
# - Update Vim version number. For a test version in: src/version.h,
# READMEdir/Contents, MAJOR/MINOR above, VIMMAJOR and VIMMINOR in
# src/Makefile, README.txt, README.md, src/README.md, READMEdir/README*.txt,
# runtime/doc/*.txt and make nsis/gvim_version.nsh.
# For a minor/major version: src/GvimExt/GvimExt.reg, src/vim.manifest.
# - Compile Vim with GTK, Perl, Python, Python3, TCL, Ruby, Lua, Cscope and
# "huge" features. Add MZscheme if you can make it work.
# Use "make reconfig" after selecting the configure arguments.
# - With these features: "make proto" (requires cproto and Motif installed;
# ignore warnings for missing include files, fix problems for syntax errors).
# - With these features: "make depend" (works best with gcc).
# - If you have a lint program: "make lint" and check the output (ignore GTK
# warnings).
# - 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.
# - Adjust the date and other info in src/version.h.
# - Correct included_patches[] in src/version.c.
# - Check for missing entries in runtime/makemenu.vim (with checkmenu script).
# - Check for missing options in runtime/optwin.vim et al. (with check.vim).
# - Do "make menu" to update the runtime/synmenu.vim file.
# - Add remarks for changes to runtime/doc/version9.txt.
# - Check that runtime/doc/help.txt doesn't contain entries in "LOCAL
# ADDITIONS".
# - In runtime/doc run "make" and "make html" to check for errors.
# - Check if src/Makefile, src/testdir/Makefile and src/feature.h don't contain
# any personal preferences or the changes mentioned above.
# - Check file protections to be "644" for text and "755" for executables (run
# the "check" script).
# - Check compiling on Amiga, MS-DOS and MS-Windows.
# - Delete all *~, *.sw?, *.orig, *.rej files
# - "make unixall", "make html"
# - Make diff files against the previous release: "makediff7 7.1 7.2"
#
# Amiga: (OBSOLETE, Amiga files are no longer distributed)
# - "make amisrc", move the archive to the Amiga and compile:
# "make -f Make_manx.mak" (will use "big" features by default).
# - Run the tests: "make -f Make_manx.mak test"
# - Place the executables Vim and Xxd in this directory (set the executable
# flag).
# - "make amirt", "make amibin".
#
# MS-Windows:
# - Run make on Unix to update the ".mo" files.
# - Get 32 bit libintl-8.dll, libiconv-2.dll and libgcc_s_sjlj-1.dll. E.g. from
# https://mlocati.github.io/gettext-iconv-windows/ .
# Use the "shared-32.zip file and extract the archive to get the files.
# Put them in the gettext32 directory, "make dosrt" uses them.
# - Get 64 bit libintl-8.dll and libiconv-2.dll. E.g. from
# https://mlocati.github.io/gettext-iconv-windows/ .
# Use the "shared-64.zip file and extract the archive to get the files.
# Put them in the gettext64 directory, "make dosrt" uses them.
# - > 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.
# 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
# - Build the console binary:
# > nmake.exe -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
# - Rename (using ../tools/rename.bat):
# vim.exe to vimw32.exe
# tee/tee.exe to teew32.exe
# xxd/xxd.exe to xxdw32.exe
# vim.pdb to vimw32.pdb
# install.exe to installw32.exe
# uninstall.exe to uninstallw32.exe
# Win32 GUI version build:
# - > cd src
# > nmake.exe -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
# - move "gvim.exe" to here (otherwise the OLE version will overwrite it).
# - Move gvim.pdb to here.
# - Copy "GvimExt/gvimext.dll" to here.
# - Delete vimrun.exe, install.exe and uninstall.exe.
# Win32 GUI version with OLE, PERL, Ruby, TCL, PYTHON and dynamic IME:
# - Install the interfaces you want, see src/INSTALLpc.txt
# Adjust bigvim.bat to match the version of each interface you want.
# - Build:
# > cd src
# > bigvim.bat
# - Run the tests:
# > nmake.exe -f Make_mvc.mak testclean
# > nmake.exe -f Make_mvc.mak testgvim
# - check the output.
# - Rename "gvim.exe" to "gvim_ole.exe".
# - Rename gvim.pdb to "gvim_ole.pdb".
# - Delete install.exe and uninstall.exe.
# Create the archives:
# - Copy all the "*.exe" files to where this Makefile is.
# - Copy all the "*.pdb" files to where this Makefile is.
# - in this directory:
# > make dosbin
# NSIS self installing exe:
# - To get NSIS see http://nsis.sourceforge.net
# - Make sure gvim_ole.exe, vimw32.exe, installw32.exe,
# uninstallw32.exe, teew32.exe and xxdw32.exe have been build as mentioned
# above.
# - copy these files (get them from a binary archive or build them):
# gvimext.dll in src/GvimExt
# 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.
# - 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.
# - Copy gvim##.exe to the dist directory.
#
# 64 bit builds (these are not in the normal distribution, the 32 bit build
# works just fine on 64 bit systems).
# 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
# - Build the GUI version:
# > nmake.exe -f Make_mvc.mak "GUI=yes"
# - Build the OLE version with interfaces:
# > bigvim64.bat
#
#
# OBSOLETE systems: You can build these if you have an appropriate system.
#
# 16 bit DOS version: You need to get a very old version of Vim, for several
# years even the tiny build is too big to fit in DOS memory.
#
# 32 bit DOS version: Support was removed in 7.4.1399. When syncing to before
# that it probably won't build.
#
# Win32s GUI version: Support was removed in patch 7.4.1364.
#
# OS/2 support was removed in patch 7.4.1008. If you want to give it a try
# sync to before that and check the old version of this Makefile for
# instructions.
VIMVER = vim-$(MAJOR).$(MINOR)
VERSION = $(MAJOR)$(MINOR)
VDOT = $(MAJOR).$(MINOR)
VIMRTDIR = vim$(VERSION)
# How to include Filelist depends on the version of "make" you have.
# If the current choice doesn't work, try the other one.
include Filelist
#.include "Filelist"
# All output is put in the "dist" directory.
dist:
mkdir 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
for name in $(IN_README_DIR); do \
cp READMEdir/"$$name" .; \
done
# For the zip files we need to create a file with the comment line
dist/comment:
mkdir dist/comment
COMMENT_RT = comment/$(VERSION)-rt
COMMENT_W32 = comment/$(VERSION)-bin-w32
COMMENT_GVIM = comment/$(VERSION)-bin-gvim
COMMENT_OLE = comment/$(VERSION)-bin-ole
COMMENT_SRC = comment/$(VERSION)-src
COMMENT_HTML = comment/$(VERSION)-html
COMMENT_FARSI = comment/$(VERSION)-farsi
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)
dist/$(COMMENT_GVIM): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) GUI binaries for MS-Windows" > dist/$(COMMENT_GVIM)
dist/$(COMMENT_OLE): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) MS-Windows GUI binaries with OLE support" > dist/$(COMMENT_OLE)
dist/$(COMMENT_SRC): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) sources for MS-DOS and MS-Windows" > dist/$(COMMENT_SRC)
dist/$(COMMENT_HTML): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) documentation in HTML" > dist/$(COMMENT_HTML)
dist/$(COMMENT_FARSI): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) Farsi language files" > dist/$(COMMENT_FARSI)
unixall: dist prepare
-rm -f dist/$(VIMVER).tar.bz2
-rm -rf dist/$(VIMRTDIR)
mkdir dist/$(VIMRTDIR)
tar cf - \
$(RT_ALL) \
$(RT_ALL_BIN) \
$(RT_UNIX) \
$(RT_UNIX_DOS_BIN) \
$(RT_SCRIPTS) \
$(LANG_GEN) \
$(LANG_GEN_BIN) \
$(SRC_ALL) \
$(SRC_UNIX) \
$(SRC_DOS_UNIX) \
$(EXTRA) \
$(LANG_SRC) \
| (cd dist/$(VIMRTDIR); tar xf -)
-rm $(IN_README_DIR)
# Need to use a "distclean" config.mk file
# Note: this file is not included in the repository to avoid problems, but it's
# OK to put it in the archive.
cp -f src/config.mk.dist dist/$(VIMRTDIR)/src/auto/config.mk
# Create an empty config.h file, make dependencies require it
touch dist/$(VIMRTDIR)/src/auto/config.h
# Make sure configure is newer than config.mk to force it to be generated
touch dist/$(VIMRTDIR)/src/configure
# Make sure ja.sjis.po is newer than ja.po to avoid it being regenerated.
# Same for cs.cp1250.po, pl.cp1250.po and sk.cp1250.po.
touch dist/$(VIMRTDIR)/src/po/ja.sjis.po
touch dist/$(VIMRTDIR)/src/po/cs.cp1250.po
touch dist/$(VIMRTDIR)/src/po/pl.cp1250.po
touch dist/$(VIMRTDIR)/src/po/sk.cp1250.po
touch dist/$(VIMRTDIR)/src/po/zh_CN.cp936.po
touch dist/$(VIMRTDIR)/src/po/ru.cp1251.po
touch dist/$(VIMRTDIR)/src/po/uk.cp1251.po
# Create the archive.
cd dist && tar cf $(VIMVER).tar $(VIMRTDIR)
bzip2 dist/$(VIMVER).tar
# Amiga runtime - OBSOLETE
amirt: dist prepare
-rm -f dist/vim$(VERSION)rt.tar.gz
-rm -rf dist/Vim
mkdir dist/Vim
mkdir dist/Vim/$(VIMRTDIR)
tar cf - \
$(ROOT_AMI) \
$(RT_ALL) \
$(RT_ALL_BIN) \
$(RT_SCRIPTS) \
$(RT_AMI) \
$(RT_NO_UNIX) \
$(RT_AMI_DOS) \
| (cd dist/Vim/$(VIMRTDIR); tar xf -)
-rm $(IN_README_DIR)
mv dist/Vim/$(VIMRTDIR)/vimdir.info dist/Vim.info
mv dist/Vim/$(VIMRTDIR)/runtime.info dist/Vim/$(VIMRTDIR).info
mv dist/Vim/$(VIMRTDIR)/runtime/* dist/Vim/$(VIMRTDIR)
rmdir dist/Vim/$(VIMRTDIR)/runtime
cd dist && tar cf vim$(VERSION)rt.tar Vim Vim.info
gzip -9 dist/vim$(VERSION)rt.tar
mv dist/vim$(VERSION)rt.tar.gz dist/vim$(VERSION)rt.tgz
# Amiga binaries - OBSOLETE
amibin: dist prepare
-rm -f dist/vim$(VERSION)bin.tar.gz
-rm -rf dist/Vim
mkdir dist/Vim
mkdir dist/Vim/$(VIMRTDIR)
tar cf - \
$(ROOT_AMI) \
$(BIN_AMI) \
Vim \
Xxd \
| (cd dist/Vim/$(VIMRTDIR); tar xf -)
-rm $(IN_README_DIR)
mv dist/Vim/$(VIMRTDIR)/vimdir.info dist/Vim.info
mv dist/Vim/$(VIMRTDIR)/runtime.info dist/Vim/$(VIMRTDIR).info
cd dist && tar cf vim$(VERSION)bin.tar Vim Vim.info
gzip -9 dist/vim$(VERSION)bin.tar
mv dist/vim$(VERSION)bin.tar.gz dist/vim$(VERSION)bin.tgz
# Amiga sources - OBSOLETE
amisrc: dist prepare
-rm -f dist/vim$(VERSION)src.tar.gz
-rm -rf dist/Vim
mkdir dist/Vim
mkdir dist/Vim/$(VIMRTDIR)
tar cf - \
$(ROOT_AMI) \
$(SRC_ALL) \
$(SRC_AMI) \
$(SRC_AMI_DOS) \
| (cd dist/Vim/$(VIMRTDIR); tar xf -)
-rm $(IN_README_DIR)
mv dist/Vim/$(VIMRTDIR)/vimdir.info dist/Vim.info
mv dist/Vim/$(VIMRTDIR)/runtime.info dist/Vim/$(VIMRTDIR).info
cd dist && tar cf vim$(VERSION)src.tar Vim Vim.info
gzip -9 dist/vim$(VERSION)src.tar
mv dist/vim$(VERSION)src.tar.gz dist/vim$(VERSION)src.tgz
# MS-DOS sources
dossrc: dist dist/$(COMMENT_SRC) license nsis/gvim_version.nsh
-rm -rf dist/vim$(VERSION)src.zip
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$(VIMRTDIR)
tar cf - \
$(SRC_ALL) \
$(SRC_DOS) \
$(SRC_DOS_BIN) \
$(SRC_AMI_DOS) \
$(SRC_DOS_UNIX) \
lang/LICENSE.*.txt \
lang/README.*.txt \
nsis/gvim_version.nsh \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR)
rmdir dist/vim/$(VIMRTDIR)/runtime
cd dist && zip -9 -rD -z vim$(VERSION)src.zip vim <$(COMMENT_SRC)
license:
cd nsis && $(MAKE) -f Makefile $@
nsis/gvim_version.nsh: Makefile
cd nsis && $(MAKE) -f Makefile $(@F)
dosrt: dist dist/$(COMMENT_RT) dosrt_files
-rm -rf dist/vim$(VERSION)rt.zip
cd dist && zip -9 -rD -z vim$(VERSION)rt.zip vim <$(COMMENT_RT)
# 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
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$(VIMRTDIR)
mkdir dist/vim/$(VIMRTDIR)/lang
cd src && MAKEMO=yes $(MAKE) languages
tar cf - \
$(RT_ALL) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
tar cf - \
$(RT_SCRIPTS) \
$(RT_DOS) \
$(RT_NO_UNIX) \
$(RT_AMI_DOS) \
$(LANG_GEN) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
tar cf - \
$(RT_UNIX_DOS_BIN) \
$(RT_ALL_BIN) \
$(RT_DOS_BIN) \
$(LANG_GEN_BIN) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
-rm $(IN_README_DIR)
mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR)
rmdir dist/vim/$(VIMRTDIR)/runtime
# Add the message translations. Trick: skip ja.mo/ja.euc-jp.mo and use
# ja.sjis.mo instead. Same for cs.mo / cs.cp1250.mo, pl.mo / pl.cp1250.mo,
# sk.mo / sk.cp1250.mo, zh_CN.mo / zh_CN.cp936.mo, uk.mo / uk.cp1251.mo and
# ru.mo / ru.cp1251.mo.
for i in $(LANG_DOS); do \
if test "$$i" != "src/po/ja.mo" -a "$$i" != "src/po/ja.euc-jp.mo" -a "$$i" != "src/po/pl.mo" -a "$$i" != "src/po/cs.mo" -a "$$i" != "src/po/sk.mo" -a "$$i" != "src/po/zh_CN.mo" -a "$$i" != "src/po/ru.mo" -a "$$i" != "src/po/uk.mo"; then \
n=`echo $$i | sed -e "s+src/po/\([-a-zA-Z0-9_]*\(.UTF-8\)*\)\(.sjis\)*\(.cp1250\)*\(.cp1251\)*\(.cp936\)*.mo+\1+"`; \
mkdir dist/vim/$(VIMRTDIR)/lang/$$n; \
mkdir dist/vim/$(VIMRTDIR)/lang/$$n/LC_MESSAGES; \
cp $$i dist/vim/$(VIMRTDIR)/lang/$$n/LC_MESSAGES/vim.mo; \
fi \
done
mkdir dist/vim/$(VIMRTDIR)/gettext32
cp gettext32/libintl-8.dll dist/vim/$(VIMRTDIR)/gettext32/
cp gettext32/libiconv-2.dll dist/vim/$(VIMRTDIR)/gettext32/
cp gettext32/libgcc_s_sjlj-1.dll dist/vim/$(VIMRTDIR)/gettext32/
mkdir dist/vim/$(VIMRTDIR)/gettext64
cp gettext64/libintl-8.dll dist/vim/$(VIMRTDIR)/gettext64/
cp gettext64/libiconv-2.dll dist/vim/$(VIMRTDIR)/gettext64/
# Used before uploading. Don't delete the AAPDIR/sign files!
runtime_unix2dos: dosrt_files
-rm -rf `find runtime/dos -type f -print | sed -e /AAPDIR/d`
cd dist/vim/$(VIMRTDIR); tar cf - * \
| (cd ../../../runtime/dos; tar xf -)
dosbin: prepare dosbin_gvim dosbin_w32 dosbin_ole $(DOSBIN_S)
-rm $(IN_README_DIR)
# make Win32 gvim
dosbin_gvim: dist dist/$(COMMENT_GVIM)
-rm -rf dist/gvim$(VERSION).zip
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$(VIMRTDIR)
tar cf - \
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
cp gvim.exe dist/vim/$(VIMRTDIR)/gvim.exe
cp teew32.exe dist/vim/$(VIMRTDIR)/tee.exe
cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
cp uninstallw32.exe dist/vim/$(VIMRTDIR)/uninstall.exe
mkdir dist/vim/$(VIMRTDIR)/GvimExt32
cp gvimext.dll dist/vim/$(VIMRTDIR)/GvimExt32/gvimext.dll
mkdir dist/vim/$(VIMRTDIR)/GvimExt64
cp gvimext64.dll dist/vim/$(VIMRTDIR)/GvimExt64/gvimext.dll
cd dist && zip -9 -rD -z gvim$(VERSION).zip vim <$(COMMENT_GVIM)
cp gvim.pdb dist/gvim$(VERSION).pdb
# make Win32 console
dosbin_w32: dist dist/$(COMMENT_W32)
-rm -rf dist/vim$(VERSION)w32.zip
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$(VIMRTDIR)
tar cf - \
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
cp vimw32.exe dist/vim/$(VIMRTDIR)/vim.exe
cp teew32.exe dist/vim/$(VIMRTDIR)/tee.exe
cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
cp uninstallw32.exe dist/vim/$(VIMRTDIR)/uninstall.exe
cd dist && zip -9 -rD -z vim$(VERSION)w32.zip vim <$(COMMENT_W32)
cp vimw32.pdb dist/vim$(VERSION)w32.pdb
# make Win32 gvim with OLE
dosbin_ole: dist dist/$(COMMENT_OLE)
-rm -rf dist/gvim$(VERSION)ole.zip
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$(VIMRTDIR)
tar cf - \
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
cp gvim_ole.exe dist/vim/$(VIMRTDIR)/gvim.exe
cp teew32.exe dist/vim/$(VIMRTDIR)/tee.exe
cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
cp uninstallw32.exe dist/vim/$(VIMRTDIR)/uninstall.exe
cp gvimext.dll dist/vim/$(VIMRTDIR)/gvimext.dll
cp README_ole.txt dist/vim/$(VIMRTDIR)
cd dist && zip -9 -rD -z gvim$(VERSION)ole.zip vim <$(COMMENT_OLE)
cp gvim_ole.pdb dist/gvim$(VERSION)ole.pdb
html: dist dist/$(COMMENT_HTML)
-rm -rf dist/vim$(VERSION)html.zip
cd runtime/doc && zip -9 -z ../../dist/vim$(VERSION)html.zip *.html <../../dist/$(COMMENT_HTML)
farsi: dist dist/$(COMMENT_FARSI)
-rm -f dist/farsi$(VERSION).zip
zip -9 -rD -z dist/farsi$(VERSION).zip farsi < dist/$(COMMENT_FARSI)

153
README.md Normal file
View file

@ -0,0 +1,153 @@
# [![Vim The editor](https://github.com/vim/vim/raw/master/runtime/vimlogo.gif)](https://www.vim.org)
[![Github Build status](https://github.com/vim/vim/workflows/GitHub%20CI/badge.svg)](https://github.com/vim/vim/actions?query=workflow%3A%22GitHub+CI%22)
[![Appveyor Build status](https://ci.appveyor.com/api/projects/status/o2qht2kjm02sgghk?svg=true)](https://ci.appveyor.com/project/chrisbra/vim)
[![Cirrus Build Status](https://api.cirrus-ci.com/github/vim/vim.svg)](https://cirrus-ci.com/github/vim/vim)
[![Coverage Status](https://codecov.io/gh/vim/vim/coverage.svg?branch=master)](https://codecov.io/gh/vim/vim?branch=master)
[![Coverity Scan](https://scan.coverity.com/projects/241/badge.svg)](https://scan.coverity.com/projects/vim)
[![Debian CI](https://badges.debian.net/badges/debian/testing/vim/version.svg)](https://buildd.debian.org/vim)
[![Packages](https://repology.org/badge/tiny-repos/vim.svg)](https://repology.org/metapackage/vim)
[![Fossies codespell report](https://fossies.org/linux/test/vim-master.tar.gz/codespell.svg)](https://fossies.org/linux/test/vim-master.tar.gz/codespell.html)
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).
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?
Vim is a greatly improved version of the good old UNIX editor
[Vi](https://en.wikipedia.org/wiki/Vi_(text_editor)). 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`](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 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,
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
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
if you want more features.
There are separate distributions for Unix, PC, Amiga and some other systems.
This `README.md` file comes with the runtime archive. It includes the
documentation, syntax files and other files that are used at runtime. To run
Vim you must get either one of the binary archives or a source archive.
Which one you need depends on the system you want to run it on and whether you
want or must compile it yourself. Check https://www.vim.org/download.php for
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 a Windows executable from the
[vim-win32-installer](https://github.com/vim/vim-win32-installer/releases) repository.
## 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.
## 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
```
There are other `README_*.txt` files, depending on the distribution you used.
## 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).
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
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)
for details (do `:help uganda` inside Vim).
Summary of the license: There are no restrictions on using or distributing an
unmodified copy of Vim. Parts of Vim may also be distributed, but the license
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
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.
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!
For the most recent information about sponsoring look on the Vim web site:
https://www.vim.org/sponsor/
## Contributing
If you would like to help make Vim better, see the
[CONTRIBUTING.md](./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/
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:
https://www.vim.org/maillist.php
If nothing else works, report bugs directly to the vim-dev mailing list:
`<vim-dev@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)
Send any other comments, patches, flowers and suggestions to the vim-dev mailing list:
`<vim-dev@vim.org>`
This is `README.md` for version 9.1 of Vim: Vi IMproved.

135
README.txt Normal file
View file

@ -0,0 +1,135 @@
README.txt for version 9.1 of Vim: Vi IMproved.
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.
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 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,
Amiga DOS, Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
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
if you want more features.
There are separate distributions for Unix, PC, Amiga and some other systems.
This README.txt file comes with the runtime archive. It includes the
documentation, syntax files and other files that are used at runtime. To run
Vim you must get either one of the binary archives or a source archive.
Which one you need depends on the system you want to run it on and whether you
want or must compile it yourself. Check "https://www.vim.org/download.php" for
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 a Windows executable from the vim-win32-installer repository:
https://github.com/vim/vim-win32-installer/releases.
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" directory. See src/INSTALL for instructions.
INSTALLATION
See one of these files for system-specific instructions. Either in the
READMEdir directory (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
There are other README_*.txt files, depending on the distribution you used.
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". 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
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" for details (do ":help uganda" inside Vim).
Summary of the license: There are no restrictions on using or distributing an
unmodified copy of Vim. Parts of Vim may also be distributed, but the license
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
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.
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!
For the most recent information about sponsoring look on the Vim web site:
https://www.vim.org/sponsor/
CONTRIBUTING
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/
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:
https://www.vim.org/maillist.php
If nothing else works, report bugs directly to the vim-dev mailing list:
<vim-dev@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 the vim-dev
mailing list: <vim-dev@vim.org>

353
README_VIM9.md Normal file
View file

@ -0,0 +1,353 @@
![Vim Logo](https://github.com/vim/vim/blob/master/runtime/vimlogo.gif)
# What is Vim9?
This is a new syntax for Vim script that was introduced with Vim 9.0.
It intends making Vim script faster and better.
# Why Vim9?
## 1. FASTER VIM SCRIPT
The third item on the poll results of 2018, after popup windows and text
properties, both of which have been implemented, is faster Vim script.
So how do we do that?
I have been throwing some ideas around, and soon came to the conclusion
that the current way functions are called and executed, with
dictionaries for the arguments and local variables, is never going to be
very fast. We're lucky if we can make it twice as fast. The overhead
of a function call and executing every line is just too high.
So what then? We can only make something fast by having a new way of
defining a function, with similar but different properties of the old
way:
* Arguments are only available by name, not through the a: dictionary or
the a:000 list.
* Local variables are not available in an l: dictionary.
* A few more things that slow us down, such as exception handling details.
I Implemented a "proof of concept" and measured the time to run a simple
for loop with an addition (Justin used this example in his presentation,
full code is below):
``` vim
let sum = 0
for i in range(1, 2999999)
let sum += i
endfor
```
| how | time in sec |
| --------| -------- |
| Vim old | 5.018541 |
| Python | 0.369598 |
| Lua | 0.078817 |
| LuaJit | 0.004245 |
| Vim new | 0.073595 |
That looks very promising! It's just one example, but it shows how much
we can gain, and also that Vim script can be faster than builtin
interfaces.
LuaJit is much faster at Lua-only instructions. In practice the script would
not do something useless counting, but change the text. For example,
reindent all the lines:
``` vim
let totallen = 0
for i in range(1, 100000)
call setline(i, ' ' .. getline(i))
let totallen += len(getline(i))
endfor
```
| how | time in sec |
| --------| -------- |
| Vim old | 0.578598 |
| Python | 0.152040 |
| Lua | 0.164917 |
| LuaJit | 0.128400 |
| Vim new | 0.079692 |
[These times were measured on a different system by Dominique Pelle]
The differences are smaller, but Vim 9 script is clearly the fastest.
Using LuaJIT is only a little bit faster than plain Lua here, clearly the call
back to the Vim code is costly.
How does Vim9 script work? The function is first compiled into a sequence of
instructions. Each instruction has one or two parameters and a stack is
used to store intermediate results. Local variables are also on the
stack, space is reserved during compilation. This is a fairly normal
way of compilation into an intermediate format, specialized for Vim,
e.g. each stack item is a typeval_T. And one of the instructions is
"execute Ex command", for commands that are not compiled.
## 2. DEPRIORITIZE INTERFACES
Attempts have been made to implement functionality with built-in script
languages such as Python, Perl, Lua, Tcl and Ruby. This never gained much
foothold, for various reasons.
Instead of using script language support in Vim:
* Encourage implementing external tools in any language and communicate
with them. The job and channel support already makes this possible.
Really any language can be used, also Java and Go, which are not
available built-in.
* No priority for the built-in language interfaces. They will have to be kept
for backwards compatibility, but many users won't need a Vim build with these
interfaces.
* Improve the Vim script language, it is used to communicate with the external
tool and implements the Vim side of the interface. Also, it can be used when
an external tool is undesired.
Altogether this creates a clear situation: Vim with the +eval feature
will be sufficient for most plugins, while some plugins require
installing a tool that can be written in any language. No confusion
about having Vim but the plugin not working because some specific
language is missing. This is a good long term goal.
Rationale: Why is it better to run a tool separately from Vim than using a
built-in interface and interpreter? Take for example something that is
written in Python:
* The built-in interface uses the embedded python interpreter. This is less
well maintained than the python command. Building Vim with it requires
installing developer packages. If loaded dynamically there can be a version
mismatch.
* When running the tool externally the standard python command can be used,
which is quite often available by default or can be easily installed.
* The built-in interface has an API that is unique for Vim with Python. This is
an extra API to learn.
* A .py file can be compiled into a .pyc file and execute much faster.
* Inside Vim multi-threading can cause problems, since the Vim core is single
threaded. In an external tool there are no such problems.
* The Vim part is written in .vim files, the Python part is in .py files, this
is nicely separated.
* Disadvantage: An interface needs to be made between Vim and Python.
JSON is available for this, and it's fairly easy to use. But it still
requires implementing asynchronous communication.
## 3. BETTER VIM SCRIPT
To make Vim faster a new way of defining a function needs to be added.
While we are doing that, since the lines in this function won't be fully
backwards compatible anyway, we can also make Vim script easier to use.
In other words: "less weird". Making it work more like modern
programming languages will help. No surprises.
A good example is how in a function the arguments are prefixed with
"a:". No other language I know does that, so let's drop it.
Taking this one step further is also dropping "s:" for script-local variables;
everything at the script level is script-local by default. Since this is not
backwards compatible it requires a new script style: Vim9 script!
To avoid having more variations, the syntax inside a compiled function is the
same as in Vim9 script. Thus you have legacy syntax and Vim9 syntax.
It should be possible to convert code from other languages to Vim
script. We can add functionality to make this easier. This still needs
to be discussed, but we can consider adding type checking and a simple
form of classes. If you look at JavaScript for example, it has gone
through these stages over time, adding real class support and now
TypeScript adds type checking. But we'll have to see how much of that
we actually want to include in Vim script. Ideally a conversion tool
can take Python, JavaScript or TypeScript code and convert it to Vim
script, with only some things that cannot be converted.
Vim script won't work the same as any specific language, but we can use
mechanisms that are commonly known, ideally with the same syntax. One
thing I have been thinking of is assignments without ":let". I often
make that mistake (after writing JavaScript especially). I think it is
possible, if we make local variables shadow commands. That should be OK,
if you shadow a command you want to use, just rename the variable.
Using "var" and "const" to declare a variable, like in JavaScript and
TypeScript, can work:
``` vim
def MyFunction(arg: number): number
var local = 1
var todo = arg
const ADD = 88
while todo > 0
local += ADD
todo -= 1
endwhile
return local
enddef
```
The similarity with JavaScript/TypeScript can also be used for dependencies
between files. Vim currently uses the `:source` command, which has several
disadvantages:
* In the sourced script, is not clear what it provides. By default all
functions are global and can be used elsewhere.
* In a script that sources other scripts, it is not clear what function comes
from what sourced script. Finding the implementation is a hassle.
* Prevention of loading the whole script twice must be manually implemented.
We can use the `:import` and `:export` commands from the JavaScript standard to
make this much better. For example, in script "myfunction.vim" define a
function and export it:
``` vim
vim9script " Vim9 script syntax used here
var local = 'local variable is not exported, script-local'
export def MyFunction() " exported function
...
def LocalFunction() " not exported, script-local
...
```
And in another script import the function:
``` vim
vim9script " Vim9 script syntax used here
import MyFunction from 'myfunction.vim'
```
This looks like JavaScript/TypeScript, thus many users will understand the
syntax.
These are ideas, this will take time to design, discuss and implement.
Eventually this will lead to Vim 9!
## Code for sum time measurements
Vim was build with -O2.
``` vim
func VimOld()
let sum = 0
for i in range(1, 2999999)
let sum += i
endfor
return sum
endfunc
func Python()
py3 << END
sum = 0
for i in range(1, 3000000):
sum += i
END
return py3eval('sum')
endfunc
func Lua()
lua << END
sum = 0
for i = 1, 2999999 do
sum = sum + i
end
END
return luaeval('sum')
endfunc
def VimNew(): number
var sum = 0
for i in range(1, 2999999)
sum += i
endfor
return sum
enddef
let start = reltime()
echo VimOld()
echo 'Vim old: ' .. reltimestr(reltime(start))
let start = reltime()
echo Python()
echo 'Python: ' .. reltimestr(reltime(start))
let start = reltime()
echo Lua()
echo 'Lua: ' .. reltimestr(reltime(start))
let start = reltime()
echo VimNew()
echo 'Vim new: ' .. reltimestr(reltime(start))
```
## Code for indent time measurements
``` vim
def VimNew(): number
var totallen = 0
for i in range(1, 100000)
setline(i, ' ' .. getline(i))
totallen += len(getline(i))
endfor
return totallen
enddef
func VimOld()
let totallen = 0
for i in range(1, 100000)
call setline(i, ' ' .. getline(i))
let totallen += len(getline(i))
endfor
return totallen
endfunc
func Lua()
lua << END
b = vim.buffer()
totallen = 0
for i = 1, 100000 do
b[i] = " " .. b[i]
totallen = totallen + string.len(b[i])
end
END
return luaeval('totallen')
endfunc
func Python()
py3 << END
cb = vim.current.buffer
totallen = 0
for i in range(0, 100000):
cb[i] = ' ' + cb[i]
totallen += len(cb[i])
END
return py3eval('totallen')
endfunc
new
call setline(1, range(100000))
let start = reltime()
echo VimOld()
echo 'Vim old: ' .. reltimestr(reltime(start))
bwipe!
new
call setline(1, range(100000))
let start = reltime()
echo Python()
echo 'Python: ' .. reltimestr(reltime(start))
bwipe!
new
call setline(1, range(100000))
let start = reltime()
echo Lua()
echo 'Lua: ' .. reltimestr(reltime(start))
bwipe!
new
call setline(1, range(100000))
let start = reltime()
echo VimNew()
echo 'Vim new: ' .. reltimestr(reltime(start))
bwipe!
```

23
READMEdir/Contents Normal file
View file

@ -0,0 +1,23 @@
Vim Vi IMproved. A clone of the UNIX text editor Vi. Very useful
for editing programs and other plain ASCII text. Full Vi
compatibility and includes all Ex commands. Extra features
above Vi: Multilevel undo, multiple windows, syntax
highlighting, command line history, folding, improved command
line editing, command typeahead display, command to display
yank buffers, possibility to edit binary files, file name
stack, support for Manx QuickFix and other compiler's error
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.
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
Author: Juergen Weigert

BIN
READMEdir/Contents.info Normal file

Binary file not shown.

BIN
READMEdir/README.txt.info Normal file

Binary file not shown.

32
READMEdir/README_ami.txt Normal file
View file

@ -0,0 +1,32 @@
README_ami.txt for version 9.1 of Vim: Vi IMproved.
This file explains the installation of Vim on Amiga systems.
See README.txt for general information about Vim.
Unpack the distributed files in the place where you want to keep them. It is
wise to have a "vim" directory to keep your vimrc file and any other files you
change. The distributed files go into a subdirectory. This way you can
easily upgrade to a new version. For example:
dh0:editors/vim contains your vimrc and modified files
dh0:editors/vim/vim54 contains the Vim version 5.4 distributed files
dh0:editors/vim/vim55 contains the Vim version 5.5 distributed files
You would then unpack the archives like this:
cd dh0:editors
tar xf t:vim91bin.tar
tar xf t:vim91rt.tar
Set the $VIM environment variable to point to the top directory of your Vim
files. For the above example:
set VIM=dh0:editors/vim
Vim version 5.4 will look for your vimrc file in $VIM, and for the runtime
files in $VIM/vim54. See ":help $VIM" for more information.
Make sure the Vim executable is in your search path. Either copy the Vim
executable to a directory that is in your search path, or (preferred) modify
the search path to include the directory where the Vim executable is.

Binary file not shown.

View file

@ -0,0 +1,12 @@
README_amibin.txt for version 9.1 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).
The Amiga "bin" archive contains the Vim executable for the Amiga. It was
compiled with "big" features.
Postscript printing is not included to avoid requiring floating point
computations.

Binary file not shown.

View file

@ -0,0 +1,11 @@
README_amisrc.txt for version 9.1 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).
The Amiga source archive contains the files needed to compile Vim on the
Amiga.
See "src/INSTALLami.txt" for instructions on how to compile Vim on the Amiga.

Binary file not shown.

View file

@ -0,0 +1,16 @@
README_bindos.txt for version 9.1 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).
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
You MUST also get the runtime archive (vim91rt.zip).
The sources are also available (vim91src.zip).

125
READMEdir/README_dos.txt Normal file
View file

@ -0,0 +1,125 @@
README_dos.txt for version 9.1 of Vim: Vi IMproved.
This file explains the installation of Vim on MS-Windows systems.
See "README.txt" for general information about Vim.
There are two ways to install Vim:
A. Use the self-installing .exe file.
B. Unpack .zip files and run the install.exe program.
A. Using the self-installing .exe
---------------------------------
This is mostly self-explaining. Just follow the prompts and make the
selections. A few things to watch out for:
- When an existing installation is detected, you are offered to first remove
this. The uninstall program is then started while the install program waits
for it to complete. Sometimes the windows overlap each other, which can be
confusing. Be sure the complete the uninstalling before continuing the
installation. Watch the taskbar for uninstall windows.
- When selecting a directory to install Vim, use the same place where other
versions are located. This makes it easier to find your _vimrc file. For
example "C:\Program Files\vim" or "D:\vim". A name ending in "vim" is
preferred.
- After selecting the directory where to install Vim, clicking on "Next" will
start the installation.
B. Using .zip files
-------------------
These are the normal steps to install Vim from the .zip archives:
1. Go to the directory where you want to put the Vim files. Examples:
cd C:\
cd D:\editors
If you already have a "vim" directory, go to the directory in which it is
located. Check the $VIM setting to see where it points to:
set VIM
For example, if you have
C:\vim\vim91
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",
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
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
overwrite one version with the other, the names of the executables
"vim.exe" and "gvim.exe" are the same.
After you unpacked the files, you can still move the whole directory tree
to another location. That is where they will stay, the install program
won't move or copy the runtime files.
3. Change to the new directory:
cd vim\vim91
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
parent directory.
- It can also install an "Edit with Vim" entry in the Windows Explorer
popup menu.
- You can have it create batch files, so that you can run Vim from the
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
- Create entries for Vim on the desktop and in the Start menu.
That's it!
Remarks:
- If Vim can't find the runtime files, ":help" won't work and the GUI version
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.
- To avoid confusion between distributed files of different versions and your
own modified vim scripts, it is recommended to use this directory layout:
("C:\vim" is used here as the root, replace it with the path you use)
Your own files:
C:\vim\_vimrc Your personal vimrc.
C:\vim\_viminfo Dynamic info for 'viminfo'.
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.
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.
- 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
to your autoexec.bat. Examples:
set VIM=c:\vim
set VIM=d:\editors\vim
- If you have told the "install.exe" program to add the "Edit with Vim" menu
entry, you can remove it by running the "uninstall.exe". See
":help win32-popup-menu".
For further information, type one of these inside Vim:
:help dos
:help win32

View file

@ -0,0 +1,38 @@
README_extra.txt for version 9.1 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"
file.
farsi/* Files for the Farsi (persian) language. If you don't
know what Farsi is, this is not for you.
src/if_sniff.* Interface to SNiFF. If you don't know what SNiFF is,
this is not for you.
src/os_amiga.* Files for the Amiga port.
src/os_msdos.*
src/os_dos.* Files for the MS-DOS port.
src/os_mac.* Files for the Mac port.
src/os_vms* Files for the VMS port.
src/os_w32*
src/os_win32.* Files for the Win32 port.
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/GvimExt/* DLL for the "Edit with Vim" context menu entry
nsis/* NSIS script to build the self-installing MS-Windows exe
runtime/doc/*.man Preprocessed manual pages.
runtime/macros/file_select.vim Vim script to browse directories (Unix only).

View file

@ -0,0 +1,13 @@
README_haiku.txt for version 9.1 of Vim: Vi IMproved.
This file explains the installation of Vim on Haiku operating system.
See "README.txt" for general information about Vim.
Preferred (and easy) way to get Vim on Haiku is to use default Haiku
software repository HaikuPorts. To get Vim:
- Open HaikuDepot application and search for "vim" package, then install,
- Open a Terminal and type "pkgman install vim", then follow instructions.
If you prefer to install Vim from source, follow the instructions on
"runtime/doc/os_haiku.txt", "Compiling Vim" section.

12
READMEdir/README_mac.txt Normal file
View file

@ -0,0 +1,12 @@
README_mac.txt for version 9.1 of Vim: Vi IMproved.
This file explains the installation of Vim on MacOS systems.
See "README.txt" for general information about Vim.
To build from source get the files with git from https://github.com/vim/vim.
The find the instructions in src/INSTALLmac.txt.
Installing Vim using Homebrew:
1. Install Homebrew from http://brew.sh/
2. Install the latest Vim with:
brew install vim

17
READMEdir/README_ole.txt Normal file
View file

@ -0,0 +1,17 @@
README_ole.txt for version 9.1 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.
Also see the README_bindos.txt, README_dos.txt and README.txt files.
Be careful not to overwrite the OLE gvim.exe with the non-OLE gvim.exe when
unpacking another binary archive! Check the output of ":version":
Win32s - "MS-Windows 16/32 bit GUI version"
Win32 - "MS-Windows 32 bit GUI version"
Win32 with OLE - "MS-Windows 32 bit GUI version with OLE support"
For further information, type this inside Vim:
:help if_ole

5
READMEdir/README_os2.txt Normal file
View file

@ -0,0 +1,5 @@
README_os2.txt for version 9.1 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.
See "README.txt" for general information about Vim.

117
READMEdir/README_os390.txt Normal file
View file

@ -0,0 +1,117 @@
README_os390.txt for version 9.1 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.
Most likely there are not many users out there using Vim on z/OS. So chances
are good, that some bugs are still undiscovered.
Getting the source to z/OS:
==========================
First get the source code in one big tar file and ftp it a binary to z/OS. If
the tar file is initially compressed with gzip (tar.gz) or bzip2 (tar.bz2)
uncompress it on your PC, as these tools are (most likely) not available on
the mainframe.
To reduce the size of the tar file you might compress it into a zip file. On
z/OS Unix you might have the command "jar" from java to uncompress a zip. Use:
jar xvf <zip file name>
Unpack the tar file on z/OS with
pax -o from=ISO8859-1,to=IBM-1047 -rf vim.tar
Note: The Vim source contains a few bitmaps etc which will be destroyed by
this command, but these files are not needed on zOS (at least not for the
console version).
Compiling:
==========
Vim can be compiled with or without GUI support. For 7.4 only the compilation
without GUI was tested. Below is a section about compiling with X11 but this
is from an earlier version of Vim.
Console only:
-------------
If you build VIM without X11 support, compiling and building is nearly
straightforward.
Change to the vim directory and do:
# Don't use c89!
# Allow intermixing of compiler options and files.
$ export CC=cc
$ export _CC_CCMODE=1
$./configure --with-features=normal --without-x --enable-gui=no
$ cd src
$ make
There may be warnings:
- include files not found (libc, sys/param.h, ...)
- Redeclaration of ... differs from ...
-- just ignore them.
$ make test
This will produce lots of garbage on your screen (including error
messages). Don't worry.
If the test stops at one point in vim (might happen in test 11), just
press :q!
Expected test failures:
11: If you don't have gzip installed
24: test of backslash sequences in regexp are ASCII dependent
42: Multibyte is not supported on z/OS
55: ASCII<->EBCDIC sorting
57: ASCII<->EBCDIC sorting
58: Spell checking is not supported with EBCDIC
71: Blowfish encryption doesn't work
$ make install
With X11:
---------
WARNING: This instruction was not tested with Vim 7.4 or later.
There are two ways for building VIM with X11 support. The first way is simple
and results in a big executable (~13 Mb), the second needs a few additional
steps and results in a much smaller executable (~4.5 Mb). These examples
assume you want Motif.
The easy way:
$ export CC=cc
$ export _CC_CCMODE=1
$ ./configure --enable-max-features --enable-gui=motif
$ cd src
$ make
With this VIM is linked statically with the X11 libraries.
The smarter way:
Make VIM as described above. Then create a file named 'link.sed' with the
following content (see src/link.390):
s/-lXext *//g
s/-lXmu *//g
s/-lXm */\/usr\/lib\/Xm.x /g
s/-lX11 */\/usr\/lib\/X11.x /g
s/-lXt *//g
s/-lSM */\/usr\/lib\/SM.x /g
s/-lICE */\/usr\/lib\/ICE.x /g
Then do:
$ rm vim
$ make
Now Vim is linked with the X11-DLLs.
See the Makefile and the file link.sh on how link.sed is used.

8
READMEdir/README_src.txt Normal file
View file

@ -0,0 +1,8 @@
README_src.txt for version 9.1 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 too!

View file

@ -0,0 +1,11 @@
README_srcdos.txt for version 9.1 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).
The DOS source archive contains the files needed to compile Vim on MS-Windows.
It is packed for MS-Windows systems, with CR-LF.
See "src/INSTALLpc.txt" for instructions on how to compile Vim on the PC.

10
READMEdir/README_unix.txt Normal file
View file

@ -0,0 +1,10 @@
README_unix.txt for version 9.1 of Vim: Vi IMproved.
This file explains the installation of Vim on Unix systems.
See "README.txt" for general information about Vim.
When you use the source distribution, "make install" is used to install Vim.
See the "INSTALL" file in the "src" directory.
If you use a compiled package, follow the instructions for the package.

View file

@ -0,0 +1,11 @@
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.

52
READMEdir/README_vms.txt Normal file
View file

@ -0,0 +1,52 @@
README_vms.txt for version 9.1 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.
Most information can be found in the on-line documentation. Use ":help vms"
inside Vim. Or get the runtime files and read runtime/doc/os_vms.txt to find
out how to install and configure Vim with runtime files etc.
To compile Vim yourself you need three archives:
vim-X.X-rt.tar.gz runtime files
vim-X.X-src.tar.gz source files
vim-X.X-extra.tar.gz extra source files
Compilation is recommended, in order to make sure that the correct
libraries are used for your specific system. Read about compiling in
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-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-vax-gui.zip VAX GUI executables
vim-XX-exe-vax-term.zip VAX console executables
and of course
vim-XX-runtime.zip runtime files
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
help files for Alpha systems
vim-XX-vax.zip GUI and console executables with runtime and
help files for VAX systems
GTK builds need LIBGTK library installed.
These executables and up to date patches for OpenVMS system are downloadable
from http://www.polarhome.com/vim/ or ftp://ftp.polarhome.com/pub/vim/

View file

@ -0,0 +1,6 @@
README_w32s.txt for version 9.1 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
patch 7.4.1364.
See "README.txt" for general information about Vim.

BIN
READMEdir/Vim.info Normal file

Binary file not shown.

BIN
READMEdir/Xxd.info Normal file

Binary file not shown.

BIN
READMEdir/runtime.info Normal file

Binary file not shown.

BIN
READMEdir/src.info Normal file

Binary file not shown.

BIN
READMEdir/vimdir.info Normal file

Binary file not shown.

10
SECURITY.md Normal file
View file

@ -0,0 +1,10 @@
# 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.**

131
ci/appveyor.bat Normal file
View file

@ -0,0 +1,131 @@
@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 "VSWHERE=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe"
if exist "%VSWHERE%" (
for /f "usebackq delims=" %%i in (
`"%VSWHERE%" -products * -latest -property installationPath`
) do (
set "VCVARSALL=%%i\VC\Auxiliary\Build\vcvarsall.bat"
)
)
if not exist "%VCVARSALL%" (
set "VCVARSALL=%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"
)
call "%VCVARSALL%" x64
goto %target%
echo Unknown build target.
exit 1
:: ----------------------------------------------------------------------------
:install
@echo on
if not exist downloads mkdir downloads
:: Python 3
if not exist %PYTHON3_DIR% (
call :downloadfile %PYTHON3_URL% downloads\python3.exe
cmd /c start /wait downloads\python3.exe /quiet TargetDir=%PYTHON3_DIR% ^
Include_pip=0 Include_tcltk=0 Include_test=0 Include_tools=0 ^
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
:: ----------------------------------------------------------------------------
:build
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%
if not exist vim.exe (
echo Build failure.
exit 1
)
:: build MSVC huge version with python and channel support
:: GUI needs to be last, so that testing works
echo "Building MSVC 64bit GUI Version"
if "%FEATURE%" == "HUGE" (
nmake -f Make_mvc.mak CPU=AMD64 ^
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%
) ELSE (
nmake -f Make_mvc.mak CPU=AMD64 ^
OLE=no GUI=yes IME=yes ICONV=yes DEBUG=no ^
FEATURES=%FEATURE%
)
if not exist gvim.exe (
echo Build failure.
exit 1
)
.\gvim -u NONE -c "redir @a | ver |0put a | wq" ver_msvc.txt || exit 1
echo "version output MSVC console"
.\vim --version || exit 1
echo "version output MSVC GUI"
type ver_msvc.txt || exit 1
goto :eof
:: ----------------------------------------------------------------------------
:test
@echo on
cd src/testdir
:: Testing with MSVC gvim
path %PYTHON3_DIR%;%GETTEXT_PATH%;%PATH%
nmake -f Make_mvc.mak VIMPROG=..\gvim
nmake -f Make_mvc.mak clean
:: Testing with MSVC console version
nmake -f Make_mvc.mak VIMPROG=..\vim
@echo off
goto :eof
:: ----------------------------------------------------------------------------
:downloadfile
:: call :downloadfile <URL> <localfile>
if not exist %2 (
curl -f -L %1 -o %2
)
if ERRORLEVEL 1 (
rem Retry once.
curl -f -L %1 -o %2 || exit 1
)
@goto :eof

View file

@ -0,0 +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/
/^RUBY_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=compound-token-split-by-macro/

2
ci/config.mk.clang.sed Normal file
View file

@ -0,0 +1,2 @@
/^CFLAGS[[:blank:]]*=/s/$/ -Wno-error=missing-field-initializers/
/^RUBY_CFLAGS_EXTRA[[:blank:]]*=/s/$/ -Wno-error=unknown-attributes -Wno-error=ignored-attributes/

1
ci/config.mk.gcc.sed Normal file
View file

@ -0,0 +1 @@
/^CFLAGS[[:blank:]]*=/s/$/ -Wno-error=maybe-uninitialized/

3
ci/config.mk.sed Normal file
View file

@ -0,0 +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/

66
ci/hlgroups.ignore Normal file
View file

@ -0,0 +1,66 @@
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

18
ci/hlgroups.make Normal file
View file

@ -0,0 +1,18 @@
# 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

25
ci/if_ver-1.vim Normal file
View file

@ -0,0 +1,25 @@
" Print all interface versions for Ubuntu. Part 1.
if 1
execute 'source' expand('<sfile>:h') .. '/if_ver-cmd.vim'
echo "*** Interface versions ***\n"
echo 'Lua:'
PrintVer lua print(vim.lua_version, jit and "(LuaJIT)" or "")
echo 'MzScheme:'
PrintVer mzscheme (display (version))
echo 'Perl:'
PrintVer perl print $^V
echo 'Ruby:'
PrintVer ruby print RUBY_VERSION
echo 'Tcl:'
PrintVer tcl puts [info patchlevel]
echo 'Python 2:'
PrintVer python print sys.version
endif

8
ci/if_ver-2.vim Normal file
View file

@ -0,0 +1,8 @@
" Print py3 interface versions for Ubuntu. Part 2.
if 1
execute 'source' expand('<sfile>:h') .. '/if_ver-cmd.vim'
echo 'Python 3:'
PrintVer python3 print(sys.version)
endif

12
ci/if_ver-cmd.vim Normal file
View file

@ -0,0 +1,12 @@
" Provide 'PrintVer' command to print the interface versions.
func s:print_ver(lang, ...)
if has(a:lang)
exec a:lang join(a:000)
else
echo 'N/A'
endif
echo ''
endfunc
command -nargs=+ PrintVer call <SID>print_ver(<f-args>)

13
ci/remove_snap.sh Normal file
View file

@ -0,0 +1,13 @@
#!/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

17
ci/setup-xvfb.sh Normal file
View file

@ -0,0 +1,17 @@
#!/bin/bash
set -e
apt-get install -y xvfb
cat <<EOT >/etc/systemd/system/xvfb.service
[Unit]
Description=X Virtual Frame Buffer Service
After=network.target
[Service]
ExecStart=/usr/bin/Xvfb :99 -screen 0 1024x768x24
[Install]
WantedBy=multi-user.target
EOT
systemctl enable xvfb.service
systemctl start xvfb.service

49
ci/unlisted.make Normal file
View file

@ -0,0 +1,49 @@
# 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

6
configure vendored Executable file
View file

@ -0,0 +1,6 @@
#! /bin/sh
# This is just a stub for the Unix configure script, to provide support for
# doing "./configure" in the top Vim directory.
cd "${SRCDIR:-src}" && exec ./configure "$@"

99
lang/LICENSE.it.txt Normal file
View file

@ -0,0 +1,99 @@
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.

81
lang/LICENSE.pt_br.txt Normal file
View file

@ -0,0 +1,81 @@
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.

109
lang/LICENSE.ru.txt Normal file
View file

@ -0,0 +1,109 @@
ЛИЦЕНЗИЯ 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, взамен тех лицензий, с которыми
они распространялись.

167
lang/README.it.txt Normal file
View file

@ -0,0 +1,167 @@
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>

131
lang/README.pt_br.txt Normal file
View file

@ -0,0 +1,131 @@
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>

161
lang/README.ru.txt Normal file
View file

@ -0,0 +1,161 @@
README.ru.txt для версии 9.1 программы Vim — Vi IMproved.
ЧТО ТАКОЕ РЕДАКТОР VIM?
Программа Vim — это значительно улучшенная версия старого доброго редактора Vi
из системы UNIX. При разработке этого редактора было добавлено множество новых
возможностей: многоуровневая отмена изменений, подсветка синтаксиса, журнал
командной строки, интерактивная справка, проверка орфографии, подстановка
наименований файлов и команд, операции с произвольными блоками текста,
встроенный язык программирования и т. д. Также доступен графический интерфейс
пользователя (GUI). И при этом сохраняется совместимость с редактором Vi,
и те, у кого Vi «в крови», будут чувствовать себя как дома. Подробности о
различиях с редактором Vi см. в файле "runtime/doc/vi_diff.txt".
Этот редактор очень удобен для работы с исходным кодом программ, а также
разного рода других текстовых файлов. Все команды вводятся набором обычных
символов клавиатуры, поэтому те, кто освоил десятипальцевый метод печати, могут
работать очень быстро. Кроме того, пользователи могут назначить на
функциональные клавиши клавиатуры необходимые команды, и использовать
манипулятор «мышь».
Редактор 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.rux.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.rux" (введите
команду ":help uganda" в редакторе Vim).
Краткое описание лицензии.
Нет никаких ограничений на использование или распространение немодифицированной
копии программы Vim. Части программы Vim также могут предоставляться отдельно,
но текст лицензии Vim всегда должен быть включён в поставку.
Для модифицированных версий программы действует несколько ограничений.
Лицензия Vim совместима с лицензией GNU GPL, вы можете компилировать
и распространять программу Vim с библиотеками, лицензированными под GNU GPL.
ФИНАНСОВАЯ ПОДДЕРЖКА ДЛЯ РАЗРАБОТКИ РЕДАКТОРА Vim
Устранение ошибок и добавление новых функциональных возможностей требует
вложения немалого количества времени и сил. Выразить признательность за труд
и подкрепить заинтересованность разработчиков программы в дальнейшей работе
над редактором Vim можно с помощью оказания финансовой поддержки.
Пожертвованные вами деньги будут в основном направлены на оказание помощи детям
Уганды, см. "runtime/doc/uganda.rux". Однако в любом случае финансирование
будет способствовать повышению заинтересованности команды разработчиков
в продолжении работы над редактором 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>

134
nsis/Make_mvc.mak Normal file
View file

@ -0,0 +1,134 @@
#
# 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 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:

95
nsis/Makefile Normal file
View file

@ -0,0 +1,95 @@
#
# 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 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:

108
nsis/README.txt Normal file
View file

@ -0,0 +1,108 @@
This builds a one-click install for Vim for MS Windows using the Nullsoft
Installation System (NSIS), available at http://nsis.sourceforge.net/
To build the installable .exe file:
Preparatory stage
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 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.
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
as follows:
64-bit: src/GvimExt/gvimext64.dll
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).
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.
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.
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 32bit version or
path/to/libsodium/X64/Release/v143/dynamic for the 64bit version in the
"../.." directory (above the "vim91" directory, where "diff.exe" and
"winpty{32|64}.dll").
7. Get gettext and iconv DLLs from the following site:
https://github.com/mlocati/gettext-iconv-windows/releases
Both 64- and 32-bit versions are needed.
Download the files gettextX.X.X.X-iconvX.XX-shared-{32,64}.zip, extract
DLLs and place them as follows:
<GETTEXT directory>
|
+ gettext32/
| libintl-8.dll
| libiconv-2.dll
| libgcc_s_sjlj-1.dll
|
+ 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.
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
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
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
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.
"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.

1226
nsis/gvim.nsi Normal file

File diff suppressed because it is too large Load diff

7
nsis/gvim_version.nsh Normal file
View file

@ -0,0 +1,7 @@
# Generated from Makefile: define the version numbers
!ifndef __GVIM_VER__NSH__
!define __GVIM_VER__NSH__
!define VER_MAJOR 9
!define VER_MINOR 1
!define PATCHLEVEL 0
!endif

BIN
nsis/icons.zip Normal file

Binary file not shown.

63
nsis/lang/README.txt Normal file
View file

@ -0,0 +1,63 @@
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.

187
nsis/lang/danish.nsi Normal file
View file

@ -0,0 +1,187 @@
# vi:set ts=8 sts=4 sw=4 et fdm=marker:
#
# danish.nsi: Danish language strings for gvim NSIS installer.
#
# Locale ID : 1030
# Locale Name : da
# fileencoding : UTF-8
# Author : scootergrisen
!insertmacro MUI_LANGUAGE "Danish"
# Overwrite the default translation.
# These strings should be always English. Otherwise dosinst.c fails.
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
##############################################################################
#LangString str_dest_folder ${LANG_DANISH} "Destinationsmappe (skal slutte med $\"vim$\")"
LangString str_show_readme ${LANG_DANISH} "Vis README efter installationen er gennemført"
# Install types:
LangString str_type_typical ${LANG_DANISH} "Typisk"
LangString str_type_minimal ${LANG_DANISH} "Minimal"
LangString str_type_full ${LANG_DANISH} "Fuld"
##############################################################################
# Section Titles & Description {{{1
##############################################################################
LangString str_section_old_ver ${LANG_DANISH} "Afinstaller eksisterende version(er)"
LangString str_desc_old_ver ${LANG_DANISH} "Afinstaller eksisterende Vim-version(er) fra dit system."
LangString str_section_exe ${LANG_DANISH} "Vim GUI og afviklingsfiler"
LangString str_desc_exe ${LANG_DANISH} "Vim GUI-eksekverbare- og afviklingsfiler. Komponenten kræves."
LangString str_section_console ${LANG_DANISH} "Vim-konsolprogram"
LangString str_desc_console ${LANG_DANISH} "Konsolversion af Vim (vim.exe)."
LangString str_section_batch ${LANG_DANISH} "Opret .bat-filer"
LangString str_desc_batch ${LANG_DANISH} "Opret .bat-filer til Vim-varianter i Windows-mappen til brug fra kommandolinjen."
LangString str_group_icons ${LANG_DANISH} "Opret ikoner til Vim"
LangString str_desc_icons ${LANG_DANISH} "Opret ikoner til Vim diverse steder for at hjælpe med at gøre adgangen let."
LangString str_section_desktop ${LANG_DANISH} "På skrivebordet"
LangString str_desc_desktop ${LANG_DANISH} "Opret ikoner til gVim-eksekverbare på skrivebordet."
LangString str_section_start_menu ${LANG_DANISH} "I Programmer-mappen i menuen Start"
LangString str_desc_start_menu ${LANG_DANISH} "Tilføj Vim i Programmer-mappen i menuen Start."
#LangString str_section_quick_launch ${LANG_DANISH} "I værktøjslinjen Hurtig start"
#LangString str_desc_quick_launch ${LANG_DANISH} "Tilføj Vim-genvej i værktøjslinjen Hurtig start."
LangString str_section_edit_with ${LANG_DANISH} "Tilføj Vim-genvejsmenu"
LangString str_desc_edit_with ${LANG_DANISH} "Tilføj Vim til listen i $\"Åbn med...$\"-genvejsmenuen."
#LangString str_section_edit_with32 ${LANG_DANISH} "32-bit-version"
#LangString str_desc_edit_with32 ${LANG_DANISH} "Tilføj Vim til listen i $\"Åbn med...$\"-genvejsmenuen for 32-bit-programmer."
#LangString str_section_edit_with64 ${LANG_DANISH} "64-bit-version"
#LangString str_desc_edit_with64 ${LANG_DANISH} "Tilføj Vim til listen i $\"Åbn med...$\"-genvejsmenuen for 64-bit-programmer."
LangString str_section_vim_rc ${LANG_DANISH} "Opret standardkonfiguration"
LangString str_desc_vim_rc ${LANG_DANISH} "Opret en standardkonfigurationsfil (_vimrc) hvis der ikke allerede findes en."
LangString str_group_plugin ${LANG_DANISH} "Opret plugin-mapper"
LangString str_desc_plugin ${LANG_DANISH} "Opret plugin-mapper. Plugin-mapper giver mulighed for at udvide Vim ved at slippe en fil i en mappen."
LangString str_section_plugin_home ${LANG_DANISH} "Private"
LangString str_desc_plugin_home ${LANG_DANISH} "Opret plugin-mapper i HOME (hvis du har defineret et) eller Vim-installationsmappe."
LangString str_section_plugin_vim ${LANG_DANISH} "Delte"
LangString str_desc_plugin_vim ${LANG_DANISH} "Opret plugin-mapper i Vim-installationsmappe, det bruges af alle på systemet."
LangString str_section_nls ${LANG_DANISH} "Understøttelse af modersmål"
LangString str_desc_nls ${LANG_DANISH} "Installer filer til understøttelse af modersmål."
LangString str_unsection_register ${LANG_DANISH} "Afregistrer Vim"
LangString str_desc_unregister ${LANG_DANISH} "Afregistrer Vim fra systemet."
LangString str_unsection_exe ${LANG_DANISH} "Fjern Vim-eksekverbare-/afviklingsfiler"
LangString str_desc_rm_exe ${LANG_DANISH} "Fjern alle Vim-eksekverbare- og afviklingsfiler."
LangString str_ungroup_plugin ${LANG_DANISH} "Fjern plugin-mapper"
LangString str_desc_rm_plugin ${LANG_DANISH} "Fjern plugin-mapperne, hvis de er tomme."
LangString str_unsection_plugin_home ${LANG_DANISH} "Private"
LangString str_desc_rm_plugin_home ${LANG_DANISH} "Fjern plugin-mapperne fra HOME-mappen."
LangString str_unsection_plugin_vim ${LANG_DANISH} "Delte"
LangString str_desc_rm_plugin_vim ${LANG_DANISH} "Fjern plugin-mapperne fra Vim-installationsmappen."
LangString str_unsection_rootdir ${LANG_DANISH} "Fjern Vim-rodmappen"
LangString str_desc_rm_rootdir ${LANG_DANISH} "Fjern Vim-rodmappen. Den indeholder dine Vim-konfigurationsfiler!"
##############################################################################
# Messages {{{1
##############################################################################
#LangString str_msg_too_many_ver ${LANG_DANISH} "Fandt $vim_old_ver_count Vim-versioner på dit system.$\r$\nInstallationsguiden kan højst håndtere ${VIM_MAX_OLD_VER}-versioner.$\r$\nFjern venligst nogle versioner og start igen."
#LangString str_msg_invalid_root ${LANG_DANISH} "Ugyldig installationssti: $vim_install_root!$\r$\nDen skal slutte med $\"vim$\"."
#LangString str_msg_bin_mismatch ${LANG_DANISH} "Uoverensstemmelse i binære sti!$\r$\n$\r$\nForventede at den binære sti var $\"$vim_bin_path$\",$\r$\nmen systemet indikerer at den binære sti er $\"$INSTDIR$\"."
#LangString str_msg_vim_running ${LANG_DANISH} "Vim kører stadig på dit system.$\r$\nLuk venligst alle instanser af Vim inden du fortsætter."
#LangString str_msg_register_ole ${LANG_DANISH} "Forsøger at registrere Vim med OLE. Der er ingen meddelelse til at indikere om det virker eller ej."
#LangString str_msg_unreg_ole ${LANG_DANISH} "Forsøger at afregistrere Vim med OLE. Der er ingen meddelelse til at indikere om det virker eller ej."
#LangString str_msg_rm_start ${LANG_DANISH} "Afinstallerer følgende version:"
#LangString str_msg_rm_fail ${LANG_DANISH} "Kunne ikke afinstallere følgende version:"
#LangString str_msg_no_rm_key ${LANG_DANISH} "Kan ikke finde registreringsdatabasenøgle for afinstallationsguiden."
#LangString str_msg_no_rm_reg ${LANG_DANISH} "Kan ikke finde afinstallationsguiden fra registreringsdatabasen."
#LangString str_msg_no_rm_exe ${LANG_DANISH} "Kan ikke tilgå afinstallationsguide."
#LangString str_msg_rm_copy_fail ${LANG_DANISH} "Kunne ikke kopiere afinstallationsguide til midlertidig mappe."
#LangString str_msg_rm_run_fail ${LANG_DANISH} "Kunne ikke køre afinstallationsguide."
#LangString str_msg_abort_install ${LANG_DANISH} "Installationsguiden vil afbryde."
LangString str_msg_install_fail ${LANG_DANISH} "Installationen mislykkedes. Bedre held næste gang."
LangString str_msg_rm_exe_fail ${LANG_DANISH} "Nogle filer i $0 er ikke blevet slettet!$\r$\nDu skal gøre det manuelt."
#LangString str_msg_rm_root_fail ${LANG_DANISH} "ADVARSEL: Kan ikke fjerne $\"$vim_install_root$\", den er ikke tom!"
LangString str_msg_uninstalling ${LANG_DANISH} "Afinstallerer den gamle version..."
LangString str_msg_registering ${LANG_DANISH} "Registrerer..."
LangString str_msg_unregistering ${LANG_DANISH} "Afregistrerer..."
##############################################################################
# Dialog Box {{{1
##############################################################################
LangString str_vimrc_page_title ${LANG_DANISH} "Vælg _vimrc-indstillinger"
LangString str_vimrc_page_subtitle ${LANG_DANISH} "Vælg indstillingerne til forbedring, tastatur og mus."
LangString str_msg_compat_title ${LANG_DANISH} " Vi- / Vim-opførsel "
LangString str_msg_compat_desc ${LANG_DANISH} "&Kompatibilitet og forbedringer"
LangString str_msg_compat_vi ${LANG_DANISH} "Vi-kompatibel"
LangString str_msg_compat_vim ${LANG_DANISH} "Vim original"
LangString str_msg_compat_defaults ${LANG_DANISH} "Vim med nogle forbedringer (indlæs defaults.vim)"
LangString str_msg_compat_all ${LANG_DANISH} "Vim med alle forbedringer (indlæs vimrc_example.vim) (standard)"
LangString str_msg_keymap_title ${LANG_DANISH} " Tilknytninger "
LangString str_msg_keymap_desc ${LANG_DANISH} "&Gentilknyt nogle få taster for Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F osv.)"
LangString str_msg_keymap_default ${LANG_DANISH} "Gentilknyt ikke taster (standard)"
LangString str_msg_keymap_windows ${LANG_DANISH} "Gentilknyt nogle få taster"
LangString str_msg_mouse_title ${LANG_DANISH} " Mus "
LangString str_msg_mouse_desc ${LANG_DANISH} "&Opførsel af højre og venstre knapper"
LangString str_msg_mouse_default ${LANG_DANISH} "Højre: genvejsmenu, venstre: visuel tilstand (standard)"
LangString str_msg_mouse_windows ${LANG_DANISH} "Højre: genvejsmenu, venstre: vælg-tilstand (Windows)"
LangString str_msg_mouse_unix ${LANG_DANISH} "Højre: udvider markering, venstre: visuel tilstand (Unix)"

290
nsis/lang/dutch.nsi Normal file
View file

@ -0,0 +1,290 @@
# vi:set ts=8 sts=4 sw=4 et fdm=marker:
#
# dutch.nsi : Dutch language strings for gvim NSIS installer.
#
# Locale ID : 1043
# Locale Name : nl
# fileencoding : UTF-8
# Author : Peter Odding <peter@peterodding.com>
!insertmacro MUI_LANGUAGE "Dutch"
# Overwrite the default translation.
# These strings should be always English. Otherwise dosinst.c fails.
LangString ^SetupCaption ${LANG_DUTCH} \
"$(^Name) Setup"
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
##############################################################################
#LangString str_dest_folder ${LANG_DUTCH} \
# "Doelmap (moet eindigen op $\"vim$\")"
LangString str_show_readme ${LANG_DUTCH} \
"README weergeven na installatie"
# Install types:
LangString str_type_typical ${LANG_DUTCH} \
"Gebruikelijk"
LangString str_type_minimal ${LANG_DUTCH} \
"Minimaal"
LangString str_type_full ${LANG_DUTCH} \
"Volledig"
##############################################################################
# Section Titles & Description {{{1
##############################################################################
LangString str_section_old_ver ${LANG_DUTCH} \
"Bestaande versie(s) de-installeren"
LangString str_desc_old_ver ${LANG_DUTCH} \
"Bestaande Vim versie(s) van je systeem verwijderen."
LangString str_section_exe ${LANG_DUTCH} \
"Vim GUI"
LangString str_desc_exe ${LANG_DUTCH} \
"Vim GUI uitvoerbare bestanden en runtime bestanden. Dit component is vereist."
LangString str_section_console ${LANG_DUTCH} \
"Vim console programma"
LangString str_desc_console ${LANG_DUTCH} \
"Console versie van Vim (vim.exe)."
LangString str_section_batch ${LANG_DUTCH} \
"Creëer .bat bestanden"
LangString str_desc_batch ${LANG_DUTCH} \
"Creëer .bat bestanden voor Vim varianten in de Windows map voor \
commando regel gebruik."
LangString str_group_icons ${LANG_DUTCH} \
"Creëer pictogrammen for Vim"
LangString str_desc_icons ${LANG_DUTCH} \
"Creëer pictogrammen voor Vim op verschillende locaties voor gemakkelijke toegang."
LangString str_section_desktop ${LANG_DUTCH} \
"Op het bureaublad"
LangString str_desc_desktop ${LANG_DUTCH} \
"Creëer pictogrammen voor Vim uitvoerbare bestanden op het bureaublad."
LangString str_section_start_menu ${LANG_DUTCH} \
"In de Programma's map in het start menu"
LangString str_desc_start_menu ${LANG_DUTCH} \
"Voeg Vim toe aan de programma's map in het start menu. \
Van toepassing op Windows 95 en later."
#LangString str_section_quick_launch ${LANG_DUTCH} \
# "In de snel starten balk"
#LangString str_desc_quick_launch ${LANG_DUTCH} \
# "Voeg Vim snelkoppeling toe aan de snel starten balk."
LangString str_section_edit_with ${LANG_DUTCH} \
"Voeg Vim contextmenu toe"
LangString str_desc_edit_with ${LANG_DUTCH} \
"Voeg Vim toe aan de $\"Openen met...$\" contextmenu lijst."
#LangString str_section_edit_with32 ${LANG_DUTCH} \
# "32-bit versie"
#LangString str_desc_edit_with32 ${LANG_DUTCH} \
# "Voeg Vim toe aan de $\"Openen met...$\" contextmenu lijst \
# voor 32-bit toepassingen."
#LangString str_section_edit_with64 ${LANG_DUTCH} \
# "64-bit versie"
#LangString str_desc_edit_with64 ${LANG_DUTCH} \
# "Voeg Vim toe aan de $\"Openen met...$\" contextmenu lijst \
# voor 64-bit toepassingen."
LangString str_section_vim_rc ${LANG_DUTCH} \
"Creëer standaard configuratie"
LangString str_desc_vim_rc ${LANG_DUTCH} \
"Creëer een standaard configuratie bestand (_vimrc) als er nog geen bestaat."
LangString str_group_plugin ${LANG_DUTCH} \
"Creëer Plugin mappen"
LangString str_desc_plugin ${LANG_DUTCH} \
"Creëer plugin mappen. Plugin mappen maken het mogelijk om \
Vim uit te breiden door een bestand in een map te plaatsen."
LangString str_section_plugin_home ${LANG_DUTCH} \
"Privé"
LangString str_desc_plugin_home ${LANG_DUTCH} \
"Create plugin directories in HOME directory."
LangString str_section_plugin_vim ${LANG_DUTCH} \
"Gedeeld"
LangString str_desc_plugin_vim ${LANG_DUTCH} \
"Creëer plugin mappen in Vim installatie map, deze worden gebruikt \
voor iedereen op het systeem."
LangString str_section_nls ${LANG_DUTCH} \
"Ondersteuning voor andere talen"
LangString str_desc_nls ${LANG_DUTCH} \
"Bestanden voor ondersteuning van andere talen dan Engels installeren."
LangString str_unsection_register ${LANG_DUTCH} \
"Vim afmelden"
LangString str_desc_unregister ${LANG_DUTCH} \
"Registratie van Vim in het systeem ongedaan maken."
LangString str_unsection_exe ${LANG_DUTCH} \
"Vim uitvoerbare/runtime bestanden verwijderen"
LangString str_desc_rm_exe ${LANG_DUTCH} \
"Verwijder alle Vim uitvoerbare bestanden en runtime bestanden."
LangString str_ungroup_plugin ${LANG_DUTCH} \
"Remove plugin directories"
LangString str_desc_rm_plugin ${LANG_DUTCH} \
"Remove the plugin directories if they are empty."
LangString str_unsection_plugin_home ${LANG_DUTCH} \
"Privé"
LangString str_desc_rm_plugin_home ${LANG_DUTCH} \
"Remove the plugin directories from HOME directory."
LangString str_unsection_plugin_vim ${LANG_DUTCH} \
"Gedeeld"
LangString str_desc_rm_plugin_vim ${LANG_DUTCH} \
"Remove the plugin directories from Vim install directory."
LangString str_unsection_rootdir ${LANG_DUTCH} \
"Remove the Vim root directory"
LangString str_desc_rm_rootdir ${LANG_DUTCH} \
"Remove the Vim root directory. It contains your Vim configuration files!"
##############################################################################
# Messages {{{1
##############################################################################
#LangString str_msg_too_many_ver ${LANG_DUTCH} \
# "Er zijn $vim_old_ver_count Vim versies op je systeem gevonden.$\r$\n\
# Deze installatie kan omgaan met maximaal ${VIM_MAX_OLD_VER} versies.$\r$\n\
# Verwijder a.u.b. wat versies en probeer het dan opnieuw."
#LangString str_msg_invalid_root ${LANG_DUTCH} \
# "Ongeldig installatiepad: $vim_install_root!$\r$\n\
# Het moet eindelijk op $\"vim$\"."
#LangString str_msg_bin_mismatch ${LANG_DUTCH} \
# "Binair pad onjuist!$\r$\n$\r$\n\
# Het binaire pad zou $\"$vim_bin_path$\" moeten zijn,$\r$\n\
# maar het systeem geeft aan dat het binaire pad $\"$INSTDIR$\" is."
#LangString str_msg_vim_running ${LANG_DUTCH} \
# "Vim is nog actief op je systeem.$\r$\n\
# Sluit a.u.b. alle instanties van Vim voordat je verder gaat."
#LangString str_msg_register_ole ${LANG_DUTCH} \
# "Bezig met proberen om Vim te registreren met OLE. \
# Er is geen bericht dat aangeeft of deze operatie slaagt."
#LangString str_msg_unreg_ole ${LANG_DUTCH} \
# "Bezig met proberen om Vim te de-registreren met OLE. \
# Er is geen bericht dat aangeeft of deze operatie slaagt."
#LangString str_msg_rm_start ${LANG_DUTCH} \
# "De volgende versies worden verwijderd:"
#LangString str_msg_rm_fail ${LANG_DUTCH} \
# "De volgende versies konden niet worden verwijderd:"
#LangString str_msg_no_rm_key ${LANG_DUTCH} \
# "Kan de uninstaller register sleutel niet vinden."
#LangString str_msg_no_rm_reg ${LANG_DUTCH} \
# "Kan de uninstaller niet vinden via het register."
#LangString str_msg_no_rm_exe ${LANG_DUTCH} \
# "Kan geen toegang krijgen tot de uninstaller."
#LangString str_msg_rm_copy_fail ${LANG_DUTCH} \
# "Kon de uninstaller niet naar een tijdelijke map kopiëren."
#LangString str_msg_rm_run_fail ${LANG_DUTCH} \
# "Kon de uninstaller niet uitvoeren."
#LangString str_msg_abort_install ${LANG_DUTCH} \
# "Installatie wordt gestopt."
LangString str_msg_install_fail ${LANG_DUTCH} \
"Installatie is mislukt."
LangString str_msg_rm_exe_fail ${LANG_DUTCH} \
"Sommige bestanden in $0 zijn niet verwijderd!$\r$\n\
Dit moet je handmatig doen."
#LangString str_msg_rm_root_fail ${LANG_DUTCH} \
# "WAARSCHUWING: Kan $\"$vim_install_root$\" niet verwijderen omdat het niet leeg is!"
LangString str_msg_uninstalling ${LANG_DUTCH} \
"Uninstalling the old version..."
LangString str_msg_registering ${LANG_DUTCH} \
"Registering..."
LangString str_msg_unregistering ${LANG_DUTCH} \
"Unregistering..."
##############################################################################
# Dialog Box {{{1
##############################################################################
LangString str_vimrc_page_title ${LANG_DUTCH} \
"Choose _vimrc settings"
LangString str_vimrc_page_subtitle ${LANG_DUTCH} \
"Choose the settings for enhancement, keyboard and mouse."
LangString str_msg_compat_title ${LANG_DUTCH} \
" Vi / Vim behavior "
LangString str_msg_compat_desc ${LANG_DUTCH} \
"&Compatibility and enhancements"
LangString str_msg_compat_vi ${LANG_DUTCH} \
"Vi compatible"
LangString str_msg_compat_vim ${LANG_DUTCH} \
"Vim original"
LangString str_msg_compat_defaults ${LANG_DUTCH} \
"Vim with some enhancements (load defaults.vim)"
LangString str_msg_compat_all ${LANG_DUTCH} \
"Vim with all enhancements (load vimrc_example.vim) (Default)"
LangString str_msg_keymap_title ${LANG_DUTCH} \
" Mappings "
LangString str_msg_keymap_desc ${LANG_DUTCH} \
"&Remap a few keys for Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc)"
LangString str_msg_keymap_default ${LANG_DUTCH} \
"Do not remap keys (Default)"
LangString str_msg_keymap_windows ${LANG_DUTCH} \
"Remap a few keys"
LangString str_msg_mouse_title ${LANG_DUTCH} \
" Mouse "
LangString str_msg_mouse_desc ${LANG_DUTCH} \
"&Behavior of right and left buttons"
LangString str_msg_mouse_default ${LANG_DUTCH} \
"Right: popup menu, Left: visual mode (Default)"
LangString str_msg_mouse_windows ${LANG_DUTCH} \
"Right: popup menu, Left: select mode (Windows)"
LangString str_msg_mouse_unix ${LANG_DUTCH} \
"Right: extends selection, Left: visual mode (Unix)"

288
nsis/lang/english.nsi Normal file
View file

@ -0,0 +1,288 @@
# vi:set ts=8 sts=4 sw=4 et fdm=marker:
#
# english.nsi: English language strings for gvim NSIS installer.
#
# Locale ID : 1033
# Locale Name : en
# fileencoding : UTF-8
# Author : Guopeng Wen, Ken Takata
!insertmacro MUI_LANGUAGE "English"
# Overwrite the default translation.
# These strings should be always English. Otherwise dosinst.c fails.
LangString ^SetupCaption ${LANG_ENGLISH} \
"$(^Name) Setup"
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
##############################################################################
#LangString str_dest_folder ${LANG_ENGLISH} \
# "Destination Folder (Must end with $\"vim$\")"
LangString str_show_readme ${LANG_ENGLISH} \
"Show README after installation finished"
# Install types:
LangString str_type_typical ${LANG_ENGLISH} \
"Typical"
LangString str_type_minimal ${LANG_ENGLISH} \
"Minimal"
LangString str_type_full ${LANG_ENGLISH} \
"Full"
##############################################################################
# Section Titles & Description {{{1
##############################################################################
LangString str_section_old_ver ${LANG_ENGLISH} \
"Uninstall Existing Version(s)"
LangString str_desc_old_ver ${LANG_ENGLISH} \
"Uninstall existing Vim version(s) from your system."
LangString str_section_exe ${LANG_ENGLISH} \
"Vim GUI and runtime files"
LangString str_desc_exe ${LANG_ENGLISH} \
"Vim GUI executables and runtime files. This component is required."
LangString str_section_console ${LANG_ENGLISH} \
"Vim console program"
LangString str_desc_console ${LANG_ENGLISH} \
"Console version of Vim (vim.exe)."
LangString str_section_batch ${LANG_ENGLISH} \
"Create .bat files"
LangString str_desc_batch ${LANG_ENGLISH} \
"Create .bat files for Vim variants in the Windows directory for \
command line use."
LangString str_group_icons ${LANG_ENGLISH} \
"Create icons for Vim"
LangString str_desc_icons ${LANG_ENGLISH} \
"Create icons for Vim at various locations to facilitate easy access."
LangString str_section_desktop ${LANG_ENGLISH} \
"On the Desktop"
LangString str_desc_desktop ${LANG_ENGLISH} \
"Create icons for gVim executables on the desktop."
LangString str_section_start_menu ${LANG_ENGLISH} \
"In the Start Menu Programs Folder"
LangString str_desc_start_menu ${LANG_ENGLISH} \
"Add Vim in the programs folder of the start menu."
#LangString str_section_quick_launch ${LANG_ENGLISH} \
# "In the Quick Launch Bar"
#LangString str_desc_quick_launch ${LANG_ENGLISH} \
# "Add Vim shortcut in the quick launch bar."
LangString str_section_edit_with ${LANG_ENGLISH} \
"Add Vim Context Menu"
LangString str_desc_edit_with ${LANG_ENGLISH} \
"Add Vim to the $\"Open With...$\" context menu list."
#LangString str_section_edit_with32 ${LANG_ENGLISH} \
# "32-bit Version"
#LangString str_desc_edit_with32 ${LANG_ENGLISH} \
# "Add Vim to the $\"Open With...$\" context menu list \
# for 32-bit applications."
#LangString str_section_edit_with64 ${LANG_ENGLISH} \
# "64-bit Version"
#LangString str_desc_edit_with64 ${LANG_ENGLISH} \
# "Add Vim to the $\"Open With...$\" context menu list \
# for 64-bit applications."
LangString str_section_vim_rc ${LANG_ENGLISH} \
"Create Default Config"
LangString str_desc_vim_rc ${LANG_ENGLISH} \
"Create a default config file (_vimrc) if one does not already exist."
LangString str_group_plugin ${LANG_ENGLISH} \
"Create Plugin Directories"
LangString str_desc_plugin ${LANG_ENGLISH} \
"Create plugin directories. Plugin directories allow extending Vim \
by dropping a file into a directory."
LangString str_section_plugin_home ${LANG_ENGLISH} \
"Private"
LangString str_desc_plugin_home ${LANG_ENGLISH} \
"Create plugin directories in HOME directory."
LangString str_section_plugin_vim ${LANG_ENGLISH} \
"Shared"
LangString str_desc_plugin_vim ${LANG_ENGLISH} \
"Create plugin directories in Vim install directory, it is used for \
everybody on the system."
LangString str_section_nls ${LANG_ENGLISH} \
"Native Language Support"
LangString str_desc_nls ${LANG_ENGLISH} \
"Install files for native language support."
LangString str_unsection_register ${LANG_ENGLISH} \
"Unregister Vim"
LangString str_desc_unregister ${LANG_ENGLISH} \
"Unregister Vim from the system."
LangString str_unsection_exe ${LANG_ENGLISH} \
"Remove Vim Executables/Runtime Files"
LangString str_desc_rm_exe ${LANG_ENGLISH} \
"Remove all Vim executables and runtime files."
LangString str_ungroup_plugin ${LANG_ENGLISH} \
"Remove plugin directories"
LangString str_desc_rm_plugin ${LANG_ENGLISH} \
"Remove the plugin directories if they are empty."
LangString str_unsection_plugin_home ${LANG_ENGLISH} \
"Private"
LangString str_desc_rm_plugin_home ${LANG_ENGLISH} \
"Remove the plugin directories from HOME directory."
LangString str_unsection_plugin_vim ${LANG_ENGLISH} \
"Shared"
LangString str_desc_rm_plugin_vim ${LANG_ENGLISH} \
"Remove the plugin directories from Vim install directory."
LangString str_unsection_rootdir ${LANG_ENGLISH} \
"Remove the Vim root directory"
LangString str_desc_rm_rootdir ${LANG_ENGLISH} \
"Remove the Vim root directory. It contains your Vim configuration files!"
##############################################################################
# Messages {{{1
##############################################################################
#LangString str_msg_too_many_ver ${LANG_ENGLISH} \
# "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_ENGLISH} \
# "Invalid install path: $vim_install_root!$\r$\n\
# It should end with $\"vim$\"."
#LangString str_msg_bin_mismatch ${LANG_ENGLISH} \
# "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_ENGLISH} \
# "Vim is still running on your system.$\r$\n\
# Please close all instances of Vim before you continue."
#LangString str_msg_register_ole ${LANG_ENGLISH} \
# "Attempting to register Vim with OLE. \
# There is no message indicates whether this works or not."
#LangString str_msg_unreg_ole ${LANG_ENGLISH} \
# "Attempting to unregister Vim with OLE. \
# There is no message indicates whether this works or not."
#LangString str_msg_rm_start ${LANG_ENGLISH} \
# "Uninstalling the following version:"
#LangString str_msg_rm_fail ${LANG_ENGLISH} \
# "Fail to uninstall the following version:"
#LangString str_msg_no_rm_key ${LANG_ENGLISH} \
# "Cannot find uninstaller registry key."
#LangString str_msg_no_rm_reg ${LANG_ENGLISH} \
# "Cannot find uninstaller from registry."
#LangString str_msg_no_rm_exe ${LANG_ENGLISH} \
# "Cannot access uninstaller."
#LangString str_msg_rm_copy_fail ${LANG_ENGLISH} \
# "Fail to copy uninstaller to temporary directory."
#LangString str_msg_rm_run_fail ${LANG_ENGLISH} \
# "Fail to run uninstaller."
#LangString str_msg_abort_install ${LANG_ENGLISH} \
# "Installer will abort."
LangString str_msg_install_fail ${LANG_ENGLISH} \
"Installation failed. Better luck next time."
LangString str_msg_rm_exe_fail ${LANG_ENGLISH} \
"Some files in $0 have not been deleted!$\r$\n\
You must do it manually."
#LangString str_msg_rm_root_fail ${LANG_ENGLISH} \
# "WARNING: Cannot remove $\"$vim_install_root$\", it is not empty!"
LangString str_msg_uninstalling ${LANG_ENGLISH} \
"Uninstalling the old version..."
LangString str_msg_registering ${LANG_ENGLISH} \
"Registering..."
LangString str_msg_unregistering ${LANG_ENGLISH} \
"Unregistering..."
##############################################################################
# Dialog Box {{{1
##############################################################################
LangString str_vimrc_page_title ${LANG_ENGLISH} \
"Choose _vimrc settings"
LangString str_vimrc_page_subtitle ${LANG_ENGLISH} \
"Choose the settings for enhancement, keyboard and mouse."
LangString str_msg_compat_title ${LANG_ENGLISH} \
" Vi / Vim behavior "
LangString str_msg_compat_desc ${LANG_ENGLISH} \
"&Compatibility and enhancements"
LangString str_msg_compat_vi ${LANG_ENGLISH} \
"Vi compatible"
LangString str_msg_compat_vim ${LANG_ENGLISH} \
"Vim original"
LangString str_msg_compat_defaults ${LANG_ENGLISH} \
"Vim with some enhancements (load defaults.vim)"
LangString str_msg_compat_all ${LANG_ENGLISH} \
"Vim with all enhancements (load vimrc_example.vim) (Default)"
LangString str_msg_keymap_title ${LANG_ENGLISH} \
" Mappings "
LangString str_msg_keymap_desc ${LANG_ENGLISH} \
"&Remap a few keys for Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc)"
LangString str_msg_keymap_default ${LANG_ENGLISH} \
"Do not remap keys (Default)"
LangString str_msg_keymap_windows ${LANG_ENGLISH} \
"Remap a few keys"
LangString str_msg_mouse_title ${LANG_ENGLISH} \
" Mouse "
LangString str_msg_mouse_desc ${LANG_ENGLISH} \
"&Behavior of right and left buttons"
LangString str_msg_mouse_default ${LANG_ENGLISH} \
"Right: popup menu, Left: visual mode (Default)"
LangString str_msg_mouse_windows ${LANG_ENGLISH} \
"Right: popup menu, Left: select mode (Windows)"
LangString str_msg_mouse_unix ${LANG_ENGLISH} \
"Right: extends selection, Left: visual mode (Unix)"

290
nsis/lang/german.nsi Normal file
View file

@ -0,0 +1,290 @@
# vi:set ts=8 sts=4 sw=4 et fdm=marker:
#
# german.nsi : German language strings for gvim NSIS installer.
#
# Locale ID : 1031
# Locale Name : de
# fileencoding : UTF-8
# Author : Christian Brabandt, tux
!insertmacro MUI_LANGUAGE "German"
# Overwrite the default translation.
# These strings should be always English. Otherwise dosinst.c fails.
LangString ^SetupCaption ${LANG_GERMAN} \
"$(^Name) Setup"
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
##############################################################################
#LangString str_dest_folder ${LANG_GERMAN} \
# "Zielverzeichnis auswählen (muss auf $\"vim$\" enden)"
LangString str_show_readme ${LANG_GERMAN} \
"README-Datei nach der Installation anzeigen"
# Install types:
LangString str_type_typical ${LANG_GERMAN} \
"Typisch"
LangString str_type_minimal ${LANG_GERMAN} \
"Minimal"
LangString str_type_full ${LANG_GERMAN} \
"Vollständig"
##############################################################################
# Section Titles & Description {{{1
##############################################################################
LangString str_section_old_ver ${LANG_GERMAN} \
"Vorherige Version deinstallieren"
LangString str_desc_old_ver ${LANG_GERMAN} \
"Vorherige installierte Versionen auf diesem System deinstallieren."
LangString str_section_exe ${LANG_GERMAN} \
"Vim GUI"
LangString str_desc_exe ${LANG_GERMAN} \
"Vim (Anwendung) und Laufzeitdateien (Dieser Teil ist zwingend \
erforderlich)."
LangString str_section_console ${LANG_GERMAN} \
"Vim Konsolenanwendung"
LangString str_desc_console ${LANG_GERMAN} \
"Konsolenversion von Vim."
LangString str_section_batch ${LANG_GERMAN} \
".bat-Dateien erstellen"
LangString str_desc_batch ${LANG_GERMAN} \
".bat-Dateien erstellen, um Vim in der Konsole auszuführen."
LangString str_group_icons ${LANG_GERMAN} \
"Vim-Verknüpfungen erstellen"
LangString str_desc_icons ${LANG_GERMAN} \
"Verknüpfungen mit Vim für einfachen Aufruf erstellen."
LangString str_section_desktop ${LANG_GERMAN} \
"Auf dem Desktop"
LangString str_desc_desktop ${LANG_GERMAN} \
"Icons für GVim auf dem Desktop erstellen."
LangString str_section_start_menu ${LANG_GERMAN} \
"Im Startmenü"
LangString str_desc_start_menu ${LANG_GERMAN} \
"Vim im Programmverzeichnis des Startmenüs hinzufügen."
#LangString str_section_quick_launch ${LANG_GERMAN} \
# "In der Schnellstartleiste"
#LangString str_desc_quick_launch ${LANG_GERMAN} \
# "Verknüpfung zu Vim in der Schnellstartleiste ablegen."
LangString str_section_edit_with ${LANG_GERMAN} \
"Vim zum Kontextmenü hinzufügen"
LangString str_desc_edit_with ${LANG_GERMAN} \
"Vim in das $\"Öffnen mit...$\"-Kontextmenü einfügen."
#LangString str_section_edit_with32 ${LANG_GERMAN} \
# "32-Bit-Version"
#LangString str_desc_edit_with32 ${LANG_GERMAN} \
# "Vim in das $\"Öffnen mit...$\"-Kontextmenü \
# für 32-Bit-Anwendungen integrieren."
#LangString str_section_edit_with64 ${LANG_GERMAN} \
# "64-Bit-Version"
#LangString str_desc_edit_with64 ${LANG_GERMAN} \
# "Vim in das $\"Öffnen mit...$\"-Kontextmenü \
# für 64-Bit-Anwendungen integrieren."
LangString str_section_vim_rc ${LANG_GERMAN} \
"Standard-Konfigurationsdatei erstellen"
LangString str_desc_vim_rc ${LANG_GERMAN} \
"Eine Standard-Konfigurationsdatei (_vimrc) erstellen, \
falls noch keine existiert."
LangString str_group_plugin ${LANG_GERMAN} \
"Plugin-Verzeichnisse anlegen"
LangString str_desc_plugin ${LANG_GERMAN} \
"Plugin-Verzeichnisse anlegen. Plugins erlauben es, Vim \
um zusätzliche Funktionen zu erweitern."
LangString str_section_plugin_home ${LANG_GERMAN} \
"Privat"
LangString str_desc_plugin_home ${LANG_GERMAN} \
"Erstelle Plugin-Verzeichnis im HOME Benutzerverzeichnis."
LangString str_section_plugin_vim ${LANG_GERMAN} \
"Freigegeben"
LangString str_desc_plugin_vim ${LANG_GERMAN} \
"Plugin-Verzeichnisse im Vim-Installationsverzeichnis erstellen. Diese werden \
für alle Benutzer dieses Systems genutzt."
LangString str_section_nls ${LANG_GERMAN} \
"Unterstützung für andere Sprachen"
LangString str_desc_nls ${LANG_GERMAN} \
"Dateien zur Unterstützung anderer Sprachen als Englisch installieren."
LangString str_unsection_register ${LANG_GERMAN} \
"Vim deinstallieren"
LangString str_desc_unregister ${LANG_GERMAN} \
"Vim vom System entfernen."
LangString str_unsection_exe ${LANG_GERMAN} \
"Vim-Anwendung und Laufzeitdateien entfernen"
LangString str_desc_rm_exe ${LANG_GERMAN} \
"Alle Vim-Anwendungen und Laufzeitdateien von diesem System entfernen."
LangString str_ungroup_plugin ${LANG_GERMAN} \
"Entferne Plugin-Verzeichnisse"
LangString str_desc_rm_plugin ${LANG_GERMAN} \
"Entferne Plugin-Verzeichnisse, falls sie leer sind."
LangString str_unsection_plugin_home ${LANG_GERMAN} \
"Privat"
LangString str_desc_rm_plugin_home ${LANG_GERMAN} \
"Entfernt die Plugin-Verzeichnisse aus dem HOME Benutzerverzeichnis."
LangString str_unsection_plugin_vim ${LANG_GERMAN} \
"Freigegeben"
LangString str_desc_rm_plugin_vim ${LANG_GERMAN} \
"Entfernt das Plugin-Verzeichnis aus dem Vim-Installationsverzeichnis."
LangString str_unsection_rootdir ${LANG_GERMAN} \
"Entferne Vim Installationsverzeichnis"
LangString str_desc_rm_rootdir ${LANG_GERMAN} \
"Entfernt das Vim Installationsverzeichnis. Es enthält die Vim Konfigurationsdateien!"
##############################################################################
# Messages {{{1
##############################################################################
#LangString str_msg_too_many_ver ${LANG_GERMAN} \
# "$vim_old_ver_count Vim-Versionen auf diesem System gefunden..$\r$\n\
# Dieser Installer kann maximal ${VIM_MAX_OLD_VER} Versionen \
# handhaben.$\r$\n\
# Bitte alte Versionen entfernen und noch einmal probieren."
#LangString str_msg_invalid_root ${LANG_GERMAN} \
# "Nicht gültiges Installationsverzeichnis: $vim_install_root!$\r$\n\
# Der Pfad muss auf $\"vim$\" enden."
#LangString str_msg_bin_mismatch ${LANG_GERMAN} \
# "Pfaddiskrepanz!$\r$\n$\r$\n\
# Erwarte Anwendungsverzeichnis $\"$vim_bin_path$\",$\r$\n\
# aber fand Anwendungspfad $\"$INSTDIR$\" vor."
#LangString str_msg_vim_running ${LANG_GERMAN} \
# "Laufender Vim-Prozess erkannt.$\r$\n\
# Bitte alle laufenden Vim-Prozesse vor dem Fortfahren beenden."
#LangString str_msg_register_ole ${LANG_GERMAN} \
# "Versuche OLE-Registrierung durchzuführen."
#LangString str_msg_unreg_ole ${LANG_GERMAN} \
# "Versuche OLE-Registrierung zu löschen."
#LangString str_msg_rm_start ${LANG_GERMAN} \
# "Deinstalliere die folgende Version:"
#LangString str_msg_rm_fail ${LANG_GERMAN} \
# "Deinstallation der Version fehlgeschlagen:"
#LangString str_msg_no_rm_key ${LANG_GERMAN} \
# "Deinstallationsschlüssel in der Registrierungsdatenbank nicht gefunden."
#LangString str_msg_no_rm_reg ${LANG_GERMAN} \
# "Kein Uninstaller in der Registrierungsdatenbank gefunden."
#LangString str_msg_no_rm_exe ${LANG_GERMAN} \
# "Kein Zugriff auf den Uninstaller."
#LangString str_msg_rm_copy_fail ${LANG_GERMAN} \
# "Fehler beim Kopieren des Uninstallers in ein temporäres Verzeichnis."
#LangString str_msg_rm_run_fail ${LANG_GERMAN} \
# "Fehler beim Aufruf des Uninstallers."
#LangString str_msg_abort_install ${LANG_GERMAN} \
# "Installation wird abgebrochen."
LangString str_msg_install_fail ${LANG_GERMAN} \
"Installation fehlerhaft beendet."
LangString str_msg_rm_exe_fail ${LANG_GERMAN} \
"Einige Dateien im Pfad $0 konnten nicht gelöscht werden!$\r$\n\
Diese Dateien müssen manuell gelöscht werden."
#LangString str_msg_rm_root_fail ${LANG_GERMAN} \
# "Achtung: Kann Verzeichnis $\"$vim_install_root$\" nicht entfernen, \
# weil es nicht leer ist!"
LangString str_msg_uninstalling ${LANG_GERMAN} \
"Deinstalliere alte Version..."
LangString str_msg_registering ${LANG_GERMAN} \
"Registriere..."
LangString str_msg_unregistering ${LANG_GERMAN} \
"Entferne Registrierung..."
##############################################################################
# Dialog Box {{{1
##############################################################################
LangString str_vimrc_page_title ${LANG_GERMAN} \
"Wähle _vimrc Konfigurationsoptionen"
LangString str_vimrc_page_subtitle ${LANG_GERMAN} \
"Wähle Einstellungen zur Kompatibilität, Tastatur und Maus."
LangString str_msg_compat_title ${LANG_GERMAN} \
" Vi / Vim Verhalten "
LangString str_msg_compat_desc ${LANG_GERMAN} \
"&Kompatibilität und Erweiterungen"
LangString str_msg_compat_vi ${LANG_GERMAN} \
"Vi-kompatibel"
LangString str_msg_compat_vim ${LANG_GERMAN} \
"Vim Original"
LangString str_msg_compat_defaults ${LANG_GERMAN} \
"Vim mit einigen Erweiterungen (Lädt defaults.vim)"
LangString str_msg_compat_all ${LANG_GERMAN} \
"Vim mit allen Erweiterungen (Lädt vimrc_example.vim) (Standard)"
LangString str_msg_keymap_title ${LANG_GERMAN} \
" Mappings für Windows Standard Tastenkombinationen "
LangString str_msg_keymap_desc ${LANG_GERMAN} \
"&Einige Tasten umkonfigurieren (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc)"
LangString str_msg_keymap_default ${LANG_GERMAN} \
"Keine Tasten umkonfigurieren (Standard)"
LangString str_msg_keymap_windows ${LANG_GERMAN} \
"Einige Tasten umkonfigurieren"
LangString str_msg_mouse_title ${LANG_GERMAN} \
" Maus "
LangString str_msg_mouse_desc ${LANG_GERMAN} \
"&Verhalten der linken und rechten Buttons"
LangString str_msg_mouse_default ${LANG_GERMAN} \
"Rechts: Popup Menü, Links: Visueller Modus (Standard)"
LangString str_msg_mouse_windows ${LANG_GERMAN} \
"Rechts: Popup Menü, Links: Auswahl Modus (Windows)"
LangString str_msg_mouse_unix ${LANG_GERMAN} \
"Rechts: Auswahl erweitern, Links: Visueller Modus (Unix)"

291
nsis/lang/greek.nsi Normal file
View file

@ -0,0 +1,291 @@
# 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)"

288
nsis/lang/italian.nsi Normal file
View file

@ -0,0 +1,288 @@
# vi:set ts=8 sts=4 sw=4 et fdm=marker:
#
# italian.nsi : Italian language strings for gvim NSIS installer.
#
# Locale ID : 1040
# Locale Name : it
# fileencoding : UTF-8
# Author : Antonio Colombo, bovirus - revision: 12.05.2023
!insertmacro MUI_LANGUAGE "Italian"
# Overwrite the default translation.
# These strings should be always English. Otherwise dosinst.c fails.
LangString ^SetupCaption ${LANG_ITALIAN} \
"$(^Name) Setup"
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$\")"
LangString str_show_readme ${LANG_ITALIAN} \
"Visualizza file README a fine installazione"
# Install types:
LangString str_type_typical ${LANG_ITALIAN} \
"Tipica"
LangString str_type_minimal ${LANG_ITALIAN} \
"Minima"
LangString str_type_full ${LANG_ITALIAN} \
"Completa"
##############################################################################
# Section Titles & Description {{{1
##############################################################################
LangString str_section_old_ver ${LANG_ITALIAN} \
"Disinstalla versioni esistenti"
LangString str_desc_old_ver ${LANG_ITALIAN} \
"Disinstalla versioni esistenti di Vim."
LangString str_section_exe ${LANG_ITALIAN} \
"GUI e file supporto Vim"
LangString str_desc_exe ${LANG_ITALIAN} \
"GUI programmi e file di supporto Vim. Questa componente è indispensabile."
LangString str_section_console ${LANG_ITALIAN} \
"Console Vim (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 \
di Windows, per utilizzo da riga di comando."
LangString str_group_icons ${LANG_ITALIAN} \
"Crea icone Vim"
LangString str_desc_icons ${LANG_ITALIAN} \
"Crea icone Vim per rendere facile l'accesso."
LangString str_section_desktop ${LANG_ITALIAN} \
"Icone sul Desktop"
LangString str_desc_desktop ${LANG_ITALIAN} \
"Crea icone programma gVim sul desktop."
LangString str_section_start_menu ${LANG_ITALIAN} \
"Gruppo programmi menù START"
LangString str_desc_start_menu ${LANG_ITALIAN} \
"Aggiunge gruppo programmi al menù START."
#LangString str_section_quick_launch ${LANG_ITALIAN} \
# "Barra avvio veloce"
#LangString str_desc_quick_launch ${LANG_ITALIAN} \
# "Aggiunge un collegamento a Vim nella barra di avvio veloce."
LangString str_section_edit_with ${LANG_ITALIAN} \
"Aggiungi Vim al menù contestuale"
LangString str_desc_edit_with ${LANG_ITALIAN} \
"Aggiunge Vim al menu contestuale $\"Apri con...$\"."
#LangString str_section_edit_with32 ${LANG_ITALIAN} \
# "Versione a 32 bit"
#LangString str_desc_edit_with32 ${LANG_ITALIAN} \
# "Aggiungi Vim al menu contestuale $\"Apri con...$\" \
# per applicazioni a 32 bit."
#LangString str_section_edit_with64 ${LANG_ITALIAN} \
# "Versione a 64 bit"
#LangString str_desc_edit_with64 ${LANG_ITALIAN} \
# "Aggiunge Vim al menu contestuale $\"Apri con...$\" \
# per applicazioni a 64 bit."
LangString str_section_vim_rc ${LANG_ITALIAN} \
"Crea configurazione predefinita"
LangString str_desc_vim_rc ${LANG_ITALIAN} \
"Crea, se non ne esiste già uno, un file configurazione predefinito (_vimrc) ."
LangString str_group_plugin ${LANG_ITALIAN} \
"Crea cartella 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."
LangString str_section_plugin_home ${LANG_ITALIAN} \
"Privata"
LangString str_desc_plugin_home ${LANG_ITALIAN} \
"Crea cartella plugin nella cartella HOME."
LangString str_section_plugin_vim ${LANG_ITALIAN} \
"Condivisa"
LangString str_desc_plugin_vim ${LANG_ITALIAN} \
"Crea cartella plugin nella cartella 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)"
LangString str_desc_nls ${LANG_ITALIAN} \
"Installa i file per il supporto nativo multilingua."
LangString str_unsection_register ${LANG_ITALIAN} \
"Rimuovi Vim dal registro"
LangString str_desc_unregister ${LANG_ITALIAN} \
"Rimuove Vim dal registro di configurazione sistema."
LangString str_unsection_exe ${LANG_ITALIAN} \
"Elimina programmi/file di supporto Vim"
LangString str_desc_rm_exe ${LANG_ITALIAN} \
"Elimina tutti i programmi/file di supporto di Vim."
LangString str_ungroup_plugin ${LANG_ITALIAN} \
"Elimina cartelle plugin"
LangString str_desc_rm_plugin ${LANG_ITALIAN} \
"Elimina le cartelle 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."
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."
LangString str_unsection_rootdir ${LANG_ITALIAN} \
"Elimina la cartella di installazione di Vim"
LangString str_desc_rm_rootdir ${LANG_ITALIAN} \
"Elimina la cartella di installazione di Vim. Contiene i file di configurazione!"
##############################################################################
# Messages {{{1
##############################################################################
#LangString str_msg_too_many_ver ${LANG_ITALIAN} \
# "Rilevate nel sistema $vim_old_ver_count versioni di Vim.$\r$\n\
# Questo programma di installazione può gestire solo \
# ${VIM_MAX_OLD_VER} versioni.$\r$\n\
# Disinstalla qualche versione precedente e ricomincia."
#LangString str_msg_invalid_root ${LANG_ITALIAN} \
# "Nome cartella 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$\"."
#LangString str_msg_vim_running ${LANG_ITALIAN} \
# "Vim è ancora in esecuzione nel sistema.$\r$\n\
# Per continuare chiudi tutte le sessioni attive di Vim."
#LangString str_msg_register_ole ${LANG_ITALIAN} \
# "Tentativo di registrazione di Vim con OLE. \
# Non ci sono messaggi che indicano se l'operazione è riuscita."
#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."
#LangString str_msg_rm_start ${LANG_ITALIAN} \
# "Disinstallazione della versione:"
#LangString str_msg_rm_fail ${LANG_ITALIAN} \
# "Disinstallazione non riuscita per la versione:"
#LangString str_msg_no_rm_key ${LANG_ITALIAN} \
# "Impossibile trovare chiave disinstallazione nel registro."
#LangString str_msg_no_rm_reg ${LANG_ITALIAN} \
# "Impossibile trovare programma disinstallazione nel registro."
#LangString str_msg_no_rm_exe ${LANG_ITALIAN} \
# "Impossibile trovare programma disinstallazione."
#LangString str_msg_rm_copy_fail ${LANG_ITALIAN} \
# "Impossibile copiare il programma disinstallazione in una cartella temporanea."
#LangString str_msg_rm_run_fail ${LANG_ITALIAN} \
# "Impossibile eseguire programma disinstallazione."
#LangString str_msg_abort_install ${LANG_ITALIAN} \
# "Il programma di disinstallazione verrà chiuso senza aver eseguito nessuna modifica."
LangString str_msg_install_fail ${LANG_ITALIAN} \
"Installazione non riuscita."
LangString str_msg_rm_exe_fail ${LANG_ITALIAN} \
"Alcuni file in $0 non sono stati eliminati!$\r$\n\
I file vanno rimossi manualmente."
#LangString str_msg_rm_root_fail ${LANG_ITALIAN} \
# "AVVISO: impossibile eliminare $\"$vim_install_root$\", non è vuota!"
LangString str_msg_uninstalling ${LANG_ITALIAN} \
"Disinstallazione vecchia versione Vim..."
LangString str_msg_registering ${LANG_ITALIAN} \
"Aggiunta di Vim al registro..."
LangString str_msg_unregistering ${LANG_ITALIAN} \
"Rimozione di Vim dal registro..."
##############################################################################
# Dialog Box {{{1
##############################################################################
LangString str_vimrc_page_title ${LANG_ITALIAN} \
"Scelta impostazioni _vimrc"
LangString str_vimrc_page_subtitle ${LANG_ITALIAN} \
"Scelta impostazioni funzionalità aggiuntive, tastiera e mouse."
LangString str_msg_compat_title ${LANG_ITALIAN} \
" Comportamento come Vi / Vim "
LangString str_msg_compat_desc ${LANG_ITALIAN} \
"&Compatibilità e funzionalità"
LangString str_msg_compat_vi ${LANG_ITALIAN} \
"Compatibile Vi"
LangString str_msg_compat_vim ${LANG_ITALIAN} \
"Vim originale"
LangString str_msg_compat_defaults ${LANG_ITALIAN} \
"Vim con alcune funzionalità aggiuntive (defaults.vim)"
LangString str_msg_compat_all ${LANG_ITALIAN} \
"Vim con tutte le funzionalità aggiuntive (vimrc_example.vim) (predefinito)"
LangString str_msg_keymap_title ${LANG_ITALIAN} \
" Mappature tastiera "
LangString str_msg_keymap_desc ${LANG_ITALIAN} \
"&Rimappa alcuni tasti Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc.)"
LangString str_msg_keymap_default ${LANG_ITALIAN} \
"Non rimappare i tasti (predefinito)"
LangString str_msg_keymap_windows ${LANG_ITALIAN} \
"Rimappa solo alcuni tasti"
LangString str_msg_mouse_title ${LANG_ITALIAN} \
" Mouse "
LangString str_msg_mouse_desc ${LANG_ITALIAN} \
"&Comportamento pulsanti destro/sinistro"
LangString str_msg_mouse_default ${LANG_ITALIAN} \
"Destro: menu popup, Sinistro: modalità visuale (predefinito)"
LangString str_msg_mouse_windows ${LANG_ITALIAN} \
"Destro: menu popup, Sinistro: selezione modalità (Windows)"
LangString str_msg_mouse_unix ${LANG_ITALIAN} \
"Destro: estensione selezione, Sinistro: modalità visuale (Unix)"

297
nsis/lang/japanese.nsi Normal file
View file

@ -0,0 +1,297 @@
# vi:set ts=8 sts=4 sw=4 et fdm=marker:
#
# japanese.nsi: Japanese language strings for gvim NSIS installer.
#
# Locale ID : 1041
# Locale Name : ja
# fileencoding : UTF-8
# Author : Ken Takata
!insertmacro MUI_LANGUAGE "Japanese"
# Overwrite the default translation.
# These strings should be always English. Otherwise dosinst.c fails.
LangString ^SetupCaption ${LANG_JAPANESE} \
"$(^Name) Setup"
LangString ^UninstallCaption ${LANG_JAPANESE} \
"$(^Name) Uninstall"
# Workarounds for NSIS Japanese translation. The messages are too long.
# These should be better to be fixed by the NSIS upstream.
LangString ^SpaceAvailable ${LANG_JAPANESE} \
"利用可能なディスク容量:"
LangString ^SpaceRequired ${LANG_JAPANESE} \
"必要なディスク容量:"
# Fix another NSIS Japanese translation. The access key was missing.
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
##############################################################################
#LangString str_dest_folder ${LANG_JAPANESE} \
# "Destination Folder (Must end with $\"vim$\")"
LangString str_show_readme ${LANG_JAPANESE} \
"インストール完了後に README を表示する"
# Install types:
LangString str_type_typical ${LANG_JAPANESE} \
"通常"
LangString str_type_minimal ${LANG_JAPANESE} \
"最小"
LangString str_type_full ${LANG_JAPANESE} \
"全て"
##############################################################################
# Section Titles & Description {{{1
##############################################################################
LangString str_section_old_ver ${LANG_JAPANESE} \
"既存のバージョンをアンインストール"
LangString str_desc_old_ver ${LANG_JAPANESE} \
"すでにインストールされている Vim をシステムから削除します。"
LangString str_section_exe ${LANG_JAPANESE} \
"Vim GUI とランタイムファイル"
LangString str_desc_exe ${LANG_JAPANESE} \
"Vim GUI 実行ファイルとラインタイムファイル。このコンポーネントは必須です。"
LangString str_section_console ${LANG_JAPANESE} \
"Vim コンソールプログラム"
LangString str_desc_console ${LANG_JAPANESE} \
"コンソール版の Vim (vim.exe)。"
LangString str_section_batch ${LANG_JAPANESE} \
".bat ファイルを作成"
LangString str_desc_batch ${LANG_JAPANESE} \
"コマンドラインから Vim と関連コマンドを実行できるように、.bat ファイルを Windows ディレクトリに作成します。"
LangString str_group_icons ${LANG_JAPANESE} \
"Vim のアイコンを作成"
LangString str_desc_icons ${LANG_JAPANESE} \
"Vim を簡単に実行できるように、いくつかの場所にアイコンを作成します。"
LangString str_section_desktop ${LANG_JAPANESE} \
"デスクトップ上"
LangString str_desc_desktop ${LANG_JAPANESE} \
"gVim 実行ファイルのアイコンをデスクトップ上に作成します。"
LangString str_section_start_menu ${LANG_JAPANESE} \
"スタートメニューのプログラムフォルダー上"
LangString str_desc_start_menu ${LANG_JAPANESE} \
"Vim のアイコンをスタートメニューのプログラムフォルダー上に作成します。"
#LangString str_section_quick_launch ${LANG_JAPANESE} \
# "In the Quick Launch Bar"
#LangString str_desc_quick_launch ${LANG_JAPANESE} \
# "Add Vim shortcut in the quick launch bar."
LangString str_section_edit_with ${LANG_JAPANESE} \
"Vim のコンテキストメニューを追加"
LangString str_desc_edit_with ${LANG_JAPANESE} \
"$\"Vimで編集する$\" をコンテキストメニューに追加します"
#LangString str_section_edit_with32 ${LANG_JAPANESE} \
# "32-bit Version"
#LangString str_desc_edit_with32 ${LANG_JAPANESE} \
# "Add Vim to the $\"Open With...$\" context menu list \
# for 32-bit applications."
#LangString str_section_edit_with64 ${LANG_JAPANESE} \
# "64-bit Version"
#LangString str_desc_edit_with64 ${LANG_JAPANESE} \
# "Add Vim to the $\"Open With...$\" context menu list \
# for 64-bit applications."
LangString str_section_vim_rc ${LANG_JAPANESE} \
"既定のコンフィグを作成"
LangString str_desc_vim_rc ${LANG_JAPANESE} \
"もし無ければ、既定のコンフィグファイル (_vimrc) を作成します。"
LangString str_group_plugin ${LANG_JAPANESE} \
"プラグインディレクトリを作成"
LangString str_desc_plugin ${LANG_JAPANESE} \
"プラグインディレクトリを作成します。そこにプラグインファイルを置くことで Vim を拡張することができます。"
LangString str_section_plugin_home ${LANG_JAPANESE} \
"個人用"
LangString str_desc_plugin_home ${LANG_JAPANESE} \
"プラグインディレクトリをホームディレクトリに作成します。"
LangString str_section_plugin_vim ${LANG_JAPANESE} \
"共用"
LangString str_desc_plugin_vim ${LANG_JAPANESE} \
"プラグインディレクトリを Vim のインストールディレクトリに作成します。システムの全員で共有されます。"
LangString str_section_nls ${LANG_JAPANESE} \
"多言語サポート"
LangString str_desc_nls ${LANG_JAPANESE} \
"多言語サポート用のファイルをインストールします。"
LangString str_unsection_register ${LANG_JAPANESE} \
"Vim を登録解除"
LangString str_desc_unregister ${LANG_JAPANESE} \
"Vim をシステムから登録解除します。"
LangString str_unsection_exe ${LANG_JAPANESE} \
"Vim の実行ファイル/ランタイムファイルを削除"
LangString str_desc_rm_exe ${LANG_JAPANESE} \
"全ての Vim の実行ファイルとランタイムファイルを削除します。"
LangString str_ungroup_plugin ${LANG_JAPANESE} \
"プラグインディレクトリを削除"
LangString str_desc_rm_plugin ${LANG_JAPANESE} \
"プラグインディレクトリが空であればそれを削除します。"
LangString str_unsection_plugin_home ${LANG_JAPANESE} \
"個人用"
LangString str_desc_rm_plugin_home ${LANG_JAPANESE} \
"プラグインディレクトリをホームディレクトリから削除します。"
LangString str_unsection_plugin_vim ${LANG_JAPANESE} \
"共用"
LangString str_desc_rm_plugin_vim ${LANG_JAPANESE} \
"プラグインディレクトリを Vim のインストールディレクトリから削除します。"
LangString str_unsection_rootdir ${LANG_JAPANESE} \
"Vim のトップディレクトリを削除"
LangString str_desc_rm_rootdir ${LANG_JAPANESE} \
"Vim のトップディレクトリを削除します。あなたの Vim の設定ファイルも含まれていることに注意してください!"
##############################################################################
# Messages {{{1
##############################################################################
#LangString str_msg_too_many_ver ${LANG_JAPANESE} \
# "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_JAPANESE} \
# "Invalid install path: $vim_install_root!$\r$\n\
# It should end with $\"vim$\"."
#LangString str_msg_bin_mismatch ${LANG_JAPANESE} \
# "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_JAPANESE} \
# "Vim is still running on your system.$\r$\n\
# Please close all instances of Vim before you continue."
#LangString str_msg_register_ole ${LANG_JAPANESE} \
# "Attempting to register Vim with OLE. \
# There is no message indicates whether this works or not."
#LangString str_msg_unreg_ole ${LANG_JAPANESE} \
# "Attempting to unregister Vim with OLE. \
# There is no message indicates whether this works or not."
#LangString str_msg_rm_start ${LANG_JAPANESE} \
# "Uninstalling the following version:"
#LangString str_msg_rm_fail ${LANG_JAPANESE} \
# "Fail to uninstall the following version:"
#LangString str_msg_no_rm_key ${LANG_JAPANESE} \
# "Cannot find uninstaller registry key."
#LangString str_msg_no_rm_reg ${LANG_JAPANESE} \
# "Cannot find uninstaller from registry."
#LangString str_msg_no_rm_exe ${LANG_JAPANESE} \
# "Cannot access uninstaller."
#LangString str_msg_rm_copy_fail ${LANG_JAPANESE} \
# "Fail to copy uninstaller to temporary directory."
#LangString str_msg_rm_run_fail ${LANG_JAPANESE} \
# "Fail to run uninstaller."
#LangString str_msg_abort_install ${LANG_JAPANESE} \
# "Installer will abort."
LangString str_msg_install_fail ${LANG_JAPANESE} \
"インストールに失敗しました。次はうまくいくことを祈ります。"
LangString str_msg_rm_exe_fail ${LANG_JAPANESE} \
"$0 内の一部のファイルは削除できませんでした!$\r$\n\
手動で削除する必要があります"
#LangString str_msg_rm_root_fail ${LANG_JAPANESE} \
# "WARNING: Cannot remove $\"$vim_install_root$\", it is not empty!"
LangString str_msg_uninstalling ${LANG_JAPANESE} \
"古いバージョンをアンインストールしています..."
LangString str_msg_registering ${LANG_JAPANESE} \
"登録中..."
LangString str_msg_unregistering ${LANG_JAPANESE} \
"登録解除中..."
##############################################################################
# Dialog Box {{{1
##############################################################################
LangString str_vimrc_page_title ${LANG_JAPANESE} \
"_vimrc の設定を選んでください"
LangString str_vimrc_page_subtitle ${LANG_JAPANESE} \
"拡張やキーボード、マウスの設定を選んでください。"
LangString str_msg_compat_title ${LANG_JAPANESE} \
" Vi / Vim の動作 "
LangString str_msg_compat_desc ${LANG_JAPANESE} \
"互換性と拡張(&C)"
LangString str_msg_compat_vi ${LANG_JAPANESE} \
"Vi 互換"
LangString str_msg_compat_vim ${LANG_JAPANESE} \
"Vim 独自"
LangString str_msg_compat_defaults ${LANG_JAPANESE} \
"Vim 独自と多少の拡張 (defaults.vim を読み込み)"
LangString str_msg_compat_all ${LANG_JAPANESE} \
"Vim 独自と全ての拡張 (vimrc_example.vim を読み込み) (既定)"
LangString str_msg_keymap_title ${LANG_JAPANESE} \
" マッピング "
LangString str_msg_keymap_desc ${LANG_JAPANESE} \
"Windows用に一部のキーをリマップする(&R) (例: Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F など)"
LangString str_msg_keymap_default ${LANG_JAPANESE} \
"リマップしない (既定)"
LangString str_msg_keymap_windows ${LANG_JAPANESE} \
"リマップする"
LangString str_msg_mouse_title ${LANG_JAPANESE} \
" マウス "
LangString str_msg_mouse_desc ${LANG_JAPANESE} \
"右ボタンと左ボタンの動作(&B)"
LangString str_msg_mouse_default ${LANG_JAPANESE} \
"右:ポップアップメニュー、左:ビジュアルモード (既定)"
LangString str_msg_mouse_windows ${LANG_JAPANESE} \
"右:ポップアップメニュー、左:選択モード (Windows)"
LangString str_msg_mouse_unix ${LANG_JAPANESE} \
"右:選択を拡張、左:ビジュアルモード (Unix)"

291
nsis/lang/portuguesebr.nsi Normal file
View file

@ -0,0 +1,291 @@
# 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 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 mensagem que indique se isso funciona ou não."
#LangString str_msg_unreg_ole ${LANG_PORTUGUESEBR} \
# "Tentando desregistrar o Vim com OLE. \
# Não 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)"

304
nsis/lang/russian.nsi Normal file
View file

@ -0,0 +1,304 @@
# vi:set ts=8 sts=4 sw=4 et fdm=marker:
#
# russian.nsi: Russian language strings for gvim NSIS installer.
#
# Locale ID : 1049
# Locale name : ru
# fileencoding : UTF-8
# Author : Restorer
!insertmacro MUI_LANGUAGE "Russian"
# Overwrite the default translation.
# These strings should be always English. Otherwise dosinst.c fails.
LangString ^SetupCaption ${LANG_RUSSIAN} \
"$(^Name) Setup"
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$\")"
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} \
"Полный"
##############################################################################
# Section Titles & Description {{{1
##############################################################################
LangString str_section_old_ver ${LANG_RUSSIAN} \
"Удаление предыдущих версий"
LangString str_desc_old_ver ${LANG_RUSSIAN} \
"Будут удалены предыдущие установленные версии программы"
LangString str_section_exe ${LANG_RUSSIAN} \
"Графический интерфейс и вспомогательные файлы"
LangString str_desc_exe ${LANG_RUSSIAN} \
"Исполняемые файлы и все необходимые для работы программы файлы. \
Это обязательный компонент"
LangString str_section_console ${LANG_RUSSIAN} \
"Консольная программа Vim"
LangString str_desc_console ${LANG_RUSSIAN} \
"Вариант редактора Vim (vim.exe), используемый для работы в командной \
оболочке"
LangString str_section_batch ${LANG_RUSSIAN} \
"Создать командные файлы"
LangString str_desc_batch ${LANG_RUSSIAN} \
"Создание командных bat-файлов в каталоге Windows для работы с редактором \
Vim из командной строки"
LangString str_group_icons ${LANG_RUSSIAN} \
"Создать ярлыки для редактора Vim"
LangString str_desc_icons ${LANG_RUSSIAN} \
"Создание ярлыков программы для удобного и быстрого запуска редактора Vim"
LangString str_section_desktop ${LANG_RUSSIAN} \
"На Рабочем столе"
LangString str_desc_desktop ${LANG_RUSSIAN} \
"Создание ярлыков редактора Vim на Рабочем столе"
LangString str_section_start_menu ${LANG_RUSSIAN} \
"В меню кнопки Пуск"
LangString str_desc_start_menu ${LANG_RUSSIAN} \
"Создание ярлыков редактора Vim в меню кнопки Пуск"
#LangString str_section_quick_launch ${LANG_RUSSIAN} \
# "На панели быстрого запуска"
#LangString str_desc_quick_launch ${LANG_RUSSIAN} \
# "Создание ярлыков редактора Vim на панели быстрого запуска"
LangString str_section_edit_with ${LANG_RUSSIAN} \
"Запуск редактора Vim из контекстного меню"
LangString str_desc_edit_with ${LANG_RUSSIAN} \
"Добавление необходимой строки в пункт контекстного меню \
«Открыть с помощью...»"
#LangString str_section_edit_with32 ${LANG_RUSSIAN} \
# "Для 32-разрядной версии программы"
#LangString str_desc_edit_with32 ${LANG_RUSSIAN} \
# "Добавление в пункт контекстного меню \
# «Открыть с помощью...» 32-разрядных приложений"
#LangString str_section_edit_with64 ${LANG_RUSSIAN} \
# "Для 64-разрядной версии программы"
#LangString str_desc_edit_with64 ${LANG_RUSSIAN} \
# "Добавление в пункт контекстного меню \
# «Открыть с помощью...» 64-разрядных приложений"
LangString str_section_vim_rc ${LANG_RUSSIAN} \
"Начальная настройка программы"
LangString str_desc_vim_rc ${LANG_RUSSIAN} \
"Создание файла _vimrc с предустановленными настройками, если нет других \
файлов настроек"
LangString str_group_plugin ${LANG_RUSSIAN} \
"Создать каталог для подключаемых модулей"
LangString str_desc_plugin ${LANG_RUSSIAN} \
"Создание каталога для подключаемых модулей, которые расширяют возможности \
редактора 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"
LangString str_section_nls ${LANG_RUSSIAN} \
"Поддержка региональных языков"
LangString str_desc_nls ${LANG_RUSSIAN} \
"Установка файлов для работы программе на различных региональных языках"
LangString str_unsection_register ${LANG_RUSSIAN} \
"Отменить регистрацию компонентов программы Vim"
LangString str_desc_unregister ${LANG_RUSSIAN} \
"Отмена регистрации компонентов программы Vim в операционной системе"
LangString str_unsection_exe ${LANG_RUSSIAN} \
"Удалить файлы редактора Vim"
LangString str_desc_rm_exe ${LANG_RUSSIAN} \
"Удаление всех исполняемых и вспомогательных файлов редактора Vim"
LangString str_ungroup_plugin ${LANG_RUSSIAN} \
"Удалить каталог подключаемых модулей"
LangString str_desc_rm_plugin ${LANG_RUSSIAN} \
"Удаление каталога подключаемых модулей, если в нём нет файлов"
LangString str_unsection_plugin_home ${LANG_RUSSIAN} \
"Личный каталог"
LangString str_desc_rm_plugin_home ${LANG_RUSSIAN} \
"Удаление каталога подключаемых модулей из домашнего каталога пользователя"
LangString str_unsection_plugin_vim ${LANG_RUSSIAN} \
"Общий каталог"
LangString str_desc_rm_plugin_vim ${LANG_RUSSIAN} \
"Удаление каталога подключаемых модулей из каталога установки редактора Vim"
LangString str_unsection_rootdir ${LANG_RUSSIAN} \
"Удалить основной каталог программы Vim"
LangString str_desc_rm_rootdir ${LANG_RUSSIAN} \
"Удаление основного каталога программы Vim. В этом каталоге находятся \
файлы настроек!"
##############################################################################
# Messages {{{1
##############################################################################
#LangString str_msg_too_many_ver ${LANG_RUSSIAN} \
# "Обнаружено предыдущих версий программы Vim: $vim_old_ver_count.$\r$\n\
# Данная программа установки может удалить не более ${VIM_MAX_OLD_VER}.$\r$\n\
# Удалить лишние версии программы Vim и повторите установку"
#LangString str_msg_invalid_root ${LANG_RUSSIAN} \
# "Недопустимый каталог установки программы Vim $vim_install_root!$\r$\n\
# Маршрут установки должен оканчиваться каталогом $\"vim$\""
#LangString str_msg_bin_mismatch ${LANG_RUSSIAN} \
# "Недопустимый маршрут к каталогу с исполняемыми файлами!$\r$\n$\r$\n\
# Маршрут к каталогу с исполняемыми файлами должен быть $\"$vim_bin_path$\",$\r$\n\
# но от операционной системы получен как $\"$INSTDIR$\"."
#LangString str_msg_vim_running ${LANG_RUSSIAN} \
# "Программа Vim сейчас работает.$\r$\n\
# Прежде чем продолжить, закройте все работающие редакторы Vim"
#LangString str_msg_register_ole ${LANG_RUSSIAN} \
# "Попытка зарегистрировать компоненты программы Vim в пространстве OLE. \
# Но не получено уведомление об успешности данной операции"
#LangString str_msg_unreg_ole ${LANG_RUSSIAN} \
# "Попытка отменить регистрацию компонентов программы Vim в пространстве OLE. \
# Но не получено уведомление об успешности данной операции"
#LangString str_msg_rm_start ${LANG_RUSSIAN} \
# "Выполняется удаление следующих версий программы:"
#LangString str_msg_rm_fail ${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} \
# "Отсутствуют права на доступ к программе, выполняющей удаление"
#LangString str_msg_rm_copy_fail ${LANG_RUSSIAN} \
# "Произошла ошибка при копировании программы удаления во временный каталог"
#LangString str_msg_rm_run_fail ${LANG_RUSSIAN} \
# "Произошёл сбой при запуске программы, выполняющей удаление"
#LangString str_msg_abort_install ${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$\" содержатся файлы. Удаление \
# каталога не выполнено"
LangString str_msg_uninstalling ${LANG_RUSSIAN} \
"Удаление предыдущих версий программ..."
LangString str_msg_registering ${LANG_RUSSIAN} \
"Регистрация компонентов программы в системе..."
LangString str_msg_unregistering ${LANG_RUSSIAN} \
"Отмена регистрации компонентов программы в системе..."
##############################################################################
# Dialog Box {{{1
##############################################################################
LangString str_vimrc_page_title ${LANG_RUSSIAN} \
"Установка параметров программы"
LangString str_vimrc_page_subtitle ${LANG_RUSSIAN} \
"Параметры, используемые для клавиатуры, манипулятора «мышь» и \
функциональности программы"
LangString str_msg_compat_title ${LANG_RUSSIAN} \
" Варианты использования программы "
LangString str_msg_compat_desc ${LANG_RUSSIAN} \
"Совместимость и функциональность программы"
LangString str_msg_compat_vi ${LANG_RUSSIAN} \
"Работа в варианте совместимости с редактором Vi"
LangString str_msg_compat_vim ${LANG_RUSSIAN} \
"Работа в варианте функциональности редактора Vim"
LangString str_msg_compat_defaults ${LANG_RUSSIAN} \
"Включить некоторые улучшения (из файла defaults.vim)"
LangString str_msg_compat_all ${LANG_RUSSIAN} \
"Включить все улучшения (из файла 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 и т. п."
LangString str_msg_keymap_default ${LANG_RUSSIAN} \
"Без изменения, использовать как принято в редакторе 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)"
LangString str_msg_mouse_unix ${LANG_RUSSIAN} \
"Правая — расширение выборки, левая — режим визуальный (UNIX)"

290
nsis/lang/serbian.nsi Normal file
View file

@ -0,0 +1,290 @@
# vi:set ts=8 sts=4 sw=4 et fdm=marker:
#
# 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"
# Overwrite the default translation.
# These strings should be always English. Otherwise dosinst.c fails.
LangString ^SetupCaption ${LANG_SERBIAN} \
"$(^Name) Setup"
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
##############################################################################
#LangString str_dest_folder ${LANG_SERBIAN} \
# "Destination Folder (Must end with $\"vim$\")"
LangString str_show_readme ${LANG_SERBIAN} \
"Прикажи ПРОЧИТАЈМЕ када се заврши инсталација"
# Install types:
LangString str_type_typical ${LANG_SERBIAN} \
"Типична"
LangString str_type_minimal ${LANG_SERBIAN} \
"Минимална"
LangString str_type_full ${LANG_SERBIAN} \
"Пуна"
##############################################################################
# Section Titles & Description {{{1
##############################################################################
LangString str_section_old_ver ${LANG_SERBIAN} \
"Уклањање постојећ(е/их) верзиј(е/а)"
LangString str_desc_old_ver ${LANG_SERBIAN} \
"Уклања постојећ(у/е) Vim верзииј(у/е) из вашег система."
LangString str_section_exe ${LANG_SERBIAN} \
"Vim ГКИ и фајлови потребни за извршавање"
LangString str_desc_exe ${LANG_SERBIAN} \
"Vim ГКИ извршни фајлови и фајлови потребни током извршавања. Ова компонента је неопходна."
LangString str_section_console ${LANG_SERBIAN} \
"Vim конзолни програм"
LangString str_desc_console ${LANG_SERBIAN} \
"Конзолна верзија програма Vim (vim.exe)."
LangString str_section_batch ${LANG_SERBIAN} \
"Креирај .bat фајлове"
LangString str_desc_batch ${LANG_SERBIAN} \
"Креира у Windows директоријуму .bat фајлове за Vim варијанте \
у циљу коришћења из командне линије."
LangString str_group_icons ${LANG_SERBIAN} \
"Креирај иконе за Vim"
LangString str_desc_icons ${LANG_SERBIAN} \
"Креира иконе за Vim на различитим местима, како би се олакшао приступ."
LangString str_section_desktop ${LANG_SERBIAN} \
"На радној површини"
LangString str_desc_desktop ${LANG_SERBIAN} \
"Креира иконе за gVim извршне фајлове на радној површини."
LangString str_section_start_menu ${LANG_SERBIAN} \
"У фасцикли Програми унутар Старт менија"
LangString str_desc_start_menu ${LANG_SERBIAN} \
"Додаје Vim у фолдер Програми Старт менија."
#LangString str_section_quick_launch ${LANG_SERBIAN} \
# "In the Quick Launch Bar"
#LangString str_desc_quick_launch ${LANG_SERBIAN} \
# "Add Vim shortcut in the quick launch bar."
LangString str_section_edit_with ${LANG_SERBIAN} \
"Додај Vim контекстни мени"
LangString str_desc_edit_with ${LANG_SERBIAN} \
"Додаје Vim у $\"Отвори помоћу...$\" листу контекстног менија."
#LangString str_section_edit_with32 ${LANG_SERBIAN} \
# "32-bit Version"
#LangString str_desc_edit_with32 ${LANG_SERBIAN} \
# "Add Vim to the $\"Open With...$\" context menu list \
# for 32-bit applications."
#LangString str_section_edit_with64 ${LANG_SERBIAN} \
# "64-bit Version"
#LangString str_desc_edit_with64 ${LANG_SERBIAN} \
# "Add Vim to the $\"Open With...$\" context menu list \
# for 64-bit applications."
LangString str_section_vim_rc ${LANG_SERBIAN} \
"Креирај Подразумевану конфигурацију"
LangString str_desc_vim_rc ${LANG_SERBIAN} \
"Креира подразумевани конфиг фајл (_vimrc) ако неки већ не постоји."
LangString str_group_plugin ${LANG_SERBIAN} \
"Креира директоријуме додатака"
LangString str_desc_plugin ${LANG_SERBIAN} \
"Креира директоријуме додатака. Ови директоријуми омогућавају проширење програма Vim \
убацивањем фајла у директоријум."
LangString str_section_plugin_home ${LANG_SERBIAN} \
"Приватне"
LangString str_desc_plugin_home ${LANG_SERBIAN} \
"Креира директоријуме додатака у HOME директоријуму."
LangString str_section_plugin_vim ${LANG_SERBIAN} \
"Дељене"
LangString str_desc_plugin_vim ${LANG_SERBIAN} \
"Креира директоријуме додатака у Vim инсталационом директоријуму, користе их сви \
на систему."
LangString str_section_nls ${LANG_SERBIAN} \
"Подршка за домаћи језик"
LangString str_desc_nls ${LANG_SERBIAN} \
"Инсталира фајлове за домаћу језичку подршку."
LangString str_unsection_register ${LANG_SERBIAN} \
"Поништи регистрацију Vim"
LangString str_desc_unregister ${LANG_SERBIAN} \
"Поништава регистрацију програма Vim на систему."
LangString str_unsection_exe ${LANG_SERBIAN} \
"Уклони Vim извршне фајлове/фајлове потребне у време извршавања"
LangString str_desc_rm_exe ${LANG_SERBIAN} \
"Уклања све Vim извршне фајлове и оне потребне у време извршавања."
LangString str_ungroup_plugin ${LANG_SERBIAN} \
"Укони директоријуме додатака"
LangString str_desc_rm_plugin ${LANG_SERBIAN} \
"Уклања директоријуме додатака ако су празни."
LangString str_unsection_plugin_home ${LANG_SERBIAN} \
"Приватне"
LangString str_desc_rm_plugin_home ${LANG_SERBIAN} \
"Уклања директоријуме додатака из HOME директоријума."
LangString str_unsection_plugin_vim ${LANG_SERBIAN} \
"Дељене"
LangString str_desc_rm_plugin_vim ${LANG_SERBIAN} \
"Уклања директоријуме додатака из Vim инсталациониг директоријума."
LangString str_unsection_rootdir ${LANG_SERBIAN} \
"Уклони Vim корени директоријум"
LangString str_desc_rm_rootdir ${LANG_SERBIAN} \
"Уклања Vim корени директоријум. Он садржи ваше Vim конфигурационе фајлове!"
##############################################################################
# Messages {{{1
##############################################################################
#LangString str_msg_too_many_ver ${LANG_SERBIAN} \
# "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_SERBIAN} \
# "Invalid install path: $vim_install_root!$\r$\n\
# It should end with $\"vim$\"."
#LangString str_msg_bin_mismatch ${LANG_SERBIAN} \
# "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_SERBIAN} \
# "Vim is still running on your system.$\r$\n\
# Please close all instances of Vim before you continue."
#LangString str_msg_register_ole ${LANG_SERBIAN} \
# "Attempting to register Vim with OLE. \
# There is no message indicates whether this works or not."
#LangString str_msg_unreg_ole ${LANG_SERBIAN} \
# "Attempting to unregister Vim with OLE. \
# There is no message indicates whether this works or not."
#LangString str_msg_rm_start ${LANG_SERBIAN} \
# "Uninstalling the following version:"
#LangString str_msg_rm_fail ${LANG_SERBIAN} \
# "Fail to uninstall the following version:"
#LangString str_msg_no_rm_key ${LANG_SERBIAN} \
# "Cannot find uninstaller registry key."
#LangString str_msg_no_rm_reg ${LANG_SERBIAN} \
# "Cannot find uninstaller from registry."
#LangString str_msg_no_rm_exe ${LANG_SERBIAN} \
# "Cannot access uninstaller."
#LangString str_msg_rm_copy_fail ${LANG_SERBIAN} \
# "Fail to copy uninstaller to temporary directory."
#LangString str_msg_rm_run_fail ${LANG_SERBIAN} \
# "Fail to run uninstaller."
#LangString str_msg_abort_install ${LANG_SERBIAN} \
# "Installer will abort."
LangString str_msg_install_fail ${LANG_SERBIAN} \
"Инсталација није успела. Више среће идући пут."
LangString str_msg_rm_exe_fail ${LANG_SERBIAN} \
"Неки фајлови у $0 нису обрисани!$\r$\n\
Морате то ручно да обавите."
#LangString str_msg_rm_root_fail ${LANG_SERBIAN} \
# "WARNING: Cannot remove $\"$vim_install_root$\", it is not empty!"
LangString str_msg_uninstalling ${LANG_SERBIAN} \
"Уклањање старе верзије..."
LangString str_msg_registering ${LANG_SERBIAN} \
"Регистровање..."
LangString str_msg_unregistering ${LANG_SERBIAN} \
"Поништавање регистрације..."
##############################################################################
# Dialog Box {{{1
##############################################################################
LangString str_vimrc_page_title ${LANG_SERBIAN} \
"Изаберите _vimrc подешавања"
LangString str_vimrc_page_subtitle ${LANG_SERBIAN} \
"Изаберите подешавања за побољшања, тастатуру и миша."
LangString str_msg_compat_title ${LANG_SERBIAN} \
" Vi / Vim понашање "
LangString str_msg_compat_desc ${LANG_SERBIAN} \
"&Компатибилност и побољшања"
LangString str_msg_compat_vi ${LANG_SERBIAN} \
"Vi компатибилно"
LangString str_msg_compat_vim ${LANG_SERBIAN} \
"Vim оригинално"
LangString str_msg_compat_defaults ${LANG_SERBIAN} \
"Vim са неким побољшањима (учитава defaults.vim)"
LangString str_msg_compat_all ${LANG_SERBIAN} \
"Vim са свим побољшањима (учитава vimrc_example.vim) (Подразумевано)"
LangString str_msg_keymap_title ${LANG_SERBIAN} \
" Мапирања "
LangString str_msg_keymap_desc ${LANG_SERBIAN} \
"&Ремапира неколико тастера за Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, итд.)"
LangString str_msg_keymap_default ${LANG_SERBIAN} \
"Немој да ремапираш тастере (Подразумевано)"
LangString str_msg_keymap_windows ${LANG_SERBIAN} \
"Ремапира неколико тастера"
LangString str_msg_mouse_title ${LANG_SERBIAN} \
" Миш "
LangString str_msg_mouse_desc ${LANG_SERBIAN} \
"&Понашање левог и десног тастера"
LangString str_msg_mouse_default ${LANG_SERBIAN} \
"Десни: искачући мени, Леви: визуелни режим (Подразумевано)"
LangString str_msg_mouse_windows ${LANG_SERBIAN} \
"Десни: искачући мени, Леви: режим избора (Windows)"
LangString str_msg_mouse_unix ${LANG_SERBIAN} \
"Десни: проширује избор, Леви: визуелни режим (Unix)"

288
nsis/lang/simpchinese.nsi Normal file
View file

@ -0,0 +1,288 @@
# vi:set ts=8 sts=4 sw=4 et fdm=marker:
#
# simpchinese.nsi: Simplified Chinese language strings for gvim NSIS
# installer.
#
# Locale ID : 2052
# Locale Name : cn
# fileencoding : UTF-8
# Author : Guopeng Wen, David Liu
!insertmacro MUI_LANGUAGE "SimpChinese"
# Overwrite the default translation.
# These strings should be always English. Otherwise dosinst.c fails.
LangString ^SetupCaption ${LANG_SIMPCHINESE} \
"$(^Name) Setup"
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
##############################################################################
#LangString str_dest_folder ${LANG_SIMPCHINESE} \
# "安装路径 (必须以 vim 结尾)"
LangString str_show_readme ${LANG_SIMPCHINESE} \
"安装完成后显示 README 文件"
# Install types:
LangString str_type_typical ${LANG_SIMPCHINESE} \
"典型安装"
LangString str_type_minimal ${LANG_SIMPCHINESE} \
"最小安装"
LangString str_type_full ${LANG_SIMPCHINESE} \
"完全安装"
##############################################################################
# Section Titles & Description {{{1
##############################################################################
LangString str_section_old_ver ${LANG_SIMPCHINESE} \
"卸载旧版本"
LangString str_desc_old_ver ${LANG_SIMPCHINESE} \
"卸载系统上已存在的 Vim 版本"
LangString str_section_exe ${LANG_SIMPCHINESE} \
"安装 Vim 图形界面"
LangString str_desc_exe ${LANG_SIMPCHINESE} \
"安装 Vim 图形界面及运行时文件。此项为必选。"
LangString str_section_console ${LANG_SIMPCHINESE} \
"安装 Vim 控制台版本"
LangString str_desc_console ${LANG_SIMPCHINESE} \
"安装 Vim 的控制台版本vim.exe"
LangString str_section_batch ${LANG_SIMPCHINESE} \
"安装批处理文件"
LangString str_desc_batch ${LANG_SIMPCHINESE} \
"为 Vim 的各种变体创建批处理文件,以便在命令行下运行 Vim。"
LangString str_group_icons ${LANG_SIMPCHINESE} \
"创建图标"
LangString str_desc_icons ${LANG_SIMPCHINESE} \
"为 Vim 创建若干图标,以方便使用 Vim。"
LangString str_section_desktop ${LANG_SIMPCHINESE} \
"桌面图标"
LangString str_desc_desktop ${LANG_SIMPCHINESE} \
"创建 Vim 的桌面快捷方式图标。"
LangString str_section_start_menu ${LANG_SIMPCHINESE} \
"「开始」菜单程序组"
LangString str_desc_start_menu ${LANG_SIMPCHINESE} \
"在开始菜单中添加 Vim 程序组(适用于 Windows 95 及以上版本)"
#LangString str_section_quick_launch ${LANG_SIMPCHINESE} \
# "在快速启动启动栏中"
#LangString str_desc_quick_launch ${LANG_SIMPCHINESE} \
# "在快速启动栏中添加 Vim 图标。"
LangString str_section_edit_with ${LANG_SIMPCHINESE} \
"添加到快捷菜单"
LangString str_desc_edit_with ${LANG_SIMPCHINESE} \
"将“用 Vim 编辑”添加到快捷菜单中。"
#LangString str_section_edit_with32 ${LANG_SIMPCHINESE} \
# "32 位版本"
#LangString str_desc_edit_with32 ${LANG_SIMPCHINESE} \
# "将 Vim 添加到 32 位程序的“打开方式”快捷菜单中。"
#LangString str_section_edit_with64 ${LANG_SIMPCHINESE} \
# "64 位版本"
#LangString str_desc_edit_with64 ${LANG_SIMPCHINESE} \
# "将 Vim 添加到 64 位程序的“打开方式”快捷菜单中。"
LangString str_section_vim_rc ${LANG_SIMPCHINESE} \
"创建默认配置文件"
LangString str_desc_vim_rc ${LANG_SIMPCHINESE} \
"在安装目录下生成默认的 Vim 配置文件(_vimrc)。\
如果该文件已经存在则跳过该项"
LangString str_group_plugin ${LANG_SIMPCHINESE} \
"创建插件目录"
LangString str_desc_plugin ${LANG_SIMPCHINESE} \
"创建(空的)插件目录结构。插件目录用于安装 Vim 扩展插件,\
只要将文件复制到相关的子目录中即可"
LangString str_section_plugin_home ${LANG_SIMPCHINESE} \
"私有插件目录"
LangString str_desc_plugin_home ${LANG_SIMPCHINESE} \
"在主目录创建私有插件目录。"
LangString str_section_plugin_vim ${LANG_SIMPCHINESE} \
"公共插件目录"
LangString str_desc_plugin_vim ${LANG_SIMPCHINESE} \
"在 Vim 安装目录下创建(空的)插件目录结构,系统上所有用户都能使用安装在\
该目录下的扩展插件"
LangString str_section_nls ${LANG_SIMPCHINESE} \
"安装多语言支持"
LangString str_desc_nls ${LANG_SIMPCHINESE} \
"安装用于多语言支持的文件。"
LangString str_unsection_register ${LANG_SIMPCHINESE} \
"删除 Vim 系统配置"
LangString str_desc_unregister ${LANG_SIMPCHINESE} \
"删除和 Vim 相关的系统配置。"
LangString str_unsection_exe ${LANG_SIMPCHINESE} \
"删除 Vim 执行文件以及脚本"
LangString str_desc_rm_exe ${LANG_SIMPCHINESE} \
"删除 Vim 的所有执行文件及脚本。"
LangString str_ungroup_plugin ${LANG_SIMPCHINESE} \
"移除插件目录"
LangString str_desc_rm_plugin ${LANG_SIMPCHINESE} \
"移除插件目录(如果目录为空)。"
LangString str_unsection_plugin_home ${LANG_SIMPCHINESE} \
"私有插件目录"
LangString str_desc_rm_plugin_home ${LANG_SIMPCHINESE} \
"从主目录中移除私有插件目录。"
LangString str_unsection_plugin_vim ${LANG_SIMPCHINESE} \
"公共插件目录"
LangString str_desc_rm_plugin_vim ${LANG_SIMPCHINESE} \
"从 Vim 安装目录下移除插件目录。"
LangString str_unsection_rootdir ${LANG_SIMPCHINESE} \
"移除 Vim 主目录"
LangString str_desc_rm_rootdir ${LANG_SIMPCHINESE} \
"移除 Vim 的主目录,该目录包含您的配置文件!"
##############################################################################
# Messages {{{1
##############################################################################
#LangString str_msg_too_many_ver ${LANG_SIMPCHINESE} \
# "您的系统上安装了 $vim_old_ver_count 个不同版本的 Vim$\r$\n\
# 但本安装程序最多只能处理 ${VIM_MAX_OLD_VER} 个版本$\r$\n\
# 请您手工删除一些旧版本以后再运行本安装程序"
#LangString str_msg_invalid_root ${LANG_SIMPCHINESE} \
# "安装路径“$vim_install_root”无效$\r$\n\
# 该路径必须以 vim 结尾"
#LangString str_msg_bin_mismatch ${LANG_SIMPCHINESE} \
# "Vim 执行程序安装路径异常!$\r$\n$\r$\n\
# 该版本 Vim 的执行程序安装路径应该是$vim_bin_path,$\r$\n\
# 而系统却指示该路径为$INSTDIR"
#LangString str_msg_vim_running ${LANG_SIMPCHINESE} \
# "您的系统上仍有 Vim 在运行,$\r$\n\
# 请您在执行后续步骤前退出这些 Vim"
#LangString str_msg_register_ole ${LANG_SIMPCHINESE} \
# "试图注册 Vim OLE 服务器。请注意无论成功与否都不再显示进一步的信息。"
#LangString str_msg_unreg_ole ${LANG_SIMPCHINESE} \
# "试图注销 Vim OLE 服务器。请注意无论成功与否都不再显示进一步的信息。"
#LangString str_msg_rm_start ${LANG_SIMPCHINESE} \
# "开始卸载以下版本:"
#LangString str_msg_rm_fail ${LANG_SIMPCHINESE} \
# "以下版本卸载失败:"
#LangString str_msg_no_rm_key ${LANG_SIMPCHINESE} \
# "找不到卸载程序的注册表键。"
#LangString str_msg_no_rm_reg ${LANG_SIMPCHINESE} \
# "在注册表中未找到卸载程序路径。"
#LangString str_msg_no_rm_exe ${LANG_SIMPCHINESE} \
# "找不到卸载程序。"
#LangString str_msg_rm_copy_fail ${LANG_SIMPCHINESE} \
# "无法将卸载程序复制到临时目录。"
#LangString str_msg_rm_run_fail ${LANG_SIMPCHINESE} \
# "执行卸载程序失败。"
#LangString str_msg_abort_install ${LANG_SIMPCHINESE} \
# "安装程序将退出。"
LangString str_msg_install_fail ${LANG_SIMPCHINESE} \
"安装失败。祝您下次好运。"
LangString str_msg_rm_exe_fail ${LANG_SIMPCHINESE} \
"目录“$0”下有部分文件删除失败$\r$\n\
您只能手工删除该目录"
#LangString str_msg_rm_root_fail ${LANG_SIMPCHINESE} \
# "警告:无法删除 Vim 安装目录“$vim_install_root”\
# 该目录下仍有其他文件"
LangString str_msg_uninstalling ${LANG_SIMPCHINESE} \
"正在卸载旧版本..."
LangString str_msg_registering ${LANG_SIMPCHINESE} \
"正在注册..."
LangString str_msg_unregistering ${LANG_SIMPCHINESE} \
"正在取消注册..."
##############################################################################
# Dialog Box {{{1
##############################################################################
LangString str_vimrc_page_title ${LANG_SIMPCHINESE} \
"设置 _vimrc"
LangString str_vimrc_page_subtitle ${LANG_SIMPCHINESE} \
"选择键盘、鼠标和扩展设置。"
LangString str_msg_compat_title ${LANG_SIMPCHINESE} \
"Vi / Vim 行为"
LangString str_msg_compat_desc ${LANG_SIMPCHINESE} \
"兼容性与扩展(&B)"
LangString str_msg_compat_vi ${LANG_SIMPCHINESE} \
"原始 Vi"
LangString str_msg_compat_vim ${LANG_SIMPCHINESE} \
"原始 Vim"
LangString str_msg_compat_defaults ${LANG_SIMPCHINESE} \
"Vim 原始版本和部分扩展 (加载 defaults.vim)"
LangString str_msg_compat_all ${LANG_SIMPCHINESE} \
"Vim 原始版本和所有扩展 (加载 vimrc_example.vim) (缺省)"
LangString str_msg_keymap_title ${LANG_SIMPCHINESE} \
"键盘映射"
LangString str_msg_keymap_desc ${LANG_SIMPCHINESE} \
"为 Windows 映射按键(&R) (例如:Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F 等)"
LangString str_msg_keymap_default ${LANG_SIMPCHINESE} \
"不映射按键 (缺省)"
LangString str_msg_keymap_windows ${LANG_SIMPCHINESE} \
"映射一些按键"
LangString str_msg_mouse_title ${LANG_SIMPCHINESE} \
"鼠标"
LangString str_msg_mouse_desc ${LANG_SIMPCHINESE} \
"左键和右键行为(&B)"
LangString str_msg_mouse_default ${LANG_SIMPCHINESE} \
"右键:弹出菜单, 左键:可视化模式 (缺省)"
LangString str_msg_mouse_windows ${LANG_SIMPCHINESE} \
"右键:弹出菜单, 左键:选择模式 (Windows)"
LangString str_msg_mouse_unix ${LANG_SIMPCHINESE} \
"右键: 扩展选择, 左键:可视化模式 (Unix)"

289
nsis/lang/tradchinese.nsi Normal file
View file

@ -0,0 +1,289 @@
# vi:set ts=8 sts=4 sw=4 et fdm=marker:
#
# tradchinese.nsi: Traditional Chinese language strings for gvim NSIS
# installer.
#
# Locale ID : 1028
# Locale Name : tw
# fileencoding : UTF-8
# Author : Guopeng Wen
!insertmacro MUI_LANGUAGE "TradChinese"
# Overwrite the default translation.
# These strings should be always English. Otherwise dosinst.c fails.
LangString ^SetupCaption ${LANG_TRADCHINESE} \
"$(^Name) Setup"
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
##############################################################################
#LangString str_dest_folder ${LANG_TRADCHINESE} \
# "安裝資料夾 (必須以 vim 結尾)"
LangString str_show_readme ${LANG_TRADCHINESE} \
"安裝完成後顯示 README 檔案"
# Install types:
LangString str_type_typical ${LANG_TRADCHINESE} \
"典型安裝"
LangString str_type_minimal ${LANG_TRADCHINESE} \
"最小安裝"
LangString str_type_full ${LANG_TRADCHINESE} \
"完全安裝"
##############################################################################
# Section Titles & Description {{{1
##############################################################################
LangString str_section_old_ver ${LANG_TRADCHINESE} \
"移除舊版本"
LangString str_desc_old_ver ${LANG_TRADCHINESE} \
"移除閣下電腦上舊版本的 Vim。"
LangString str_section_exe ${LANG_TRADCHINESE} \
"安裝 Vim 圖形界面程式"
LangString str_desc_exe ${LANG_TRADCHINESE} \
"安裝 Vim 圖形界面程式及腳本。此為必選安裝。"
LangString str_section_console ${LANG_TRADCHINESE} \
"安裝 Vim 命令行程式"
LangString str_desc_console ${LANG_TRADCHINESE} \
"安裝 Vim 命令行程式 (vim.exe)。該程式在控制臺窗口中運行。"
LangString str_section_batch ${LANG_TRADCHINESE} \
"安裝批次檔案"
LangString str_desc_batch ${LANG_TRADCHINESE} \
"為 Vim 的各種變體創建批次檔,以便在命令行下啟動 Vim。"
LangString str_group_icons ${LANG_TRADCHINESE} \
"建立 Vim 圖示"
LangString str_desc_icons ${LANG_TRADCHINESE} \
"建立若干 Vim 圖示,以便于使用 Vim。"
LangString str_section_desktop ${LANG_TRADCHINESE} \
"於桌面"
LangString str_desc_desktop ${LANG_TRADCHINESE} \
"建立若干 Vim 圖示於桌面上,以方便啟動 Vim。"
LangString str_section_start_menu ${LANG_TRADCHINESE} \
"於「開始」功能表的「程式」集"
LangString str_desc_start_menu ${LANG_TRADCHINESE} \
"在「開始」功能表的「程式」集中建立 Vim 啟動組。\
適用于 Windows 95 及以上版本"
#LangString str_section_quick_launch ${LANG_TRADCHINESE} \
# "於快速啟動列"
#LangString str_desc_quick_launch ${LANG_TRADCHINESE} \
# "在快速啟動列中建立 Vim 圖示。"
LangString str_section_edit_with ${LANG_TRADCHINESE} \
"安裝快捷選單"
LangString str_desc_edit_with ${LANG_TRADCHINESE} \
"在「打開方式」快捷選單中添加 Vim 項。"
#LangString str_section_edit_with32 ${LANG_TRADCHINESE} \
# "32 位元版本"
#LangString str_desc_edit_with32 ${LANG_TRADCHINESE} \
# "在 32 位元程式的「打開方式」快捷選單中添加 Vim 項。"
#LangString str_section_edit_with64 ${LANG_TRADCHINESE} \
# "64 位元版本"
#LangString str_desc_edit_with64 ${LANG_TRADCHINESE} \
# "在 64 位元程式的「打開方式」快捷選單中添加 Vim 項。"
LangString str_section_vim_rc ${LANG_TRADCHINESE} \
"建立默認設定檔"
LangString str_desc_vim_rc ${LANG_TRADCHINESE} \
"在安裝資料夾下建立默認的 Vim 設定檔(_vimrc)。\
若該設定檔已經存在則略過此項"
LangString str_group_plugin ${LANG_TRADCHINESE} \
"建立插件資料夾"
LangString str_desc_plugin ${LANG_TRADCHINESE} \
"建立(空的)插件資料夾結構。插件資料夾用于安裝 Vim 的擴展插件,\
只要將檔案復制到相關的子資料夾中即可"
LangString str_section_plugin_home ${LANG_TRADCHINESE} \
"建立插件資料夾"
LangString str_desc_plugin_home ${LANG_TRADCHINESE} \
"Create plugin directories in HOME directory."
LangString str_section_plugin_vim ${LANG_TRADCHINESE} \
"建立共享插件資料夾"
LangString str_desc_plugin_vim ${LANG_TRADCHINESE} \
"在 Vim 安裝資料夾下建立(空的)插件資料夾結構,電腦上所有用戶都能使用安裝\
在該資料夾里的擴展插件"
LangString str_section_nls ${LANG_TRADCHINESE} \
"安裝本地語言支持"
LangString str_desc_nls ${LANG_TRADCHINESE} \
"安裝用于支持本地語言的檔案。"
LangString str_unsection_register ${LANG_TRADCHINESE} \
"移除 Vim 系統設定"
LangString str_desc_unregister ${LANG_TRADCHINESE} \
"移除與 Vim 相關的系統設定。"
LangString str_unsection_exe ${LANG_TRADCHINESE} \
"移除 Vim 程式及腳本"
LangString str_desc_rm_exe ${LANG_TRADCHINESE} \
"移除所有的 Vim 程式及腳本。"
LangString str_ungroup_plugin ${LANG_TRADCHINESE} \
"Remove plugin directories"
LangString str_desc_rm_plugin ${LANG_TRADCHINESE} \
"Remove the plugin directories if they are empty."
LangString str_unsection_plugin_home ${LANG_TRADCHINESE} \
"Private"
LangString str_desc_rm_plugin_home ${LANG_TRADCHINESE} \
"Remove the vimfiles directory in HOME directory."
LangString str_unsection_plugin_vim ${LANG_TRADCHINESE} \
"Shared"
LangString str_desc_rm_plugin_vim ${LANG_TRADCHINESE} \
"Remove the vimfiles directory in Vim install directory."
LangString str_unsection_rootdir ${LANG_TRADCHINESE} \
"Remove the Vim root directory"
LangString str_desc_rm_rootdir ${LANG_TRADCHINESE} \
"Remove the Vim root directory. It contains your Vim configuration files!"
##############################################################################
# Messages {{{1
##############################################################################
#LangString str_msg_too_many_ver ${LANG_TRADCHINESE} \
# "閣下的電腦上安裝了 $vim_old_ver_count 個不同版本的 Vim$\r$\n\
# 但是本安裝程式最多只能處理 ${VIM_MAX_OLD_VER} 個版本$\r$\n\
# 煩請閣下手工移除一些版本以后再運行本安裝程式"
#LangString str_msg_invalid_root ${LANG_TRADCHINESE} \
# "安裝資料夾「$vim_install_root」無效$\r$\n\
# 該資料夾必須以vim結尾"
#LangString str_msg_bin_mismatch ${LANG_TRADCHINESE} \
# "Vim 執行程式安裝路徑異常!$\r$\n$\r$\n\
# 該版本 Vim 的執行程式安裝路徑應該是$vim_bin_path,$\r$\n\
# 而系統卻指示該路徑為$INSTDIR"
#LangString str_msg_vim_running ${LANG_TRADCHINESE} \
# "閣下的電腦上尚有正在運行之 Vim$\r$\n\
# 煩請閣下在執行后續步驟前將其全部退出"
#LangString str_msg_register_ole ${LANG_TRADCHINESE} \
# "試圖注冊 Vim OLE 伺服程式。請注意不論成功與否都不再顯示進一步的信息。"
#LangString str_msg_unreg_ole ${LANG_TRADCHINESE} \
# "試圖注銷 Vim OLE 伺服程式。請注意不論成功與否都不再顯示進一步的信息。"
#LangString str_msg_rm_start ${LANG_TRADCHINESE} \
# "正移除如下版本:"
#LangString str_msg_rm_fail ${LANG_TRADCHINESE} \
# "以下版本移除失敗:"
#LangString str_msg_no_rm_key ${LANG_TRADCHINESE} \
# "找不到反安裝程式的登錄檔入口。"
#LangString str_msg_no_rm_reg ${LANG_TRADCHINESE} \
# "在登錄檔中未找到反安裝程式路徑。"
#LangString str_msg_no_rm_exe ${LANG_TRADCHINESE} \
# "找不到反安裝程式。"
#LangString str_msg_rm_copy_fail ${LANG_TRADCHINESE} \
# "無法將法將反安裝程式复制到臨時目錄。"
#LangString str_msg_rm_run_fail ${LANG_TRADCHINESE} \
# "執行反安裝程式失敗。"
#LangString str_msg_abort_install ${LANG_TRADCHINESE} \
# "安裝程式將退出。"
LangString str_msg_install_fail ${LANG_TRADCHINESE} \
"安裝失敗。預祝下次好運。"
LangString str_msg_rm_exe_fail ${LANG_TRADCHINESE} \
"資料夾「$0」下有部分檔案未能移除$\r$\n\
閣下只能手工移除該資料夾"
#LangString str_msg_rm_root_fail ${LANG_TRADCHINESE} \
# "警告:無法刪除 Vim 安裝資料夾「$vim_install_root」\
# 該資料夾下仍有其他檔案"
LangString str_msg_uninstalling ${LANG_TRADCHINESE} \
"Uninstalling the old version..."
LangString str_msg_registering ${LANG_TRADCHINESE} \
"Registering..."
LangString str_msg_unregistering ${LANG_TRADCHINESE} \
"Unregistering..."
##############################################################################
# Dialog Box {{{1
##############################################################################
LangString str_vimrc_page_title ${LANG_TRADCHINESE} \
"Choose _vimrc settings"
LangString str_vimrc_page_subtitle ${LANG_TRADCHINESE} \
"Choose the settings for enhancement, keyboard and mouse."
LangString str_msg_compat_title ${LANG_TRADCHINESE} \
" Vi / Vim behavior "
LangString str_msg_compat_desc ${LANG_TRADCHINESE} \
"&Compatibility and enhancements"
LangString str_msg_compat_vi ${LANG_TRADCHINESE} \
"Vi compatible"
LangString str_msg_compat_vim ${LANG_TRADCHINESE} \
"Vim original"
LangString str_msg_compat_defaults ${LANG_TRADCHINESE} \
"Vim with some enhancements (load defaults.vim)"
LangString str_msg_compat_all ${LANG_TRADCHINESE} \
"Vim with all enhancements (load vimrc_example.vim) (Default)"
LangString str_msg_keymap_title ${LANG_TRADCHINESE} \
" Mappings "
LangString str_msg_keymap_desc ${LANG_TRADCHINESE} \
"&Remap a few keys for Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc)"
LangString str_msg_keymap_default ${LANG_TRADCHINESE} \
"Do not remap keys (Default)"
LangString str_msg_keymap_windows ${LANG_TRADCHINESE} \
"Remap a few keys"
LangString str_msg_mouse_title ${LANG_TRADCHINESE} \
" Mouse "
LangString str_msg_mouse_desc ${LANG_TRADCHINESE} \
"&Behavior of right and left buttons"
LangString str_msg_mouse_default ${LANG_TRADCHINESE} \
"Right: popup menu, Left: visual mode (Default)"
LangString str_msg_mouse_windows ${LANG_TRADCHINESE} \
"Right: popup menu, Left: select mode (Windows)"
LangString str_msg_mouse_unix ${LANG_TRADCHINESE} \
"Right: extends selection, Left: visual mode (Unix)"

206
nsis/lang/turkish.nsi Normal file
View file

@ -0,0 +1,206 @@
# 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
!insertmacro MUI_LANGUAGE "Turkish"
# Overwrite the default translation.
# These strings should be always English. Otherwise dosinst.c fails.
LangString ^SetupCaption ${LANG_TURKISH} \
"$(^Name) Setup"
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ı"
# Install types:
LangString str_type_typical ${LANG_TURKISH} \
"Normal"
LangString str_type_minimal ${LANG_TURKISH} \
"Küçük"
LangString str_type_full ${LANG_TURKISH} \
"Tam"
##############################################################################
# Section Titles & Description {{{1
##############################################################################
LangString str_section_old_ver ${LANG_TURKISH} \
"Eski sürümü kaldır"
LangString str_desc_old_ver ${LANG_TURKISH} \
"Vim'in eski sürümünü sisteminizden kaldırır."
LangString str_section_exe ${LANG_TURKISH} \
"Vim grafik arabirimi ve çalışma dosyaları"
LangString str_desc_exe ${LANG_TURKISH} \
"Vim program başlatıcı ve çalışma dosyaları. Bu bileşen zorunludur."
LangString str_section_console ${LANG_TURKISH} \
"Vim konsol sürümü"
LangString str_desc_console ${LANG_TURKISH} \
"Vim'in konsol sürümü (vim.exe)."
LangString str_section_batch ${LANG_TURKISH} \
".bat dosyaları oluştur"
LangString str_desc_batch ${LANG_TURKISH} \
"Vim için komut satırında kullanmak üzere .bat dosyaları oluşturur"
LangString str_group_icons ${LANG_TURKISH} \
"Vim için kısayollar oluştur"
LangString str_desc_icons ${LANG_TURKISH} \
"Kolay erişim için Vim kısayolları oluşturur."
LangString str_section_desktop ${LANG_TURKISH} \
"Masaüstünde"
LangString str_desc_desktop ${LANG_TURKISH} \
"gVim programı için Masaüstünde kısayol oluşturur."
LangString str_section_start_menu ${LANG_TURKISH} \
"Başlat Menüsü - Programlar klasöründe"
LangString str_desc_start_menu ${LANG_TURKISH} \
"Vim kısayolunu Başlat Menüsüne ekler."
LangString str_section_edit_with ${LANG_TURKISH} \
"Vim ile Aç"
LangString str_desc_edit_with ${LANG_TURKISH} \
"Vim'i $\"Birlikte $\" sağ tık menüsüne ekler."
LangString str_section_vim_rc ${LANG_TURKISH} \
"Bir yapılandırma dosyası oluştur"
LangString str_desc_vim_rc ${LANG_TURKISH} \
"Eğer yoksa bir yapılandırma dosyası (_vimrc) oluşturur."
LangString str_group_plugin ${LANG_TURKISH} \
"Eklenti dizinleri oluştur"
LangString str_desc_plugin ${LANG_TURKISH} \
"Bu dizinlere Vim eklentilerini yerleştirerek Vim'e yeni \
özellikler kazandırabilirsiniz."
LangString str_section_plugin_home ${LANG_TURKISH} \
"Gizli"
LangString str_desc_plugin_home ${LANG_TURKISH} \
"Eklenti dizinlerini EV dizininde oluşturur."
LangString str_section_plugin_vim ${LANG_TURKISH} \
"Paylaşılan"
LangString str_desc_plugin_vim ${LANG_TURKISH} \
"Eklenti dizinlerini Vim yükleme dizininde oluşturur. Bu eklentilerden \
bilgisayarın tüm kullanıcıları yararlanabilir."
LangString str_section_nls ${LANG_TURKISH} \
"Ek dil desteği"
LangString str_desc_nls ${LANG_TURKISH} \
"Mevcut olan Vim yerelleştirmelerini yükler."
LangString str_unsection_register ${LANG_TURKISH} \
"Vim kaydını kaldır"
LangString str_desc_unregister ${LANG_TURKISH} \
"Vim'in bu bilgisayardaki kaydını kaldırır."
LangString str_unsection_exe ${LANG_TURKISH} \
"Vim programını ve çalıştırma dosyalarını kaldır"
LangString str_desc_rm_exe ${LANG_TURKISH} \
"Vim çalıştırılabilir dosyalarını ve diğer dosyaları kaldırır."
LangString str_ungroup_plugin ${LANG_TURKISH} \
"Eklenti dizinlerini kaldır"
LangString str_desc_rm_plugin ${LANG_TURKISH} \
"Eklenti dizinlerini eğer boş ise kaldırır."
LangString str_unsection_plugin_home ${LANG_TURKISH} \
"Gizli"
LangString str_desc_rm_plugin_home ${LANG_TURKISH} \
"Eklenti dizinlerini EV dizininden kaldırır."
LangString str_unsection_plugin_vim ${LANG_TURKISH} \
"Paylaşılan"
LangString str_desc_rm_plugin_vim ${LANG_TURKISH} \
"Eklenti dizinlerini Vim yükleme dizininden kaldırır."
LangString str_unsection_rootdir ${LANG_TURKISH} \
"Vim kök dizinini kaldır"
LangString str_desc_rm_rootdir ${LANG_TURKISH} \
"Vim kök dizinini kaldırır. Bu dizin Vim yapılandırma dosyalarını içerir!"
LangString str_msg_install_fail ${LANG_TURKISH} \
"Yükleme başarısız oldu. Yeniden deneyin."
LangString str_msg_rm_exe_fail ${LANG_TURKISH} \
"$0 içindeki bazı dosyalar silinemedi!$\r$\n\
Bu dosyaları el ile kaldırmalısınız."
LangString str_msg_uninstalling ${LANG_TURKISH} \
"Eski sürüm kaldırılıyor..."
LangString str_msg_registering ${LANG_TURKISH} \
"Kaydediliyor..."
LangString str_msg_unregistering ${LANG_TURKISH} \
"Kayıt siliniyor..."
##############################################################################
# Dialog Box {{{1
##############################################################################
LangString str_vimrc_page_title ${LANG_TURKISH} \
"_vimrc ayarlarını seçin"
LangString str_vimrc_page_subtitle ${LANG_TURKISH} \
"Yüklenecek ek özellikler, klavye ve fare için ayarları seçin."
LangString str_msg_compat_title ${LANG_TURKISH} \
" Vi / Vim davranışı "
LangString str_msg_compat_desc ${LANG_TURKISH} \
"&Uyumluluk ve ek özellikler"
LangString str_msg_compat_vi ${LANG_TURKISH} \
"Vi uyumlu"
LangString str_msg_compat_vim ${LANG_TURKISH} \
"Vim orijinal"
LangString str_msg_compat_defaults ${LANG_TURKISH} \
"Vim ve ek olarak bazı ek özellikler (load defaults.vim)"
LangString str_msg_compat_all ${LANG_TURKISH} \
"Vim ve ek olarak tüm ek özellikler (load vimrc_example.vim) (Default)"
LangString str_msg_keymap_title ${LANG_TURKISH} \
" Klavye İşlevleri "
LangString str_msg_keymap_desc ${LANG_TURKISH} \
"&Windows için bazı düğmeleri yeniden ayarla (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc)"
LangString str_msg_keymap_default ${LANG_TURKISH} \
"Düğme işlevlerini değiştirme (varsayılan)"
LangString str_msg_keymap_windows ${LANG_TURKISH} \
"Bazı düğmeleri yeniden ayarla"
LangString str_msg_mouse_title ${LANG_TURKISH} \
" Fare İşlevleri "
LangString str_msg_mouse_desc ${LANG_TURKISH} \
"&Sağ ve sol düğme davranışı"
LangString str_msg_mouse_default ${LANG_TURKISH} \
"Sağ: açılır menü, Sol: Görsel Kip (varsayılan)"
LangString str_msg_mouse_windows ${LANG_TURKISH} \
"Sağ: açılır menü, Sol: seçim kipi (Windows)"
LangString str_msg_mouse_unix ${LANG_TURKISH} \
"Sağ: seçimi genişlet, Sol: Görsel Kip (Unix)"

44
pixmaps/alert.xpm Normal file
View file

@ -0,0 +1,44 @@
/* XPM */
static char * alert_xpm[] = {
/* width height ncolors cpp [x_hot y_hot] */
"34 34 4 1 0 0",
/* colors */
" s none m none c none",
". s iconColor1 m black c #000000",
"X s iconColor6 m white c #FFFF00",
"o s bottomShadowColor m black c #5D6069",
/* pixels */
" ",
" ... ",
" .XXX. ",
" .XXXXX.o ",
" .XXXXX.oo ",
" .XXXXXXX.oo ",
" .XXXXXXX.oo ",
" .XXXXXXXXX.oo ",
" .XXXXXXXXX.oo ",
" .XXXXXXXXXXX.oo ",
" .XXXX...XXXX.oo ",
" .XXXX.....XXXX.oo ",
" .XXXX.....XXXX.oo ",
" .XXXXX.....XXXXX.oo ",
" .XXXXX.....XXXXX.oo ",
" .XXXXXX.....XXXXXX.oo ",
" .XXXXXX.....XXXXXX.oo ",
" .XXXXXXXX...XXXXXXXX.oo ",
" .XXXXXXXX...XXXXXXXX.oo ",
" .XXXXXXXXX...XXXXXXXXX.oo ",
" .XXXXXXXXXX.XXXXXXXXXX.oo ",
" .XXXXXXXXXXX.XXXXXXXXXXX.oo ",
" .XXXXXXXXXXXXXXXXXXXXXXX.oo ",
" .XXXXXXXXXXXX..XXXXXXXXXXX.oo ",
" .XXXXXXXXXXX....XXXXXXXXXX.oo ",
" .XXXXXXXXXXXX....XXXXXXXXXXX.oo ",
" .XXXXXXXXXXXXX..XXXXXXXXXXXX.oo ",
" .XXXXXXXXXXXXXXXXXXXXXXXXXXX.ooo ",
" .XXXXXXXXXXXXXXXXXXXXXXXXXXX.ooo ",
" .XXXXXXXXXXXXXXXXXXXXXXXXX.oooo ",
" .........................ooooo ",
" ooooooooooooooooooooooooooo ",
" ooooooooooooooooooooooooo ",
" "};

44
pixmaps/error.xpm Normal file
View file

@ -0,0 +1,44 @@
/* XPM */
static char * error_xpm[] = {
/* width height ncolors cpp [x_hot y_hot] */
"34 34 4 1 0 0",
/* colors */
" s none m none c none",
". s iconColor3 m black c #FF0000",
"X s bottomShadowColor m black c #5D6069",
"o s iconColor2 m white c #FFFFFF",
/* pixels */
" ",
" ........ ",
" ............ ",
" ................ ",
" .................. ",
" ....................X ",
" ......................X ",
" ........................X ",
" .......o..........o.......X ",
" ......ooo........ooo......X ",
" ......ooooo......ooooo......X ",
" .......ooooo....ooooo.......X ",
" .........ooooo..ooooo.........X ",
" ..........oooooooooo..........X ",
" ...........oooooooo...........XX ",
" ............oooooo............XX ",
" ............oooooo............XX ",
" ...........oooooooo...........XX ",
" ..........oooooooooo..........XX ",
" .........ooooo..ooooo.........XX ",
" .......ooooo....ooooo.......XX ",
" ......ooooo......ooooo......XX ",
" ......ooo........ooo......XXX ",
" .......o..........o.......XX ",
" ........................XXX ",
" ......................XXX ",
" X....................XXX ",
" X..................XXX ",
" X................XXX ",
" XX............XXXX ",
" XX........XXXXX ",
" XXXXXXXXXXX ",
" XXXXXXX ",
" "};

View file

@ -0,0 +1,11 @@
#! /bin/sh
prefix=stock_
list=
for file in "$@"; do
name=$(echo "$file" | sed 's|-|_|g; s|^.*/||; s|\..*$||')
list="$list $prefix$name $file"
done
gdk-pixbuf-csource --raw --static --build-list $list

44
pixmaps/generic.xpm Normal file
View file

@ -0,0 +1,44 @@
/* XPM */
static char * generic_xpm[] = {
/* width height ncolors cpp [x_hot y_hot] */
"34 34 4 1 0 0",
/* colors */
" s none m none c none",
". s bottomShadowColor m black c #5D6069",
"X s iconColor2 m white c #FFFFFF",
"o s iconColor1 m black c #000000",
/* pixels */
" ",
" ........ ",
" ...XXXXXXXX... ",
" ..XXXXXXXXXXXXXX.. ",
" .XXXXXXXXXXXXXXXXXX. ",
" .XXXXXXXXXXXXXXXXXXXXo ",
" .XXXXXXXXXXXXXXXXXXXXXXo ",
" .XXXXXXXXXXXXXXXXXXXXXXXXo ",
" .XXXXXXXXXXXXXXXXXXXXXXXXXXo ",
" .XXXXXXXXXXXXXXXXXXXXXXXXXXo. ",
" .XXXXXXXXXXXXXXXXXXXXXXXXXXXXo. ",
" .XXXXXXXXXXXXXXXXXXXXXXXXXXXXo. ",
" .XXXXXXXXXXXXXXXXXXXXXXXXXXXXo.. ",
" .XXXXXXXXXXXXXXXXXXXXXXXXXXXXo.. ",
" .XXXXXXXXXXXXXXXXXXXXXXXXXXXXo.. ",
" .XXXXXXXXXXXXXXXXXXXXXXXXXXXXo.. ",
" .XXXXXXXXXXXXXXXXXXXXXXXXXXXXo.. ",
" .XXXXXXXXXXXXXXXXXXXXXXXXXXo... ",
" .XXXXXXXXXXXXXXXXXXXXXXXXXXo... ",
" .XXXXXXXXXXXXXXXXXXXXXXXXo... ",
" oXXXXXXXXXXXXXXXXXXXXXXo.... ",
" oXXXXXXXXXXXXXXXXXXXXo.... ",
" oXXXXXXXXXXXXXXXXXXo.... ",
" ooXXXXXXXXXXXXXXoo.... ",
" .oooXXXXXXXXooo..... ",
" ...oooXXXXo....... ",
" ....oXXXo..... ",
" .oXXXo.. ",
" oXXo.. ",
" oXo.. ",
" oo.. ",
" ... ",
" .. ",
" "};

Some files were not shown because too many files have changed in this diff Show more