2016-08-29 22:49:24 +02:00
/* vi:set ts=8 sts=4 sw=4 noet:
2004-06-13 20:20:40 +00:00
*
* VIM - Vi IMproved by Bram Moolenaar
*
* Do " :help uganda " in Vim to read copying and usage conditions .
* Do " :help credits " in Vim to see a list of people who contributed .
*/
/*
* option . h : definition of global variables for settable options
*/
2020-02-26 16:16:53 +01:00
# ifndef _OPTION_H_
# define _OPTION_H_
2019-09-16 21:06:21 +02:00
//
// Flags
//
# define P_BOOL 0x01 // the option is boolean
# define P_NUM 0x02 // the option is numeric
# define P_STRING 0x04 // the option is a string
# define P_ALLOCED 0x08 // the string option is in allocated memory,
// must use free_string_option() when
// assigning new value. Not set if default is
// the same.
# define P_EXPAND 0x10 // environment expansion. NOTE: P_EXPAND can
// never be used for local or hidden options!
# define P_NODEFAULT 0x40 // don't set to default value
# define P_DEF_ALLOCED 0x80 // default value is in allocated memory, must
// use vim_free() when assigning new value
# define P_WAS_SET 0x100 // option has been set/reset
# define P_NO_MKRC 0x200 // don't include in :mkvimrc output
# define P_VI_DEF 0x400 // Use Vi default for Vim
# define P_VIM 0x800 // Vim option, reset when 'cp' set
// when option changed, what to display:
# define P_RSTAT 0x1000 // redraw status lines
# define P_RWIN 0x2000 // redraw current window and recompute text
# define P_RBUF 0x4000 // redraw current buffer and recompute text
# define P_RALL 0x6000 // redraw all windows
# define P_RCLR 0x7000 // clear and redraw all
# define P_COMMA 0x8000 // comma separated list
# define P_ONECOMMA 0x18000L // P_COMMA and cannot have two consecutive
// commas
# define P_NODUP 0x20000L // don't allow duplicate strings
# define P_FLAGLIST 0x40000L // list of single-char flags
# define P_SECURE 0x80000L // cannot change in modeline or secure mode
# define P_GETTEXT 0x100000L // expand default value with _()
# define P_NOGLOB 0x200000L // do not use local value for global vimrc
# define P_NFNAME 0x400000L // only normal file name chars allowed
# define P_INSECURE 0x800000L // option was set from a modeline
# define P_PRI_MKRC 0x1000000L // priority for :mkvimrc (setting option has
// side effects)
# define P_NO_ML 0x2000000L // not allowed in modeline
# define P_CURSWANT 0x4000000L // update curswant required; not needed when
// there is a redraw flag
# define P_NDNAME 0x8000000L // only normal dir name chars allowed
# define P_RWINONLY 0x10000000L // only redraw current window
# define P_MLE 0x20000000L // under control of 'modelineexpr'
2021-12-06 11:03:55 +00:00
# define P_FUNC 0x40000000L // accept a function reference or a lambda
2019-09-16 21:06:21 +02:00
2020-12-31 17:41:01 +01:00
// Returned by get_option_value().
typedef enum {
gov_unknown ,
gov_bool ,
gov_number ,
gov_string ,
gov_hidden_bool ,
gov_hidden_number ,
gov_hidden_string
} getoption_T ;
2004-12-09 21:34:53 +00:00
/*
* Default values for ' errorformat ' .
* The " %f|%l| %m " one is used for when the contents of the quickfix window is
* written to a file .
*/
2004-06-13 20:20:40 +00:00
# ifdef AMIGA
2004-12-09 21:34:53 +00:00
# define DFLT_EFM "%f>%l:%c:%t:%n:%m,%f:%l: %t%*\\D%n: %m,%f %l %t%*\\D%n: %m,%*[^\"]\"%f\"%*\\D%l: %m,%f:%l:%m,%f|%l| %m"
2004-06-13 20:20:40 +00:00
# else
2019-02-17 17:44:42 +01:00
# if defined(MSWIN)
2018-12-03 20:50:02 +01:00
# define DFLT_EFM "%f(%l) \\=: %t%*\\D%n: %m,%*[^\"]\"%f\"%*\\D%l: %m,%f(%l) \\=: %m,%*[^ ] %f %l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,%f|%l| %m"
2004-06-13 20:20:40 +00:00
# else
2016-07-16 14:47:36 +02:00
# if defined(__QNX__)
# define DFLT_EFM "%f(%l):%*[^WE]%t%*\\D%n:%m,%f|%l| %m"
2004-06-13 20:20:40 +00:00
# else
2016-07-16 14:47:36 +02:00
# ifdef VMS
# define DFLT_EFM "%A%p^,%C%%CC-%t-%m,%Cat line number %l in file %f,%f|%l| %m"
2019-07-19 23:15:12 +02:00
# else // Unix, probably
2016-07-16 14:47:36 +02:00
# ifdef EBCDIC
2014-01-10 15:32:21 +01:00
# define DFLT_EFM "%*[^ ] %*[^ ] %f:%l%*[ ]%m,%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory %*[`']%f',%X%*\\a[%*\\d]: Leaving directory %*[`']%f',%DMaking %*\\a in %f,%f|%l| %m"
2004-06-13 20:20:40 +00:00
# else
2014-01-10 15:32:21 +01:00
# define DFLT_EFM "%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c:,%-GIn file included from %f:%l:%c\\,,%-GIn file included from %f:%l:%c,%-GIn file included from %f:%l,%-G%*[ ]from %f:%l:%c,%-G%*[ ]from %f:%l:,%-G%*[ ]from %f:%l\\,,%-G%*[ ]from %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory %*[`']%f',%X%*\\a[%*\\d]: Leaving directory %*[`']%f',%D%*\\a: Entering directory %*[`']%f',%X%*\\a: Leaving directory %*[`']%f',%DMaking %*\\a in %f,%f|%l| %m"
2004-06-13 20:20:40 +00:00
# endif
# endif
# endif
# endif
# endif
# define DFLT_GREPFORMAT "%f:%l:%m,%f:%l%m,%f %l%m"
2019-07-19 23:15:12 +02:00
// default values for b_p_ff 'fileformat' and p_ffs 'fileformats'
2004-06-13 20:20:40 +00:00
# define FF_DOS "dos"
# define FF_MAC "mac"
# define FF_UNIX "unix"
# ifdef USE_CRNL
# define DFLT_FF "dos"
# define DFLT_FFS_VIM "dos,unix"
2019-07-19 23:15:12 +02:00
# define DFLT_FFS_VI "dos,unix" // also autodetect in compatible mode
2004-06-13 20:20:40 +00:00
# define DFLT_TEXTAUTO TRUE
# else
2019-02-15 21:06:09 +01:00
# define DFLT_FF "unix"
# define DFLT_FFS_VIM "unix,dos"
# ifdef __CYGWIN__
2019-07-19 23:15:12 +02:00
# define DFLT_FFS_VI "unix,dos" // Cygwin always needs file detection
2019-02-15 21:06:09 +01:00
# define DFLT_TEXTAUTO TRUE
2004-06-13 20:20:40 +00:00
# else
2019-02-15 21:06:09 +01:00
# define DFLT_FFS_VI ""
# define DFLT_TEXTAUTO FALSE
2004-06-13 20:20:40 +00:00
# endif
# endif
2019-07-19 23:15:12 +02:00
// Possible values for 'encoding'
# define ENC_UCSBOM "ucs-bom" // check for BOM at start of file
2004-06-13 20:20:40 +00:00
2019-07-19 23:15:12 +02:00
// default value for 'encoding'
2021-05-30 18:04:19 +02:00
# ifdef MSWIN
# define ENC_DFLT "utf-8"
# else
# define ENC_DFLT "latin1"
# endif
2004-06-13 20:20:40 +00:00
2019-07-19 23:15:12 +02:00
// end-of-line style
# define EOL_UNKNOWN -1 // not defined yet
# define EOL_UNIX 0 // NL
# define EOL_DOS 1 // CR NL
# define EOL_MAC 2 // CR
2004-06-13 20:20:40 +00:00
2019-07-19 23:15:12 +02:00
// Formatting options for p_fo 'formatoptions'
2004-06-13 20:20:40 +00:00
# define FO_WRAP 't'
# define FO_WRAP_COMS 'c'
# define FO_RET_COMS 'r'
# define FO_OPEN_COMS 'o'
# define FO_Q_COMS 'q'
# define FO_Q_NUMBER 'n'
# define FO_Q_SECOND '2'
# define FO_INS_VI 'v'
# define FO_INS_LONG 'l'
# define FO_INS_BLANK 'b'
2019-07-19 23:15:12 +02:00
# define FO_MBYTE_BREAK 'm' // break before/after multi-byte char
# define FO_MBYTE_JOIN 'M' // no space before/after multi-byte char
# define FO_MBYTE_JOIN2 'B' // no space between multi-byte chars
2004-06-13 20:20:40 +00:00
# define FO_ONE_LETTER '1'
2019-07-19 23:15:12 +02:00
# define FO_WHITE_PAR 'w' // trailing white space continues paragr.
# define FO_AUTO 'a' // automatic formatting
2020-06-04 18:22:13 +02:00
# define FO_RIGOROUS_TW ']' // respect textwidth rigorously
2019-07-19 23:15:12 +02:00
# define FO_REMOVE_COMS 'j' // remove comment leaders when joining lines
# define FO_PERIOD_ABBR 'p' // don't break a single space after a period
2004-06-13 20:20:40 +00:00
# define DFLT_FO_VI "vt"
# define DFLT_FO_VIM "tcq"
2020-06-04 18:22:13 +02:00
# define FO_ALL "tcroq2vlb1mMBn,aw]jp" // for do_set()
2004-06-13 20:20:40 +00:00
2019-07-19 23:15:12 +02:00
// characters for the p_cpo option:
# define CPO_ALTREAD 'a' // ":read" sets alternate file name
# define CPO_ALTWRITE 'A' // ":write" sets alternate file name
# define CPO_BAR 'b' // "\|" ends a mapping
# define CPO_BSLASH 'B' // backslash in mapping is not special
2004-06-13 20:20:40 +00:00
# define CPO_SEARCH 'c'
2019-07-19 23:15:12 +02:00
# define CPO_CONCAT 'C' // Don't concatenate sourced lines
# define CPO_DOTTAG 'd' // "./tags" in 'tags' is in current dir
# define CPO_DIGRAPH 'D' // No digraph after "r", "f", etc.
2004-06-13 20:20:40 +00:00
# define CPO_EXECBUF 'e'
2019-07-19 23:15:12 +02:00
# define CPO_EMPTYREGION 'E' // operating on empty region is an error
# define CPO_FNAMER 'f' // set file name for ":r file"
# define CPO_FNAMEW 'F' // set file name for ":w file"
# define CPO_GOTO1 'g' // goto line 1 for ":edit"
# define CPO_INSEND 'H' // "I" inserts before last blank in line
# define CPO_INTMOD 'i' // interrupt a read makes buffer modified
# define CPO_INDENT 'I' // remove auto-indent more often
# define CPO_JOINSP 'j' // only use two spaces for join after '.'
# define CPO_ENDOFSENT 'J' // need two spaces to detect end of sentence
# define CPO_KEYCODE 'k' // don't recognize raw key code in mappings
# define CPO_KOFFSET 'K' // don't wait for key code in mappings
# define CPO_LITERAL 'l' // take char after backslash in [] literal
# define CPO_LISTWM 'L' // 'list' changes wrapmargin
2004-06-13 20:20:40 +00:00
# define CPO_SHOWMATCH 'm'
2019-07-19 23:15:12 +02:00
# define CPO_MATCHBSL 'M' // "%" ignores use of backslashes
# define CPO_NUMCOL 'n' // 'number' column also used for text
2004-06-13 20:20:40 +00:00
# define CPO_LINEOFF 'o'
2019-07-19 23:15:12 +02:00
# define CPO_OVERNEW 'O' // silently overwrite new file
# define CPO_LISP 'p' // 'lisp' indenting
# define CPO_FNAMEAPP 'P' // set file name for ":w >>file"
# define CPO_JOINCOL 'q' // with "3J" use column after first join
2004-06-13 20:20:40 +00:00
# define CPO_REDO 'r'
2019-07-19 23:15:12 +02:00
# define CPO_REMMARK 'R' // remove marks when filtering
2004-06-13 20:20:40 +00:00
# define CPO_BUFOPT 's'
# define CPO_BUFOPTGLOB 'S'
# define CPO_TAGPAT 't'
2019-07-19 23:15:12 +02:00
# define CPO_UNDO 'u' // "u" undoes itself
# define CPO_BACKSPACE 'v' // "v" keep deleted text
# define CPO_CW 'w' // "cw" only changes one blank
# define CPO_FWRITE 'W' // "w!" doesn't overwrite readonly files
2004-06-13 20:20:40 +00:00
# define CPO_ESC 'x'
2019-07-19 23:15:12 +02:00
# define CPO_REPLCNT 'X' // "R" with a count only deletes chars once
2004-06-13 20:20:40 +00:00
# define CPO_YANK 'y'
2019-07-19 23:15:12 +02:00
# define CPO_KEEPRO 'Z' // don't reset 'readonly' on ":w!"
2004-06-13 20:20:40 +00:00
# define CPO_DOLLAR '$'
# define CPO_FILTER '!'
# define CPO_MATCH '%'
2019-07-19 23:15:12 +02:00
# define CPO_STAR '*' // ":*" means ":@"
# define CPO_PLUS '+' // ":write file" resets 'modified'
# define CPO_MINUS '-' // "9-" fails at and before line 9
# define CPO_SPECI '<' // don't recognize <> in mappings
# define CPO_REGAPPEND '>' // insert NL when appending to a register
2019-11-30 19:44:38 +01:00
// POSIX flags
2019-07-19 23:15:12 +02:00
# define CPO_HASH '#' // "D", "o" and "O" do not use a count
# define CPO_PARA '{' // "{" is also a paragraph boundary
# define CPO_TSIZE '|' // $LINES and $COLUMNS overrule term size
# define CPO_PRESERVE '&' // keep swap file after :preserve
# define CPO_SUBPERCENT ' / ' // % in :s string uses previous one
# define CPO_BACKSL '\\' // \ is not special in []
# define CPO_CHDIR '.' // don't chdir if buffer is modified
# define CPO_SCOLON ';' // using "," and ";" will skip over char if
// cursor would not move
2019-11-30 19:44:38 +01:00
// default values for Vim, Vi and POSIX
2005-02-12 14:29:27 +00:00
# define CPO_VIM "aABceFs"
2011-06-26 05:36:34 +02:00
# define CPO_VI "aAbBcCdDeEfFgHiIjJkKlLmMnoOpPqrRsStuvwWxXyZ$!%*-+<>;"
# define CPO_ALL "aAbBcCdDeEfFgHiIjJkKlLmMnoOpPqrRsStuvwWxXyZ$!%*-+<>#{|& / \\.;"
2004-06-13 20:20:40 +00:00
2019-07-19 23:15:12 +02:00
// characters for p_ww option:
2004-06-13 20:20:40 +00:00
# define WW_ALL "bshl<>[],~"
2019-07-19 23:15:12 +02:00
// characters for p_mouse option:
# define MOUSE_NORMAL 'n' // use mouse in Normal mode
# define MOUSE_VISUAL 'v' // use mouse in Visual/Select mode
# define MOUSE_INSERT 'i' // use mouse in Insert mode
# define MOUSE_COMMAND 'c' // use mouse in Command-line mode
# define MOUSE_HELP 'h' // use mouse in help buffers
# define MOUSE_RETURN 'r' // use mouse for hit-return message
# define MOUSE_A "nvich" // used for 'a' flag
# define MOUSE_ALL "anvichr" // all possible characters
# define MOUSE_NONE ' ' // don't use Visual selection
# define MOUSE_NONEF 'x' // forced modeless selection
2004-06-13 20:20:40 +00:00
2019-07-19 23:15:12 +02:00
# define COCU_ALL "nvic" // flags for 'concealcursor'
2010-07-23 22:10:27 +02:00
2019-07-19 23:15:12 +02:00
// characters for p_shm option:
2019-05-04 21:08:40 +02:00
# define SHM_RO 'r' // readonly
# define SHM_MOD 'm' // modified
# define SHM_FILE 'f' // (file 1 of 2)
# define SHM_LAST 'i' // last line incomplete
# define SHM_TEXT 'x' // tx instead of textmode
# define SHM_LINES 'l' // "L" instead of "lines"
# define SHM_NEW 'n' // "[New]" instead of "[New file]"
# define SHM_WRI 'w' // "[w]" instead of "written"
# define SHM_A "rmfixlnw" // represented by 'a' flag
# define SHM_WRITE 'W' // don't use "written" at all
# define SHM_TRUNC 't' // truncate file messages
# define SHM_TRUNCALL 'T' // truncate all messages
# define SHM_OVER 'o' // overwrite file messages
# define SHM_OVERALL 'O' // overwrite more messages
# define SHM_SEARCH 's' // no search hit bottom messages
# define SHM_ATTENTION 'A' // no ATTENTION messages
# define SHM_INTRO 'I' // intro messages
# define SHM_COMPLETIONMENU 'c' // completion menu messages
# define SHM_RECORDING 'q' // short recording message
# define SHM_FILEINFO 'F' // no file info messages
# define SHM_SEARCHCOUNT 'S' // search stats: '[1/10]'
# define SHM_POSIX "AS" // POSIX value
# define SHM_ALL "rmfixlnwaWtToOsAIcqFS" // all possible flags for 'shm'
2004-06-13 20:20:40 +00:00
2019-07-19 23:15:12 +02:00
// characters for p_go:
# define GO_TERMINAL '!' // use terminal for system commands
# define GO_ASEL 'a' // autoselect
# define GO_ASELML 'A' // autoselect modeless selection
# define GO_BOT 'b' // use bottom scrollbar
# define GO_CONDIALOG 'c' // use console dialog
2019-09-15 13:17:00 +02:00
# define GO_DARKTHEME 'd' // use dark theme variant
2019-07-19 23:15:12 +02:00
# define GO_TABLINE 'e' // may show tabline
# define GO_FORG 'f' // start GUI in foreground
# define GO_GREY 'g' // use grey menu items
# define GO_HORSCROLL 'h' // flexible horizontal scrolling
# define GO_ICON 'i' // use Vim icon
# define GO_LEFT 'l' // use left scrollbar
# define GO_VLEFT 'L' // left scrollbar with vert split
# define GO_MENUS 'm' // use menu bar
# define GO_NOSYSMENU 'M' // don't source system menu
# define GO_POINTER 'p' // pointer enter/leave callbacks
# define GO_ASELPLUS 'P' // autoselectPlus
# define GO_RIGHT 'r' // use right scrollbar
# define GO_VRIGHT 'R' // right scrollbar with vert split
# define GO_TEAROFF 't' // add tear-off menu items
# define GO_TOOLBAR 'T' // add toolbar
# define GO_FOOTER 'F' // add footer
# define GO_VERTICAL 'v' // arrange dialog buttons vertically
# define GO_KEEPWINSIZE 'k' // keep GUI window size
2019-09-15 13:17:00 +02:00
# define GO_ALL "!aAbcdefFghilmMprtTvk" // all possible flags for 'go'
2004-06-13 20:20:40 +00:00
2019-07-19 23:15:12 +02:00
// flags for 'comments' option
# define COM_NEST 'n' // comments strings nest
# define COM_BLANK 'b' // needs blank after string
# define COM_START 's' // start of comment
# define COM_MIDDLE 'm' // middle of comment
# define COM_END 'e' // end of comment
# define COM_AUTO_END 'x' // last char of end closes comment
# define COM_FIRST 'f' // first line comment only
# define COM_LEFT 'l' // left adjusted
# define COM_RIGHT 'r' // right adjusted
# define COM_NOBACK 'O' // don't use for "O" command
# define COM_ALL "nbsmexflrO" // all flags for 'comments' option
# define COM_MAX_LEN 50 // maximum length of a part
2004-06-13 20:20:40 +00:00
2019-07-19 23:15:12 +02:00
// flags for 'statusline' option
# define STL_FILEPATH 'f' // path of file in buffer
# define STL_FULLPATH 'F' // full path of file in buffer
# define STL_FILENAME 't' // last part (tail) of file path
# define STL_COLUMN 'c' // column og cursor
# define STL_VIRTCOL 'v' // virtual column
# define STL_VIRTCOL_ALT 'V' // - with 'if different' display
# define STL_LINE 'l' // line number of cursor
# define STL_NUMLINES 'L' // number of lines in buffer
# define STL_BUFNO 'n' // current buffer number
# define STL_KEYMAP 'k' // 'keymap' when active
# define STL_OFFSET 'o' // offset of character under cursor
# define STL_OFFSET_X 'O' // - in hexadecimal
# define STL_BYTEVAL 'b' // byte value of character
# define STL_BYTEVAL_X 'B' // - in hexadecimal
# define STL_ROFLAG 'r' // readonly flag
# define STL_ROFLAG_ALT 'R' // - other display
# define STL_HELPFLAG 'h' // window is showing a help file
# define STL_HELPFLAG_ALT 'H' // - other display
# define STL_FILETYPE 'y' // 'filetype'
# define STL_FILETYPE_ALT 'Y' // - other display
# define STL_PREVIEWFLAG 'w' // window is showing the preview buf
# define STL_PREVIEWFLAG_ALT 'W' // - other display
# define STL_MODIFIED 'm' // modified flag
# define STL_MODIFIED_ALT 'M' // - other display
# define STL_QUICKFIX 'q' // quickfix window description
# define STL_PERCENTAGE 'p' // percentage through file
# define STL_ALTPERCENT 'P' // percentage as TOP BOT ALL or NN%
# define STL_ARGLISTSTAT 'a' // argument list status as (x of y)
# define STL_PAGENUM 'N' // page number (when printing)
# define STL_VIM_EXPR '{' // start of expression to substitute
# define STL_MIDDLEMARK '=' // separation between left and right
# define STL_TRUNCMARK '<' // truncation mark if line is too long
# define STL_USER_HL '*' // highlight from (User)1..9 or 0
# define STL_HIGHLIGHT '#' // highlight name
# define STL_TABPAGENR 'T' // tab page label nr
# define STL_TABCLOSENR 'X' // tab page close nr
2010-07-25 16:58:46 +02:00
# define STL_ALL ((char_u *) "fFtcvVlLknoObBrRhHmYyWwMqpPaN{#")
2004-06-13 20:20:40 +00:00
2019-07-19 23:15:12 +02:00
// flags used for parsed 'wildmode'
2019-09-14 21:01:23 +02:00
# define WIM_FULL 0x01
# define WIM_LONGEST 0x02
# define WIM_LIST 0x04
2019-10-27 05:12:45 +01:00
# define WIM_BUFLASTUSED 0x08
2004-06-13 20:20:40 +00:00
2019-07-19 23:15:12 +02:00
// arguments for can_bs()
2020-04-17 19:41:21 +02:00
// each defined char should be unique over all values
// except for BS_START, that intentionally also matches BS_NOSTOP
// because BS_NOSTOP behaves exactly the same except it
// does not stop at the start of the insert point
2019-07-19 23:15:12 +02:00
# define BS_INDENT 'i' // "Indent"
2020-04-17 19:41:21 +02:00
# define BS_EOL 'l' // "eoL"
2019-07-19 23:15:12 +02:00
# define BS_START 's' // "Start"
2020-04-17 19:41:21 +02:00
# define BS_NOSTOP 'p' // "nostoP
2004-06-13 20:20:40 +00:00
2019-09-14 21:01:23 +02:00
// flags for the 'culopt' option
# define CULOPT_LINE 0x01 // Highlight complete line
# define CULOPT_SCRLINE 0x02 // Highlight screen line
# define CULOPT_NBR 0x04 // Highlight Number column
2004-06-13 20:20:40 +00:00
# define LISPWORD_VALUE "defun,define,defmacro,set!,lambda,if,case,let,flet,let*,letrec,do,do*,define-syntax,let-syntax,letrec-syntax,destructuring-bind,defpackage,defparameter,defstruct,deftype,defvar,do-all-symbols,do-external-symbols,do-symbols,dolist,dotimes,ecase,etypecase,eval-when,labels,macrolet,multiple-value-bind,multiple-value-call,multiple-value-prog1,multiple-value-setq,prog1,progv,typecase,unless,unwind-protect,when,with-input-from-string,with-open-file,with-open-stream,with-output-to-string,with-package-iterator,define-condition,handler-bind,handler-case,restart-bind,restart-case,with-simple-restart,store-value,use-value,muffle-warning,abort,continue,with-slots,with-slots*,with-accessors,with-accessors*,defclass,defmethod,print-unreadable-object"
/*
2006-02-10 23:20:28 +00:00
* The following are actual variables for the options
2004-06-13 20:20:40 +00:00
*/
# ifdef FEAT_RIGHTLEFT
2019-07-19 23:15:12 +02:00
EXTERN long p_aleph ; // 'aleph'
2004-06-13 20:20:40 +00:00
# endif
2019-09-16 21:06:21 +02:00
EXTERN char_u * p_ambw ; // 'ambiwidth'
2006-04-06 20:18:50 +00:00
# ifdef FEAT_AUTOCHDIR
2019-07-19 23:15:12 +02:00
EXTERN int p_acd ; // 'autochdir'
2004-06-13 20:20:40 +00:00
# endif
2021-03-29 20:49:05 +02:00
# ifdef FEAT_AUTOSHELLDIR
EXTERN int p_asd ; // 'autoshelldir'
# endif
2019-09-16 21:06:21 +02:00
EXTERN int p_ai ; // 'autoindent'
EXTERN int p_bin ; // 'binary'
EXTERN int p_bomb ; // 'bomb'
EXTERN int p_bl ; // 'buflisted'
# ifdef FEAT_CINDENT
EXTERN int p_cin ; // 'cindent'
EXTERN char_u * p_cink ; // 'cinkeys'
# endif
# if defined(FEAT_SMARTINDENT) || defined(FEAT_CINDENT)
EXTERN char_u * p_cinw ; // 'cinwords'
# endif
# ifdef FEAT_COMPL_FUNC
EXTERN char_u * p_cfu ; // 'completefunc'
EXTERN char_u * p_ofu ; // 'omnifunc'
2021-10-17 14:13:09 +01:00
EXTERN char_u * p_tsrfu ; // 'thesaurusfunc'
2019-09-16 21:06:21 +02:00
# endif
EXTERN int p_ci ; // 'copyindent'
2004-06-13 20:20:40 +00:00
# if defined(FEAT_GUI) && defined(MACOS_X)
2019-07-19 23:15:12 +02:00
EXTERN int * p_antialias ; // 'antialias'
# endif
EXTERN int p_ar ; // 'autoread'
EXTERN int p_aw ; // 'autowrite'
EXTERN int p_awa ; // 'autowriteall'
EXTERN char_u * p_bs ; // 'backspace'
EXTERN char_u * p_bg ; // 'background'
EXTERN int p_bk ; // 'backup'
EXTERN char_u * p_bkc ; // 'backupcopy'
EXTERN unsigned bkc_flags ; // flags from 'backupcopy'
2004-06-13 20:20:40 +00:00
# define BKC_YES 0x001
# define BKC_AUTO 0x002
# define BKC_NO 0x004
# define BKC_BREAKSYMLINK 0x008
# define BKC_BREAKHARDLINK 0x010
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_bdir ; // 'backupdir'
EXTERN char_u * p_bex ; // 'backupext'
EXTERN char_u * p_bo ; // 'belloff'
2015-07-21 17:53:25 +02:00
EXTERN unsigned bo_flags ;
2020-03-30 19:32:53 +02:00
// values for the 'belloff' option
2015-07-21 17:53:25 +02:00
# define BO_ALL 0x0001
# define BO_BS 0x0002
# define BO_CRSR 0x0004
# define BO_COMPL 0x0008
# define BO_COPY 0x0010
# define BO_CTRLG 0x0020
# define BO_ERROR 0x0040
# define BO_ESC 0x0080
# define BO_EX 0x0100
# define BO_HANGUL 0x0200
# define BO_IM 0x0400
# define BO_LANG 0x0800
# define BO_MESS 0x1000
# define BO_MATCH 0x2000
# define BO_OPER 0x4000
# define BO_REG 0x8000
# define BO_SH 0x10000
# define BO_SPELL 0x20000
# define BO_WILD 0x40000
2004-06-13 20:20:40 +00:00
# ifdef FEAT_WILDIGN
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_bsk ; // 'backupskip'
2004-06-13 20:20:40 +00:00
# endif
2010-07-20 17:32:38 +02:00
# ifdef FEAT_CRYPT
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_cm ; // 'cryptmethod'
2010-07-20 17:32:38 +02:00
# endif
2004-06-13 20:20:40 +00:00
# ifdef FEAT_BEVAL
2017-11-18 22:13:31 +01:00
# ifdef FEAT_BEVAL_GUI
2019-07-19 23:15:12 +02:00
EXTERN int p_beval ; // 'ballooneval'
2017-11-18 22:13:31 +01:00
# endif
2019-07-19 23:15:12 +02:00
EXTERN long p_bdlay ; // 'balloondelay'
2005-03-07 23:20:08 +00:00
# ifdef FEAT_EVAL
EXTERN char_u * p_bexpr ;
2004-06-13 20:20:40 +00:00
# endif
2017-11-18 22:13:31 +01:00
# ifdef FEAT_BEVAL_TERM
2019-07-19 23:15:12 +02:00
EXTERN int p_bevalterm ; // 'balloonevalterm'
2017-11-18 18:52:04 +01:00
# endif
2017-11-18 22:13:31 +01:00
# endif
2004-06-13 20:20:40 +00:00
# ifdef FEAT_BROWSE
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_bsdir ; // 'browsedir'
2004-06-13 20:20:40 +00:00
# endif
# ifdef FEAT_LINEBREAK
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_breakat ; // 'breakat'
2004-06-13 20:20:40 +00:00
# endif
2019-09-16 21:06:21 +02:00
EXTERN char_u * p_bh ; // 'bufhidden'
EXTERN char_u * p_bt ; // 'buftype'
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_cmp ; // 'casemap'
2004-06-13 20:20:40 +00:00
EXTERN unsigned cmp_flags ;
2019-01-24 17:18:42 +01:00
# define CMP_INTERNAL 0x001
# define CMP_KEEPASCII 0x002
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_enc ; // 'encoding'
EXTERN int p_deco ; // 'delcombine'
2019-01-24 17:18:42 +01:00
# ifdef FEAT_EVAL
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_ccv ; // 'charconvert'
2004-06-13 20:20:40 +00:00
# endif
2021-12-21 09:12:23 +00:00
EXTERN int p_cdh ; // 'cdhome'
2022-01-08 12:41:16 +00:00
# ifdef FEAT_CINDENT
2019-09-16 21:06:21 +02:00
EXTERN char_u * p_cino ; // 'cinoptions'
2022-01-08 12:41:16 +00:00
# endif
2004-06-13 20:20:40 +00:00
# ifdef FEAT_CMDWIN
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_cedit ; // 'cedit'
EXTERN long p_cwh ; // 'cmdwinheight'
2004-06-13 20:20:40 +00:00
# endif
# ifdef FEAT_CLIPBOARD
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_cb ; // 'clipboard'
2004-06-13 20:20:40 +00:00
# endif
2019-07-19 23:15:12 +02:00
EXTERN long p_ch ; // 'cmdheight'
2019-09-16 21:06:21 +02:00
# ifdef FEAT_FOLDING
EXTERN char_u * p_cms ; // 'commentstring'
# endif
EXTERN char_u * p_cpt ; // 'complete'
2004-06-13 20:20:40 +00:00
# if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
2019-07-19 23:15:12 +02:00
EXTERN int p_confirm ; // 'confirm'
2004-06-13 20:20:40 +00:00
# endif
2019-07-19 23:15:12 +02:00
EXTERN int p_cp ; // 'compatible'
EXTERN char_u * p_cot ; // 'completeopt'
2019-08-21 14:37:09 +02:00
# ifdef BACKSLASH_IN_FILENAME
2019-07-28 16:36:39 +02:00
EXTERN char_u * p_csl ; // 'completeslash'
2019-08-21 14:37:09 +02:00
# endif
2019-07-19 23:15:12 +02:00
EXTERN long p_ph ; // 'pumheight'
EXTERN long p_pw ; // 'pumwidth'
2019-09-16 21:06:21 +02:00
EXTERN char_u * p_com ; // 'comments'
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_cpo ; // 'cpoptions'
2004-06-13 20:20:40 +00:00
# ifdef FEAT_CSCOPE
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_csprg ; // 'cscopeprg'
EXTERN int p_csre ; // 'cscoperelative'
2004-06-13 20:20:40 +00:00
# ifdef FEAT_QUICKFIX
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_csqf ; // 'cscopequickfix'
2016-07-13 22:44:12 +02:00
# define CSQF_CMDS "sgdctefia"
2004-06-13 20:20:40 +00:00
# define CSQF_FLAGS "+-0"
# endif
2019-07-19 23:15:12 +02:00
EXTERN int p_cst ; // 'cscopetag'
EXTERN long p_csto ; // 'cscopetagorder'
EXTERN long p_cspc ; // 'cscopepathcomp'
EXTERN int p_csverbose ; // 'cscopeverbose'
2004-06-13 20:20:40 +00:00
# endif
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_debug ; // 'debug'
2004-06-13 20:20:40 +00:00
# ifdef FEAT_FIND_ID
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_def ; // 'define'
2004-06-13 20:20:40 +00:00
EXTERN char_u * p_inc ;
# endif
# ifdef FEAT_DIFF
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_dip ; // 'diffopt'
2004-06-13 20:20:40 +00:00
# ifdef FEAT_EVAL
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_dex ; // 'diffexpr'
2004-06-13 20:20:40 +00:00
# endif
# endif
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_dict ; // 'dictionary'
2004-06-13 20:20:40 +00:00
# ifdef FEAT_DIGRAPHS
2019-07-19 23:15:12 +02:00
EXTERN int p_dg ; // 'digraph'
2004-06-13 20:20:40 +00:00
# endif
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_dir ; // 'directory'
EXTERN char_u * p_dy ; // 'display'
2004-06-13 20:20:40 +00:00
EXTERN unsigned dy_flags ;
# define DY_LASTLINE 0x001
2016-07-27 23:26:04 +02:00
# define DY_TRUNCATE 0x002
# define DY_UHEX 0x004
2019-07-19 23:15:12 +02:00
EXTERN int p_ed ; // 'edcompatible'
EXTERN char_u * p_ead ; // 'eadirection'
2019-09-16 21:06:21 +02:00
EXTERN char_u * p_emoji ; // 'emoji'
2019-07-19 23:15:12 +02:00
EXTERN int p_ea ; // 'equalalways'
EXTERN char_u * p_ep ; // 'equalprg'
EXTERN int p_eb ; // 'errorbells'
2004-06-13 20:20:40 +00:00
# ifdef FEAT_QUICKFIX
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_ef ; // 'errorfile'
EXTERN char_u * p_efm ; // 'errorformat'
EXTERN char_u * p_gefm ; // 'grepformat'
EXTERN char_u * p_gp ; // 'grepprg'
# endif
2019-09-16 21:06:21 +02:00
EXTERN int p_eol ; // 'endofline'
2019-07-19 23:15:12 +02:00
EXTERN int p_ek ; // 'esckeys'
2019-09-16 21:06:21 +02:00
EXTERN char_u * p_ei ; // 'eventignore'
EXTERN int p_et ; // 'expandtab'
2019-07-19 23:15:12 +02:00
EXTERN int p_exrc ; // 'exrc'
2019-09-16 21:06:21 +02:00
EXTERN char_u * p_fenc ; // 'fileencoding'
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_fencs ; // 'fileencodings'
2019-09-16 21:06:21 +02:00
EXTERN char_u * p_ff ; // 'fileformat'
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_ffs ; // 'fileformats'
EXTERN long p_fic ; // 'fileignorecase'
2019-09-16 21:06:21 +02:00
EXTERN char_u * p_ft ; // 'filetype'
EXTERN char_u * p_fcs ; // 'fillchar'
EXTERN int p_fixeol ; // 'fixendofline'
2004-06-13 20:20:40 +00:00
# ifdef FEAT_FOLDING
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_fcl ; // 'foldclose'
EXTERN long p_fdls ; // 'foldlevelstart'
EXTERN char_u * p_fdo ; // 'foldopen'
2004-06-13 20:20:40 +00:00
EXTERN unsigned fdo_flags ;
# define FDO_ALL 0x001
# define FDO_BLOCK 0x002
# define FDO_HOR 0x004
# define FDO_MARK 0x008
# define FDO_PERCENT 0x010
# define FDO_QUICKFIX 0x020
# define FDO_SEARCH 0x040
# define FDO_TAG 0x080
# define FDO_INSERT 0x100
# define FDO_UNDO 0x200
# define FDO_JUMP 0x400
# endif
2019-09-16 21:06:21 +02:00
# if defined(FEAT_EVAL)
EXTERN char_u * p_fex ; // 'formatexpr'
# endif
EXTERN char_u * p_flp ; // 'formatlistpat'
EXTERN char_u * p_fo ; // 'formatoptions'
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_fp ; // 'formatprg'
2005-06-30 22:04:15 +00:00
# ifdef HAVE_FSYNC
2019-07-19 23:15:12 +02:00
EXTERN int p_fs ; // 'fsync'
2005-06-30 22:04:15 +00:00
# endif
2019-07-19 23:15:12 +02:00
EXTERN int p_gd ; // 'gdefault'
2019-11-30 22:48:27 +01:00
# ifdef FEAT_PROP_POPUP
2019-08-20 21:12:16 +02:00
# ifdef FEAT_QUICKFIX
2019-08-18 16:35:23 +02:00
EXTERN char_u * p_cpp ; // 'completepopup'
2019-08-20 21:12:16 +02:00
# endif
2019-07-18 21:43:07 +02:00
EXTERN char_u * p_pvp ; // 'previewpopup'
# endif
2004-06-13 20:20:40 +00:00
# ifdef FEAT_PRINTER
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_pdev ; // 'printdevice'
2004-06-13 20:20:40 +00:00
# ifdef FEAT_POSTSCRIPT
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_penc ; // 'printencoding'
EXTERN char_u * p_pexpr ; // 'printexpr'
EXTERN char_u * p_pmfn ; // 'printmbfont'
EXTERN char_u * p_pmcs ; // 'printmbcharset'
2004-06-13 20:20:40 +00:00
# endif
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_pfn ; // 'printfont'
EXTERN char_u * p_popt ; // 'printoptions'
EXTERN char_u * p_header ; // 'printheader'
2004-06-13 20:20:40 +00:00
# endif
2019-07-19 23:15:12 +02:00
EXTERN int p_prompt ; // 'prompt'
2004-06-13 20:20:40 +00:00
# ifdef FEAT_GUI
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_guifont ; // 'guifont'
2004-06-13 20:20:40 +00:00
# ifdef FEAT_XFONTSET
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_guifontset ; // 'guifontset'
2004-06-13 20:20:40 +00:00
# endif
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_guifontwide ; // 'guifontwide'
EXTERN int p_guipty ; // 'guipty'
2004-06-13 20:20:40 +00:00
# endif
2021-10-16 20:52:05 +01:00
# ifdef FEAT_GUI_GTK
EXTERN char_u * p_guiligatures ; // 'guiligatures'
# endif
2005-12-06 19:59:18 +00:00
# if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11)
2019-07-19 23:15:12 +02:00
EXTERN long p_ghr ; // 'guiheadroom'
2004-06-13 20:20:40 +00:00
# endif
# ifdef CURSOR_SHAPE
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_guicursor ; // 'guicursor'
2004-06-13 20:20:40 +00:00
# endif
# ifdef FEAT_MOUSESHAPE
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_mouseshape ; // 'mouseshape'
2004-06-13 20:20:40 +00:00
# endif
# if defined(FEAT_GUI)
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_go ; // 'guioptions'
2006-02-27 00:08:02 +00:00
# endif
# if defined(FEAT_GUI_TABLINE)
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_gtl ; // 'guitablabel'
EXTERN char_u * p_gtt ; // 'guitabtooltip'
2004-06-13 20:20:40 +00:00
# endif
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_hf ; // 'helpfile'
EXTERN long p_hh ; // 'helpheight'
2004-06-13 20:20:40 +00:00
# ifdef FEAT_MULTI_LANG
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_hlg ; // 'helplang'
2004-06-13 20:20:40 +00:00
# endif
2019-07-19 23:15:12 +02:00
EXTERN int p_hid ; // 'hidden'
EXTERN char_u * p_hl ; // 'highlight'
EXTERN int p_hls ; // 'hlsearch'
EXTERN long p_hi ; // 'history'
2004-06-13 20:20:40 +00:00
# ifdef FEAT_RIGHTLEFT
2019-07-19 23:15:12 +02:00
EXTERN int p_hkmap ; // 'hkmap'
EXTERN int p_hkmapp ; // 'hkmapp'
2004-06-13 20:20:40 +00:00
# ifdef FEAT_ARABIC
2019-07-19 23:15:12 +02:00
EXTERN int p_arshape ; // 'arabicshape'
2004-06-13 20:20:40 +00:00
# endif
# endif
2019-07-19 23:15:12 +02:00
EXTERN int p_icon ; // 'icon'
EXTERN char_u * p_iconstring ; // 'iconstring'
EXTERN int p_ic ; // 'ignorecase'
2010-06-25 05:37:59 +02:00
# if defined(FEAT_XIM) && defined(FEAT_GUI_GTK)
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_imak ; // 'imactivatekey'
2017-11-25 15:20:02 +01:00
# define IM_ON_THE_SPOT 0L
# define IM_OVER_THE_SPOT 1L
2019-07-19 23:15:12 +02:00
EXTERN long p_imst ; // 'imstyle'
2017-11-25 15:20:02 +01:00
# endif
2019-01-24 17:18:42 +01:00
# if defined(FEAT_EVAL)
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_imaf ; // 'imactivatefunc'
EXTERN char_u * p_imsf ; // 'imstatusfunc'
# endif
EXTERN int p_imcmdline ; // 'imcmdline'
EXTERN int p_imdisable ; // 'imdisable'
2019-09-16 21:06:21 +02:00
EXTERN long p_iminsert ; // 'iminsert'
EXTERN long p_imsearch ; // 'imsearch'
EXTERN int p_inf ; // 'infercase'
# if defined(FEAT_FIND_ID) && defined(FEAT_EVAL)
EXTERN char_u * p_inex ; // 'includeexpr'
# endif
2019-07-19 23:15:12 +02:00
EXTERN int p_is ; // 'incsearch'
2019-09-16 21:06:21 +02:00
# if defined(FEAT_CINDENT) && defined(FEAT_EVAL)
EXTERN char_u * p_inde ; // 'indentexpr'
EXTERN char_u * p_indk ; // 'indentkeys'
# endif
2019-07-19 23:15:12 +02:00
EXTERN int p_im ; // 'insertmode'
EXTERN char_u * p_isf ; // 'isfname'
EXTERN char_u * p_isi ; // 'isident'
2019-09-16 21:06:21 +02:00
EXTERN char_u * p_isk ; // 'iskeyword'
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_isp ; // 'isprint'
EXTERN int p_js ; // 'joinspaces'
2019-09-16 21:06:21 +02:00
# ifdef FEAT_CRYPT
EXTERN char_u * p_key ; // 'key'
# endif
# ifdef FEAT_KEYMAP
EXTERN char_u * p_keymap ; // 'keymap'
# endif
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_kp ; // 'keywordprg'
EXTERN char_u * p_km ; // 'keymodel'
2004-06-13 20:20:40 +00:00
# ifdef FEAT_LANGMAP
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_langmap ; // 'langmap'
EXTERN int p_lnr ; // 'langnoremap'
EXTERN int p_lrm ; // 'langremap'
2004-06-13 20:20:40 +00:00
# endif
# if defined(FEAT_MENU) && defined(FEAT_MULTI_LANG)
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_lm ; // 'langmenu'
2004-06-13 20:20:40 +00:00
# endif
# ifdef FEAT_GUI
2019-07-19 23:15:12 +02:00
EXTERN long p_linespace ; // 'linespace'
2004-06-13 20:20:40 +00:00
# endif
# ifdef FEAT_LISP
2019-09-16 21:06:21 +02:00
EXTERN int p_lisp ; // 'lisp'
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_lispwords ; // 'lispwords'
2004-06-13 20:20:40 +00:00
# endif
2019-07-19 23:15:12 +02:00
EXTERN long p_ls ; // 'laststatus'
EXTERN long p_stal ; // 'showtabline'
EXTERN char_u * p_lcs ; // 'listchars'
2004-06-13 20:20:40 +00:00
2019-07-19 23:15:12 +02:00
EXTERN int p_lz ; // 'lazyredraw'
EXTERN int p_lpl ; // 'loadplugins'
2016-01-09 15:08:03 +01:00
# if defined(DYNAMIC_LUA)
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_luadll ; // 'luadll'
2015-11-02 15:28:18 +01:00
# endif
2019-07-19 23:15:12 +02:00
EXTERN int p_magic ; // 'magic'
EXTERN char_u * p_menc ; // 'makeencoding'
2004-06-13 20:20:40 +00:00
# ifdef FEAT_QUICKFIX
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_mef ; // 'makeef'
EXTERN char_u * p_mp ; // 'makeprg'
2004-06-13 20:20:40 +00:00
# endif
2019-09-16 21:06:21 +02:00
EXTERN char_u * p_mps ; // 'matchpairs'
2019-07-19 23:15:12 +02:00
EXTERN long p_mat ; // 'matchtime'
EXTERN long p_mco ; // 'maxcombine'
2004-06-13 20:20:40 +00:00
# ifdef FEAT_EVAL
2019-07-19 23:15:12 +02:00
EXTERN long p_mfd ; // 'maxfuncdepth'
2004-06-13 20:20:40 +00:00
# endif
2019-07-19 23:15:12 +02:00
EXTERN long p_mmd ; // 'maxmapdepth'
EXTERN long p_mm ; // 'maxmem'
EXTERN long p_mmp ; // 'maxmempattern'
EXTERN long p_mmt ; // 'maxmemtot'
2004-06-13 20:20:40 +00:00
# ifdef FEAT_MENU
2019-07-19 23:15:12 +02:00
EXTERN long p_mis ; // 'menuitems'
2004-06-13 20:20:40 +00:00
# endif
2006-03-12 22:08:12 +00:00
# ifdef FEAT_SPELL
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_msm ; // 'mkspellmem'
2005-08-19 20:40:30 +00:00
# endif
2019-09-16 21:06:21 +02:00
EXTERN int p_ml ; // 'modeline'
2019-07-19 23:15:12 +02:00
EXTERN long p_mle ; // 'modelineexpr'
EXTERN long p_mls ; // 'modelines'
2019-09-16 21:06:21 +02:00
EXTERN int p_ma ; // 'modifiable'
EXTERN int p_mod ; // 'modified'
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_mouse ; // 'mouse'
2004-06-13 20:20:40 +00:00
# ifdef FEAT_GUI
2019-07-19 23:15:12 +02:00
EXTERN int p_mousef ; // 'mousefocus'
EXTERN int p_mh ; // 'mousehide'
2004-06-13 20:20:40 +00:00
# endif
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_mousem ; // 'mousemodel'
EXTERN long p_mouset ; // 'mousetime'
EXTERN int p_more ; // 'more'
2004-07-05 15:58:32 +00:00
# ifdef FEAT_MZSCHEME
2019-07-19 23:15:12 +02:00
EXTERN long p_mzq ; // 'mzquantum
2017-10-08 17:41:37 +02:00
# if defined(DYNAMIC_MZSCHEME)
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_mzschemedll ; // 'mzschemedll'
EXTERN char_u * p_mzschemegcdll ; // 'mzschemegcdll'
2017-10-08 17:41:37 +02:00
# endif
2004-07-05 15:58:32 +00:00
# endif
2019-09-16 21:06:21 +02:00
EXTERN char_u * p_nf ; // 'nrformats'
2016-02-23 14:53:34 +01:00
# if defined(MSWIN)
2019-07-19 23:15:12 +02:00
EXTERN int p_odev ; // 'opendevice'
2006-10-10 16:44:07 +00:00
# endif
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_opfunc ; // 'operatorfunc'
EXTERN char_u * p_para ; // 'paragraphs'
EXTERN int p_paste ; // 'paste'
EXTERN char_u * p_pt ; // 'pastetoggle'
2004-06-13 20:20:40 +00:00
# if defined(FEAT_EVAL) && defined(FEAT_DIFF)
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_pex ; // 'patchexpr'
2004-06-13 20:20:40 +00:00
# endif
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_pm ; // 'patchmode'
EXTERN char_u * p_path ; // 'path'
2004-06-13 20:20:40 +00:00
# ifdef FEAT_SEARCHPATH
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_cdpath ; // 'cdpath'
2004-06-13 20:20:40 +00:00
# endif
2016-01-09 15:08:03 +01:00
# if defined(DYNAMIC_PERL)
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_perldll ; // 'perldll'
2015-11-02 15:28:18 +01:00
# endif
2019-09-16 21:06:21 +02:00
EXTERN int p_pi ; // 'preserveindent'
2016-01-09 15:08:03 +01:00
# if defined(DYNAMIC_PYTHON3)
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_py3dll ; // 'pythonthreedll'
2015-11-02 15:28:18 +01:00
# endif
2018-01-31 21:49:05 +01:00
# ifdef FEAT_PYTHON3
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_py3home ; // 'pythonthreehome'
2018-01-31 21:49:05 +01:00
# endif
2016-01-09 15:08:03 +01:00
# if defined(DYNAMIC_PYTHON)
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_pydll ; // 'pythondll'
2015-11-02 15:28:18 +01:00
# endif
2018-01-31 21:49:05 +01:00
# ifdef FEAT_PYTHON
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_pyhome ; // 'pythonhome'
2018-01-31 21:49:05 +01:00
# endif
2017-01-28 16:06:38 +01:00
# if defined(FEAT_PYTHON) || defined(FEAT_PYTHON3)
2019-07-19 23:15:12 +02:00
EXTERN long p_pyx ; // 'pyxversion'
2017-01-28 16:06:38 +01:00
# endif
2019-09-16 21:06:21 +02:00
# ifdef FEAT_TEXTOBJ
EXTERN char_u * p_qe ; // 'quoteescape'
# endif
EXTERN int p_ro ; // 'readonly'
2008-01-19 14:59:58 +00:00
# ifdef FEAT_RELTIME
2019-07-19 23:15:12 +02:00
EXTERN long p_rdt ; // 'redrawtime'
2008-01-19 14:59:58 +00:00
# endif
2019-07-19 23:15:12 +02:00
EXTERN int p_remap ; // 'remap'
EXTERN long p_re ; // 'regexpengine'
2014-08-06 14:52:30 +02:00
# ifdef FEAT_RENDER_OPTIONS
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_rop ; // 'renderoptions'
2014-08-06 14:52:30 +02:00
# endif
2019-07-19 23:15:12 +02:00
EXTERN long p_report ; // 'report'
2017-09-16 20:54:51 +02:00
# if defined(FEAT_QUICKFIX)
2019-07-19 23:15:12 +02:00
EXTERN long p_pvh ; // 'previewheight'
2004-06-13 20:20:40 +00:00
# endif
2019-02-17 17:44:42 +01:00
# ifdef MSWIN
2019-07-19 23:15:12 +02:00
EXTERN int p_rs ; // 'restorescreen'
2004-06-13 20:20:40 +00:00
# endif
# ifdef FEAT_RIGHTLEFT
2019-07-19 23:15:12 +02:00
EXTERN int p_ari ; // 'allowrevins'
EXTERN int p_ri ; // 'revins'
2004-06-13 20:20:40 +00:00
# endif
2016-01-09 15:08:03 +01:00
# if defined(DYNAMIC_RUBY)
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_rubydll ; // 'rubydll'
2015-11-02 15:28:18 +01:00
# endif
2004-06-13 20:20:40 +00:00
# ifdef FEAT_CMDL_INFO
2019-07-19 23:15:12 +02:00
EXTERN int p_ru ; // 'ruler'
2004-06-13 20:20:40 +00:00
# endif
# ifdef FEAT_STL_OPT
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_ruf ; // 'rulerformat'
# endif
EXTERN char_u * p_pp ; // 'packpath'
2022-01-08 12:41:16 +00:00
# ifdef FEAT_QUICKFIX
2020-05-31 23:11:59 +02:00
EXTERN char_u * p_qftf ; // 'quickfixtextfunc'
2022-01-08 12:41:16 +00:00
# endif
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_rtp ; // 'runtimepath'
EXTERN long p_sj ; // 'scrolljump'
2019-11-05 21:09:23 +01:00
# if defined(MSWIN) && defined(FEAT_GUI)
EXTERN int p_scf ; // 'scrollfocus'
# endif
2019-07-19 23:15:12 +02:00
EXTERN long p_so ; // 'scrolloff'
EXTERN char_u * p_sbo ; // 'scrollopt'
EXTERN char_u * p_sections ; // 'sections'
EXTERN int p_secure ; // 'secure'
EXTERN char_u * p_sel ; // 'selection'
EXTERN char_u * p_slm ; // 'selectmode'
2004-06-13 20:20:40 +00:00
# ifdef FEAT_SESSION
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_ssop ; // 'sessionoptions'
2004-06-13 20:20:40 +00:00
EXTERN unsigned ssop_flags ;
# define SSOP_BUFFERS 0x001
# define SSOP_WINPOS 0x002
# define SSOP_RESIZE 0x004
# define SSOP_WINSIZE 0x008
# define SSOP_LOCALOPTIONS 0x010
# define SSOP_OPTIONS 0x020
# define SSOP_HELP 0x040
# define SSOP_BLANK 0x080
# define SSOP_GLOBALS 0x100
# define SSOP_SLASH 0x200
# define SSOP_UNIX 0x400
# define SSOP_SESDIR 0x800
# define SSOP_CURDIR 0x1000
# define SSOP_FOLDS 0x2000
# define SSOP_CURSOR 0x4000
2006-04-12 21:52:12 +00:00
# define SSOP_TABPAGES 0x8000
2018-03-09 21:33:34 +01:00
# define SSOP_TERMINAL 0x10000
2021-04-16 19:58:22 +02:00
# define SSOP_SKIP_RTP 0x20000
2004-06-13 20:20:40 +00:00
# endif
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_sh ; // 'shell'
EXTERN char_u * p_shcf ; // 'shellcmdflag'
2004-06-13 20:20:40 +00:00
# ifdef FEAT_QUICKFIX
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_sp ; // 'shellpipe'
2004-06-13 20:20:40 +00:00
# endif
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_shq ; // 'shellquote'
EXTERN char_u * p_sxq ; // 'shellxquote'
EXTERN char_u * p_sxe ; // 'shellxescape'
EXTERN char_u * p_srr ; // 'shellredir'
2004-06-13 20:20:40 +00:00
# ifdef AMIGA
2019-07-19 23:15:12 +02:00
EXTERN long p_st ; // 'shelltype'
2004-06-13 20:20:40 +00:00
# endif
2019-07-19 23:15:12 +02:00
EXTERN int p_stmp ; // 'shelltemp'
2004-06-13 20:20:40 +00:00
# ifdef BACKSLASH_IN_FILENAME
2019-07-19 23:15:12 +02:00
EXTERN int p_ssl ; // 'shellslash'
2004-06-13 20:20:40 +00:00
# endif
# ifdef FEAT_STL_OPT
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_stl ; // 'statusline'
2004-06-13 20:20:40 +00:00
# endif
2019-07-19 23:15:12 +02:00
EXTERN int p_sr ; // 'shiftround'
2019-09-16 21:06:21 +02:00
EXTERN long p_sw ; // 'shiftwidth'
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_shm ; // 'shortmess'
2019-09-16 21:06:21 +02:00
EXTERN int p_sn ; // 'shortname'
2004-06-13 20:20:40 +00:00
# ifdef FEAT_LINEBREAK
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_sbr ; // 'showbreak'
2004-06-13 20:20:40 +00:00
# endif
# ifdef FEAT_CMDL_INFO
2019-07-19 23:15:12 +02:00
EXTERN int p_sc ; // 'showcmd'
# endif
EXTERN int p_sft ; // 'showfulltag'
EXTERN int p_sm ; // 'showmatch'
EXTERN int p_smd ; // 'showmode'
EXTERN long p_ss ; // 'sidescroll'
EXTERN long p_siso ; // 'sidescrolloff'
EXTERN int p_scs ; // 'smartcase'
2019-09-16 21:06:21 +02:00
# ifdef FEAT_SMARTINDENT
EXTERN int p_si ; // 'smartindent'
# endif
2019-07-19 23:15:12 +02:00
EXTERN int p_sta ; // 'smarttab'
2019-09-16 21:06:21 +02:00
EXTERN long p_sts ; // 'softtabstop'
2019-07-19 23:15:12 +02:00
EXTERN int p_sb ; // 'splitbelow'
2019-09-16 21:06:21 +02:00
# if defined(FEAT_SEARCHPATH)
EXTERN char_u * p_sua ; // 'suffixesadd'
# endif
EXTERN int p_swf ; // 'swapfile'
# ifdef FEAT_SYN_HL
EXTERN long p_smc ; // 'synmaxcol'
# endif
2019-07-19 23:15:12 +02:00
EXTERN long p_tpm ; // 'tabpagemax'
2019-09-16 21:06:21 +02:00
# ifdef FEAT_STL_OPT
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_tal ; // 'tabline'
2019-09-16 21:06:21 +02:00
# endif
# ifdef FEAT_EVAL
EXTERN char_u * p_tfu ; // 'tagfunc'
# endif
2006-03-12 22:08:12 +00:00
# ifdef FEAT_SPELL
2019-09-16 21:06:21 +02:00
EXTERN char_u * p_spc ; // 'spellcapcheck'
EXTERN char_u * p_spf ; // 'spellfile'
EXTERN char_u * p_spl ; // 'spelllang'
2020-06-10 21:47:00 +02:00
EXTERN char_u * p_spo ; // 'spelloptions'
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_sps ; // 'spellsuggest'
2005-06-21 22:37:39 +00:00
# endif
2019-07-19 23:15:12 +02:00
EXTERN int p_spr ; // 'splitright'
EXTERN int p_sol ; // 'startofline'
EXTERN char_u * p_su ; // 'suffixes'
EXTERN char_u * p_sws ; // 'swapsync'
EXTERN char_u * p_swb ; // 'switchbuf'
2008-06-24 22:09:24 +00:00
EXTERN unsigned swb_flags ;
2019-11-17 18:09:38 +01:00
// Keep in sync with p_swb_values in optionstr.c
2008-06-24 22:09:24 +00:00
# define SWB_USEOPEN 0x001
# define SWB_USETAB 0x002
# define SWB_SPLIT 0x004
# define SWB_NEWTAB 0x008
2015-06-19 14:41:49 +02:00
# define SWB_VSPLIT 0x010
2019-11-17 18:09:38 +01:00
# define SWB_USELAST 0x020
2022-01-08 12:41:16 +00:00
# ifdef FEAT_SYN_HL
2019-09-16 21:06:21 +02:00
EXTERN char_u * p_syn ; // 'syntax'
2022-01-08 12:41:16 +00:00
# endif
2019-09-16 21:06:21 +02:00
EXTERN long p_ts ; // 'tabstop'
2019-07-19 23:15:12 +02:00
EXTERN int p_tbs ; // 'tagbsearch'
EXTERN char_u * p_tc ; // 'tagcase'
EXTERN unsigned tc_flags ; // flags from 'tagcase'
2015-11-24 18:48:14 +01:00
# define TC_FOLLOWIC 0x01
# define TC_IGNORE 0x02
# define TC_MATCH 0x04
2016-08-20 16:57:02 +02:00
# define TC_FOLLOWSCS 0x08
# define TC_SMART 0x10
2019-07-19 23:15:12 +02:00
EXTERN long p_tl ; // 'taglength'
EXTERN int p_tr ; // 'tagrelative'
EXTERN char_u * p_tags ; // 'tags'
EXTERN int p_tgst ; // 'tagstack'
2016-01-09 19:41:11 +01:00
# if defined(DYNAMIC_TCL)
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_tcldll ; // 'tcldll'
2016-01-09 19:41:11 +01:00
# endif
2004-06-13 20:20:40 +00:00
# ifdef FEAT_ARABIC
2019-07-19 23:15:12 +02:00
EXTERN int p_tbidi ; // 'termbidi'
2004-06-13 20:20:40 +00:00
# endif
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_tenc ; // 'termencoding'
2016-04-29 22:59:22 +02:00
# ifdef FEAT_TERMGUICOLORS
2019-07-19 23:15:12 +02:00
EXTERN int p_tgc ; // 'termguicolors'
2016-04-29 22:59:22 +02:00
# endif
2019-09-16 21:06:21 +02:00
# ifdef FEAT_TERMINAL
EXTERN long p_twsl ; // 'termwinscroll'
# endif
2019-02-17 17:44:42 +01:00
# if defined(MSWIN) && defined(FEAT_TERMINAL)
2019-02-08 12:47:03 +01:00
EXTERN char_u * p_twt ; // 'termwintype'
# endif
2019-07-19 23:15:12 +02:00
EXTERN int p_terse ; // 'terse'
EXTERN int p_ta ; // 'textauto'
2019-09-16 21:06:21 +02:00
EXTERN int p_tx ; // 'textmode'
EXTERN long p_tw ; // 'textwidth'
2019-07-19 23:15:12 +02:00
EXTERN int p_to ; // 'tildeop'
EXTERN int p_timeout ; // 'timeout'
EXTERN long p_tm ; // 'timeoutlen'
EXTERN int p_title ; // 'title'
EXTERN long p_titlelen ; // 'titlelen'
EXTERN char_u * p_titleold ; // 'titleold'
EXTERN char_u * p_titlestring ; // 'titlestring'
EXTERN char_u * p_tsr ; // 'thesaurus'
EXTERN int p_ttimeout ; // 'ttimeout'
EXTERN long p_ttm ; // 'ttimeoutlen'
EXTERN int p_tbi ; // 'ttybuiltin'
EXTERN int p_tf ; // 'ttyfast'
2019-02-17 17:44:42 +01:00
# if defined(FEAT_TOOLBAR) && !defined(FEAT_GUI_MSWIN)
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_toolbar ; // 'toolbar'
2004-06-13 20:20:40 +00:00
EXTERN unsigned toolbar_flags ;
# define TOOLBAR_TEXT 0x01
# define TOOLBAR_ICONS 0x02
# define TOOLBAR_TOOLTIPS 0x04
# define TOOLBAR_HORIZ 0x08
# endif
2010-06-25 05:37:59 +02:00
# if defined(FEAT_TOOLBAR) && defined(FEAT_GUI_GTK)
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_tbis ; // 'toolbariconsize'
2004-06-13 20:20:40 +00:00
EXTERN unsigned tbis_flags ;
# define TBIS_TINY 0x01
# define TBIS_SMALL 0x02
# define TBIS_MEDIUM 0x04
# define TBIS_LARGE 0x08
2016-03-08 22:47:17 +01:00
# define TBIS_HUGE 0x10
# define TBIS_GIANT 0x20
2004-06-13 20:20:40 +00:00
# endif
2019-07-19 23:15:12 +02:00
EXTERN long p_ttyscroll ; // 'ttyscroll'
2019-10-17 23:00:07 +02:00
# if defined(UNIX) || defined(VMS)
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_ttym ; // 'ttymouse'
2004-06-13 20:20:40 +00:00
EXTERN unsigned ttym_flags ;
# define TTYM_XTERM 0x01
# define TTYM_XTERM2 0x02
# define TTYM_DEC 0x04
# define TTYM_NETTERM 0x08
# define TTYM_JSBTERM 0x10
# define TTYM_PTERM 0x20
2011-10-20 21:09:35 +02:00
# define TTYM_URXVT 0x40
2012-08-15 16:21:32 +02:00
# define TTYM_SGR 0x80
2004-06-13 20:20:40 +00:00
# endif
2019-09-16 21:06:21 +02:00
# ifdef FEAT_PERSISTENT_UNDO
2022-01-08 12:41:16 +00:00
EXTERN char_u * p_udir ; // 'undodir'
2019-09-16 21:06:21 +02:00
EXTERN int p_udf ; // 'undofile'
# endif
2019-07-19 23:15:12 +02:00
EXTERN long p_ul ; // 'undolevels'
EXTERN long p_ur ; // 'undoreload'
EXTERN long p_uc ; // 'updatecount'
EXTERN long p_ut ; // 'updatetime'
2019-09-16 21:06:21 +02:00
# ifdef FEAT_VARTABS
EXTERN char_u * p_vsts ; // 'varsofttabstop'
EXTERN char_u * p_vts ; // 'vartabstop'
# endif
2004-06-13 20:20:40 +00:00
# ifdef FEAT_VIMINFO
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_viminfo ; // 'viminfo'
EXTERN char_u * p_viminfofile ; // 'viminfofile'
2004-06-13 20:20:40 +00:00
# endif
# ifdef FEAT_SESSION
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_vdir ; // 'viewdir'
EXTERN char_u * p_vop ; // 'viewoptions'
EXTERN unsigned vop_flags ; // uses SSOP_ flags
2004-06-13 20:20:40 +00:00
# endif
2019-07-19 23:15:12 +02:00
EXTERN int p_vb ; // 'visualbell'
EXTERN char_u * p_ve ; // 'virtualedit'
2004-06-13 20:20:40 +00:00
EXTERN unsigned ve_flags ;
2019-07-19 23:15:12 +02:00
# define VE_BLOCK 5 // includes "all"
# define VE_INSERT 6 // includes "all"
2019-01-26 17:28:26 +01:00
# define VE_ALL 4
# define VE_ONEMORE 8
2021-08-03 18:33:08 +02:00
# define VE_NONE 16 // "none"
# define VE_NONEU 32 // "NONE"
2019-07-19 23:15:12 +02:00
EXTERN long p_verbose ; // 'verbose'
2011-02-09 15:59:37 +01:00
# ifdef IN_OPTION_C
2019-07-19 23:15:12 +02:00
char_u * p_vfile = ( char_u * ) " " ; // used before options are initialized
2011-02-09 15:59:37 +01:00
# else
2019-07-19 23:15:12 +02:00
extern char_u * p_vfile ; // 'verbosefile'
2011-02-09 15:59:37 +01:00
# endif
2019-07-19 23:15:12 +02:00
EXTERN int p_warn ; // 'warn'
EXTERN char_u * p_wop ; // 'wildoptions'
EXTERN long p_window ; // 'window'
2004-06-13 20:20:40 +00:00
# if defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_MOTIF) || defined(LINT) \
2005-12-06 19:59:18 +00:00
| | defined ( FEAT_GUI_GTK ) | | defined ( FEAT_GUI_PHOTON )
2004-06-13 20:20:40 +00:00
# define FEAT_WAK
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_wak ; // 'winaltkeys'
2004-06-13 20:20:40 +00:00
# endif
# ifdef FEAT_WILDIGN
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_wig ; // 'wildignore'
# endif
EXTERN int p_wiv ; // 'weirdinvert'
EXTERN char_u * p_ww ; // 'whichwrap'
EXTERN long p_wc ; // 'wildchar'
EXTERN long p_wcm ; // 'wildcharm'
EXTERN long p_wic ; // 'wildignorecase'
EXTERN char_u * p_wim ; // 'wildmode'
2004-06-13 20:20:40 +00:00
# ifdef FEAT_WILDMENU
2019-07-19 23:15:12 +02:00
EXTERN int p_wmnu ; // 'wildmenu'
2004-06-13 20:20:40 +00:00
# endif
2019-07-19 23:15:12 +02:00
EXTERN long p_wh ; // 'winheight'
EXTERN long p_wmh ; // 'winminheight'
EXTERN long p_wmw ; // 'winminwidth'
EXTERN long p_wiw ; // 'winwidth'
2019-02-17 17:44:42 +01:00
# if defined(MSWIN) && defined(FEAT_TERMINAL)
2019-07-19 23:15:12 +02:00
EXTERN char_u * p_winptydll ; // 'winptydll'
2017-08-16 23:14:08 +02:00
# endif
2019-09-16 21:06:21 +02:00
EXTERN long p_wm ; // 'wrapmargin'
2019-07-19 23:15:12 +02:00
EXTERN int p_ws ; // 'wrapscan'
EXTERN int p_write ; // 'write'
EXTERN int p_wa ; // 'writeany'
EXTERN int p_wb ; // 'writebackup'
EXTERN long p_wd ; // 'writedelay'
2021-12-21 09:12:23 +00:00
EXTERN int p_xtermcodes ; // 'xtermcodes'
2006-02-27 23:58:35 +00:00
/*
2020-01-26 22:00:26 +01:00
* " indir " values for buffer - local options .
2006-02-27 23:58:35 +00:00
* These need to be defined globally , so that the BV_COUNT can be used with
* b_p_scriptID [ ] .
*/
enum
{
BV_AI = 0
, BV_AR
, BV_BH
2014-09-23 15:45:08 +02:00
, BV_BKC
2006-02-27 23:58:35 +00:00
, BV_BT
2017-07-23 22:57:00 +02:00
# ifdef FEAT_QUICKFIX
2006-02-27 23:58:35 +00:00
, BV_EFM
, BV_GP
, BV_MP
# endif
, BV_BIN
, BV_BL
, BV_BOMB
, BV_CI
# ifdef FEAT_CINDENT
, BV_CIN
, BV_CINK
, BV_CINO
# endif
# if defined(FEAT_SMARTINDENT) || defined(FEAT_CINDENT)
, BV_CINW
# endif
2010-05-16 22:32:54 +02:00
, BV_CM
2006-02-27 23:58:35 +00:00
# ifdef FEAT_FOLDING
, BV_CMS
# endif
, BV_COM
, BV_CPT
, BV_DICT
, BV_TSR
2019-07-28 16:36:39 +02:00
# ifdef BACKSLASH_IN_FILENAME
, BV_CSL
# endif
2006-02-27 23:58:35 +00:00
# ifdef FEAT_COMPL_FUNC
, BV_CFU
# endif
# ifdef FEAT_FIND_ID
, BV_DEF
, BV_INC
# endif
, BV_EOL
2015-07-17 14:18:08 +02:00
, BV_FIXEOL
2006-02-27 23:58:35 +00:00
, BV_EP
, BV_ET
, BV_FENC
2017-01-14 14:28:30 +01:00
, BV_FP
2006-02-27 23:58:35 +00:00
# ifdef FEAT_EVAL
2006-03-20 21:55:45 +00:00
, BV_BEXPR
2006-02-27 23:58:35 +00:00
, BV_FEX
# endif
, BV_FF
, BV_FLP
, BV_FO
, BV_FT
, BV_IMI
, BV_IMS
# if defined(FEAT_CINDENT) && defined(FEAT_EVAL)
, BV_INDE
, BV_INDK
# endif
# if defined(FEAT_FIND_ID) && defined(FEAT_EVAL)
, BV_INEX
# endif
, BV_INF
, BV_ISK
# ifdef FEAT_CRYPT
, BV_KEY
# endif
# ifdef FEAT_KEYMAP
, BV_KMAP
# endif
, BV_KP
# ifdef FEAT_LISP
, BV_LISP
2014-03-12 18:55:58 +01:00
, BV_LW
2017-03-05 17:43:31 +01:00
# endif
, BV_MENC
2006-02-27 23:58:35 +00:00
, BV_MA
, BV_ML
, BV_MOD
, BV_MPS
, BV_NF
# ifdef FEAT_COMPL_FUNC
, BV_OFU
# endif
, BV_PATH
, BV_PI
# ifdef FEAT_TEXTOBJ
, BV_QE
# endif
, BV_RO
# ifdef FEAT_SMARTINDENT
, BV_SI
# endif
, BV_SN
# ifdef FEAT_SYN_HL
, BV_SMC
2006-03-12 22:08:12 +00:00
, BV_SYN
# endif
# ifdef FEAT_SPELL
2006-02-27 23:58:35 +00:00
, BV_SPC
, BV_SPF
, BV_SPL
2020-06-10 21:47:00 +02:00
, BV_SPO
2006-02-27 23:58:35 +00:00
# endif
, BV_STS
# ifdef FEAT_SEARCHPATH
, BV_SUA
# endif
, BV_SW
, BV_SWF
2019-04-28 18:05:35 +02:00
# ifdef FEAT_EVAL
, BV_TFU
# endif
2006-02-27 23:58:35 +00:00
, BV_TAGS
2015-11-24 18:48:14 +01:00
, BV_TC
2021-10-16 15:41:29 +01:00
# ifdef FEAT_COMPL_FUNC
2021-10-17 14:13:09 +01:00
, BV_TSRFU
2021-10-16 15:41:29 +01:00
# endif
2006-02-27 23:58:35 +00:00
, BV_TS
, BV_TW
, BV_TX
2010-05-23 23:34:36 +02:00
, BV_UDF
2013-11-06 05:26:15 +01:00
, BV_UL
2006-02-27 23:58:35 +00:00
, BV_WM
2018-04-21 20:03:20 +02:00
# ifdef FEAT_TERMINAL
, BV_TWSL
2018-06-23 19:23:02 +02:00
# endif
# ifdef FEAT_VARTABS
, BV_VSTS
, BV_VTS
2018-04-21 20:03:20 +02:00
# endif
2021-07-26 22:19:10 +02:00
, BV_VE
2019-07-19 23:15:12 +02:00
, BV_COUNT // must be the last one
2006-02-27 23:58:35 +00:00
} ;
/*
* " indir " values for window - local options .
* These need to be defined globally , so that the WV_COUNT can be used in the
* window structure .
*/
enum
{
WV_LIST = 0
2021-02-15 20:38:25 +01:00
, WV_LCS
2006-02-27 23:58:35 +00:00
# ifdef FEAT_ARABIC
, WV_ARAB
# endif
2010-06-05 23:22:07 +02:00
# ifdef FEAT_CONCEAL
2010-07-23 22:10:27 +02:00
, WV_COCU
, WV_COLE
2010-06-05 23:22:07 +02:00
# endif
2017-07-07 11:54:15 +02:00
# ifdef FEAT_TERMINAL
2018-04-21 20:03:20 +02:00
, WV_TWK
, WV_TWS
2017-07-07 11:54:15 +02:00
# endif
2010-06-05 23:22:07 +02:00
, WV_CRBIND
2014-06-25 14:39:50 +02:00
# ifdef FEAT_LINEBREAK
, WV_BRI
, WV_BRIOPT
# endif
2019-05-25 19:51:39 +02:00
, WV_WCR
2006-02-27 23:58:35 +00:00
# ifdef FEAT_DIFF
, WV_DIFF
# endif
# ifdef FEAT_FOLDING
, WV_FDC
, WV_FEN
, WV_FDI
, WV_FDL
, WV_FDM
, WV_FML
, WV_FDN
# ifdef FEAT_EVAL
, WV_FDE
, WV_FDT
# endif
, WV_FMR
# endif
# ifdef FEAT_LINEBREAK
, WV_LBR
# endif
, WV_NU
2010-05-16 15:46:46 +02:00
, WV_RNU
2006-02-27 23:58:35 +00:00
# ifdef FEAT_LINEBREAK
, WV_NUW
# endif
2017-09-16 20:54:51 +02:00
# if defined(FEAT_QUICKFIX)
2006-02-27 23:58:35 +00:00
, WV_PVW
# endif
# ifdef FEAT_RIGHTLEFT
, WV_RL
, WV_RLC
# endif
, WV_SCBIND
, WV_SCROLL
2019-01-31 18:26:10 +01:00
, WV_SISO
, WV_SO
2006-03-12 22:08:12 +00:00
# ifdef FEAT_SPELL
2006-02-27 23:58:35 +00:00
, WV_SPELL
2006-03-12 22:08:12 +00:00
# endif
# ifdef FEAT_SYN_HL
, WV_CUC
, WV_CUL
2019-09-09 22:05:49 +02:00
, WV_CULOPT
2010-07-14 19:53:30 +02:00
, WV_CC
2006-02-27 23:58:35 +00:00
# endif
2019-11-09 23:26:40 +01:00
# ifdef FEAT_LINEBREAK
, WV_SBR
# endif
2006-02-27 23:58:35 +00:00
# ifdef FEAT_STL_OPT
, WV_STL
# endif
, WV_WFH
2006-03-18 21:40:56 +00:00
, WV_WFW
2006-02-27 23:58:35 +00:00
, WV_WRAP
2016-08-12 18:29:59 +02:00
# ifdef FEAT_SIGNS
, WV_SCL
# endif
2019-07-19 23:15:12 +02:00
, WV_COUNT // must be the last one
2006-02-27 23:58:35 +00:00
} ;
2013-11-06 05:26:15 +01:00
2019-07-19 23:15:12 +02:00
// Value for b_p_ul indicating the global value must be used.
2013-11-06 05:26:15 +01:00
# define NO_LOCAL_UNDOLEVEL -123456
2020-02-26 16:16:53 +01:00
# endif // _OPTION_H_