Lista de recursos compilados pelo Vim

1

Eu sei como verificar se um recurso foi compilado IN:

:echo has("syntax")

Como faço para obter uma lista de todos os recursos possíveis em tempo de compilação?

Exemplo (pseudo-código):

foreach "feature" in "feature-list":
    print "has(feature)"

Objetivo: criar um plug-in vim para uso próprio que detecte alguns recursos e "switches" em algumas condições.

    
por Robottinosino 01.02.2013 / 11:50

2 respostas

1

Objective: build a vim plug-in for self use that detects some features and "switches" on some conditions.

Se você "alternar" alguns recursos, ainda precisará conhecê-los de antemão. O que há de tão ruim em codificar seus nomes diretamente no plug-in?!

O Vim tem recursos limitados para autorreflexão. Você poderia analisar a saída de :version (que inclui uma lista de recursos). Também vi um plug-in analisar uma página de ajuda específica (por exemplo, $VIMRUNTIME/doc/options.txt ) para obter uma lista de configurações, mas não recomendaria nenhuma delas se você não precisasse delas.

    
por 01.02.2013 / 12:08
0

Esta é uma lista de possíveis recursos na minha versão do Vim (7.3.315):

["all_builtin_terms", "amiga", "arabic", "arp", "autocmd", "balloon_eval", "balloon_multiline", "beos", "browse", "builtin_terms", "byte_offset", "cindent", "clientserver", "clipboard", "cmdline_compl", "cmdline_hist", "cmdline_info", "comments", "compatible", "cryptv", "cscope", "debug", "dialog_con", "dialog_gui", "diff", "digraphs", "dnd", "dos16", "dos32", "ebcdic", "emacs_tags", "eval", "ex_extra", "extra_search", "farsi", "file_in_path", "filterpipe", "find_in_path", "float", "fname_case", "folding", "footer", "fork", "fullscreen", "gettext", "gui", "gui_athena", "gui_gnome", "gui_gtk", "gui_gtk2", "gui_mac", "gui_macvim", "gui_motif", "gui_photon", "gui_running", "gui_win32", "gui_win32s", "hangul_input", "iconv", "insert_expand", "jumplist", "keymap", "langmap", "libcall", "linebreak", "lispindent", "listcmds", "localmap", "lua", "mac", "macunix", "menu", "mksession", "modify_fname", "mouse", "mouse_dec", "mouse_gpm", "mouse_netterm", "mouse_pterm", "mouse_sysmouse", "mouse_xterm", "mouseshape", "multi_byte", "multi_byte_encoding", "multi_byte_ime", "multi_lang", "mzscheme", "netbeans_enabled", "netbeans_intg", "odbeditor", "ole", "os2", "path_extra", "perl", "persistent_undo", "postscript", "printer", "profile", "python", "python3", "qnx", "quickfix", "reltime", "rightleft", "ruby", "scrollbind", "showcmd", "signs", "smartindent", "sniff", "spell", "startuptime", "statusline", "sun_workshop", "syntax", "syntax_items", "system", "tag_binary", "tag_old_static", "tag_any_white", "tcl", "terminfo", "termresponse", "textobjects", "tgetent", "title", "toolbar", "transparency", "unix", "user_commands", "vertsplit", "vim_starting", "viminfo", "virtualedit", "visual", "visualextra", "vms", "vreplace", "wildignore", "wildmenu", "win16", "win32", "win32unix", "win64", "win95", "winaltkeys", "windows", "writebackup", "xfontset", "xim", "xsmp", "xsmp_interact", "xterm_clipboard", "xterm_save", "x11"]

Demorou 30 segundos para compilar a partir de :h feature-list .

    
por 01.02.2013 / 13:00

Tags