tree-sitter/functions.lua
Martin Pluskal bedc578f43 - update to 0.24.4:
* loader: Add language_for_configuration
  * loader: Add error message when a tree-sitter.json file is invalid
  * node: Support single-file executables via bun build --compile
  * node: Update bindings when necessary
  * Return LanguageRef in Parser::language
  * bindings: Update CMakeLists.txt file
  * cli: Pass all fields to tree-sitter.json in init
  * cli: Use contains over is in warning
  * cmake: Use current source dir for EXISTS check
  * generate: Do not set the unit reduction symbol if it's in the extras array
  * init: Use current path if unspecified
  * init: Use camel name from config in missing spots
  * lib: Simplify edge cases with zero-width tokens
  * lib: Correctly fetch the node name in query errors
  * loader: Don't print warnings if the file is not found
  * loader: Improve language lookup speed
  * bindings: Rename cmake test target
  * Memory errors in wasm_store

OBS-URL: https://build.opensuse.org/package/show/editors/tree-sitter?expand=0&rev=35
2024-11-25 19:56:30 +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