mirror of
https://github.com/neovim/neovim.git
synced 2025-09-06 19:38:20 +00:00
Merge pull request #13351 from janlazo/vim-8.1.1598
vim-patch:8.1.{1598,1601,2332},8.2.2032
This commit is contained in:
@@ -692,12 +692,21 @@ au BufNewFile,BufRead .gtkrc,gtkrc setf gtkrc
|
|||||||
au BufNewFile,BufRead *.haml setf haml
|
au BufNewFile,BufRead *.haml setf haml
|
||||||
|
|
||||||
" Hamster Classic | Playground files
|
" Hamster Classic | Playground files
|
||||||
au BufNewFile,BufRead *.hsc,*.hsm setf hamster
|
au BufNewFile,BufRead *.hsm setf hamster
|
||||||
|
au BufNewFile,BufRead *.hsc
|
||||||
|
\ if match(join(getline(1,10), "\n"), '\%(^\|\n\)\s*\%({-#\_s*LANGUAGE\>\|\<module\>\)') != -1 |
|
||||||
|
\ setf haskell |
|
||||||
|
\ else |
|
||||||
|
\ setf hamster |
|
||||||
|
\ endif
|
||||||
|
|
||||||
" Haskell
|
" Haskell
|
||||||
au BufNewFile,BufRead *.hs,*.hs-boot setf haskell
|
au BufNewFile,BufRead *.hs,*.hs-boot setf haskell
|
||||||
au BufNewFile,BufRead *.lhs setf lhaskell
|
au BufNewFile,BufRead *.lhs setf lhaskell
|
||||||
au BufNewFile,BufRead *.chs setf chaskell
|
au BufNewFile,BufRead *.chs setf chaskell
|
||||||
|
au BufNewFile,BufRead cabal.project setf cabalproject
|
||||||
|
au BufNewFile,BufRead $HOME/.cabal/config setf cabalconfig
|
||||||
|
au BufNewFile,BufRead cabal.config setf cabalconfig
|
||||||
|
|
||||||
" Haste
|
" Haste
|
||||||
au BufNewFile,BufRead *.ht setf haste
|
au BufNewFile,BufRead *.ht setf haste
|
||||||
@@ -2048,6 +2057,8 @@ endif
|
|||||||
" BIND zone
|
" BIND zone
|
||||||
au BufNewFile,BufRead */named/db.*,*/bind/db.* call s:StarSetf('bindzone')
|
au BufNewFile,BufRead */named/db.*,*/bind/db.* call s:StarSetf('bindzone')
|
||||||
|
|
||||||
|
au BufNewFile,BufRead cabal.project.* call s:StarSetf('cabalproject')
|
||||||
|
|
||||||
" Calendar
|
" Calendar
|
||||||
au BufNewFile,BufRead */.calendar/*,
|
au BufNewFile,BufRead */.calendar/*,
|
||||||
\*/share/calendar/*/calendar.*,*/share/calendar/calendar.*
|
\*/share/calendar/*/calendar.*,*/share/calendar/calendar.*
|
||||||
|
@@ -7173,46 +7173,6 @@ int get_sts_value(void)
|
|||||||
return (int)result;
|
return (int)result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Check matchpairs option for "*initc".
|
|
||||||
/// If there is a match set "*initc" to the matching character and "*findc" to
|
|
||||||
/// the opposite character. Set "*backwards" to the direction.
|
|
||||||
/// When "switchit" is true swap the direction.
|
|
||||||
void find_mps_values(int *initc, int *findc, int *backwards, int switchit)
|
|
||||||
{
|
|
||||||
char_u *ptr = curbuf->b_p_mps;
|
|
||||||
|
|
||||||
while (*ptr != NUL) {
|
|
||||||
if (utf_ptr2char(ptr) == *initc) {
|
|
||||||
if (switchit) {
|
|
||||||
*findc = *initc;
|
|
||||||
*initc = utf_ptr2char(ptr + utfc_ptr2len(ptr) + 1);
|
|
||||||
*backwards = true;
|
|
||||||
} else {
|
|
||||||
*findc = utf_ptr2char(ptr + utfc_ptr2len(ptr) + 1);
|
|
||||||
*backwards = false;
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
char_u *prev = ptr;
|
|
||||||
ptr += utfc_ptr2len(ptr) + 1;
|
|
||||||
if (utf_ptr2char(ptr) == *initc) {
|
|
||||||
if (switchit) {
|
|
||||||
*findc = *initc;
|
|
||||||
*initc = utf_ptr2char(prev);
|
|
||||||
*backwards = false;
|
|
||||||
} else {
|
|
||||||
*findc = utf_ptr2char(prev);
|
|
||||||
*backwards = true;
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
ptr += utfc_ptr2len(ptr);
|
|
||||||
if (*ptr == ',') {
|
|
||||||
ptr++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// This is called when 'breakindentopt' is changed and when a window is
|
/// This is called when 'breakindentopt' is changed and when a window is
|
||||||
/// initialized
|
/// initialized
|
||||||
static bool briopt_check(win_T *wp)
|
static bool briopt_check(win_T *wp)
|
||||||
|
@@ -1658,6 +1658,48 @@ static bool find_rawstring_end(char_u *linep, pos_T *startpos, pos_T *endpos)
|
|||||||
return found;
|
return found;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Check matchpairs option for "*initc".
|
||||||
|
/// If there is a match set "*initc" to the matching character and "*findc" to
|
||||||
|
/// the opposite character. Set "*backwards" to the direction.
|
||||||
|
/// When "switchit" is true swap the direction.
|
||||||
|
static void find_mps_values(int *initc, int *findc, bool *backwards,
|
||||||
|
bool switchit)
|
||||||
|
FUNC_ATTR_NONNULL_ALL
|
||||||
|
{
|
||||||
|
char_u *ptr = curbuf->b_p_mps;
|
||||||
|
|
||||||
|
while (*ptr != NUL) {
|
||||||
|
if (utf_ptr2char(ptr) == *initc) {
|
||||||
|
if (switchit) {
|
||||||
|
*findc = *initc;
|
||||||
|
*initc = utf_ptr2char(ptr + utfc_ptr2len(ptr) + 1);
|
||||||
|
*backwards = true;
|
||||||
|
} else {
|
||||||
|
*findc = utf_ptr2char(ptr + utfc_ptr2len(ptr) + 1);
|
||||||
|
*backwards = false;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
char_u *prev = ptr;
|
||||||
|
ptr += utfc_ptr2len(ptr) + 1;
|
||||||
|
if (utf_ptr2char(ptr) == *initc) {
|
||||||
|
if (switchit) {
|
||||||
|
*findc = *initc;
|
||||||
|
*initc = utf_ptr2char(prev);
|
||||||
|
*backwards = false;
|
||||||
|
} else {
|
||||||
|
*findc = utf_ptr2char(prev);
|
||||||
|
*backwards = true;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ptr += utfc_ptr2len(ptr);
|
||||||
|
if (*ptr == ',') {
|
||||||
|
ptr++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* findmatchlimit -- find the matching paren or brace, if it exists within
|
* findmatchlimit -- find the matching paren or brace, if it exists within
|
||||||
* maxtravel lines of the cursor. A maxtravel of 0 means search until falling
|
* maxtravel lines of the cursor. A maxtravel of 0 means search until falling
|
||||||
@@ -1684,7 +1726,7 @@ pos_T *findmatchlimit(oparg_T *oap, int initc, int flags, int64_t maxtravel)
|
|||||||
static pos_T pos; // current search position
|
static pos_T pos; // current search position
|
||||||
int findc = 0; // matching brace
|
int findc = 0; // matching brace
|
||||||
int count = 0; // cumulative number of braces
|
int count = 0; // cumulative number of braces
|
||||||
int backwards = false; // init for gcc
|
bool backwards = false; // init for gcc
|
||||||
bool raw_string = false; // search for raw string
|
bool raw_string = false; // search for raw string
|
||||||
bool inquote = false; // true when inside quotes
|
bool inquote = false; // true when inside quotes
|
||||||
char_u *ptr;
|
char_u *ptr;
|
||||||
@@ -1729,9 +1771,10 @@ pos_T *findmatchlimit(oparg_T *oap, int initc, int flags, int64_t maxtravel)
|
|||||||
raw_string = (initc == 'R');
|
raw_string = (initc == 'R');
|
||||||
initc = NUL;
|
initc = NUL;
|
||||||
} else if (initc != '#' && initc != NUL) {
|
} else if (initc != '#' && initc != NUL) {
|
||||||
find_mps_values(&initc, &findc, &backwards, TRUE);
|
find_mps_values(&initc, &findc, &backwards, true);
|
||||||
if (findc == NUL)
|
if (findc == NUL) {
|
||||||
return NULL;
|
return NULL;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
/*
|
/*
|
||||||
* Either initc is '#', or no initc was given and we need to look
|
* Either initc is '#', or no initc was given and we need to look
|
||||||
@@ -1759,20 +1802,20 @@ pos_T *findmatchlimit(oparg_T *oap, int initc, int flags, int64_t maxtravel)
|
|||||||
else if (linep[pos.col] == '/') {
|
else if (linep[pos.col] == '/') {
|
||||||
if (linep[pos.col + 1] == '*') {
|
if (linep[pos.col + 1] == '*') {
|
||||||
comment_dir = FORWARD;
|
comment_dir = FORWARD;
|
||||||
backwards = FALSE;
|
backwards = false;
|
||||||
pos.col++;
|
pos.col++;
|
||||||
} else if (pos.col > 0 && linep[pos.col - 1] == '*') {
|
} else if (pos.col > 0 && linep[pos.col - 1] == '*') {
|
||||||
comment_dir = BACKWARD;
|
comment_dir = BACKWARD;
|
||||||
backwards = TRUE;
|
backwards = true;
|
||||||
pos.col--;
|
pos.col--;
|
||||||
}
|
}
|
||||||
} else if (linep[pos.col] == '*') {
|
} else if (linep[pos.col] == '*') {
|
||||||
if (linep[pos.col + 1] == '/') {
|
if (linep[pos.col + 1] == '/') {
|
||||||
comment_dir = BACKWARD;
|
comment_dir = BACKWARD;
|
||||||
backwards = TRUE;
|
backwards = true;
|
||||||
} else if (pos.col > 0 && linep[pos.col - 1] == '/') {
|
} else if (pos.col > 0 && linep[pos.col - 1] == '/') {
|
||||||
comment_dir = FORWARD;
|
comment_dir = FORWARD;
|
||||||
backwards = FALSE;
|
backwards = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1794,9 +1837,10 @@ pos_T *findmatchlimit(oparg_T *oap, int initc, int flags, int64_t maxtravel)
|
|||||||
if (initc == NUL)
|
if (initc == NUL)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
find_mps_values(&initc, &findc, &backwards, FALSE);
|
find_mps_values(&initc, &findc, &backwards, false);
|
||||||
if (findc)
|
if (findc) {
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
pos.col += utfc_ptr2len(linep + pos.col);
|
pos.col += utfc_ptr2len(linep + pos.col);
|
||||||
}
|
}
|
||||||
if (!findc) {
|
if (!findc) {
|
||||||
|
@@ -86,6 +86,8 @@ let s:filename_checks = {
|
|||||||
\ 'bzr': ['bzr_log.any'],
|
\ 'bzr': ['bzr_log.any'],
|
||||||
\ 'c': ['enlightenment/file.cfg', 'file.qc', 'file.c'],
|
\ 'c': ['enlightenment/file.cfg', 'file.qc', 'file.c'],
|
||||||
\ 'cabal': ['file.cabal'],
|
\ 'cabal': ['file.cabal'],
|
||||||
|
\ 'cabalconfig': ['cabal.config'],
|
||||||
|
\ 'cabalproject': ['cabal.project', 'cabal.project.local'],
|
||||||
\ 'calendar': ['calendar'],
|
\ 'calendar': ['calendar'],
|
||||||
\ 'catalog': ['catalog', 'sgml.catalogfile'],
|
\ 'catalog': ['catalog', 'sgml.catalogfile'],
|
||||||
\ 'cdl': ['file.cdl'],
|
\ 'cdl': ['file.cdl'],
|
||||||
|
Reference in New Issue
Block a user