b23614c9a8
* Drop legacy binding updates * templates: Properly replace author email * templates: Update npm packages * bindings: Improve cmake file * cmake: Support amalgamated build * cmake: Correct library scopes * make: Fix tree-sitter.pc generation - update to 0.24.1: * fix(generate): move generated header files into the generate crate - update do 0.24.0: * docs: add Kotlin to the playground * fix(generate): remove necessary files from gitignore template * feat(generate): bump tree-sitter dev dependency to 0.23 * fix(cli): remove conflicting short flags in the fuzz subcommand * feat(bindings): bump go-tree-sitter version * docs(changelog): add 0.23.0 release notes * feat: add an API to time out query executions * fix(generate): disallow inline variables referencing themselves * fix(rust): add missing TSNode functions * fix(lib): correct extra node creation from non-zero root-alias cursors * fix(test): exit with an error if a test marked with :error has no error * fix(test): retain attributes when running test -u * feat(language): derive Clone and Copy on LanguageFn * fix(lib): backtrack to the last relevant iterator if no child was found * fix(generate): add tree-sitter to the dev-dependencies of the Cargo.toml * fix(binding_web): correct edit signature * build(lib): build using cmake * fix(cli): keep skipped tests unchanged in the test/corpus OBS-URL: https://build.opensuse.org/package/show/editors/tree-sitter?expand=0&rev=31
61 lines
1.2 KiB
Lua
61 lines
1.2 KiB
Lua
--[[
|
|
SPDX-License-Identifier: GPL-2.0
|
|
SPDX-FileCopyrightText: 2024 Björn Bidar
|
|
|
|
partly based of functions.lua from python-rpm-macros
|
|
--]]
|
|
|
|
-- declare common functions
|
|
function string.startswith(str, prefix)
|
|
return str:sub(1, prefix:len()) == prefix
|
|
end
|
|
|
|
function string.endswith(str, suffix)
|
|
return str:sub(-suffix:len()) == suffix
|
|
end
|
|
|
|
function string.dirname(str)
|
|
if str:match("(.*)/") == "" then
|
|
return nil
|
|
else
|
|
return str:match("(.*)/")
|
|
end
|
|
end
|
|
|
|
function string.basename(str)
|
|
while true do
|
|
local idx = str:find("/")
|
|
if not idx then return str end
|
|
str = str:sub(idx + 1)
|
|
end
|
|
end
|
|
|
|
function string.split(str, sep)
|
|
if sep == nil then
|
|
sep = '%s'
|
|
end
|
|
|
|
local res = {}
|
|
local func = function(w)
|
|
table.insert(res, w)
|
|
end
|
|
|
|
string.gsub(str, '[^'..sep..']+', func)
|
|
return res
|
|
end
|
|
|
|
function arg_compat()
|
|
--[[
|
|
Compat macro as workaround for older rpm not having function
|
|
arguments available as table arg(uments)
|
|
--]]
|
|
local arg_count = rpm.expand("%#")
|
|
local arg = {}
|
|
|
|
for arg_num = 1,arg_count do
|
|
arg[arg_num] = rpm.expand(("%" .. arg_num))
|
|
end
|
|
|
|
return arg
|
|
end
|