Fix names with multiple spaces

pull/3/head
Iron-E 4 years ago
parent a8a7f0917e
commit 6980811a21
No known key found for this signature in database
GPG Key ID: 19B71B7B7B021D22

@ -247,6 +247,8 @@ end
]] ]]
----------------------------------------- -----------------------------------------
function Mode.new(name, instruction, ...) function Mode.new(name, instruction, ...)
name = vim.trim(name)
-- Inherit the metatable. -- Inherit the metatable.
local self = setmetatable( local self = setmetatable(
{ {

@ -173,6 +173,8 @@ end
]] ]]
------------------------------------------- -------------------------------------------
function Prompt.new(name, instruction, ...) function Prompt.new(name, instruction, ...)
name = vim.trim(name)
local self = setmetatable( local self = setmetatable(
{ {
['indicator'] = require('libmodal/src/Indicator').prompt(name), ['indicator'] = require('libmodal/src/Indicator').prompt(name),

@ -5,7 +5,6 @@
--]] --]]
local api = vim.api local api = vim.api
local _stringSplit = require('libmodal/src/collections/ParseTable').stringSplit
--[[ --[[
/* /*
@ -37,7 +36,7 @@ local _metaVars = require('libmodal/src/classes').new(Vars.TYPE)
]] ]]
--------------------------------- ---------------------------------
function _metaVars:name() function _metaVars:name()
return string.lower(self._modeName) .. self._varName return self._modeName .. self._varName
end end
------------------------------------ ------------------------------------
@ -82,27 +81,28 @@ end
function Vars.new(keyName, modeName) function Vars.new(keyName, modeName)
local self = setmetatable({}, _metaVars) local self = setmetatable({}, _metaVars)
local function noSpaces(str, firstLetterModifier) local function noSpaces(strWithSpaces, firstLetterModifier)
local splitStr = _stringSplit( local splitStr = vim.split(
string.gsub( string.gsub(strWithSpaces, vim.pesc('_'), vim.pesc(' ')),
modeName, ' '
vim.pesc('_'),
vim.pesc(' ')
), ' '
) )
for i, subStr in ipairs(splitStr) do local function camelCase(str, func)
splitStr[i] = firstLetterModifier( return func(string.sub(str, 0, 1) or '')
string.sub(subStr, 0, 1) .. string.lower(string.sub(str, 2) or '')
) .. string.lower(
string.sub(subStr, 2)
)
end end
return splitStr splitStr[1] = camelCase(splitStr[1], firstLetterModifier)
for i = 2, #splitStr do splitStr[i] =
camelCase(splitStr[i], string.upper)
end
return table.concat(splitStr)
end end
self._modeName = noSpaces(modeName, string.lower) self._modeName = noSpaces(modeName, string.lower)
self._varName = 'Mode' .. noSpaces(keyName, string.upper) self._varName = 'Mode' .. noSpaces(keyName, string.upper)
return self return self

Loading…
Cancel
Save