diff options
author | Josh Rahm <rahm@google.com> | 2022-09-12 10:52:49 -0600 |
---|---|---|
committer | Josh Rahm <rahm@google.com> | 2022-09-12 10:52:49 -0600 |
commit | 4889fe01b9853cf98363ac226f95b524801ff3cc (patch) | |
tree | 279d43b86561bf1314fdf1cf5c0c9af6aac76b25 /runtime/lua/vim/inspect.lua | |
parent | 8fc6e69877f6c15942b4e8fc6ca471e4221d9bae (diff) | |
parent | fd70e2bff2440181f63fe124738cf2a025d1e6a5 (diff) | |
download | rneovim-4889fe01b9853cf98363ac226f95b524801ff3cc.tar.gz rneovim-4889fe01b9853cf98363ac226f95b524801ff3cc.tar.bz2 rneovim-4889fe01b9853cf98363ac226f95b524801ff3cc.zip |
Merge remote-tracking branch 'upstream/master' into usermarks
Diffstat (limited to 'runtime/lua/vim/inspect.lua')
-rw-r--r-- | runtime/lua/vim/inspect.lua | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/runtime/lua/vim/inspect.lua b/runtime/lua/vim/inspect.lua index 0a53fb203b..c232f69590 100644 --- a/runtime/lua/vim/inspect.lua +++ b/runtime/lua/vim/inspect.lua @@ -89,8 +89,38 @@ local function escape(str) ) end +-- List of lua keywords +local luaKeywords = { + ['and'] = true, + ['break'] = true, + ['do'] = true, + ['else'] = true, + ['elseif'] = true, + ['end'] = true, + ['false'] = true, + ['for'] = true, + ['function'] = true, + ['goto'] = true, + ['if'] = true, + ['in'] = true, + ['local'] = true, + ['nil'] = true, + ['not'] = true, + ['or'] = true, + ['repeat'] = true, + ['return'] = true, + ['then'] = true, + ['true'] = true, + ['until'] = true, + ['while'] = true, +} + local function isIdentifier(str) - return type(str) == 'string' and not not str:match('^[_%a][_%a%d]*$') + return type(str) == 'string' + -- identifier must start with a letter and underscore, and be followed by letters, numbers, and underscores + and not not str:match('^[_%a][_%a%d]*$') + -- lua keywords are not valid identifiers + and not luaKeywords[str] end local flr = math.floor |