Skip to content

Commit dcc2c7c

Browse files
committed
move code form "dap-utils" to "dap-util"
1 parent ec3a5a3 commit dcc2c7c

File tree

5 files changed

+55
-55
lines changed

5 files changed

+55
-55
lines changed

nvim/lua/user/dap/dap-cpp.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ dap.configurations.cpp = {
1717
end,
1818
args = function()
1919
local input = vim.fn.input("Input args: ")
20-
return require("user.dap.dap-utils").str2argtable(input)
20+
return require("user.dap.dap-util").str2argtable(input)
2121
end,
2222
cwd = '${workspaceFolder}',
2323
stopOnEntry = true,

nvim/lua/user/dap/dap-go.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ dap.configurations.go = {
4343
program = "${file}",
4444
args = function()
4545
local input = vim.fn.input("Input args: ")
46-
return require("user.dap.dap-utils").str2argtable(input)
46+
return require("user.dap.dap-util").str2argtable(input)
4747
end,
4848
},
4949
{

nvim/lua/user/dap/dap-python.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ dap.configurations.python = {
1515
program = "${file}", -- This configuration will launch the current file if used.
1616
args = function()
1717
local input = vim.fn.input("Input args: ")
18-
return require("user.dap.dap-utils").str2argtable(input)
18+
return require("user.dap.dap-util").str2argtable(input)
1919
end,
2020
pythonPath = function()
2121
local venv_path = os.getenv("VIRTUAL_ENV")

nvim/lua/user/dap/dap-util.lua

+52-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,61 @@
11
local M = {}
22
local dap = require'dap'
33

4-
function M.reload_continue()
4+
-- refresh config
5+
M.reload_continue = function()
56
package.loaded['user.dap.dap-config'] = nil
67
require('user.dap.dap-config').setup()
78
dap.continue()
89
end
910

11+
-- support passing args
12+
M.find_next_start = function(str, cur_idx)
13+
while cur_idx <= #str and str:sub(cur_idx, cur_idx) == ' ' do
14+
cur_idx = cur_idx + 1
15+
end
16+
return cur_idx
17+
end
18+
19+
M.str2argtable = function(str)
20+
-- trim spaces
21+
str = string.gsub(str, '^%s*(.-)%s*$', '%1')
22+
local arg_list = {}
23+
24+
local start = 1
25+
local i = 1
26+
local quote_refs_cnt = 0
27+
while i <= #str do
28+
local c = str:sub(i, i)
29+
if c == '"' then
30+
quote_refs_cnt = quote_refs_cnt + 1
31+
start = i
32+
i = i + 1
33+
-- find next quote
34+
while i <= #str and str:sub(i, i) ~= '"' do
35+
i = i + 1
36+
end
37+
if i <= #str then
38+
quote_refs_cnt = quote_refs_cnt - 1
39+
arg_list[#arg_list + 1] = str:sub(start, i)
40+
start = M.find_next_start(str, i + 1)
41+
i = start
42+
end
43+
-- find next start
44+
elseif c == ' ' then
45+
arg_list[#arg_list + 1] = str:sub(start, i - 1)
46+
start = M.find_next_start(str, i + 1)
47+
i = start
48+
else
49+
i = i + 1
50+
end
51+
end
52+
53+
-- add last arg if possiable
54+
if start ~= i and quote_refs_cnt == 0 then
55+
arg_list[#arg_list + 1] = str:sub(start, i)
56+
end
57+
return arg_list
58+
end
59+
60+
1061
return M

nvim/lua/user/dap/dap-utils.lua

-51
This file was deleted.

0 commit comments

Comments
 (0)