tree-sitter/functions.lua
Björn Bidar b23614c9a8 - update to 0.24.2:
* 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
2024-10-08 10:10:46 +00:00

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