Add in node documentation (Partially AI)
This commit is contained in:
@@ -27,7 +27,6 @@ if (-not (Test-Path $g4Path)) {
|
||||
|
||||
$rawContent = [System.IO.File]::ReadAllText($g4Path, [System.Text.Encoding]::UTF8)
|
||||
$content = $rawContent -replace '//.*', ''
|
||||
$content = $content -replace '/\*[\s\S]*?\*/', ''
|
||||
|
||||
function Get-LexerNames([string]$grammarText) {
|
||||
$map = @{}
|
||||
@@ -78,7 +77,19 @@ function New-Snippet([string]$name) {
|
||||
return "${name}()"
|
||||
}
|
||||
|
||||
function Add-FunctionRuleLine([hashtable]$meta, [hashtable]$lexerMap, [string]$line) {
|
||||
# Pomocná funkce pro vyčištění ANTLR docstringu do jednoho čistého řádku textu
|
||||
function Clean-Docstring([string]$doc) {
|
||||
if ([string]::IsNullOrEmpty($doc)) { return "" }
|
||||
$lines = $doc -split "`r?`n"
|
||||
$cleanLines = @()
|
||||
foreach ($l in $lines) {
|
||||
$t = $l.Trim().TrimStart('/*').TrimEnd('*/').TrimStart('*').Trim()
|
||||
if ($t) { $cleanLines += $t }
|
||||
}
|
||||
return ($cleanLines -join " ") -replace '"', '\"'
|
||||
}
|
||||
|
||||
function Add-FunctionRuleLine([hashtable]$meta, [hashtable]$lexerMap, [string]$line, [string]$currentDoc) {
|
||||
$clean = (($line -split '\s+#')[0]).Trim().TrimEnd(';')
|
||||
if ($clean -notmatch 'LPAREN') { return }
|
||||
if ($clean -notmatch '(?:^\s*\|\s*)?(\w+)\s+LPAREN\s*(.*?)\s+RPAREN\s*$') { return }
|
||||
@@ -89,10 +100,13 @@ function Add-FunctionRuleLine([hashtable]$meta, [hashtable]$lexerMap, [string]$l
|
||||
$names = $lexerMap[$token]
|
||||
if (-not $names) { return }
|
||||
|
||||
$cleanDoc = Clean-Docstring $currentDoc
|
||||
|
||||
foreach ($fn in $names) {
|
||||
$entry = @{
|
||||
minArgs = $bounds.min
|
||||
snippet = (New-Snippet $fn)
|
||||
minArgs = $bounds.min
|
||||
snippet = (New-Snippet $fn)
|
||||
description = $cleanDoc
|
||||
}
|
||||
if ($null -eq $bounds.max) {
|
||||
$entry.maxArgs = $null
|
||||
@@ -106,25 +120,46 @@ function Add-FunctionRuleLine([hashtable]$meta, [hashtable]$lexerMap, [string]$l
|
||||
function Get-FunctionMeta([string]$grammarText, [hashtable]$lexerMap) {
|
||||
$meta = @{}
|
||||
$inFunc = $false
|
||||
$currentDoc = ""
|
||||
|
||||
foreach ($line in ($grammarText -split "`r?`n")) {
|
||||
# Zachytávání docstringů před pravidly
|
||||
if ($line -match '^\s*/\*\*') {
|
||||
$currentDoc = $line
|
||||
if ($line -notmatch '\*/\s*$') {
|
||||
# Pokud je komentář víceřádkový, podržíme ho, dokud neskončí
|
||||
$inDocBlock = $true
|
||||
continue
|
||||
}
|
||||
}
|
||||
if ($inDocBlock) {
|
||||
$currentDoc += "`n" + $line
|
||||
if ($line -match '\*/\s*$') { $inDocBlock = $false }
|
||||
continue
|
||||
}
|
||||
|
||||
if ($line -match '^\s*//\s*LEXER') { $inFunc = $false }
|
||||
if ($line -match '^\s*(func0|func1|func2|func3|func4|func5|funcN|funcNoise)\s*:\s*(.*)$') {
|
||||
$inFunc = $true
|
||||
$inline = $matches[2].Trim()
|
||||
if ($inline -and $inline -match 'LPAREN') {
|
||||
Add-FunctionRuleLine $meta $lexerMap $inline
|
||||
Add-FunctionRuleLine $meta $lexerMap $inline $currentDoc
|
||||
$currentDoc = "" # Reset po spotřebování docstringu
|
||||
}
|
||||
continue
|
||||
}
|
||||
if (-not $inFunc) { continue }
|
||||
if (-not $inFunc) {
|
||||
# Pokud řádek není prázdný a není to komentář, resetujeme docstring, pokud nepatří k funkci
|
||||
if ($line.Trim() -and $line -notmatch '^\s*\|') { $currentDoc = "" }
|
||||
continue
|
||||
}
|
||||
|
||||
Add-FunctionRuleLine $meta $lexerMap $line
|
||||
Add-FunctionRuleLine $meta $lexerMap $line $currentDoc
|
||||
$currentDoc = "" # Reset po spotřebování
|
||||
}
|
||||
|
||||
return $meta
|
||||
}
|
||||
|
||||
# 1. Extract quoted symbols for keyword/function lists
|
||||
$matches = [regex]::Matches($content, "'([a-zA-Z_][a-zA-Z0-9_]*)'")
|
||||
$allSymbols = @()
|
||||
@@ -167,7 +202,7 @@ $pyMetaLines = @()
|
||||
foreach ($key in $sortedMetaKeys) {
|
||||
$m = $functionMeta[$key]
|
||||
$maxPart = if ($null -eq $m.maxArgs) { "None" } else { [string]$m.maxArgs }
|
||||
$pyMetaLines += " '$key': {'min_args': $($m.minArgs), 'max_args': $maxPart, 'snippet': '$($m.snippet)'},"
|
||||
$pyMetaLines += " '$key': {'min_args': $($m.minArgs), 'max_args': $maxPart, 'snippet': '$($m.snippet)', 'description': '$($m.description)'},"
|
||||
}
|
||||
|
||||
$pyPath = "inbuilt_symbols.py"
|
||||
@@ -196,12 +231,13 @@ $jsMetaLines = @()
|
||||
foreach ($key in $sortedMetaKeys) {
|
||||
$m = $functionMeta[$key]
|
||||
if ($null -eq $m.maxArgs) {
|
||||
$jsMetaLines += " $key`: { minArgs: $($m.minArgs), maxArgs: null, snippet: `"$($m.snippet)`" },"
|
||||
$jsMetaLines += " $key`: { minArgs: $($m.minArgs), maxArgs: null, snippet: `"$($m.snippet)`", description: `"$($m.description)`" },"
|
||||
} else {
|
||||
$jsMetaLines += " $key`: { minArgs: $($m.minArgs), maxArgs: $($m.maxArgs), snippet: `"$($m.snippet)`" },"
|
||||
$jsMetaLines += " $key`: { minArgs: $($m.minArgs), maxArgs: $($m.maxArgs), snippet: `"$($m.snippet)`", description: `"$($m.description)`" },"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$jsContent = @(
|
||||
"// Generated automatically by compile.ps1. Do not edit.",
|
||||
"",
|
||||
|
||||
+234
-234
@@ -10,238 +10,238 @@ INBUILT_FUNCTIONS = {
|
||||
}
|
||||
|
||||
INBUILT_FUNCTION_META = {
|
||||
'abs': {'min_args': 1, 'max_args': 1, 'snippet': 'abs()'},
|
||||
'acos': {'min_args': 1, 'max_args': 1, 'snippet': 'acos()'},
|
||||
'acosh': {'min_args': 1, 'max_args': 1, 'snippet': 'acosh()'},
|
||||
'all': {'min_args': 1, 'max_args': 1, 'snippet': 'all()'},
|
||||
'angle': {'min_args': 1, 'max_args': 1, 'snippet': 'angle()'},
|
||||
'any': {'min_args': 1, 'max_args': 1, 'snippet': 'any()'},
|
||||
'append': {'min_args': 2, 'max_args': 2, 'snippet': 'append()'},
|
||||
'argmax': {'min_args': 1, 'max_args': 1, 'snippet': 'argmax()'},
|
||||
'argmin': {'min_args': 1, 'max_args': 1, 'snippet': 'argmin()'},
|
||||
'argsort': {'min_args': 1, 'max_args': 2, 'snippet': 'argsort()'},
|
||||
'asin': {'min_args': 1, 'max_args': 1, 'snippet': 'asin()'},
|
||||
'asinh': {'min_args': 1, 'max_args': 1, 'snippet': 'asinh()'},
|
||||
'atan': {'min_args': 1, 'max_args': 1, 'snippet': 'atan()'},
|
||||
'atan2': {'min_args': 2, 'max_args': 2, 'snippet': 'atan2()'},
|
||||
'atanh': {'min_args': 1, 'max_args': 1, 'snippet': 'atanh()'},
|
||||
'band': {'min_args': 2, 'max_args': 2, 'snippet': 'band()'},
|
||||
'batch_shuffle': {'min_args': 2, 'max_args': 2, 'snippet': 'batch_shuffle()'},
|
||||
'bitcount': {'min_args': 1, 'max_args': 1, 'snippet': 'bitcount()'},
|
||||
'bitwise_and': {'min_args': 2, 'max_args': 2, 'snippet': 'bitwise_and()'},
|
||||
'bitwise_not': {'min_args': 1, 'max_args': 1, 'snippet': 'bitwise_not()'},
|
||||
'bitwise_or': {'min_args': 2, 'max_args': 2, 'snippet': 'bitwise_or()'},
|
||||
'bitwise_xor': {'min_args': 2, 'max_args': 2, 'snippet': 'bitwise_xor()'},
|
||||
'blur': {'min_args': 2, 'max_args': 3, 'snippet': 'blur()'},
|
||||
'bnot': {'min_args': 1, 'max_args': 1, 'snippet': 'bnot()'},
|
||||
'bor': {'min_args': 2, 'max_args': 2, 'snippet': 'bor()'},
|
||||
'botk': {'min_args': 2, 'max_args': 2, 'snippet': 'botk()'},
|
||||
'botk_ind': {'min_args': 2, 'max_args': 2, 'snippet': 'botk_ind()'},
|
||||
'botk_indices': {'min_args': 2, 'max_args': 2, 'snippet': 'botk_indices()'},
|
||||
'bxor': {'min_args': 2, 'max_args': 2, 'snippet': 'bxor()'},
|
||||
'cat': {'min_args': 2, 'max_args': None, 'snippet': 'cat()'},
|
||||
'ceil': {'min_args': 1, 'max_args': 1, 'snippet': 'ceil()'},
|
||||
'cellular': {'min_args': 2, 'max_args': 5, 'snippet': 'cellular()'},
|
||||
'cellular_noise': {'min_args': 2, 'max_args': 5, 'snippet': 'cellular_noise()'},
|
||||
'cielab_to_rgb': {'min_args': 1, 'max_args': 3, 'snippet': 'cielab_to_rgb()'},
|
||||
'clamp': {'min_args': 3, 'max_args': 3, 'snippet': 'clamp()'},
|
||||
'cnt': {'min_args': 1, 'max_args': 1, 'snippet': 'cnt()'},
|
||||
'concat': {'min_args': 2, 'max_args': None, 'snippet': 'concat()'},
|
||||
'concatenate': {'min_args': 2, 'max_args': None, 'snippet': 'concatenate()'},
|
||||
'conv': {'min_args': 2, 'max_args': None, 'snippet': 'conv()'},
|
||||
'convolution': {'min_args': 2, 'max_args': None, 'snippet': 'convolution()'},
|
||||
'corr': {'min_args': 2, 'max_args': 2, 'snippet': 'corr()'},
|
||||
'correlation': {'min_args': 2, 'max_args': 2, 'snippet': 'correlation()'},
|
||||
'cos': {'min_args': 1, 'max_args': 1, 'snippet': 'cos()'},
|
||||
'cosh': {'min_args': 1, 'max_args': 1, 'snippet': 'cosh()'},
|
||||
'cosine_similarity': {'min_args': 2, 'max_args': 2, 'snippet': 'cosine_similarity()'},
|
||||
'cossim': {'min_args': 2, 'max_args': 2, 'snippet': 'cossim()'},
|
||||
'count': {'min_args': 1, 'max_args': 1, 'snippet': 'count()'},
|
||||
'cov': {'min_args': 2, 'max_args': 2, 'snippet': 'cov()'},
|
||||
'crop': {'min_args': 3, 'max_args': 3, 'snippet': 'crop()'},
|
||||
'cross': {'min_args': 2, 'max_args': 2, 'snippet': 'cross()'},
|
||||
'cubic': {'min_args': 3, 'max_args': 3, 'snippet': 'cubic()'},
|
||||
'cubic_ease': {'min_args': 3, 'max_args': 3, 'snippet': 'cubic_ease()'},
|
||||
'cumprod': {'min_args': 1, 'max_args': 1, 'snippet': 'cumprod()'},
|
||||
'cumsum': {'min_args': 1, 'max_args': 1, 'snippet': 'cumsum()'},
|
||||
'dilate': {'min_args': 1, 'max_args': 2, 'snippet': 'dilate()'},
|
||||
'dist': {'min_args': 4, 'max_args': 4, 'snippet': 'dist()'},
|
||||
'distance': {'min_args': 4, 'max_args': 4, 'snippet': 'distance()'},
|
||||
'domain_warp': {'min_args': 4, 'max_args': 8, 'snippet': 'domain_warp()'},
|
||||
'domain_warp_noise': {'min_args': 4, 'max_args': 8, 'snippet': 'domain_warp_noise()'},
|
||||
'dot': {'min_args': 2, 'max_args': 2, 'snippet': 'dot()'},
|
||||
'edge': {'min_args': 1, 'max_args': 2, 'snippet': 'edge()'},
|
||||
'elastic': {'min_args': 3, 'max_args': 3, 'snippet': 'elastic()'},
|
||||
'elastic_ease': {'min_args': 3, 'max_args': 3, 'snippet': 'elastic_ease()'},
|
||||
'entropy': {'min_args': 1, 'max_args': 1, 'snippet': 'entropy()'},
|
||||
'erf': {'min_args': 1, 'max_args': 1, 'snippet': 'erf()'},
|
||||
'erfinv': {'min_args': 1, 'max_args': 1, 'snippet': 'erfinv()'},
|
||||
'erode': {'min_args': 1, 'max_args': 2, 'snippet': 'erode()'},
|
||||
'exp': {'min_args': 1, 'max_args': 1, 'snippet': 'exp()'},
|
||||
'ezconv': {'min_args': 2, 'max_args': None, 'snippet': 'ezconv()'},
|
||||
'ezconvolution': {'min_args': 2, 'max_args': None, 'snippet': 'ezconvolution()'},
|
||||
'fft': {'min_args': 1, 'max_args': 1, 'snippet': 'fft()'},
|
||||
'find': {'min_args': 2, 'max_args': 2, 'snippet': 'find()'},
|
||||
'flatten': {'min_args': 1, 'max_args': 1, 'snippet': 'flatten()'},
|
||||
'flip': {'min_args': 2, 'max_args': 2, 'snippet': 'flip()'},
|
||||
'float': {'min_args': 1, 'max_args': 1, 'snippet': 'float()'},
|
||||
'floor': {'min_args': 1, 'max_args': 1, 'snippet': 'floor()'},
|
||||
'flow_ang': {'min_args': 1, 'max_args': 1, 'snippet': 'flow_ang()'},
|
||||
'flow_angle': {'min_args': 1, 'max_args': 1, 'snippet': 'flow_angle()'},
|
||||
'flow_apply': {'min_args': 2, 'max_args': 2, 'snippet': 'flow_apply()'},
|
||||
'flow_mag': {'min_args': 1, 'max_args': 1, 'snippet': 'flow_mag()'},
|
||||
'flow_magnitude': {'min_args': 1, 'max_args': 1, 'snippet': 'flow_magnitude()'},
|
||||
'flow_to_image': {'min_args': 1, 'max_args': 1, 'snippet': 'flow_to_image()'},
|
||||
'fract': {'min_args': 1, 'max_args': 1, 'snippet': 'fract()'},
|
||||
'gamma': {'min_args': 1, 'max_args': 1, 'snippet': 'gamma()'},
|
||||
'gaussian': {'min_args': 2, 'max_args': 3, 'snippet': 'gaussian()'},
|
||||
'gelu': {'min_args': 1, 'max_args': 1, 'snippet': 'gelu()'},
|
||||
'get_value': {'min_args': 2, 'max_args': 2, 'snippet': 'get_value()'},
|
||||
'hist': {'min_args': 4, 'max_args': 4, 'snippet': 'hist()'},
|
||||
'histogram': {'min_args': 4, 'max_args': 4, 'snippet': 'histogram()'},
|
||||
'hsv_to_rgb': {'min_args': 1, 'max_args': 4, 'snippet': 'hsv_to_rgb()'},
|
||||
'ifft': {'min_args': 1, 'max_args': 2, 'snippet': 'ifft()'},
|
||||
'int': {'min_args': 1, 'max_args': 1, 'snippet': 'int()'},
|
||||
'int_to_rgb': {'min_args': 1, 'max_args': 1, 'snippet': 'int_to_rgb()'},
|
||||
'interpolate_area': {'min_args': 2, 'max_args': 2, 'snippet': 'interpolate_area()'},
|
||||
'interpolate_linear': {'min_args': 2, 'max_args': 2, 'snippet': 'interpolate_linear()'},
|
||||
'interpolate_nearest': {'min_args': 2, 'max_args': 2, 'snippet': 'interpolate_nearest()'},
|
||||
'interpolate_nearest_exact': {'min_args': 2, 'max_args': 2, 'snippet': 'interpolate_nearest_exact()'},
|
||||
'join': {'min_args': 1, 'max_args': 2, 'snippet': 'join()'},
|
||||
'length': {'min_args': 1, 'max_args': 1, 'snippet': 'length()'},
|
||||
'lerp': {'min_args': 3, 'max_args': 3, 'snippet': 'lerp()'},
|
||||
'linspace': {'min_args': 3, 'max_args': 3, 'snippet': 'linspace()'},
|
||||
'ln': {'min_args': 1, 'max_args': 1, 'snippet': 'ln()'},
|
||||
'log': {'min_args': 1, 'max_args': 1, 'snippet': 'log()'},
|
||||
'logspace': {'min_args': 4, 'max_args': 4, 'snippet': 'logspace()'},
|
||||
'lower': {'min_args': 1, 'max_args': 1, 'snippet': 'lower()'},
|
||||
'map': {'min_args': 2, 'max_args': None, 'snippet': 'map()'},
|
||||
'matmul': {'min_args': 2, 'max_args': 2, 'snippet': 'matmul()'},
|
||||
'mean': {'min_args': 1, 'max_args': 1, 'snippet': 'mean()'},
|
||||
'median': {'min_args': 1, 'max_args': 1, 'snippet': 'median()'},
|
||||
'mode': {'min_args': 1, 'max_args': 1, 'snippet': 'mode()'},
|
||||
'moment': {'min_args': 3, 'max_args': 3, 'snippet': 'moment()'},
|
||||
'morph_close': {'min_args': 1, 'max_args': 2, 'snippet': 'morph_close()'},
|
||||
'morph_open': {'min_args': 1, 'max_args': 2, 'snippet': 'morph_open()'},
|
||||
'motion_mask': {'min_args': 1, 'max_args': 1, 'snippet': 'motion_mask()'},
|
||||
'nan_to_num': {'min_args': 4, 'max_args': 4, 'snippet': 'nan_to_num()'},
|
||||
'noise': {'min_args': 1, 'max_args': 2, 'snippet': 'noise()'},
|
||||
'now': {'min_args': 0, 'max_args': 0, 'snippet': 'now()'},
|
||||
'nvl': {'min_args': 4, 'max_args': 4, 'snippet': 'nvl()'},
|
||||
'oklab_to_rgb': {'min_args': 1, 'max_args': 3, 'snippet': 'oklab_to_rgb()'},
|
||||
'overlay': {'min_args': 3, 'max_args': 4, 'snippet': 'overlay()'},
|
||||
'pad': {'min_args': 2, 'max_args': 2, 'snippet': 'pad()'},
|
||||
'percentile': {'min_args': 2, 'max_args': 2, 'snippet': 'percentile()'},
|
||||
'perlin': {'min_args': 2, 'max_args': 5, 'snippet': 'perlin()'},
|
||||
'perlin_noise': {'min_args': 2, 'max_args': 5, 'snippet': 'perlin_noise()'},
|
||||
'perm': {'min_args': 2, 'max_args': 2, 'snippet': 'perm()'},
|
||||
'permute': {'min_args': 2, 'max_args': 2, 'snippet': 'permute()'},
|
||||
'pinv': {'min_args': 1, 'max_args': 1, 'snippet': 'pinv()'},
|
||||
'plasma': {'min_args': 2, 'max_args': 5, 'snippet': 'plasma()'},
|
||||
'plasma_noise': {'min_args': 2, 'max_args': 5, 'snippet': 'plasma_noise()'},
|
||||
'popcnt': {'min_args': 1, 'max_args': 1, 'snippet': 'popcnt()'},
|
||||
'popcount': {'min_args': 1, 'max_args': 1, 'snippet': 'popcount()'},
|
||||
'pow': {'min_args': 2, 'max_args': 2, 'snippet': 'pow()'},
|
||||
'prcnt': {'min_args': 2, 'max_args': 2, 'snippet': 'prcnt()'},
|
||||
'print': {'min_args': 1, 'max_args': 1, 'snippet': 'print()'},
|
||||
'print_shape': {'min_args': 1, 'max_args': 1, 'snippet': 'print_shape()'},
|
||||
'pshp': {'min_args': 1, 'max_args': 1, 'snippet': 'pshp()'},
|
||||
'quantile': {'min_args': 2, 'max_args': 2, 'snippet': 'quantile()'},
|
||||
'quartil': {'min_args': 2, 'max_args': 2, 'snippet': 'quartil()'},
|
||||
'quartile': {'min_args': 2, 'max_args': 2, 'snippet': 'quartile()'},
|
||||
'rand': {'min_args': 1, 'max_args': 2, 'snippet': 'rand()'},
|
||||
'randb': {'min_args': 2, 'max_args': 3, 'snippet': 'randb()'},
|
||||
'randbeta': {'min_args': 3, 'max_args': 4, 'snippet': 'randbeta()'},
|
||||
'randc': {'min_args': 3, 'max_args': 4, 'snippet': 'randc()'},
|
||||
'rande': {'min_args': 2, 'max_args': 3, 'snippet': 'rande()'},
|
||||
'randg': {'min_args': 3, 'max_args': 4, 'snippet': 'randg()'},
|
||||
'randgumbel': {'min_args': 3, 'max_args': 4, 'snippet': 'randgumbel()'},
|
||||
'randchi2': {'min_args': 2, 'max_args': 3, 'snippet': 'randchi2()'},
|
||||
'randl': {'min_args': 3, 'max_args': 4, 'snippet': 'randl()'},
|
||||
'randln': {'min_args': 3, 'max_args': 4, 'snippet': 'randln()'},
|
||||
'randn': {'min_args': 1, 'max_args': 2, 'snippet': 'randn()'},
|
||||
'random_bernoulli': {'min_args': 2, 'max_args': 3, 'snippet': 'random_bernoulli()'},
|
||||
'random_beta': {'min_args': 3, 'max_args': 4, 'snippet': 'random_beta()'},
|
||||
'random_cauchy': {'min_args': 3, 'max_args': 4, 'snippet': 'random_cauchy()'},
|
||||
'random_exponential': {'min_args': 2, 'max_args': 3, 'snippet': 'random_exponential()'},
|
||||
'random_gamma': {'min_args': 3, 'max_args': 4, 'snippet': 'random_gamma()'},
|
||||
'random_gumbel': {'min_args': 3, 'max_args': 4, 'snippet': 'random_gumbel()'},
|
||||
'random_chi2': {'min_args': 2, 'max_args': 3, 'snippet': 'random_chi2()'},
|
||||
'random_laplace': {'min_args': 3, 'max_args': 4, 'snippet': 'random_laplace()'},
|
||||
'random_log_normal': {'min_args': 3, 'max_args': 4, 'snippet': 'random_log_normal()'},
|
||||
'random_normal': {'min_args': 1, 'max_args': 2, 'snippet': 'random_normal()'},
|
||||
'random_poisson': {'min_args': 2, 'max_args': 3, 'snippet': 'random_poisson()'},
|
||||
'random_studentt': {'min_args': 2, 'max_args': 3, 'snippet': 'random_studentt()'},
|
||||
'random_uniform': {'min_args': 1, 'max_args': 2, 'snippet': 'random_uniform()'},
|
||||
'random_weibull': {'min_args': 3, 'max_args': 4, 'snippet': 'random_weibull()'},
|
||||
'randp': {'min_args': 2, 'max_args': 3, 'snippet': 'randp()'},
|
||||
'randt': {'min_args': 2, 'max_args': 3, 'snippet': 'randt()'},
|
||||
'randu': {'min_args': 1, 'max_args': 2, 'snippet': 'randu()'},
|
||||
'randw': {'min_args': 3, 'max_args': 4, 'snippet': 'randw()'},
|
||||
'range': {'min_args': 3, 'max_args': 3, 'snippet': 'range()'},
|
||||
'relu': {'min_args': 1, 'max_args': None, 'snippet': 'relu()'},
|
||||
'remap': {'min_args': 5, 'max_args': 5, 'snippet': 'remap()'},
|
||||
'replace': {'min_args': 3, 'max_args': 3, 'snippet': 'replace()'},
|
||||
'reshape': {'min_args': 2, 'max_args': 2, 'snippet': 'reshape()'},
|
||||
'rgb_to_cielab': {'min_args': 1, 'max_args': 3, 'snippet': 'rgb_to_cielab()'},
|
||||
'rgb_to_hsv': {'min_args': 1, 'max_args': 4, 'snippet': 'rgb_to_hsv()'},
|
||||
'rgb_to_int': {'min_args': 1, 'max_args': 3, 'snippet': 'rgb_to_int()'},
|
||||
'rgb_to_oklab': {'min_args': 1, 'max_args': 3, 'snippet': 'rgb_to_oklab()'},
|
||||
'ridged': {'min_args': 2, 'max_args': 5, 'snippet': 'ridged()'},
|
||||
'ridged_noise': {'min_args': 2, 'max_args': 5, 'snippet': 'ridged_noise()'},
|
||||
'rife': {'min_args': 4, 'max_args': 5, 'snippet': 'rife()'},
|
||||
'roll': {'min_args': 2, 'max_args': 3, 'snippet': 'roll()'},
|
||||
'round': {'min_args': 1, 'max_args': 1, 'snippet': 'round()'},
|
||||
'rshp': {'min_args': 2, 'max_args': 2, 'snippet': 'rshp()'},
|
||||
'select': {'min_args': 2, 'max_args': 2, 'snippet': 'select()'},
|
||||
'shape': {'min_args': 1, 'max_args': 1, 'snippet': 'shape()'},
|
||||
'shuffle': {'min_args': 2, 'max_args': 2, 'snippet': 'shuffle()'},
|
||||
'sigm': {'min_args': 1, 'max_args': 1, 'snippet': 'sigm()'},
|
||||
'sign': {'min_args': 1, 'max_args': 1, 'snippet': 'sign()'},
|
||||
'sin': {'min_args': 1, 'max_args': 1, 'snippet': 'sin()'},
|
||||
'sine': {'min_args': 3, 'max_args': 3, 'snippet': 'sine()'},
|
||||
'sine_ease': {'min_args': 3, 'max_args': 3, 'snippet': 'sine_ease()'},
|
||||
'sinh': {'min_args': 1, 'max_args': 1, 'snippet': 'sinh()'},
|
||||
'smax': {'min_args': 1, 'max_args': None, 'snippet': 'smax()'},
|
||||
'smin': {'min_args': 1, 'max_args': None, 'snippet': 'smin()'},
|
||||
'smootherstep': {'min_args': 3, 'max_args': 3, 'snippet': 'smootherstep()'},
|
||||
'smoothstep': {'min_args': 3, 'max_args': 3, 'snippet': 'smoothstep()'},
|
||||
'snorm': {'min_args': 1, 'max_args': 1, 'snippet': 'snorm()'},
|
||||
'softmax': {'min_args': 1, 'max_args': 2, 'snippet': 'softmax()'},
|
||||
'softmin': {'min_args': 1, 'max_args': 2, 'snippet': 'softmin()'},
|
||||
'softplus': {'min_args': 1, 'max_args': 1, 'snippet': 'softplus()'},
|
||||
'sort': {'min_args': 1, 'max_args': 1, 'snippet': 'sort()'},
|
||||
'split': {'min_args': 1, 'max_args': 2, 'snippet': 'split()'},
|
||||
'sqrt': {'min_args': 1, 'max_args': 1, 'snippet': 'sqrt()'},
|
||||
'stack_clear': {'min_args': 1, 'max_args': 1, 'snippet': 'stack_clear()'},
|
||||
'stack_get': {'min_args': 1, 'max_args': 1, 'snippet': 'stack_get()'},
|
||||
'stack_has': {'min_args': 1, 'max_args': 1, 'snippet': 'stack_has()'},
|
||||
'stack_pop': {'min_args': 1, 'max_args': 1, 'snippet': 'stack_pop()'},
|
||||
'stack_push': {'min_args': 2, 'max_args': 2, 'snippet': 'stack_push()'},
|
||||
'std': {'min_args': 1, 'max_args': 1, 'snippet': 'std()'},
|
||||
'step': {'min_args': 2, 'max_args': 2, 'snippet': 'step()'},
|
||||
'substr': {'min_args': 2, 'max_args': 3, 'snippet': 'substr()'},
|
||||
'substring': {'min_args': 2, 'max_args': 3, 'snippet': 'substring()'},
|
||||
'sum': {'min_args': 1, 'max_args': 1, 'snippet': 'sum()'},
|
||||
'swap': {'min_args': 4, 'max_args': 4, 'snippet': 'swap()'},
|
||||
'tan': {'min_args': 1, 'max_args': 1, 'snippet': 'tan()'},
|
||||
'tanh': {'min_args': 1, 'max_args': 1, 'snippet': 'tanh()'},
|
||||
'tensor': {'min_args': 2, 'max_args': 3, 'snippet': 'tensor()'},
|
||||
'text_image': {'min_args': 3, 'max_args': 9, 'snippet': 'text_image()'},
|
||||
'timestamp': {'min_args': 0, 'max_args': 0, 'snippet': 'timestamp()'},
|
||||
'tmax': {'min_args': 2, 'max_args': 2, 'snippet': 'tmax()'},
|
||||
'tmin': {'min_args': 2, 'max_args': 2, 'snippet': 'tmin()'},
|
||||
'tnorm': {'min_args': 1, 'max_args': 1, 'snippet': 'tnorm()'},
|
||||
'topk': {'min_args': 2, 'max_args': 2, 'snippet': 'topk()'},
|
||||
'topk_ind': {'min_args': 2, 'max_args': 2, 'snippet': 'topk_ind()'},
|
||||
'topk_indices': {'min_args': 2, 'max_args': 2, 'snippet': 'topk_indices()'},
|
||||
'trim': {'min_args': 1, 'max_args': 1, 'snippet': 'trim()'},
|
||||
'turbulence': {'min_args': 2, 'max_args': 5, 'snippet': 'turbulence()'},
|
||||
'unique': {'min_args': 1, 'max_args': 1, 'snippet': 'unique()'},
|
||||
'upper': {'min_args': 1, 'max_args': 1, 'snippet': 'upper()'},
|
||||
'var': {'min_args': 1, 'max_args': 1, 'snippet': 'var()'},
|
||||
'voronoi': {'min_args': 2, 'max_args': 5, 'snippet': 'voronoi()'},
|
||||
'voronoi_noise': {'min_args': 2, 'max_args': 5, 'snippet': 'voronoi_noise()'},
|
||||
'where': {'min_args': 3, 'max_args': 3, 'snippet': 'where()'},
|
||||
'worley': {'min_args': 2, 'max_args': 5, 'snippet': 'worley()'},
|
||||
'abs': {'min_args': 1, 'max_args': 1, 'snippet': 'abs()', 'description': ''},
|
||||
'acos': {'min_args': 1, 'max_args': 1, 'snippet': 'acos()', 'description': ''},
|
||||
'acosh': {'min_args': 1, 'max_args': 1, 'snippet': 'acosh()', 'description': ''},
|
||||
'all': {'min_args': 1, 'max_args': 1, 'snippet': 'all()', 'description': ''},
|
||||
'angle': {'min_args': 1, 'max_args': 1, 'snippet': 'angle()', 'description': ''},
|
||||
'any': {'min_args': 1, 'max_args': 1, 'snippet': 'any()', 'description': ''},
|
||||
'append': {'min_args': 2, 'max_args': 2, 'snippet': 'append()', 'description': ''},
|
||||
'argmax': {'min_args': 1, 'max_args': 1, 'snippet': 'argmax()', 'description': ''},
|
||||
'argmin': {'min_args': 1, 'max_args': 1, 'snippet': 'argmin()', 'description': ''},
|
||||
'argsort': {'min_args': 1, 'max_args': 2, 'snippet': 'argsort()', 'description': ''},
|
||||
'asin': {'min_args': 1, 'max_args': 1, 'snippet': 'asin()', 'description': ''},
|
||||
'asinh': {'min_args': 1, 'max_args': 1, 'snippet': 'asinh()', 'description': ''},
|
||||
'atan': {'min_args': 1, 'max_args': 1, 'snippet': 'atan()', 'description': ''},
|
||||
'atan2': {'min_args': 2, 'max_args': 2, 'snippet': 'atan2()', 'description': ''},
|
||||
'atanh': {'min_args': 1, 'max_args': 1, 'snippet': 'atanh()', 'description': ''},
|
||||
'band': {'min_args': 2, 'max_args': 2, 'snippet': 'band()', 'description': ''},
|
||||
'batch_shuffle': {'min_args': 2, 'max_args': 2, 'snippet': 'batch_shuffle()', 'description': ''},
|
||||
'bitcount': {'min_args': 1, 'max_args': 1, 'snippet': 'bitcount()', 'description': ''},
|
||||
'bitwise_and': {'min_args': 2, 'max_args': 2, 'snippet': 'bitwise_and()', 'description': ''},
|
||||
'bitwise_not': {'min_args': 1, 'max_args': 1, 'snippet': 'bitwise_not()', 'description': ''},
|
||||
'bitwise_or': {'min_args': 2, 'max_args': 2, 'snippet': 'bitwise_or()', 'description': ''},
|
||||
'bitwise_xor': {'min_args': 2, 'max_args': 2, 'snippet': 'bitwise_xor()', 'description': ''},
|
||||
'blur': {'min_args': 2, 'max_args': 3, 'snippet': 'blur()', 'description': ''},
|
||||
'bnot': {'min_args': 1, 'max_args': 1, 'snippet': 'bnot()', 'description': ''},
|
||||
'bor': {'min_args': 2, 'max_args': 2, 'snippet': 'bor()', 'description': ''},
|
||||
'botk': {'min_args': 2, 'max_args': 2, 'snippet': 'botk()', 'description': ''},
|
||||
'botk_ind': {'min_args': 2, 'max_args': 2, 'snippet': 'botk_ind()', 'description': ''},
|
||||
'botk_indices': {'min_args': 2, 'max_args': 2, 'snippet': 'botk_indices()', 'description': ''},
|
||||
'bxor': {'min_args': 2, 'max_args': 2, 'snippet': 'bxor()', 'description': ''},
|
||||
'cat': {'min_args': 2, 'max_args': None, 'snippet': 'cat()', 'description': ''},
|
||||
'ceil': {'min_args': 1, 'max_args': 1, 'snippet': 'ceil()', 'description': ''},
|
||||
'cellular': {'min_args': 2, 'max_args': 5, 'snippet': 'cellular()', 'description': ''},
|
||||
'cellular_noise': {'min_args': 2, 'max_args': 5, 'snippet': 'cellular_noise()', 'description': ''},
|
||||
'cielab_to_rgb': {'min_args': 1, 'max_args': 3, 'snippet': 'cielab_to_rgb()', 'description': ''},
|
||||
'clamp': {'min_args': 3, 'max_args': 3, 'snippet': 'clamp()', 'description': ''},
|
||||
'cnt': {'min_args': 1, 'max_args': 1, 'snippet': 'cnt()', 'description': ''},
|
||||
'concat': {'min_args': 2, 'max_args': None, 'snippet': 'concat()', 'description': ''},
|
||||
'concatenate': {'min_args': 2, 'max_args': None, 'snippet': 'concatenate()', 'description': ''},
|
||||
'conv': {'min_args': 2, 'max_args': None, 'snippet': 'conv()', 'description': ''},
|
||||
'convolution': {'min_args': 2, 'max_args': None, 'snippet': 'convolution()', 'description': ''},
|
||||
'corr': {'min_args': 2, 'max_args': 2, 'snippet': 'corr()', 'description': ''},
|
||||
'correlation': {'min_args': 2, 'max_args': 2, 'snippet': 'correlation()', 'description': ''},
|
||||
'cos': {'min_args': 1, 'max_args': 1, 'snippet': 'cos()', 'description': ''},
|
||||
'cosh': {'min_args': 1, 'max_args': 1, 'snippet': 'cosh()', 'description': ''},
|
||||
'cosine_similarity': {'min_args': 2, 'max_args': 2, 'snippet': 'cosine_similarity()', 'description': ''},
|
||||
'cossim': {'min_args': 2, 'max_args': 2, 'snippet': 'cossim()', 'description': ''},
|
||||
'count': {'min_args': 1, 'max_args': 1, 'snippet': 'count()', 'description': ''},
|
||||
'cov': {'min_args': 2, 'max_args': 2, 'snippet': 'cov()', 'description': ''},
|
||||
'crop': {'min_args': 3, 'max_args': 3, 'snippet': 'crop()', 'description': ''},
|
||||
'cross': {'min_args': 2, 'max_args': 2, 'snippet': 'cross()', 'description': ''},
|
||||
'cubic': {'min_args': 3, 'max_args': 3, 'snippet': 'cubic()', 'description': ''},
|
||||
'cubic_ease': {'min_args': 3, 'max_args': 3, 'snippet': 'cubic_ease()', 'description': ''},
|
||||
'cumprod': {'min_args': 1, 'max_args': 1, 'snippet': 'cumprod()', 'description': ''},
|
||||
'cumsum': {'min_args': 1, 'max_args': 1, 'snippet': 'cumsum()', 'description': ''},
|
||||
'dilate': {'min_args': 1, 'max_args': 2, 'snippet': 'dilate()', 'description': ''},
|
||||
'dist': {'min_args': 4, 'max_args': 4, 'snippet': 'dist()', 'description': ''},
|
||||
'distance': {'min_args': 4, 'max_args': 4, 'snippet': 'distance()', 'description': ''},
|
||||
'domain_warp': {'min_args': 4, 'max_args': 8, 'snippet': 'domain_warp()', 'description': ''},
|
||||
'domain_warp_noise': {'min_args': 4, 'max_args': 8, 'snippet': 'domain_warp_noise()', 'description': ''},
|
||||
'dot': {'min_args': 2, 'max_args': 2, 'snippet': 'dot()', 'description': ''},
|
||||
'edge': {'min_args': 1, 'max_args': 2, 'snippet': 'edge()', 'description': ''},
|
||||
'elastic': {'min_args': 3, 'max_args': 3, 'snippet': 'elastic()', 'description': ''},
|
||||
'elastic_ease': {'min_args': 3, 'max_args': 3, 'snippet': 'elastic_ease()', 'description': ''},
|
||||
'entropy': {'min_args': 1, 'max_args': 1, 'snippet': 'entropy()', 'description': ''},
|
||||
'erf': {'min_args': 1, 'max_args': 1, 'snippet': 'erf()', 'description': ''},
|
||||
'erfinv': {'min_args': 1, 'max_args': 1, 'snippet': 'erfinv()', 'description': ''},
|
||||
'erode': {'min_args': 1, 'max_args': 2, 'snippet': 'erode()', 'description': ''},
|
||||
'exp': {'min_args': 1, 'max_args': 1, 'snippet': 'exp()', 'description': ''},
|
||||
'ezconv': {'min_args': 2, 'max_args': None, 'snippet': 'ezconv()', 'description': ''},
|
||||
'ezconvolution': {'min_args': 2, 'max_args': None, 'snippet': 'ezconvolution()', 'description': ''},
|
||||
'fft': {'min_args': 1, 'max_args': 1, 'snippet': 'fft()', 'description': ''},
|
||||
'find': {'min_args': 2, 'max_args': 2, 'snippet': 'find()', 'description': ''},
|
||||
'flatten': {'min_args': 1, 'max_args': 1, 'snippet': 'flatten()', 'description': ''},
|
||||
'flip': {'min_args': 2, 'max_args': 2, 'snippet': 'flip()', 'description': ''},
|
||||
'float': {'min_args': 1, 'max_args': 1, 'snippet': 'float()', 'description': ''},
|
||||
'floor': {'min_args': 1, 'max_args': 1, 'snippet': 'floor()', 'description': ''},
|
||||
'flow_ang': {'min_args': 1, 'max_args': 1, 'snippet': 'flow_ang()', 'description': ''},
|
||||
'flow_angle': {'min_args': 1, 'max_args': 1, 'snippet': 'flow_angle()', 'description': ''},
|
||||
'flow_apply': {'min_args': 2, 'max_args': 2, 'snippet': 'flow_apply()', 'description': ''},
|
||||
'flow_mag': {'min_args': 1, 'max_args': 1, 'snippet': 'flow_mag()', 'description': ''},
|
||||
'flow_magnitude': {'min_args': 1, 'max_args': 1, 'snippet': 'flow_magnitude()', 'description': ''},
|
||||
'flow_to_image': {'min_args': 1, 'max_args': 1, 'snippet': 'flow_to_image()', 'description': ''},
|
||||
'fract': {'min_args': 1, 'max_args': 1, 'snippet': 'fract()', 'description': ''},
|
||||
'gamma': {'min_args': 1, 'max_args': 1, 'snippet': 'gamma()', 'description': ''},
|
||||
'gaussian': {'min_args': 2, 'max_args': 3, 'snippet': 'gaussian()', 'description': ''},
|
||||
'gelu': {'min_args': 1, 'max_args': 1, 'snippet': 'gelu()', 'description': ''},
|
||||
'get_value': {'min_args': 2, 'max_args': 2, 'snippet': 'get_value()', 'description': ''},
|
||||
'hist': {'min_args': 4, 'max_args': 4, 'snippet': 'hist()', 'description': ''},
|
||||
'histogram': {'min_args': 4, 'max_args': 4, 'snippet': 'histogram()', 'description': ''},
|
||||
'hsv_to_rgb': {'min_args': 1, 'max_args': 4, 'snippet': 'hsv_to_rgb()', 'description': ''},
|
||||
'ifft': {'min_args': 1, 'max_args': 2, 'snippet': 'ifft()', 'description': ''},
|
||||
'int': {'min_args': 1, 'max_args': 1, 'snippet': 'int()', 'description': ''},
|
||||
'int_to_rgb': {'min_args': 1, 'max_args': 1, 'snippet': 'int_to_rgb()', 'description': ''},
|
||||
'interpolate_area': {'min_args': 2, 'max_args': 2, 'snippet': 'interpolate_area()', 'description': ''},
|
||||
'interpolate_linear': {'min_args': 2, 'max_args': 2, 'snippet': 'interpolate_linear()', 'description': ''},
|
||||
'interpolate_nearest': {'min_args': 2, 'max_args': 2, 'snippet': 'interpolate_nearest()', 'description': ''},
|
||||
'interpolate_nearest_exact': {'min_args': 2, 'max_args': 2, 'snippet': 'interpolate_nearest_exact()', 'description': ''},
|
||||
'join': {'min_args': 1, 'max_args': 2, 'snippet': 'join()', 'description': ''},
|
||||
'length': {'min_args': 1, 'max_args': 1, 'snippet': 'length()', 'description': ''},
|
||||
'lerp': {'min_args': 3, 'max_args': 3, 'snippet': 'lerp()', 'description': ''},
|
||||
'linspace': {'min_args': 3, 'max_args': 3, 'snippet': 'linspace()', 'description': ''},
|
||||
'ln': {'min_args': 1, 'max_args': 1, 'snippet': 'ln()', 'description': ''},
|
||||
'log': {'min_args': 1, 'max_args': 1, 'snippet': 'log()', 'description': ''},
|
||||
'logspace': {'min_args': 4, 'max_args': 4, 'snippet': 'logspace()', 'description': ''},
|
||||
'lower': {'min_args': 1, 'max_args': 1, 'snippet': 'lower()', 'description': ''},
|
||||
'map': {'min_args': 2, 'max_args': None, 'snippet': 'map()', 'description': ''},
|
||||
'matmul': {'min_args': 2, 'max_args': 2, 'snippet': 'matmul()', 'description': ''},
|
||||
'mean': {'min_args': 1, 'max_args': 1, 'snippet': 'mean()', 'description': ''},
|
||||
'median': {'min_args': 1, 'max_args': 1, 'snippet': 'median()', 'description': ''},
|
||||
'mode': {'min_args': 1, 'max_args': 1, 'snippet': 'mode()', 'description': ''},
|
||||
'moment': {'min_args': 3, 'max_args': 3, 'snippet': 'moment()', 'description': ''},
|
||||
'morph_close': {'min_args': 1, 'max_args': 2, 'snippet': 'morph_close()', 'description': ''},
|
||||
'morph_open': {'min_args': 1, 'max_args': 2, 'snippet': 'morph_open()', 'description': ''},
|
||||
'motion_mask': {'min_args': 1, 'max_args': 1, 'snippet': 'motion_mask()', 'description': ''},
|
||||
'nan_to_num': {'min_args': 4, 'max_args': 4, 'snippet': 'nan_to_num()', 'description': ''},
|
||||
'noise': {'min_args': 1, 'max_args': 2, 'snippet': 'noise()', 'description': ''},
|
||||
'now': {'min_args': 0, 'max_args': 0, 'snippet': 'now()', 'description': ''},
|
||||
'nvl': {'min_args': 4, 'max_args': 4, 'snippet': 'nvl()', 'description': ''},
|
||||
'oklab_to_rgb': {'min_args': 1, 'max_args': 3, 'snippet': 'oklab_to_rgb()', 'description': ''},
|
||||
'overlay': {'min_args': 3, 'max_args': 4, 'snippet': 'overlay()', 'description': ''},
|
||||
'pad': {'min_args': 2, 'max_args': 2, 'snippet': 'pad()', 'description': ''},
|
||||
'percentile': {'min_args': 2, 'max_args': 2, 'snippet': 'percentile()', 'description': ''},
|
||||
'perlin': {'min_args': 2, 'max_args': 5, 'snippet': 'perlin()', 'description': ''},
|
||||
'perlin_noise': {'min_args': 2, 'max_args': 5, 'snippet': 'perlin_noise()', 'description': ''},
|
||||
'perm': {'min_args': 2, 'max_args': 2, 'snippet': 'perm()', 'description': ''},
|
||||
'permute': {'min_args': 2, 'max_args': 2, 'snippet': 'permute()', 'description': ''},
|
||||
'pinv': {'min_args': 1, 'max_args': 1, 'snippet': 'pinv()', 'description': ''},
|
||||
'plasma': {'min_args': 2, 'max_args': 5, 'snippet': 'plasma()', 'description': ''},
|
||||
'plasma_noise': {'min_args': 2, 'max_args': 5, 'snippet': 'plasma_noise()', 'description': ''},
|
||||
'popcnt': {'min_args': 1, 'max_args': 1, 'snippet': 'popcnt()', 'description': ''},
|
||||
'popcount': {'min_args': 1, 'max_args': 1, 'snippet': 'popcount()', 'description': ''},
|
||||
'pow': {'min_args': 2, 'max_args': 2, 'snippet': 'pow()', 'description': ''},
|
||||
'prcnt': {'min_args': 2, 'max_args': 2, 'snippet': 'prcnt()', 'description': ''},
|
||||
'print': {'min_args': 1, 'max_args': 1, 'snippet': 'print()', 'description': ''},
|
||||
'print_shape': {'min_args': 1, 'max_args': 1, 'snippet': 'print_shape()', 'description': ''},
|
||||
'pshp': {'min_args': 1, 'max_args': 1, 'snippet': 'pshp()', 'description': ''},
|
||||
'quantile': {'min_args': 2, 'max_args': 2, 'snippet': 'quantile()', 'description': ''},
|
||||
'quartil': {'min_args': 2, 'max_args': 2, 'snippet': 'quartil()', 'description': ''},
|
||||
'quartile': {'min_args': 2, 'max_args': 2, 'snippet': 'quartile()', 'description': ''},
|
||||
'rand': {'min_args': 1, 'max_args': 2, 'snippet': 'rand()', 'description': ''},
|
||||
'randb': {'min_args': 2, 'max_args': 3, 'snippet': 'randb()', 'description': ''},
|
||||
'randbeta': {'min_args': 3, 'max_args': 4, 'snippet': 'randbeta()', 'description': ''},
|
||||
'randc': {'min_args': 3, 'max_args': 4, 'snippet': 'randc()', 'description': ''},
|
||||
'rande': {'min_args': 2, 'max_args': 3, 'snippet': 'rande()', 'description': ''},
|
||||
'randg': {'min_args': 3, 'max_args': 4, 'snippet': 'randg()', 'description': ''},
|
||||
'randgumbel': {'min_args': 3, 'max_args': 4, 'snippet': 'randgumbel()', 'description': ''},
|
||||
'randchi2': {'min_args': 2, 'max_args': 3, 'snippet': 'randchi2()', 'description': ''},
|
||||
'randl': {'min_args': 3, 'max_args': 4, 'snippet': 'randl()', 'description': ''},
|
||||
'randln': {'min_args': 3, 'max_args': 4, 'snippet': 'randln()', 'description': ''},
|
||||
'randn': {'min_args': 1, 'max_args': 2, 'snippet': 'randn()', 'description': ''},
|
||||
'random_bernoulli': {'min_args': 2, 'max_args': 3, 'snippet': 'random_bernoulli()', 'description': ''},
|
||||
'random_beta': {'min_args': 3, 'max_args': 4, 'snippet': 'random_beta()', 'description': ''},
|
||||
'random_cauchy': {'min_args': 3, 'max_args': 4, 'snippet': 'random_cauchy()', 'description': ''},
|
||||
'random_exponential': {'min_args': 2, 'max_args': 3, 'snippet': 'random_exponential()', 'description': ''},
|
||||
'random_gamma': {'min_args': 3, 'max_args': 4, 'snippet': 'random_gamma()', 'description': ''},
|
||||
'random_gumbel': {'min_args': 3, 'max_args': 4, 'snippet': 'random_gumbel()', 'description': ''},
|
||||
'random_chi2': {'min_args': 2, 'max_args': 3, 'snippet': 'random_chi2()', 'description': ''},
|
||||
'random_laplace': {'min_args': 3, 'max_args': 4, 'snippet': 'random_laplace()', 'description': ''},
|
||||
'random_log_normal': {'min_args': 3, 'max_args': 4, 'snippet': 'random_log_normal()', 'description': ''},
|
||||
'random_normal': {'min_args': 1, 'max_args': 2, 'snippet': 'random_normal()', 'description': ''},
|
||||
'random_poisson': {'min_args': 2, 'max_args': 3, 'snippet': 'random_poisson()', 'description': ''},
|
||||
'random_studentt': {'min_args': 2, 'max_args': 3, 'snippet': 'random_studentt()', 'description': ''},
|
||||
'random_uniform': {'min_args': 1, 'max_args': 2, 'snippet': 'random_uniform()', 'description': ''},
|
||||
'random_weibull': {'min_args': 3, 'max_args': 4, 'snippet': 'random_weibull()', 'description': ''},
|
||||
'randp': {'min_args': 2, 'max_args': 3, 'snippet': 'randp()', 'description': ''},
|
||||
'randt': {'min_args': 2, 'max_args': 3, 'snippet': 'randt()', 'description': ''},
|
||||
'randu': {'min_args': 1, 'max_args': 2, 'snippet': 'randu()', 'description': ''},
|
||||
'randw': {'min_args': 3, 'max_args': 4, 'snippet': 'randw()', 'description': ''},
|
||||
'range': {'min_args': 3, 'max_args': 3, 'snippet': 'range()', 'description': ''},
|
||||
'relu': {'min_args': 1, 'max_args': None, 'snippet': 'relu()', 'description': ''},
|
||||
'remap': {'min_args': 5, 'max_args': 5, 'snippet': 'remap()', 'description': ''},
|
||||
'replace': {'min_args': 3, 'max_args': 3, 'snippet': 'replace()', 'description': ''},
|
||||
'reshape': {'min_args': 2, 'max_args': 2, 'snippet': 'reshape()', 'description': ''},
|
||||
'rgb_to_cielab': {'min_args': 1, 'max_args': 3, 'snippet': 'rgb_to_cielab()', 'description': ''},
|
||||
'rgb_to_hsv': {'min_args': 1, 'max_args': 4, 'snippet': 'rgb_to_hsv()', 'description': ''},
|
||||
'rgb_to_int': {'min_args': 1, 'max_args': 3, 'snippet': 'rgb_to_int()', 'description': ''},
|
||||
'rgb_to_oklab': {'min_args': 1, 'max_args': 3, 'snippet': 'rgb_to_oklab()', 'description': ''},
|
||||
'ridged': {'min_args': 2, 'max_args': 5, 'snippet': 'ridged()', 'description': ''},
|
||||
'ridged_noise': {'min_args': 2, 'max_args': 5, 'snippet': 'ridged_noise()', 'description': ''},
|
||||
'rife': {'min_args': 4, 'max_args': 5, 'snippet': 'rife()', 'description': ''},
|
||||
'roll': {'min_args': 2, 'max_args': 3, 'snippet': 'roll()', 'description': ''},
|
||||
'round': {'min_args': 1, 'max_args': 1, 'snippet': 'round()', 'description': ''},
|
||||
'rshp': {'min_args': 2, 'max_args': 2, 'snippet': 'rshp()', 'description': ''},
|
||||
'select': {'min_args': 2, 'max_args': 2, 'snippet': 'select()', 'description': ''},
|
||||
'shape': {'min_args': 1, 'max_args': 1, 'snippet': 'shape()', 'description': ''},
|
||||
'shuffle': {'min_args': 2, 'max_args': 2, 'snippet': 'shuffle()', 'description': ''},
|
||||
'sigm': {'min_args': 1, 'max_args': 1, 'snippet': 'sigm()', 'description': ''},
|
||||
'sign': {'min_args': 1, 'max_args': 1, 'snippet': 'sign()', 'description': ''},
|
||||
'sin': {'min_args': 1, 'max_args': 1, 'snippet': 'sin()', 'description': ''},
|
||||
'sine': {'min_args': 3, 'max_args': 3, 'snippet': 'sine()', 'description': ''},
|
||||
'sine_ease': {'min_args': 3, 'max_args': 3, 'snippet': 'sine_ease()', 'description': ''},
|
||||
'sinh': {'min_args': 1, 'max_args': 1, 'snippet': 'sinh()', 'description': ''},
|
||||
'smax': {'min_args': 1, 'max_args': None, 'snippet': 'smax()', 'description': ''},
|
||||
'smin': {'min_args': 1, 'max_args': None, 'snippet': 'smin()', 'description': ''},
|
||||
'smootherstep': {'min_args': 3, 'max_args': 3, 'snippet': 'smootherstep()', 'description': ''},
|
||||
'smoothstep': {'min_args': 3, 'max_args': 3, 'snippet': 'smoothstep()', 'description': ''},
|
||||
'snorm': {'min_args': 1, 'max_args': 1, 'snippet': 'snorm()', 'description': ''},
|
||||
'softmax': {'min_args': 1, 'max_args': 2, 'snippet': 'softmax()', 'description': ''},
|
||||
'softmin': {'min_args': 1, 'max_args': 2, 'snippet': 'softmin()', 'description': ''},
|
||||
'softplus': {'min_args': 1, 'max_args': 1, 'snippet': 'softplus()', 'description': ''},
|
||||
'sort': {'min_args': 1, 'max_args': 1, 'snippet': 'sort()', 'description': ''},
|
||||
'split': {'min_args': 1, 'max_args': 2, 'snippet': 'split()', 'description': ''},
|
||||
'sqrt': {'min_args': 1, 'max_args': 1, 'snippet': 'sqrt()', 'description': ''},
|
||||
'stack_clear': {'min_args': 1, 'max_args': 1, 'snippet': 'stack_clear()', 'description': ''},
|
||||
'stack_get': {'min_args': 1, 'max_args': 1, 'snippet': 'stack_get()', 'description': ''},
|
||||
'stack_has': {'min_args': 1, 'max_args': 1, 'snippet': 'stack_has()', 'description': ''},
|
||||
'stack_pop': {'min_args': 1, 'max_args': 1, 'snippet': 'stack_pop()', 'description': ''},
|
||||
'stack_push': {'min_args': 2, 'max_args': 2, 'snippet': 'stack_push()', 'description': ''},
|
||||
'std': {'min_args': 1, 'max_args': 1, 'snippet': 'std()', 'description': ''},
|
||||
'step': {'min_args': 2, 'max_args': 2, 'snippet': 'step()', 'description': ''},
|
||||
'substr': {'min_args': 2, 'max_args': 3, 'snippet': 'substr()', 'description': ''},
|
||||
'substring': {'min_args': 2, 'max_args': 3, 'snippet': 'substring()', 'description': ''},
|
||||
'sum': {'min_args': 1, 'max_args': 1, 'snippet': 'sum()', 'description': ''},
|
||||
'swap': {'min_args': 4, 'max_args': 4, 'snippet': 'swap()', 'description': ''},
|
||||
'tan': {'min_args': 1, 'max_args': 1, 'snippet': 'tan()', 'description': ''},
|
||||
'tanh': {'min_args': 1, 'max_args': 1, 'snippet': 'tanh()', 'description': ''},
|
||||
'tensor': {'min_args': 2, 'max_args': 3, 'snippet': 'tensor()', 'description': ''},
|
||||
'text_image': {'min_args': 3, 'max_args': 9, 'snippet': 'text_image()', 'description': ''},
|
||||
'timestamp': {'min_args': 0, 'max_args': 0, 'snippet': 'timestamp()', 'description': ''},
|
||||
'tmax': {'min_args': 2, 'max_args': 2, 'snippet': 'tmax()', 'description': ''},
|
||||
'tmin': {'min_args': 2, 'max_args': 2, 'snippet': 'tmin()', 'description': ''},
|
||||
'tnorm': {'min_args': 1, 'max_args': 1, 'snippet': 'tnorm()', 'description': ''},
|
||||
'topk': {'min_args': 2, 'max_args': 2, 'snippet': 'topk()', 'description': ''},
|
||||
'topk_ind': {'min_args': 2, 'max_args': 2, 'snippet': 'topk_ind()', 'description': ''},
|
||||
'topk_indices': {'min_args': 2, 'max_args': 2, 'snippet': 'topk_indices()', 'description': ''},
|
||||
'trim': {'min_args': 1, 'max_args': 1, 'snippet': 'trim()', 'description': ''},
|
||||
'turbulence': {'min_args': 2, 'max_args': 5, 'snippet': 'turbulence()', 'description': ''},
|
||||
'unique': {'min_args': 1, 'max_args': 1, 'snippet': 'unique()', 'description': ''},
|
||||
'upper': {'min_args': 1, 'max_args': 1, 'snippet': 'upper()', 'description': ''},
|
||||
'var': {'min_args': 1, 'max_args': 1, 'snippet': 'var()', 'description': ''},
|
||||
'voronoi': {'min_args': 2, 'max_args': 5, 'snippet': 'voronoi()', 'description': ''},
|
||||
'voronoi_noise': {'min_args': 2, 'max_args': 5, 'snippet': 'voronoi_noise()', 'description': ''},
|
||||
'where': {'min_args': 3, 'max_args': 3, 'snippet': 'where()', 'description': ''},
|
||||
'worley': {'min_args': 2, 'max_args': 5, 'snippet': 'worley()', 'description': ''},
|
||||
}
|
||||
+200
-93
@@ -1,32 +1,57 @@
|
||||
import { FUNCTIONS, KEYWORDS, CONSTANTS, FUNCTION_META } from "./inbuilt_symbols.js";
|
||||
|
||||
const AUTOCOMPLETE_STYLE_ID = "mrmth-script-autocomplete-styles";
|
||||
|
||||
function ensureAutocompleteStyles() {
|
||||
if (document.getElementById(AUTOCOMPLETE_STYLE_ID)) return;
|
||||
|
||||
const style = document.createElement("style");
|
||||
style.id = AUTOCOMPLETE_STYLE_ID;
|
||||
style.textContent = `
|
||||
.mrmth-autocomplete {
|
||||
position: fixed;
|
||||
z-index: 10000;
|
||||
min-width: 180px;
|
||||
max-width: min(420px, 100vw - 16px);
|
||||
max-height: 220px;
|
||||
overflow-y: auto;
|
||||
overscroll-behavior: contain;
|
||||
pointer-events: auto;
|
||||
margin: 0;
|
||||
padding: 4px 0;
|
||||
list-style: none;
|
||||
border: 1px solid rgba(255, 255, 255, 0.18);
|
||||
border-radius: 8px;
|
||||
background: rgba(18, 20, 24, 0.97);
|
||||
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
|
||||
font-family: monospace;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
|
||||
.mrmth-autocomplete-tooltip {
|
||||
display: none; /* Řízeno přes JS */
|
||||
min-width: 200px;
|
||||
max-width: 320px;
|
||||
margin-left: 8px;
|
||||
padding: 10px 12px;
|
||||
border: 1px solid rgba(255, 255, 255, 0.12);
|
||||
border-radius: 8px;
|
||||
background: rgba(24, 28, 36, 0.98);
|
||||
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
|
||||
font-family: monospace;
|
||||
font-size: 11px;
|
||||
color: #b3b9c1;
|
||||
line-height: 1.5;
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
.mrmth-autocomplete-layout {
|
||||
display: flex !important;
|
||||
flex-direction: row !important;
|
||||
align-items: flex-start !important;
|
||||
position: fixed !important; /* Pozici drží POUZE tento společný obal! */
|
||||
z-index: 10000 !important;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.mrmth-autocomplete {
|
||||
/* !!! ZDE SMAŽ position: fixed; a z-index: 10000; !!! */
|
||||
min-width: 180px;
|
||||
max-height: 220px;
|
||||
overflow-y: auto;
|
||||
overscroll-behavior: contain;
|
||||
pointer-events: auto;
|
||||
margin: 0;
|
||||
padding: 4px 0;
|
||||
list-style: none;
|
||||
border: 1px solid rgba(255, 255, 255, 0.18);
|
||||
border-radius: 8px;
|
||||
background: rgba(18, 20, 24, 0.97);
|
||||
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
|
||||
font-family: monospace;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.mrmth-autocomplete-item {
|
||||
display: flex;
|
||||
@@ -54,20 +79,6 @@ function ensureAutocompleteStyles() {
|
||||
color: #c39bd3;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.mrmth-autocomplete-item.is-keyword .mrmth-ac-name {
|
||||
color: #e74c3c;
|
||||
}
|
||||
|
||||
.mrmth-autocomplete-item.is-constant .mrmth-ac-name {
|
||||
color: #f1c40f;
|
||||
}
|
||||
|
||||
.mrmth-autocomplete-item .mrmth-ac-hint {
|
||||
color: #7f8c8d;
|
||||
font-size: 11px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
`;
|
||||
document.head.appendChild(style);
|
||||
}
|
||||
@@ -261,10 +272,83 @@ function getCaretScreenPosition(textarea, position) {
|
||||
export function attachAutocomplete(textarea, _containerEl) {
|
||||
ensureAutocompleteStyles();
|
||||
|
||||
const dropdown = document.createElement("ul");
|
||||
dropdown.className = "mrmth-autocomplete";
|
||||
dropdown.hidden = true;
|
||||
document.body.appendChild(dropdown);
|
||||
// 1. Deklarace prvků nového rozvržení
|
||||
let layoutEl = null;
|
||||
let listEl = null; // Toto plně nahradí tvůj původní samostatný "dropdown"
|
||||
let tooltipEl = null;
|
||||
|
||||
// 2. Opravené vytvoření dropdownu, které se spustí ihned
|
||||
function createDropdown() {
|
||||
layoutEl = document.createElement("div");
|
||||
layoutEl.className = "mrmth-autocomplete-layout";
|
||||
layoutEl.style.position = "fixed";
|
||||
layoutEl.style.zIndex = "10000";
|
||||
layoutEl.style.display = "flex";
|
||||
layoutEl.hidden = true;
|
||||
|
||||
listEl = document.createElement("ul");
|
||||
listEl.className = "mrmth-autocomplete";
|
||||
listEl.addEventListener("wheel", onDropdownWheel, { passive: false });
|
||||
layoutEl.appendChild(listEl);
|
||||
|
||||
tooltipEl = document.createElement("div");
|
||||
tooltipEl.className = "mrmth-autocomplete-tooltip";
|
||||
tooltipEl.style.display = "none";
|
||||
layoutEl.appendChild(tooltipEl);
|
||||
|
||||
document.body.appendChild(layoutEl);
|
||||
}
|
||||
|
||||
function updateTooltip(selectedItem) {
|
||||
if (!tooltipEl || !layoutEl) return;
|
||||
|
||||
const meta = FUNCTION_META[selectedItem?.name] || selectedItem;
|
||||
|
||||
if (!meta || !meta.description) {
|
||||
tooltipEl.style.display = "none";
|
||||
return;
|
||||
}
|
||||
|
||||
let argsText = `Arguments: min ${meta.minArgs ?? 0}`;
|
||||
if (meta.maxArgs !== undefined && meta.maxArgs !== null) {
|
||||
argsText += `, max ${meta.maxArgs}`;
|
||||
} else {
|
||||
argsText += "+ (variadic)";
|
||||
}
|
||||
|
||||
tooltipEl.innerHTML = `
|
||||
<div class="mrmth-tt-title">${selectedItem.name}</div>
|
||||
<div class="mrmth-tt-desc">${meta.description}</div>
|
||||
<div class="mrmth-tt-args">${argsText}</div>
|
||||
`;
|
||||
|
||||
tooltipEl.style.display = "block";
|
||||
|
||||
const rect = tooltipEl.getBoundingClientRect();
|
||||
if (rect.right > window.innerWidth) {
|
||||
layoutEl.style.flexDirection = "row-reverse";
|
||||
tooltipEl.style.marginLeft = "0";
|
||||
tooltipEl.style.marginRight = "8px";
|
||||
} else {
|
||||
layoutEl.style.flexDirection = "row";
|
||||
tooltipEl.style.marginLeft = "8px";
|
||||
tooltipEl.style.marginRight = "0";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
const onDropdownWheel = (e) => {
|
||||
e.stopPropagation();
|
||||
const maxScroll = Math.max(0, listEl.scrollHeight - listEl.clientHeight);
|
||||
const atTop = listEl.scrollTop <= 0;
|
||||
const atBottom = listEl.scrollTop >= maxScroll;
|
||||
if ((e.deltaY < 0 && atTop) || (e.deltaY > 0 && atBottom)) {
|
||||
e.preventDefault();
|
||||
}
|
||||
};
|
||||
|
||||
createDropdown();
|
||||
|
||||
|
||||
let items = [];
|
||||
let selectedIndex = 0;
|
||||
@@ -273,45 +357,34 @@ export function attachAutocomplete(textarea, _containerEl) {
|
||||
|
||||
const close = () => {
|
||||
open = false;
|
||||
dropdown.hidden = true;
|
||||
dropdown.innerHTML = "";
|
||||
if (layoutEl) layoutEl.hidden = true;
|
||||
if (listEl) listEl.innerHTML = "";
|
||||
if (tooltipEl) tooltipEl.style.display = "none";
|
||||
items = [];
|
||||
selectedIndex = 0;
|
||||
prefixInfo = null;
|
||||
};
|
||||
|
||||
const scrollSelectedIntoView = () => {
|
||||
const selected = dropdown.querySelector(".mrmth-autocomplete-item.is-selected");
|
||||
const selected = layoutEl.querySelector(".mrmth-autocomplete-item.is-selected");
|
||||
if (!selected) return;
|
||||
|
||||
const itemTop = selected.offsetTop;
|
||||
const itemBottom = itemTop + selected.offsetHeight;
|
||||
const viewTop = dropdown.scrollTop;
|
||||
const viewBottom = viewTop + dropdown.clientHeight;
|
||||
const viewTop = listEl.scrollTop;
|
||||
const viewBottom = viewTop + listEl.clientHeight;
|
||||
|
||||
const pad = 2;
|
||||
if (itemTop < viewTop + pad) {
|
||||
dropdown.scrollTop = Math.max(0, itemTop - pad);
|
||||
listEl.scrollTop = Math.max(0, itemTop - pad);
|
||||
} else if (itemBottom > viewBottom - pad) {
|
||||
dropdown.scrollTop = itemBottom - dropdown.clientHeight + pad;
|
||||
listEl.scrollTop = itemBottom - listEl.clientHeight + pad;
|
||||
}
|
||||
};
|
||||
|
||||
const onDropdownWheel = (e) => {
|
||||
e.stopPropagation();
|
||||
|
||||
const maxScroll = Math.max(0, dropdown.scrollHeight - dropdown.clientHeight);
|
||||
const atTop = dropdown.scrollTop <= 0;
|
||||
const atBottom = dropdown.scrollTop >= maxScroll;
|
||||
|
||||
// Block scroll chaining to the node/canvas when the list cannot move further.
|
||||
if ((e.deltaY < 0 && atTop) || (e.deltaY > 0 && atBottom)) {
|
||||
e.preventDefault();
|
||||
}
|
||||
};
|
||||
|
||||
const render = () => {
|
||||
dropdown.innerHTML = "";
|
||||
listEl.innerHTML = "";
|
||||
items.forEach((item, index) => {
|
||||
const li = document.createElement("li");
|
||||
li.className = `mrmth-autocomplete-item is-${item.kind}${index === selectedIndex ? " is-selected" : ""}`;
|
||||
@@ -332,19 +405,37 @@ export function attachAutocomplete(textarea, _containerEl) {
|
||||
li.appendChild(left);
|
||||
li.appendChild(right);
|
||||
li.appendChild(kind);
|
||||
|
||||
li.addEventListener("mousedown", (e) => {
|
||||
e.preventDefault();
|
||||
selectedIndex = index;
|
||||
applySelected();
|
||||
});
|
||||
dropdown.appendChild(li);
|
||||
|
||||
li.addEventListener("mouseenter", () => {
|
||||
selectedIndex = index;
|
||||
listEl.querySelectorAll(".mrmth-autocomplete-item").forEach((el, i) => {
|
||||
el.classList.toggle("is-selected", i === index);
|
||||
});
|
||||
updateTooltip(item);
|
||||
});
|
||||
|
||||
listEl.appendChild(li);
|
||||
});
|
||||
|
||||
scrollSelectedIntoView();
|
||||
|
||||
if (items[selectedIndex]) {
|
||||
updateTooltip(items[selectedIndex]);
|
||||
} else {
|
||||
tooltipEl.style.display = "none";
|
||||
}
|
||||
|
||||
if (open) positionDropdown();
|
||||
};
|
||||
|
||||
const positionDropdown = () => {
|
||||
if (!prefixInfo) return;
|
||||
if (!prefixInfo || !layoutEl || !listEl) return; // Změna kontroly prvků
|
||||
|
||||
const cursorPos = textarea.selectionStart;
|
||||
const caret = getCaretScreenPosition(textarea, cursorPos);
|
||||
@@ -362,7 +453,6 @@ export function attachAutocomplete(textarea, _containerEl) {
|
||||
const spaceAbove = lineTop - gap - viewportPad;
|
||||
const spaceRight = window.innerWidth - textareaRect.right - gap - viewportPad;
|
||||
|
||||
// Prefer below the active line so the list never covers what you are typing.
|
||||
let placement = "below";
|
||||
if (spaceBelow < minListHeight) {
|
||||
if (spaceRight >= 160) {
|
||||
@@ -395,18 +485,22 @@ export function attachAutocomplete(textarea, _containerEl) {
|
||||
left = textareaRect.right + gap;
|
||||
}
|
||||
|
||||
dropdown.style.width = `${dropdownWidthTarget}px`;
|
||||
dropdown.style.maxHeight = `${maxHeight}px`;
|
||||
dropdown.style.top = `${top}px`;
|
||||
listEl.style.width = `260px`;
|
||||
|
||||
dropdown.style.visibility = "hidden";
|
||||
dropdown.style.left = "0px";
|
||||
const dropdownWidth = dropdown.offsetWidth || dropdownWidthTarget;
|
||||
listEl.style.maxHeight = `${maxHeight}px`;
|
||||
layoutEl.style.top = `${top}px`;
|
||||
|
||||
layoutEl.style.visibility = "hidden";
|
||||
layoutEl.style.left = "0px";
|
||||
|
||||
const dropdownWidth = 260;
|
||||
left = Math.max(viewportPad, Math.min(left, window.innerWidth - dropdownWidth - viewportPad));
|
||||
dropdown.style.left = `${left}px`;
|
||||
dropdown.style.visibility = "";
|
||||
|
||||
layoutEl.style.left = `${left}px`;
|
||||
layoutEl.style.visibility = "";
|
||||
};
|
||||
|
||||
|
||||
const openWith = (nextItems, nextPrefix) => {
|
||||
if (!nextItems.length) {
|
||||
close();
|
||||
@@ -416,27 +510,20 @@ export function attachAutocomplete(textarea, _containerEl) {
|
||||
selectedIndex = 0;
|
||||
prefixInfo = nextPrefix;
|
||||
open = true;
|
||||
dropdown.hidden = false;
|
||||
if (layoutEl) layoutEl.hidden = false;
|
||||
render();
|
||||
positionDropdown();
|
||||
};
|
||||
|
||||
const applySelected = () => {
|
||||
if (!open || !prefixInfo || !items[selectedIndex]) return;
|
||||
|
||||
if (selectedIndex < 0 || selectedIndex >= items.length) return;
|
||||
const item = items[selectedIndex];
|
||||
const before = textarea.value.slice(0, prefixInfo.start);
|
||||
const after = textarea.value.slice(textarea.selectionEnd);
|
||||
const insert = item.insertText;
|
||||
textarea.value = `${before}${insert}${after}`;
|
||||
|
||||
const cursorPos = before.length + insert.length;
|
||||
if (item.kind === "function" && insert.endsWith("()")) {
|
||||
textarea.selectionStart = textarea.selectionEnd = cursorPos - 1;
|
||||
} else {
|
||||
textarea.selectionStart = textarea.selectionEnd = cursorPos;
|
||||
}
|
||||
const text = textarea.value;
|
||||
const before = text.slice(0, prefixInfo.start);
|
||||
const after = text.slice(textarea.selectionStart);
|
||||
|
||||
textarea.value = before + item.insertText + after;
|
||||
textarea.selectionStart = textarea.selectionEnd = before.length + item.insertText.length;
|
||||
textarea.dispatchEvent(new Event("input", { bubbles: true }));
|
||||
close();
|
||||
};
|
||||
@@ -480,7 +567,17 @@ export function attachAutocomplete(textarea, _containerEl) {
|
||||
const onKeyDown = (e) => {
|
||||
if (e.ctrlKey && e.key === " ") {
|
||||
e.preventDefault();
|
||||
maybeOpen(true);
|
||||
if (typeof maybeOpen === "function") {
|
||||
maybeOpen(true);
|
||||
} else {
|
||||
const text = textarea.value;
|
||||
const cursor = textarea.selectionStart;
|
||||
const prefix = getWordPrefix(text, cursor);
|
||||
if (prefix) {
|
||||
const suggestions = buildSuggestions(prefix.word);
|
||||
if (suggestions.length > 0) openWith(suggestions, prefix);
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -517,14 +614,20 @@ export function attachAutocomplete(textarea, _containerEl) {
|
||||
if (open) positionDropdown();
|
||||
};
|
||||
|
||||
textarea.addEventListener("input", onInput);
|
||||
textarea.addEventListener("input", typeof onInput === "function" ? onInput : () => {
|
||||
const text = textarea.value;
|
||||
const cursor = textarea.selectionStart;
|
||||
const prefix = getWordPrefix(text, cursor);
|
||||
if (!prefix) { close(); return; }
|
||||
const suggestions = buildSuggestions(prefix.word);
|
||||
if (suggestions.length > 0) openWith(suggestions, prefix);
|
||||
else close();
|
||||
});
|
||||
|
||||
textarea.addEventListener("keydown", onKeyDown);
|
||||
textarea.addEventListener("blur", onBlur);
|
||||
textarea.addEventListener("scroll", onReposition);
|
||||
dropdown.addEventListener("mousedown", (e) => {
|
||||
e.preventDefault();
|
||||
});
|
||||
dropdown.addEventListener("wheel", onDropdownWheel, { passive: false });
|
||||
|
||||
window.addEventListener("scroll", onReposition, true);
|
||||
window.addEventListener("resize", onReposition);
|
||||
|
||||
@@ -532,16 +635,20 @@ export function attachAutocomplete(textarea, _containerEl) {
|
||||
close,
|
||||
destroy() {
|
||||
close();
|
||||
dropdown.removeEventListener("wheel", onDropdownWheel);
|
||||
window.removeEventListener("scroll", onReposition, true);
|
||||
window.removeEventListener("resize", onReposition);
|
||||
dropdown.remove();
|
||||
textarea.removeEventListener("input", onInput);
|
||||
|
||||
if (layoutEl) {
|
||||
layoutEl.remove();
|
||||
}
|
||||
textarea.removeEventListener("keydown", onKeyDown);
|
||||
textarea.removeEventListener("blur", onBlur);
|
||||
textarea.removeEventListener("scroll", onReposition);
|
||||
if (typeof onInput === "function") {
|
||||
textarea.removeEventListener("input", onInput);
|
||||
}
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
export { buildSuggestions, getWordPrefix, isCursorInStringOrComment, formatArgHint };
|
||||
export { buildSuggestions, getWordPrefix, isCursorInStringOrComment, formatArgHint };
|
||||
+234
-234
@@ -13,238 +13,238 @@ export const FUNCTIONS = new Set([
|
||||
]);
|
||||
|
||||
export const FUNCTION_META = {
|
||||
abs: { minArgs: 1, maxArgs: 1, snippet: "abs()" },
|
||||
acos: { minArgs: 1, maxArgs: 1, snippet: "acos()" },
|
||||
acosh: { minArgs: 1, maxArgs: 1, snippet: "acosh()" },
|
||||
all: { minArgs: 1, maxArgs: 1, snippet: "all()" },
|
||||
angle: { minArgs: 1, maxArgs: 1, snippet: "angle()" },
|
||||
any: { minArgs: 1, maxArgs: 1, snippet: "any()" },
|
||||
append: { minArgs: 2, maxArgs: 2, snippet: "append()" },
|
||||
argmax: { minArgs: 1, maxArgs: 1, snippet: "argmax()" },
|
||||
argmin: { minArgs: 1, maxArgs: 1, snippet: "argmin()" },
|
||||
argsort: { minArgs: 1, maxArgs: 2, snippet: "argsort()" },
|
||||
asin: { minArgs: 1, maxArgs: 1, snippet: "asin()" },
|
||||
asinh: { minArgs: 1, maxArgs: 1, snippet: "asinh()" },
|
||||
atan: { minArgs: 1, maxArgs: 1, snippet: "atan()" },
|
||||
atan2: { minArgs: 2, maxArgs: 2, snippet: "atan2()" },
|
||||
atanh: { minArgs: 1, maxArgs: 1, snippet: "atanh()" },
|
||||
band: { minArgs: 2, maxArgs: 2, snippet: "band()" },
|
||||
batch_shuffle: { minArgs: 2, maxArgs: 2, snippet: "batch_shuffle()" },
|
||||
bitcount: { minArgs: 1, maxArgs: 1, snippet: "bitcount()" },
|
||||
bitwise_and: { minArgs: 2, maxArgs: 2, snippet: "bitwise_and()" },
|
||||
bitwise_not: { minArgs: 1, maxArgs: 1, snippet: "bitwise_not()" },
|
||||
bitwise_or: { minArgs: 2, maxArgs: 2, snippet: "bitwise_or()" },
|
||||
bitwise_xor: { minArgs: 2, maxArgs: 2, snippet: "bitwise_xor()" },
|
||||
blur: { minArgs: 2, maxArgs: 3, snippet: "blur()" },
|
||||
bnot: { minArgs: 1, maxArgs: 1, snippet: "bnot()" },
|
||||
bor: { minArgs: 2, maxArgs: 2, snippet: "bor()" },
|
||||
botk: { minArgs: 2, maxArgs: 2, snippet: "botk()" },
|
||||
botk_ind: { minArgs: 2, maxArgs: 2, snippet: "botk_ind()" },
|
||||
botk_indices: { minArgs: 2, maxArgs: 2, snippet: "botk_indices()" },
|
||||
bxor: { minArgs: 2, maxArgs: 2, snippet: "bxor()" },
|
||||
cat: { minArgs: 2, maxArgs: null, snippet: "cat()" },
|
||||
ceil: { minArgs: 1, maxArgs: 1, snippet: "ceil()" },
|
||||
cellular: { minArgs: 2, maxArgs: 5, snippet: "cellular()" },
|
||||
cellular_noise: { minArgs: 2, maxArgs: 5, snippet: "cellular_noise()" },
|
||||
cielab_to_rgb: { minArgs: 1, maxArgs: 3, snippet: "cielab_to_rgb()" },
|
||||
clamp: { minArgs: 3, maxArgs: 3, snippet: "clamp()" },
|
||||
cnt: { minArgs: 1, maxArgs: 1, snippet: "cnt()" },
|
||||
concat: { minArgs: 2, maxArgs: null, snippet: "concat()" },
|
||||
concatenate: { minArgs: 2, maxArgs: null, snippet: "concatenate()" },
|
||||
conv: { minArgs: 2, maxArgs: null, snippet: "conv()" },
|
||||
convolution: { minArgs: 2, maxArgs: null, snippet: "convolution()" },
|
||||
corr: { minArgs: 2, maxArgs: 2, snippet: "corr()" },
|
||||
correlation: { minArgs: 2, maxArgs: 2, snippet: "correlation()" },
|
||||
cos: { minArgs: 1, maxArgs: 1, snippet: "cos()" },
|
||||
cosh: { minArgs: 1, maxArgs: 1, snippet: "cosh()" },
|
||||
cosine_similarity: { minArgs: 2, maxArgs: 2, snippet: "cosine_similarity()" },
|
||||
cossim: { minArgs: 2, maxArgs: 2, snippet: "cossim()" },
|
||||
count: { minArgs: 1, maxArgs: 1, snippet: "count()" },
|
||||
cov: { minArgs: 2, maxArgs: 2, snippet: "cov()" },
|
||||
crop: { minArgs: 3, maxArgs: 3, snippet: "crop()" },
|
||||
cross: { minArgs: 2, maxArgs: 2, snippet: "cross()" },
|
||||
cubic: { minArgs: 3, maxArgs: 3, snippet: "cubic()" },
|
||||
cubic_ease: { minArgs: 3, maxArgs: 3, snippet: "cubic_ease()" },
|
||||
cumprod: { minArgs: 1, maxArgs: 1, snippet: "cumprod()" },
|
||||
cumsum: { minArgs: 1, maxArgs: 1, snippet: "cumsum()" },
|
||||
dilate: { minArgs: 1, maxArgs: 2, snippet: "dilate()" },
|
||||
dist: { minArgs: 4, maxArgs: 4, snippet: "dist()" },
|
||||
distance: { minArgs: 4, maxArgs: 4, snippet: "distance()" },
|
||||
domain_warp: { minArgs: 4, maxArgs: 8, snippet: "domain_warp()" },
|
||||
domain_warp_noise: { minArgs: 4, maxArgs: 8, snippet: "domain_warp_noise()" },
|
||||
dot: { minArgs: 2, maxArgs: 2, snippet: "dot()" },
|
||||
edge: { minArgs: 1, maxArgs: 2, snippet: "edge()" },
|
||||
elastic: { minArgs: 3, maxArgs: 3, snippet: "elastic()" },
|
||||
elastic_ease: { minArgs: 3, maxArgs: 3, snippet: "elastic_ease()" },
|
||||
entropy: { minArgs: 1, maxArgs: 1, snippet: "entropy()" },
|
||||
erf: { minArgs: 1, maxArgs: 1, snippet: "erf()" },
|
||||
erfinv: { minArgs: 1, maxArgs: 1, snippet: "erfinv()" },
|
||||
erode: { minArgs: 1, maxArgs: 2, snippet: "erode()" },
|
||||
exp: { minArgs: 1, maxArgs: 1, snippet: "exp()" },
|
||||
ezconv: { minArgs: 2, maxArgs: null, snippet: "ezconv()" },
|
||||
ezconvolution: { minArgs: 2, maxArgs: null, snippet: "ezconvolution()" },
|
||||
fft: { minArgs: 1, maxArgs: 1, snippet: "fft()" },
|
||||
find: { minArgs: 2, maxArgs: 2, snippet: "find()" },
|
||||
flatten: { minArgs: 1, maxArgs: 1, snippet: "flatten()" },
|
||||
flip: { minArgs: 2, maxArgs: 2, snippet: "flip()" },
|
||||
float: { minArgs: 1, maxArgs: 1, snippet: "float()" },
|
||||
floor: { minArgs: 1, maxArgs: 1, snippet: "floor()" },
|
||||
flow_ang: { minArgs: 1, maxArgs: 1, snippet: "flow_ang()" },
|
||||
flow_angle: { minArgs: 1, maxArgs: 1, snippet: "flow_angle()" },
|
||||
flow_apply: { minArgs: 2, maxArgs: 2, snippet: "flow_apply()" },
|
||||
flow_mag: { minArgs: 1, maxArgs: 1, snippet: "flow_mag()" },
|
||||
flow_magnitude: { minArgs: 1, maxArgs: 1, snippet: "flow_magnitude()" },
|
||||
flow_to_image: { minArgs: 1, maxArgs: 1, snippet: "flow_to_image()" },
|
||||
fract: { minArgs: 1, maxArgs: 1, snippet: "fract()" },
|
||||
gamma: { minArgs: 1, maxArgs: 1, snippet: "gamma()" },
|
||||
gaussian: { minArgs: 2, maxArgs: 3, snippet: "gaussian()" },
|
||||
gelu: { minArgs: 1, maxArgs: 1, snippet: "gelu()" },
|
||||
get_value: { minArgs: 2, maxArgs: 2, snippet: "get_value()" },
|
||||
hist: { minArgs: 4, maxArgs: 4, snippet: "hist()" },
|
||||
histogram: { minArgs: 4, maxArgs: 4, snippet: "histogram()" },
|
||||
hsv_to_rgb: { minArgs: 1, maxArgs: 4, snippet: "hsv_to_rgb()" },
|
||||
ifft: { minArgs: 1, maxArgs: 2, snippet: "ifft()" },
|
||||
int: { minArgs: 1, maxArgs: 1, snippet: "int()" },
|
||||
int_to_rgb: { minArgs: 1, maxArgs: 1, snippet: "int_to_rgb()" },
|
||||
interpolate_area: { minArgs: 2, maxArgs: 2, snippet: "interpolate_area()" },
|
||||
interpolate_linear: { minArgs: 2, maxArgs: 2, snippet: "interpolate_linear()" },
|
||||
interpolate_nearest: { minArgs: 2, maxArgs: 2, snippet: "interpolate_nearest()" },
|
||||
interpolate_nearest_exact: { minArgs: 2, maxArgs: 2, snippet: "interpolate_nearest_exact()" },
|
||||
join: { minArgs: 1, maxArgs: 2, snippet: "join()" },
|
||||
length: { minArgs: 1, maxArgs: 1, snippet: "length()" },
|
||||
lerp: { minArgs: 3, maxArgs: 3, snippet: "lerp()" },
|
||||
linspace: { minArgs: 3, maxArgs: 3, snippet: "linspace()" },
|
||||
ln: { minArgs: 1, maxArgs: 1, snippet: "ln()" },
|
||||
log: { minArgs: 1, maxArgs: 1, snippet: "log()" },
|
||||
logspace: { minArgs: 4, maxArgs: 4, snippet: "logspace()" },
|
||||
lower: { minArgs: 1, maxArgs: 1, snippet: "lower()" },
|
||||
map: { minArgs: 2, maxArgs: null, snippet: "map()" },
|
||||
matmul: { minArgs: 2, maxArgs: 2, snippet: "matmul()" },
|
||||
mean: { minArgs: 1, maxArgs: 1, snippet: "mean()" },
|
||||
median: { minArgs: 1, maxArgs: 1, snippet: "median()" },
|
||||
mode: { minArgs: 1, maxArgs: 1, snippet: "mode()" },
|
||||
moment: { minArgs: 3, maxArgs: 3, snippet: "moment()" },
|
||||
morph_close: { minArgs: 1, maxArgs: 2, snippet: "morph_close()" },
|
||||
morph_open: { minArgs: 1, maxArgs: 2, snippet: "morph_open()" },
|
||||
motion_mask: { minArgs: 1, maxArgs: 1, snippet: "motion_mask()" },
|
||||
nan_to_num: { minArgs: 4, maxArgs: 4, snippet: "nan_to_num()" },
|
||||
noise: { minArgs: 1, maxArgs: 2, snippet: "noise()" },
|
||||
now: { minArgs: 0, maxArgs: 0, snippet: "now()" },
|
||||
nvl: { minArgs: 4, maxArgs: 4, snippet: "nvl()" },
|
||||
oklab_to_rgb: { minArgs: 1, maxArgs: 3, snippet: "oklab_to_rgb()" },
|
||||
overlay: { minArgs: 3, maxArgs: 4, snippet: "overlay()" },
|
||||
pad: { minArgs: 2, maxArgs: 2, snippet: "pad()" },
|
||||
percentile: { minArgs: 2, maxArgs: 2, snippet: "percentile()" },
|
||||
perlin: { minArgs: 2, maxArgs: 5, snippet: "perlin()" },
|
||||
perlin_noise: { minArgs: 2, maxArgs: 5, snippet: "perlin_noise()" },
|
||||
perm: { minArgs: 2, maxArgs: 2, snippet: "perm()" },
|
||||
permute: { minArgs: 2, maxArgs: 2, snippet: "permute()" },
|
||||
pinv: { minArgs: 1, maxArgs: 1, snippet: "pinv()" },
|
||||
plasma: { minArgs: 2, maxArgs: 5, snippet: "plasma()" },
|
||||
plasma_noise: { minArgs: 2, maxArgs: 5, snippet: "plasma_noise()" },
|
||||
popcnt: { minArgs: 1, maxArgs: 1, snippet: "popcnt()" },
|
||||
popcount: { minArgs: 1, maxArgs: 1, snippet: "popcount()" },
|
||||
pow: { minArgs: 2, maxArgs: 2, snippet: "pow()" },
|
||||
prcnt: { minArgs: 2, maxArgs: 2, snippet: "prcnt()" },
|
||||
print: { minArgs: 1, maxArgs: 1, snippet: "print()" },
|
||||
print_shape: { minArgs: 1, maxArgs: 1, snippet: "print_shape()" },
|
||||
pshp: { minArgs: 1, maxArgs: 1, snippet: "pshp()" },
|
||||
quantile: { minArgs: 2, maxArgs: 2, snippet: "quantile()" },
|
||||
quartil: { minArgs: 2, maxArgs: 2, snippet: "quartil()" },
|
||||
quartile: { minArgs: 2, maxArgs: 2, snippet: "quartile()" },
|
||||
rand: { minArgs: 1, maxArgs: 2, snippet: "rand()" },
|
||||
randb: { minArgs: 2, maxArgs: 3, snippet: "randb()" },
|
||||
randbeta: { minArgs: 3, maxArgs: 4, snippet: "randbeta()" },
|
||||
randc: { minArgs: 3, maxArgs: 4, snippet: "randc()" },
|
||||
rande: { minArgs: 2, maxArgs: 3, snippet: "rande()" },
|
||||
randg: { minArgs: 3, maxArgs: 4, snippet: "randg()" },
|
||||
randgumbel: { minArgs: 3, maxArgs: 4, snippet: "randgumbel()" },
|
||||
randchi2: { minArgs: 2, maxArgs: 3, snippet: "randchi2()" },
|
||||
randl: { minArgs: 3, maxArgs: 4, snippet: "randl()" },
|
||||
randln: { minArgs: 3, maxArgs: 4, snippet: "randln()" },
|
||||
randn: { minArgs: 1, maxArgs: 2, snippet: "randn()" },
|
||||
random_bernoulli: { minArgs: 2, maxArgs: 3, snippet: "random_bernoulli()" },
|
||||
random_beta: { minArgs: 3, maxArgs: 4, snippet: "random_beta()" },
|
||||
random_cauchy: { minArgs: 3, maxArgs: 4, snippet: "random_cauchy()" },
|
||||
random_exponential: { minArgs: 2, maxArgs: 3, snippet: "random_exponential()" },
|
||||
random_gamma: { minArgs: 3, maxArgs: 4, snippet: "random_gamma()" },
|
||||
random_gumbel: { minArgs: 3, maxArgs: 4, snippet: "random_gumbel()" },
|
||||
random_chi2: { minArgs: 2, maxArgs: 3, snippet: "random_chi2()" },
|
||||
random_laplace: { minArgs: 3, maxArgs: 4, snippet: "random_laplace()" },
|
||||
random_log_normal: { minArgs: 3, maxArgs: 4, snippet: "random_log_normal()" },
|
||||
random_normal: { minArgs: 1, maxArgs: 2, snippet: "random_normal()" },
|
||||
random_poisson: { minArgs: 2, maxArgs: 3, snippet: "random_poisson()" },
|
||||
random_studentt: { minArgs: 2, maxArgs: 3, snippet: "random_studentt()" },
|
||||
random_uniform: { minArgs: 1, maxArgs: 2, snippet: "random_uniform()" },
|
||||
random_weibull: { minArgs: 3, maxArgs: 4, snippet: "random_weibull()" },
|
||||
randp: { minArgs: 2, maxArgs: 3, snippet: "randp()" },
|
||||
randt: { minArgs: 2, maxArgs: 3, snippet: "randt()" },
|
||||
randu: { minArgs: 1, maxArgs: 2, snippet: "randu()" },
|
||||
randw: { minArgs: 3, maxArgs: 4, snippet: "randw()" },
|
||||
range: { minArgs: 3, maxArgs: 3, snippet: "range()" },
|
||||
relu: { minArgs: 1, maxArgs: null, snippet: "relu()" },
|
||||
remap: { minArgs: 5, maxArgs: 5, snippet: "remap()" },
|
||||
replace: { minArgs: 3, maxArgs: 3, snippet: "replace()" },
|
||||
reshape: { minArgs: 2, maxArgs: 2, snippet: "reshape()" },
|
||||
rgb_to_cielab: { minArgs: 1, maxArgs: 3, snippet: "rgb_to_cielab()" },
|
||||
rgb_to_hsv: { minArgs: 1, maxArgs: 4, snippet: "rgb_to_hsv()" },
|
||||
rgb_to_int: { minArgs: 1, maxArgs: 3, snippet: "rgb_to_int()" },
|
||||
rgb_to_oklab: { minArgs: 1, maxArgs: 3, snippet: "rgb_to_oklab()" },
|
||||
ridged: { minArgs: 2, maxArgs: 5, snippet: "ridged()" },
|
||||
ridged_noise: { minArgs: 2, maxArgs: 5, snippet: "ridged_noise()" },
|
||||
rife: { minArgs: 4, maxArgs: 5, snippet: "rife()" },
|
||||
roll: { minArgs: 2, maxArgs: 3, snippet: "roll()" },
|
||||
round: { minArgs: 1, maxArgs: 1, snippet: "round()" },
|
||||
rshp: { minArgs: 2, maxArgs: 2, snippet: "rshp()" },
|
||||
select: { minArgs: 2, maxArgs: 2, snippet: "select()" },
|
||||
shape: { minArgs: 1, maxArgs: 1, snippet: "shape()" },
|
||||
shuffle: { minArgs: 2, maxArgs: 2, snippet: "shuffle()" },
|
||||
sigm: { minArgs: 1, maxArgs: 1, snippet: "sigm()" },
|
||||
sign: { minArgs: 1, maxArgs: 1, snippet: "sign()" },
|
||||
sin: { minArgs: 1, maxArgs: 1, snippet: "sin()" },
|
||||
sine: { minArgs: 3, maxArgs: 3, snippet: "sine()" },
|
||||
sine_ease: { minArgs: 3, maxArgs: 3, snippet: "sine_ease()" },
|
||||
sinh: { minArgs: 1, maxArgs: 1, snippet: "sinh()" },
|
||||
smax: { minArgs: 1, maxArgs: null, snippet: "smax()" },
|
||||
smin: { minArgs: 1, maxArgs: null, snippet: "smin()" },
|
||||
smootherstep: { minArgs: 3, maxArgs: 3, snippet: "smootherstep()" },
|
||||
smoothstep: { minArgs: 3, maxArgs: 3, snippet: "smoothstep()" },
|
||||
snorm: { minArgs: 1, maxArgs: 1, snippet: "snorm()" },
|
||||
softmax: { minArgs: 1, maxArgs: 2, snippet: "softmax()" },
|
||||
softmin: { minArgs: 1, maxArgs: 2, snippet: "softmin()" },
|
||||
softplus: { minArgs: 1, maxArgs: 1, snippet: "softplus()" },
|
||||
sort: { minArgs: 1, maxArgs: 1, snippet: "sort()" },
|
||||
split: { minArgs: 1, maxArgs: 2, snippet: "split()" },
|
||||
sqrt: { minArgs: 1, maxArgs: 1, snippet: "sqrt()" },
|
||||
stack_clear: { minArgs: 1, maxArgs: 1, snippet: "stack_clear()" },
|
||||
stack_get: { minArgs: 1, maxArgs: 1, snippet: "stack_get()" },
|
||||
stack_has: { minArgs: 1, maxArgs: 1, snippet: "stack_has()" },
|
||||
stack_pop: { minArgs: 1, maxArgs: 1, snippet: "stack_pop()" },
|
||||
stack_push: { minArgs: 2, maxArgs: 2, snippet: "stack_push()" },
|
||||
std: { minArgs: 1, maxArgs: 1, snippet: "std()" },
|
||||
step: { minArgs: 2, maxArgs: 2, snippet: "step()" },
|
||||
substr: { minArgs: 2, maxArgs: 3, snippet: "substr()" },
|
||||
substring: { minArgs: 2, maxArgs: 3, snippet: "substring()" },
|
||||
sum: { minArgs: 1, maxArgs: 1, snippet: "sum()" },
|
||||
swap: { minArgs: 4, maxArgs: 4, snippet: "swap()" },
|
||||
tan: { minArgs: 1, maxArgs: 1, snippet: "tan()" },
|
||||
tanh: { minArgs: 1, maxArgs: 1, snippet: "tanh()" },
|
||||
tensor: { minArgs: 2, maxArgs: 3, snippet: "tensor()" },
|
||||
text_image: { minArgs: 3, maxArgs: 9, snippet: "text_image()" },
|
||||
timestamp: { minArgs: 0, maxArgs: 0, snippet: "timestamp()" },
|
||||
tmax: { minArgs: 2, maxArgs: 2, snippet: "tmax()" },
|
||||
tmin: { minArgs: 2, maxArgs: 2, snippet: "tmin()" },
|
||||
tnorm: { minArgs: 1, maxArgs: 1, snippet: "tnorm()" },
|
||||
topk: { minArgs: 2, maxArgs: 2, snippet: "topk()" },
|
||||
topk_ind: { minArgs: 2, maxArgs: 2, snippet: "topk_ind()" },
|
||||
topk_indices: { minArgs: 2, maxArgs: 2, snippet: "topk_indices()" },
|
||||
trim: { minArgs: 1, maxArgs: 1, snippet: "trim()" },
|
||||
turbulence: { minArgs: 2, maxArgs: 5, snippet: "turbulence()" },
|
||||
unique: { minArgs: 1, maxArgs: 1, snippet: "unique()" },
|
||||
upper: { minArgs: 1, maxArgs: 1, snippet: "upper()" },
|
||||
var: { minArgs: 1, maxArgs: 1, snippet: "var()" },
|
||||
voronoi: { minArgs: 2, maxArgs: 5, snippet: "voronoi()" },
|
||||
voronoi_noise: { minArgs: 2, maxArgs: 5, snippet: "voronoi_noise()" },
|
||||
where: { minArgs: 3, maxArgs: 3, snippet: "where()" },
|
||||
worley: { minArgs: 2, maxArgs: 5, snippet: "worley()" },
|
||||
abs: { minArgs: 1, maxArgs: 1, snippet: "abs()", description: "" },
|
||||
acos: { minArgs: 1, maxArgs: 1, snippet: "acos()", description: "" },
|
||||
acosh: { minArgs: 1, maxArgs: 1, snippet: "acosh()", description: "" },
|
||||
all: { minArgs: 1, maxArgs: 1, snippet: "all()", description: "" },
|
||||
angle: { minArgs: 1, maxArgs: 1, snippet: "angle()", description: "" },
|
||||
any: { minArgs: 1, maxArgs: 1, snippet: "any()", description: "" },
|
||||
append: { minArgs: 2, maxArgs: 2, snippet: "append()", description: "" },
|
||||
argmax: { minArgs: 1, maxArgs: 1, snippet: "argmax()", description: "" },
|
||||
argmin: { minArgs: 1, maxArgs: 1, snippet: "argmin()", description: "" },
|
||||
argsort: { minArgs: 1, maxArgs: 2, snippet: "argsort()", description: "" },
|
||||
asin: { minArgs: 1, maxArgs: 1, snippet: "asin()", description: "" },
|
||||
asinh: { minArgs: 1, maxArgs: 1, snippet: "asinh()", description: "" },
|
||||
atan: { minArgs: 1, maxArgs: 1, snippet: "atan()", description: "" },
|
||||
atan2: { minArgs: 2, maxArgs: 2, snippet: "atan2()", description: "" },
|
||||
atanh: { minArgs: 1, maxArgs: 1, snippet: "atanh()", description: "" },
|
||||
band: { minArgs: 2, maxArgs: 2, snippet: "band()", description: "" },
|
||||
batch_shuffle: { minArgs: 2, maxArgs: 2, snippet: "batch_shuffle()", description: "" },
|
||||
bitcount: { minArgs: 1, maxArgs: 1, snippet: "bitcount()", description: "" },
|
||||
bitwise_and: { minArgs: 2, maxArgs: 2, snippet: "bitwise_and()", description: "" },
|
||||
bitwise_not: { minArgs: 1, maxArgs: 1, snippet: "bitwise_not()", description: "" },
|
||||
bitwise_or: { minArgs: 2, maxArgs: 2, snippet: "bitwise_or()", description: "" },
|
||||
bitwise_xor: { minArgs: 2, maxArgs: 2, snippet: "bitwise_xor()", description: "" },
|
||||
blur: { minArgs: 2, maxArgs: 3, snippet: "blur()", description: "" },
|
||||
bnot: { minArgs: 1, maxArgs: 1, snippet: "bnot()", description: "" },
|
||||
bor: { minArgs: 2, maxArgs: 2, snippet: "bor()", description: "" },
|
||||
botk: { minArgs: 2, maxArgs: 2, snippet: "botk()", description: "" },
|
||||
botk_ind: { minArgs: 2, maxArgs: 2, snippet: "botk_ind()", description: "" },
|
||||
botk_indices: { minArgs: 2, maxArgs: 2, snippet: "botk_indices()", description: "" },
|
||||
bxor: { minArgs: 2, maxArgs: 2, snippet: "bxor()", description: "" },
|
||||
cat: { minArgs: 2, maxArgs: null, snippet: "cat()", description: "" },
|
||||
ceil: { minArgs: 1, maxArgs: 1, snippet: "ceil()", description: "" },
|
||||
cellular: { minArgs: 2, maxArgs: 5, snippet: "cellular()", description: "" },
|
||||
cellular_noise: { minArgs: 2, maxArgs: 5, snippet: "cellular_noise()", description: "" },
|
||||
cielab_to_rgb: { minArgs: 1, maxArgs: 3, snippet: "cielab_to_rgb()", description: "" },
|
||||
clamp: { minArgs: 3, maxArgs: 3, snippet: "clamp()", description: "" },
|
||||
cnt: { minArgs: 1, maxArgs: 1, snippet: "cnt()", description: "" },
|
||||
concat: { minArgs: 2, maxArgs: null, snippet: "concat()", description: "" },
|
||||
concatenate: { minArgs: 2, maxArgs: null, snippet: "concatenate()", description: "" },
|
||||
conv: { minArgs: 2, maxArgs: null, snippet: "conv()", description: "" },
|
||||
convolution: { minArgs: 2, maxArgs: null, snippet: "convolution()", description: "" },
|
||||
corr: { minArgs: 2, maxArgs: 2, snippet: "corr()", description: "" },
|
||||
correlation: { minArgs: 2, maxArgs: 2, snippet: "correlation()", description: "" },
|
||||
cos: { minArgs: 1, maxArgs: 1, snippet: "cos()", description: "" },
|
||||
cosh: { minArgs: 1, maxArgs: 1, snippet: "cosh()", description: "" },
|
||||
cosine_similarity: { minArgs: 2, maxArgs: 2, snippet: "cosine_similarity()", description: "" },
|
||||
cossim: { minArgs: 2, maxArgs: 2, snippet: "cossim()", description: "" },
|
||||
count: { minArgs: 1, maxArgs: 1, snippet: "count()", description: "" },
|
||||
cov: { minArgs: 2, maxArgs: 2, snippet: "cov()", description: "" },
|
||||
crop: { minArgs: 3, maxArgs: 3, snippet: "crop()", description: "" },
|
||||
cross: { minArgs: 2, maxArgs: 2, snippet: "cross()", description: "" },
|
||||
cubic: { minArgs: 3, maxArgs: 3, snippet: "cubic()", description: "" },
|
||||
cubic_ease: { minArgs: 3, maxArgs: 3, snippet: "cubic_ease()", description: "" },
|
||||
cumprod: { minArgs: 1, maxArgs: 1, snippet: "cumprod()", description: "" },
|
||||
cumsum: { minArgs: 1, maxArgs: 1, snippet: "cumsum()", description: "" },
|
||||
dilate: { minArgs: 1, maxArgs: 2, snippet: "dilate()", description: "" },
|
||||
dist: { minArgs: 4, maxArgs: 4, snippet: "dist()", description: "" },
|
||||
distance: { minArgs: 4, maxArgs: 4, snippet: "distance()", description: "" },
|
||||
domain_warp: { minArgs: 4, maxArgs: 8, snippet: "domain_warp()", description: "" },
|
||||
domain_warp_noise: { minArgs: 4, maxArgs: 8, snippet: "domain_warp_noise()", description: "" },
|
||||
dot: { minArgs: 2, maxArgs: 2, snippet: "dot()", description: "" },
|
||||
edge: { minArgs: 1, maxArgs: 2, snippet: "edge()", description: "" },
|
||||
elastic: { minArgs: 3, maxArgs: 3, snippet: "elastic()", description: "" },
|
||||
elastic_ease: { minArgs: 3, maxArgs: 3, snippet: "elastic_ease()", description: "" },
|
||||
entropy: { minArgs: 1, maxArgs: 1, snippet: "entropy()", description: "" },
|
||||
erf: { minArgs: 1, maxArgs: 1, snippet: "erf()", description: "" },
|
||||
erfinv: { minArgs: 1, maxArgs: 1, snippet: "erfinv()", description: "" },
|
||||
erode: { minArgs: 1, maxArgs: 2, snippet: "erode()", description: "" },
|
||||
exp: { minArgs: 1, maxArgs: 1, snippet: "exp()", description: "" },
|
||||
ezconv: { minArgs: 2, maxArgs: null, snippet: "ezconv()", description: "" },
|
||||
ezconvolution: { minArgs: 2, maxArgs: null, snippet: "ezconvolution()", description: "" },
|
||||
fft: { minArgs: 1, maxArgs: 1, snippet: "fft()", description: "" },
|
||||
find: { minArgs: 2, maxArgs: 2, snippet: "find()", description: "" },
|
||||
flatten: { minArgs: 1, maxArgs: 1, snippet: "flatten()", description: "" },
|
||||
flip: { minArgs: 2, maxArgs: 2, snippet: "flip()", description: "" },
|
||||
float: { minArgs: 1, maxArgs: 1, snippet: "float()", description: "" },
|
||||
floor: { minArgs: 1, maxArgs: 1, snippet: "floor()", description: "" },
|
||||
flow_ang: { minArgs: 1, maxArgs: 1, snippet: "flow_ang()", description: "" },
|
||||
flow_angle: { minArgs: 1, maxArgs: 1, snippet: "flow_angle()", description: "" },
|
||||
flow_apply: { minArgs: 2, maxArgs: 2, snippet: "flow_apply()", description: "" },
|
||||
flow_mag: { minArgs: 1, maxArgs: 1, snippet: "flow_mag()", description: "" },
|
||||
flow_magnitude: { minArgs: 1, maxArgs: 1, snippet: "flow_magnitude()", description: "" },
|
||||
flow_to_image: { minArgs: 1, maxArgs: 1, snippet: "flow_to_image()", description: "" },
|
||||
fract: { minArgs: 1, maxArgs: 1, snippet: "fract()", description: "" },
|
||||
gamma: { minArgs: 1, maxArgs: 1, snippet: "gamma()", description: "" },
|
||||
gaussian: { minArgs: 2, maxArgs: 3, snippet: "gaussian()", description: "" },
|
||||
gelu: { minArgs: 1, maxArgs: 1, snippet: "gelu()", description: "" },
|
||||
get_value: { minArgs: 2, maxArgs: 2, snippet: "get_value()", description: "" },
|
||||
hist: { minArgs: 4, maxArgs: 4, snippet: "hist()", description: "" },
|
||||
histogram: { minArgs: 4, maxArgs: 4, snippet: "histogram()", description: "" },
|
||||
hsv_to_rgb: { minArgs: 1, maxArgs: 4, snippet: "hsv_to_rgb()", description: "" },
|
||||
ifft: { minArgs: 1, maxArgs: 2, snippet: "ifft()", description: "" },
|
||||
int: { minArgs: 1, maxArgs: 1, snippet: "int()", description: "" },
|
||||
int_to_rgb: { minArgs: 1, maxArgs: 1, snippet: "int_to_rgb()", description: "" },
|
||||
interpolate_area: { minArgs: 2, maxArgs: 2, snippet: "interpolate_area()", description: "" },
|
||||
interpolate_linear: { minArgs: 2, maxArgs: 2, snippet: "interpolate_linear()", description: "" },
|
||||
interpolate_nearest: { minArgs: 2, maxArgs: 2, snippet: "interpolate_nearest()", description: "" },
|
||||
interpolate_nearest_exact: { minArgs: 2, maxArgs: 2, snippet: "interpolate_nearest_exact()", description: "" },
|
||||
join: { minArgs: 1, maxArgs: 2, snippet: "join()", description: "" },
|
||||
length: { minArgs: 1, maxArgs: 1, snippet: "length()", description: "" },
|
||||
lerp: { minArgs: 3, maxArgs: 3, snippet: "lerp()", description: "" },
|
||||
linspace: { minArgs: 3, maxArgs: 3, snippet: "linspace()", description: "" },
|
||||
ln: { minArgs: 1, maxArgs: 1, snippet: "ln()", description: "" },
|
||||
log: { minArgs: 1, maxArgs: 1, snippet: "log()", description: "" },
|
||||
logspace: { minArgs: 4, maxArgs: 4, snippet: "logspace()", description: "" },
|
||||
lower: { minArgs: 1, maxArgs: 1, snippet: "lower()", description: "" },
|
||||
map: { minArgs: 2, maxArgs: null, snippet: "map()", description: "" },
|
||||
matmul: { minArgs: 2, maxArgs: 2, snippet: "matmul()", description: "" },
|
||||
mean: { minArgs: 1, maxArgs: 1, snippet: "mean()", description: "" },
|
||||
median: { minArgs: 1, maxArgs: 1, snippet: "median()", description: "" },
|
||||
mode: { minArgs: 1, maxArgs: 1, snippet: "mode()", description: "" },
|
||||
moment: { minArgs: 3, maxArgs: 3, snippet: "moment()", description: "" },
|
||||
morph_close: { minArgs: 1, maxArgs: 2, snippet: "morph_close()", description: "" },
|
||||
morph_open: { minArgs: 1, maxArgs: 2, snippet: "morph_open()", description: "" },
|
||||
motion_mask: { minArgs: 1, maxArgs: 1, snippet: "motion_mask()", description: "" },
|
||||
nan_to_num: { minArgs: 4, maxArgs: 4, snippet: "nan_to_num()", description: "" },
|
||||
noise: { minArgs: 1, maxArgs: 2, snippet: "noise()", description: "" },
|
||||
now: { minArgs: 0, maxArgs: 0, snippet: "now()", description: "" },
|
||||
nvl: { minArgs: 4, maxArgs: 4, snippet: "nvl()", description: "" },
|
||||
oklab_to_rgb: { minArgs: 1, maxArgs: 3, snippet: "oklab_to_rgb()", description: "" },
|
||||
overlay: { minArgs: 3, maxArgs: 4, snippet: "overlay()", description: "" },
|
||||
pad: { minArgs: 2, maxArgs: 2, snippet: "pad()", description: "" },
|
||||
percentile: { minArgs: 2, maxArgs: 2, snippet: "percentile()", description: "" },
|
||||
perlin: { minArgs: 2, maxArgs: 5, snippet: "perlin()", description: "" },
|
||||
perlin_noise: { minArgs: 2, maxArgs: 5, snippet: "perlin_noise()", description: "" },
|
||||
perm: { minArgs: 2, maxArgs: 2, snippet: "perm()", description: "" },
|
||||
permute: { minArgs: 2, maxArgs: 2, snippet: "permute()", description: "" },
|
||||
pinv: { minArgs: 1, maxArgs: 1, snippet: "pinv()", description: "" },
|
||||
plasma: { minArgs: 2, maxArgs: 5, snippet: "plasma()", description: "" },
|
||||
plasma_noise: { minArgs: 2, maxArgs: 5, snippet: "plasma_noise()", description: "" },
|
||||
popcnt: { minArgs: 1, maxArgs: 1, snippet: "popcnt()", description: "" },
|
||||
popcount: { minArgs: 1, maxArgs: 1, snippet: "popcount()", description: "" },
|
||||
pow: { minArgs: 2, maxArgs: 2, snippet: "pow()", description: "" },
|
||||
prcnt: { minArgs: 2, maxArgs: 2, snippet: "prcnt()", description: "" },
|
||||
print: { minArgs: 1, maxArgs: 1, snippet: "print()", description: "" },
|
||||
print_shape: { minArgs: 1, maxArgs: 1, snippet: "print_shape()", description: "" },
|
||||
pshp: { minArgs: 1, maxArgs: 1, snippet: "pshp()", description: "" },
|
||||
quantile: { minArgs: 2, maxArgs: 2, snippet: "quantile()", description: "" },
|
||||
quartil: { minArgs: 2, maxArgs: 2, snippet: "quartil()", description: "" },
|
||||
quartile: { minArgs: 2, maxArgs: 2, snippet: "quartile()", description: "" },
|
||||
rand: { minArgs: 1, maxArgs: 2, snippet: "rand()", description: "" },
|
||||
randb: { minArgs: 2, maxArgs: 3, snippet: "randb()", description: "" },
|
||||
randbeta: { minArgs: 3, maxArgs: 4, snippet: "randbeta()", description: "" },
|
||||
randc: { minArgs: 3, maxArgs: 4, snippet: "randc()", description: "" },
|
||||
rande: { minArgs: 2, maxArgs: 3, snippet: "rande()", description: "" },
|
||||
randg: { minArgs: 3, maxArgs: 4, snippet: "randg()", description: "" },
|
||||
randgumbel: { minArgs: 3, maxArgs: 4, snippet: "randgumbel()", description: "" },
|
||||
randchi2: { minArgs: 2, maxArgs: 3, snippet: "randchi2()", description: "" },
|
||||
randl: { minArgs: 3, maxArgs: 4, snippet: "randl()", description: "" },
|
||||
randln: { minArgs: 3, maxArgs: 4, snippet: "randln()", description: "" },
|
||||
randn: { minArgs: 1, maxArgs: 2, snippet: "randn()", description: "" },
|
||||
random_bernoulli: { minArgs: 2, maxArgs: 3, snippet: "random_bernoulli()", description: "" },
|
||||
random_beta: { minArgs: 3, maxArgs: 4, snippet: "random_beta()", description: "" },
|
||||
random_cauchy: { minArgs: 3, maxArgs: 4, snippet: "random_cauchy()", description: "" },
|
||||
random_exponential: { minArgs: 2, maxArgs: 3, snippet: "random_exponential()", description: "" },
|
||||
random_gamma: { minArgs: 3, maxArgs: 4, snippet: "random_gamma()", description: "" },
|
||||
random_gumbel: { minArgs: 3, maxArgs: 4, snippet: "random_gumbel()", description: "" },
|
||||
random_chi2: { minArgs: 2, maxArgs: 3, snippet: "random_chi2()", description: "" },
|
||||
random_laplace: { minArgs: 3, maxArgs: 4, snippet: "random_laplace()", description: "" },
|
||||
random_log_normal: { minArgs: 3, maxArgs: 4, snippet: "random_log_normal()", description: "" },
|
||||
random_normal: { minArgs: 1, maxArgs: 2, snippet: "random_normal()", description: "" },
|
||||
random_poisson: { minArgs: 2, maxArgs: 3, snippet: "random_poisson()", description: "" },
|
||||
random_studentt: { minArgs: 2, maxArgs: 3, snippet: "random_studentt()", description: "" },
|
||||
random_uniform: { minArgs: 1, maxArgs: 2, snippet: "random_uniform()", description: "" },
|
||||
random_weibull: { minArgs: 3, maxArgs: 4, snippet: "random_weibull()", description: "" },
|
||||
randp: { minArgs: 2, maxArgs: 3, snippet: "randp()", description: "aaa" },
|
||||
randt: { minArgs: 2, maxArgs: 3, snippet: "randt()", description: "" },
|
||||
randu: { minArgs: 1, maxArgs: 2, snippet: "randu()", description: "" },
|
||||
randw: { minArgs: 3, maxArgs: 4, snippet: "randw()", description: "" },
|
||||
range: { minArgs: 3, maxArgs: 3, snippet: "range()", description: "" },
|
||||
relu: { minArgs: 1, maxArgs: null, snippet: "relu()", description: "" },
|
||||
remap: { minArgs: 5, maxArgs: 5, snippet: "remap()", description: "" },
|
||||
replace: { minArgs: 3, maxArgs: 3, snippet: "replace()", description: "" },
|
||||
reshape: { minArgs: 2, maxArgs: 2, snippet: "reshape()", description: "" },
|
||||
rgb_to_cielab: { minArgs: 1, maxArgs: 3, snippet: "rgb_to_cielab()", description: "" },
|
||||
rgb_to_hsv: { minArgs: 1, maxArgs: 4, snippet: "rgb_to_hsv()", description: "" },
|
||||
rgb_to_int: { minArgs: 1, maxArgs: 3, snippet: "rgb_to_int()", description: "" },
|
||||
rgb_to_oklab: { minArgs: 1, maxArgs: 3, snippet: "rgb_to_oklab()", description: "" },
|
||||
ridged: { minArgs: 2, maxArgs: 5, snippet: "ridged()", description: "" },
|
||||
ridged_noise: { minArgs: 2, maxArgs: 5, snippet: "ridged_noise()", description: "" },
|
||||
rife: { minArgs: 4, maxArgs: 5, snippet: "rife()", description: "" },
|
||||
roll: { minArgs: 2, maxArgs: 3, snippet: "roll()", description: "" },
|
||||
round: { minArgs: 1, maxArgs: 1, snippet: "round()", description: "" },
|
||||
rshp: { minArgs: 2, maxArgs: 2, snippet: "rshp()", description: "" },
|
||||
select: { minArgs: 2, maxArgs: 2, snippet: "select()", description: "" },
|
||||
shape: { minArgs: 1, maxArgs: 1, snippet: "shape()", description: "" },
|
||||
shuffle: { minArgs: 2, maxArgs: 2, snippet: "shuffle()", description: "" },
|
||||
sigm: { minArgs: 1, maxArgs: 1, snippet: "sigm()", description: "" },
|
||||
sign: { minArgs: 1, maxArgs: 1, snippet: "sign()", description: "" },
|
||||
sin: { minArgs: 1, maxArgs: 1, snippet: "sin()", description: "" },
|
||||
sine: { minArgs: 3, maxArgs: 3, snippet: "sine()", description: "" },
|
||||
sine_ease: { minArgs: 3, maxArgs: 3, snippet: "sine_ease()", description: "" },
|
||||
sinh: { minArgs: 1, maxArgs: 1, snippet: "sinh()", description: "" },
|
||||
smax: { minArgs: 1, maxArgs: null, snippet: "smax()", description: "" },
|
||||
smin: { minArgs: 1, maxArgs: null, snippet: "smin()", description: "" },
|
||||
smootherstep: { minArgs: 3, maxArgs: 3, snippet: "smootherstep()", description: "" },
|
||||
smoothstep: { minArgs: 3, maxArgs: 3, snippet: "smoothstep()", description: "" },
|
||||
snorm: { minArgs: 1, maxArgs: 1, snippet: "snorm()", description: "" },
|
||||
softmax: { minArgs: 1, maxArgs: 2, snippet: "softmax()", description: "" },
|
||||
softmin: { minArgs: 1, maxArgs: 2, snippet: "softmin()", description: "" },
|
||||
softplus: { minArgs: 1, maxArgs: 1, snippet: "softplus()", description: "" },
|
||||
sort: { minArgs: 1, maxArgs: 1, snippet: "sort()", description: "" },
|
||||
split: { minArgs: 1, maxArgs: 2, snippet: "split()", description: "" },
|
||||
sqrt: { minArgs: 1, maxArgs: 1, snippet: "sqrt()", description: "" },
|
||||
stack_clear: { minArgs: 1, maxArgs: 1, snippet: "stack_clear()", description: "" },
|
||||
stack_get: { minArgs: 1, maxArgs: 1, snippet: "stack_get()", description: "" },
|
||||
stack_has: { minArgs: 1, maxArgs: 1, snippet: "stack_has()", description: "" },
|
||||
stack_pop: { minArgs: 1, maxArgs: 1, snippet: "stack_pop()", description: "" },
|
||||
stack_push: { minArgs: 2, maxArgs: 2, snippet: "stack_push()", description: "" },
|
||||
std: { minArgs: 1, maxArgs: 1, snippet: "std()", description: "" },
|
||||
step: { minArgs: 2, maxArgs: 2, snippet: "step()", description: "" },
|
||||
substr: { minArgs: 2, maxArgs: 3, snippet: "substr()", description: "" },
|
||||
substring: { minArgs: 2, maxArgs: 3, snippet: "substring()", description: "" },
|
||||
sum: { minArgs: 1, maxArgs: 1, snippet: "sum()", description: "" },
|
||||
swap: { minArgs: 4, maxArgs: 4, snippet: "swap()", description: "" },
|
||||
tan: { minArgs: 1, maxArgs: 1, snippet: "tan()", description: "" },
|
||||
tanh: { minArgs: 1, maxArgs: 1, snippet: "tanh()", description: "" },
|
||||
tensor: { minArgs: 2, maxArgs: 3, snippet: "tensor()", description: "" },
|
||||
text_image: { minArgs: 3, maxArgs: 9, snippet: "text_image()", description: "" },
|
||||
timestamp: { minArgs: 0, maxArgs: 0, snippet: "timestamp()", description: "" },
|
||||
tmax: { minArgs: 2, maxArgs: 2, snippet: "tmax()", description: "" },
|
||||
tmin: { minArgs: 2, maxArgs: 2, snippet: "tmin()", description: "" },
|
||||
tnorm: { minArgs: 1, maxArgs: 1, snippet: "tnorm()", description: "" },
|
||||
topk: { minArgs: 2, maxArgs: 2, snippet: "topk()", description: "" },
|
||||
topk_ind: { minArgs: 2, maxArgs: 2, snippet: "topk_ind()", description: "" },
|
||||
topk_indices: { minArgs: 2, maxArgs: 2, snippet: "topk_indices()", description: "" },
|
||||
trim: { minArgs: 1, maxArgs: 1, snippet: "trim()", description: "" },
|
||||
turbulence: { minArgs: 2, maxArgs: 5, snippet: "turbulence()", description: "" },
|
||||
unique: { minArgs: 1, maxArgs: 1, snippet: "unique()", description: "" },
|
||||
upper: { minArgs: 1, maxArgs: 1, snippet: "upper()", description: "" },
|
||||
var: { minArgs: 1, maxArgs: 1, snippet: "var()", description: "" },
|
||||
voronoi: { minArgs: 2, maxArgs: 5, snippet: "voronoi()", description: "" },
|
||||
voronoi_noise: { minArgs: 2, maxArgs: 5, snippet: "voronoi_noise()", description: "" },
|
||||
where: { minArgs: 3, maxArgs: 3, snippet: "where()", description: "" },
|
||||
worley: { minArgs: 2, maxArgs: 5, snippet: "worley()", description: "" },
|
||||
};
|
||||
Reference in New Issue
Block a user