fe / bt-source /panel /BTPanel /static /editor /mode-makefile.js
GGSheng's picture
feat: deploy Gemma 4 to hf space
3a5cf48 verified
ace.define(
'ace/mode/sh_highlight_rules',
['require', 'exports', 'module', 'ace/lib/oop', 'ace/mode/text_highlight_rules'],
function (e, t, n) {
'use strict'
var r = e('../lib/oop'),
i = e('./text_highlight_rules').TextHighlightRules,
s = (t.reservedKeywords =
'!|{|}|case|do|done|elif|else|esac|fi|for|if|in|then|until|while|&|;|export|local|read|typeset|unset|elif|select|set|function|declare|readonly'),
o = (t.languageConstructs =
'[|]|alias|bg|bind|break|builtin|cd|command|compgen|complete|continue|dirs|disown|echo|enable|eval|exec|exit|fc|fg|getopts|hash|help|history|jobs|kill|let|logout|popd|printf|pushd|pwd|return|set|shift|shopt|source|suspend|test|times|trap|type|ulimit|umask|unalias|wait'),
u = function () {
var e = this.createKeywordMapper(
{ keyword: s, 'support.function.builtin': o, 'invalid.deprecated': 'debugger' },
'identifier'
),
t = '(?:(?:[1-9]\\d*)|(?:0))',
n = '(?:\\.\\d+)',
r = '(?:\\d+)',
i = '(?:(?:' + r + '?' + n + ')|(?:' + r + '\\.))',
u = '(?:(?:' + i + '|' + r + ')' + ')',
a = '(?:' + u + '|' + i + ')',
f = '(?:&' + r + ')',
l = '[a-zA-Z_][a-zA-Z0-9_]*',
c = '(?:' + l + '(?==))',
h = '(?:\\$(?:SHLVL|\\$|\\!|\\?))',
p = '(?:' + l + '\\s*\\(\\))'
;(this.$rules = {
start: [
{ token: 'constant', regex: /\\./ },
{ token: ['text', 'comment'], regex: /(^|\s)(#.*)$/ },
{
token: 'string.start',
regex: '"',
push: [
{ token: 'constant.language.escape', regex: /\\(?:[$`"\\]|$)/ },
{ include: 'variables' },
{ token: 'keyword.operator', regex: /`/ },
{ token: 'string.end', regex: '"', next: 'pop' },
{ defaultToken: 'string' },
],
},
{
token: 'string',
regex: "\\$'",
push: [
{
token: 'constant.language.escape',
regex:
/\\(?:[abeEfnrtv\\'"]|x[a-fA-F\d]{1,2}|u[a-fA-F\d]{4}([a-fA-F\d]{4})?|c.|\d{1,3})/,
},
{ token: 'string', regex: "'", next: 'pop' },
{ defaultToken: 'string' },
],
},
{ regex: '<<<', token: 'keyword.operator' },
{
stateName: 'heredoc',
regex: '(<<-?)(\\s*)([\'"`]?)([\\w\\-]+)([\'"`]?)',
onMatch: function (e, t, n) {
var r = e[2] == '-' ? 'indentedHeredoc' : 'heredoc',
i = e.split(this.splitRegex)
return (
n.push(r, i[4]),
[
{ type: 'constant', value: i[1] },
{ type: 'text', value: i[2] },
{ type: 'string', value: i[3] },
{ type: 'support.class', value: i[4] },
{ type: 'string', value: i[5] },
]
)
},
rules: {
heredoc: [
{
onMatch: function (e, t, n) {
return e === n[1]
? (n.shift(), n.shift(), (this.next = n[0] || 'start'), 'support.class')
: ((this.next = ''), 'string')
},
regex: '.*$',
next: 'start',
},
],
indentedHeredoc: [
{ token: 'string', regex: '^ +' },
{
onMatch: function (e, t, n) {
return e === n[1]
? (n.shift(), n.shift(), (this.next = n[0] || 'start'), 'support.class')
: ((this.next = ''), 'string')
},
regex: '.*$',
next: 'start',
},
],
},
},
{
regex: '$',
token: 'empty',
next: function (e, t) {
return t[0] === 'heredoc' || t[0] === 'indentedHeredoc' ? t[0] : e
},
},
{
token: ['keyword', 'text', 'text', 'text', 'variable'],
regex: /(declare|local|readonly)(\s+)(?:(-[fixar]+)(\s+))?([a-zA-Z_][a-zA-Z0-9_]*\b)/,
},
{ token: 'variable.language', regex: h },
{ token: 'variable', regex: c },
{ include: 'variables' },
{ token: 'support.function', regex: p },
{ token: 'support.function', regex: f },
{ token: 'string', start: "'", end: "'" },
{ token: 'constant.numeric', regex: a },
{ token: 'constant.numeric', regex: t + '\\b' },
{ token: e, regex: '[a-zA-Z_][a-zA-Z0-9_]*\\b' },
{
token: 'keyword.operator',
regex: '\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|~|<|>|<=|=>|=|!=|[%&|`]',
},
{ token: 'punctuation.operator', regex: ';' },
{ token: 'paren.lparen', regex: '[\\[\\(\\{]' },
{ token: 'paren.rparen', regex: '[\\]]' },
{ token: 'paren.rparen', regex: '[\\)\\}]', next: 'pop' },
],
variables: [
{ token: 'variable', regex: /(\$)(\w+)/ },
{ token: ['variable', 'paren.lparen'], regex: /(\$)(\()/, push: 'start' },
{
token: [
'variable',
'paren.lparen',
'keyword.operator',
'variable',
'keyword.operator',
],
regex: /(\$)(\{)([#!]?)(\w+|[*@#?\-$!0_])(:[?+\-=]?|##?|%%?|,,?\/|\^\^?)?/,
push: 'start',
},
{ token: 'variable', regex: /\$[*@#?\-$!0_]/ },
{ token: ['variable', 'paren.lparen'], regex: /(\$)(\{)/, push: 'start' },
],
}),
this.normalizeRules()
}
r.inherits(u, i), (t.ShHighlightRules = u)
}
),
ace.define(
'ace/mode/makefile_highlight_rules',
[
'require',
'exports',
'module',
'ace/lib/oop',
'ace/mode/text_highlight_rules',
'ace/mode/sh_highlight_rules',
],
function (e, t, n) {
'use strict'
var r = e('../lib/oop'),
i = e('./text_highlight_rules').TextHighlightRules,
s = e('./sh_highlight_rules'),
o = function () {
var e = this.createKeywordMapper(
{
keyword: s.reservedKeywords,
'support.function.builtin': s.languageConstructs,
'invalid.deprecated': 'debugger',
},
'string'
)
this.$rules = {
start: [
{ token: 'string.interpolated.backtick.makefile', regex: '`', next: 'shell-start' },
{
token: 'punctuation.definition.comment.makefile',
regex: /#(?=.)/,
next: 'comment',
},
{
token: ['keyword.control.makefile'],
regex:
'^(?:\\s*\\b)(\\-??include|ifeq|ifneq|ifdef|ifndef|else|endif|vpath|export|unexport|define|endef|override)(?:\\b)',
},
{
token: ['entity.name.function.makefile', 'text'],
regex: '^([^\\t ]+(?:\\s[^\\t ]+)*:)(\\s*.*)',
},
],
comment: [
{ token: 'punctuation.definition.comment.makefile', regex: /.+\\/ },
{ token: 'punctuation.definition.comment.makefile', regex: '.+', next: 'start' },
],
'shell-start': [
{ token: e, regex: '[a-zA-Z_$][a-zA-Z0-9_$]*\\b' },
{ token: 'string', regex: '\\w+' },
{ token: 'string.interpolated.backtick.makefile', regex: '`', next: 'start' },
],
}
}
r.inherits(o, i), (t.MakefileHighlightRules = o)
}
),
ace.define(
'ace/mode/folding/coffee',
['require', 'exports', 'module', 'ace/lib/oop', 'ace/mode/folding/fold_mode', 'ace/range'],
function (e, t, n) {
'use strict'
var r = e('../../lib/oop'),
i = e('./fold_mode').FoldMode,
s = e('../../range').Range,
o = (t.FoldMode = function () {})
r.inherits(o, i),
function () {
;(this.getFoldWidgetRange = function (e, t, n) {
var r = this.indentationBlock(e, n)
if (r) return r
var i = /\S/,
o = e.getLine(n),
u = o.search(i)
if (u == -1 || o[u] != '#') return
var a = o.length,
f = e.getLength(),
l = n,
c = n
while (++n < f) {
o = e.getLine(n)
var h = o.search(i)
if (h == -1) continue
if (o[h] != '#') break
c = n
}
if (c > l) {
var p = e.getLine(c).length
return new s(l, a, c, p)
}
}),
(this.getFoldWidget = function (e, t, n) {
var r = e.getLine(n),
i = r.search(/\S/),
s = e.getLine(n + 1),
o = e.getLine(n - 1),
u = o.search(/\S/),
a = s.search(/\S/)
if (i == -1) return (e.foldWidgets[n - 1] = u != -1 && u < a ? 'start' : ''), ''
if (u == -1) {
if (i == a && r[i] == '#' && s[i] == '#')
return (e.foldWidgets[n - 1] = ''), (e.foldWidgets[n + 1] = ''), 'start'
} else if (
u == i &&
r[i] == '#' &&
o[i] == '#' &&
e.getLine(n - 2).search(/\S/) == -1
)
return (e.foldWidgets[n - 1] = 'start'), (e.foldWidgets[n + 1] = ''), ''
return (
u != -1 && u < i ? (e.foldWidgets[n - 1] = 'start') : (e.foldWidgets[n - 1] = ''),
i < a ? 'start' : ''
)
})
}.call(o.prototype)
}
),
ace.define(
'ace/mode/makefile',
[
'require',
'exports',
'module',
'ace/lib/oop',
'ace/mode/text',
'ace/mode/makefile_highlight_rules',
'ace/mode/folding/coffee',
],
function (e, t, n) {
'use strict'
var r = e('../lib/oop'),
i = e('./text').Mode,
s = e('./makefile_highlight_rules').MakefileHighlightRules,
o = e('./folding/coffee').FoldMode,
u = function () {
;(this.HighlightRules = s),
(this.foldingRules = new o()),
(this.$behaviour = this.$defaultBehaviour)
}
r.inherits(u, i),
function () {
;(this.lineCommentStart = '#'),
(this.$indentWithTabs = !0),
(this.$id = 'ace/mode/makefile'),
(this.snippetFileId = 'ace/snippets/makefile')
}.call(u.prototype),
(t.Mode = u)
}
)
;(function () {
ace.require(['ace/mode/makefile'], function (m) {
if (typeof module == 'object' && typeof exports == 'object' && module) {
module.exports = m
}
})
})()