aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/regexp_defs.h
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-12-04 09:09:00 +0800
committerzeertzjq <zeertzjq@outlook.com>2022-12-04 10:07:05 +0800
commit46e4be0fd0002233bde613295607ce5eeb498567 (patch)
tree4e12bbbb51cca63f4f745c6061139768a381380b /src/nvim/regexp_defs.h
parenta91ba088abf7b21f640f671ad7f211c0957b4765 (diff)
downloadrneovim-46e4be0fd0002233bde613295607ce5eeb498567.tar.gz
rneovim-46e4be0fd0002233bde613295607ce5eeb498567.tar.bz2
rneovim-46e4be0fd0002233bde613295607ce5eeb498567.zip
vim-patch:8.2.2295: incsearch does not detect empty pattern properly
Problem: Incsearch does not detect empty pattern properly. Solution: Return magic state when skipping over a pattern. (Christian Brabandt, closes vim/vim#7612, closes vim/vim#6420) https://github.com/vim/vim/commit/d93a7fc1a98a58f8101ee780d4735079ad99ae35
Diffstat (limited to 'src/nvim/regexp_defs.h')
-rw-r--r--src/nvim/regexp_defs.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/nvim/regexp_defs.h b/src/nvim/regexp_defs.h
index 3b94723d4f..16bb2db464 100644
--- a/src/nvim/regexp_defs.h
+++ b/src/nvim/regexp_defs.h
@@ -15,10 +15,22 @@
#include "nvim/pos.h"
#include "nvim/types.h"
+/// Used for "magic_overruled".
typedef enum {
- MAGIC_NOT_SET, ///< p_magic not overruled
- MAGIC_ON, ///< magic on inside regexp
- MAGIC_OFF, ///< magic off inside regexp
+ OPTION_MAGIC_NOT_SET, ///< p_magic not overruled
+ OPTION_MAGIC_ON, ///< magic on inside regexp
+ OPTION_MAGIC_OFF, ///< magic off inside regexp
+} optmagic_T;
+
+/// Magicness of a pattern, used by regexp code.
+/// The order and values matter:
+/// magic <= MAGIC_OFF includes MAGIC_NONE
+/// magic >= MAGIC_ON includes MAGIC_ALL
+typedef enum {
+ MAGIC_NONE = 1, ///< "\V" very unmagic
+ MAGIC_OFF = 2, ///< "\M" or 'magic' off
+ MAGIC_ON = 3, ///< "\m" or 'magic'
+ MAGIC_ALL = 4, ///< "\v" very magic
} magic_T;
// The number of sub-matches is limited to 10.