remove_first

This commit is contained in:
Marc Beninca 2025-08-02 17:22:13 +02:00
parent fc19ff4cbe
commit 1e1a2f1c6e
Signed by: marc.beninca
GPG key ID: 9C7613450C80C24F

View file

@ -58,6 +58,12 @@ function extract(string, type) {
}
}
function remove_first(string, target, tmp) {
tmp = string
sub(target, "", tmp)
return trim(tmp)
}
function trim(string) {
text = string
sub("^[\t ]*", "", text)
@ -106,34 +112,26 @@ function parse(string) {
# module
if (match(string, RE_MODULE)) {
current_match = "module"
module = string
sub("#\\.", "", module)
module = remove_first(string, "#\\.")
doc_reset()
module = trim(module)
shebang = ""
# shebang
} else if (match(string, RE_SHEBANG)) {
current_match = "shebang"
shebang = string
sub("#!", "", shebang)
shebang = trim(shebang)
shebang = remove_first(string, "#!")
# alias
} else if (match(string, re["alias"])) {
current_match = "alias"
alias = string
sub("#=", "", alias)
alias = trim(alias)
alias = remove_first(string, "#=")
aliases[alias] = ""
doc_append("= " alias)
# command
} else if (match(string, re["command"])) {
current_match = "command"
command = string
sub("#/", "", command)
command = trim(command)
command = remove_first(string, "#/")
commands[command] = ""
doc_append("/ " command)