Files
macvim-mirror/runtime/lang
Yee Cheng Chin d8a4dcbe89 Add Vim script support and a popup menu for data lookup
Add a new Vim script function `showdefinition()` that allows Vim script
to call back to macOS's data lookup feature and show the definition /
URL preview / etc for any text, at a designated row/col position. If the
row/col are not provided this function will just show it at the cursor.

Also, add a new autoload/macvim.vim for utility functions to call
showdefinition() for selected texts and the word under cursor. Make a
new right-click popup menu "Look Up" call that when there are selected
texts in visual mode to make the lookup functionality easier to access
for users without a trackpad (since Ctrl-Cmd-D is a little obscure and
unwieldy to use). For the utility functions, it was a little hard to
determine how to get the text under visual selection without yanking (we
don't want to pollute the register here), and just implemented a
function to take care of all the edge cases including visual/block/line
modes and selection=exclusive. It could be useful in other situations.

As a side refactor, change the message handler in MacVim from if/else to
switch case. In optimized builds, they both essentially optimize to the
same thing, but for debug builds, the if/else statements have to step
through one by one, and switch case just makes more sense for a giant
message ID lookup like this.

Part of Epic #1311
2022-10-14 19:32:50 -07:00
..
2022-07-29 21:36:21 +01:00
2022-07-29 21:36:21 +01:00
2019-03-17 17:13:16 +01:00
2022-07-29 21:36:21 +01:00
2019-04-04 13:11:03 +02:00
2019-04-04 13:11:03 +02:00
2019-04-04 13:11:03 +02:00
2022-02-20 19:48:20 +00:00
2022-07-29 21:36:21 +01:00
2021-01-11 19:40:15 +01:00
2021-01-11 19:40:15 +01:00
2019-10-26 19:53:45 +02:00
2019-09-11 22:56:44 +02:00
2022-06-23 13:04:20 +01:00

Language files for Vim: Translated menus

The contents of each menu file is a sequence of lines with "menutrans"
commands.  Read one of the existing files to get an idea of how this works.

More information in the on-line help:

	:help multilang-menus
	:help :menutrans
	:help 'langmenu'
	:help :language

You can find a couple of helper tools for translating menus on github:
https://github.com/adaext/vim-menutrans-helper

The "$VIMRUNTIME/menu.vim" file will search for a menu translation file.  This
depends on the value of the "v:lang" variable.

	"menu_" . v:lang . ".vim"

When the 'menutrans' option is set, its value will be used instead of v:lang.

The file name is always lower case.  It is the full name as the ":language"
command shows (the LC_MESSAGES value).

For example, to use the Big5 (Taiwan) menus on MS-Windows the $LANG will be

	Chinese(Taiwan)_Taiwan.950

and use the menu translation file:

	$VIMRUNTIME/lang/menu_chinese(taiwan)_taiwan.950.vim

On Unix you should set $LANG, depending on your shell:

	csh/tcsh:	setenv LANG "zh_TW.Big5"
	sh/bash/ksh:	export LANG="zh_TW.Big5"

and the menu translation file is:

	$VIMRUNTIME/lang/menu_zh_tw.big5.vim

The menu translation file should set the "did_menu_trans" variable so that Vim
will not load another file.


AUTOMATIC CONVERSION

When Vim was compiled with multi-byte support, conversion between latin1 and
UTF-8 will always be possible.  Other conversions depend on the iconv
library, which is not always available.
For UTF-8 menu files which only use latin1 characters, you can rely on Vim
doing the conversion.  Let the UTF-8 menu file source the latin1 menu file,
and put "scriptencoding latin1" in that one.
Other conversions may not always be available (e.g., between iso-8859-# and
MS-Windows codepages), thus the converted menu file must be available.