SYMBOL INDEX (840 symbols across 69 files) FILE: .github/stream.mjs function randomItem (line 17) | function randomItem(arr) { function randomItems (line 21) | function randomItems(arr, min = 1, max = 3) { function randomObject (line 27) | function randomObject() { FILE: help.go function usage (line 14) | func usage() string { function help (line 61) | func help(keyMap KeyMap) string { function exit (line 137) | func exit() { function showLetter (line 172) | func showLetter(t time.Time) bool { FILE: internal/complete/complete.go type Reply (line 22) | type Reply struct function Complete (line 42) | func Complete() bool { function doComplete (line 64) | func doComplete(compLine string, compWord string, withDisplay bool) { function globalsComplete (line 189) | func globalsComplete() []Reply { function KeysComplete (line 215) | func KeysComplete(input *jsonx.Node, args []string, compWord string) []R... function join (line 263) | func join(prefix, key string) string { function filterArgs (line 274) | func filterArgs(args []string) []string { function fileComplete (line 291) | func fileComplete(compWord string) []Reply { FILE: internal/complete/complete_test.go function TestKeysComplete (line 9) | func TestKeysComplete(t *testing.T) { function replyValues (line 150) | func replyValues(replies []Reply) []string { function TestKeysComplete_Display (line 158) | func TestKeysComplete_Display(t *testing.T) { function TestKeysComplete_DisplayVsValue (line 177) | func TestKeysComplete_DisplayVsValue(t *testing.T) { FILE: internal/complete/prelude.js function __autocomplete (line 12) | function __autocomplete() { FILE: internal/complete/utils.go function compReply (line 10) | func compReply(reply []Reply, withDisplay bool) { function filterReply (line 22) | func filterReply(reply []Reply, compWord string) []Reply { function isFile (line 32) | func isFile(path string) bool { function dropTail (line 46) | func dropTail(s string) string { function balanceBrackets (line 54) | func balanceBrackets(code string) string { function lastWord (line 77) | func lastWord(line string) string { function writeLog (line 86) | func writeLog(args ...interface{}) { FILE: internal/engine/engine.go function init (line 19) | func init() { type Parser (line 27) | type Parser interface type Options (line 32) | type Options struct function Start (line 39) | func Start(parser Parser, args []string, opts Options) int { function callMain (line 146) | func callMain(main goja.Callable, input goja.Value) (output goja.Value, ... function validateSyntax (line 161) | func validateSyntax(args []string, i int) error { FILE: internal/engine/engine_test.go function TestEngine (line 13) | func TestEngine(t *testing.T) { function TestStart_InvalidJSON (line 67) | func TestStart_InvalidJSON(t *testing.T) { function TestStart_FastPath_InvalidJSON (line 87) | func TestStart_FastPath_InvalidJSON(t *testing.T) { function TestStart_EscapeSequences (line 107) | func TestStart_EscapeSequences(t *testing.T) { function TestStart_EscapeSequences_in_key (line 128) | func TestStart_EscapeSequences_in_key(t *testing.T) { FILE: internal/engine/format_err.go function formatErr (line 12) | func formatErr(args []string, i int, jsCode string) string { function trimLeft (line 79) | func trimLeft(s string, ctx int) string { function trimRight (line 97) | func trimRight(s string, ctx int) string { FILE: internal/engine/fxrc.go function readFxrc (line 10) | func readFxrc() (string, error) { function uniq (line 57) | func uniq(paths []string) []string { FILE: internal/engine/quote.go function Quote (line 9) | func Quote(s string) string { FILE: internal/engine/quote_test.go function TestQuote_BasicASCII (line 12) | func TestQuote_BasicASCII(t *testing.T) { function TestQuote_EscapesSpecialCharacters (line 18) | func TestQuote_EscapesSpecialCharacters(t *testing.T) { function TestQuote_ControlCharactersAndDEL (line 28) | func TestQuote_ControlCharactersAndDEL(t *testing.T) { function TestQuote_BMP_Characters_AsIs (line 64) | func TestQuote_BMP_Characters_AsIs(t *testing.T) { function TestQuote_SurrogatePairs_AsIs (line 71) | func TestQuote_SurrogatePairs_AsIs(t *testing.T) { function TestQuote_InvalidUTF8BytesAreEscaped (line 77) | func TestQuote_InvalidUTF8BytesAreEscaped(t *testing.T) { function TestQuote_JSONRoundTrip_ValidUTF8 (line 86) | func TestQuote_JSONRoundTrip_ValidUTF8(t *testing.T) { FILE: internal/engine/slurp.go function Slurp (line 9) | func Slurp(parser Parser, writeErr func(string)) (Parser, bool) { type slurpParser (line 52) | type slurpParser struct method Parse (line 56) | func (p *slurpParser) Parse() (*jsonx.Node, error) { method Recover (line 65) | func (p *slurpParser) Recover() *jsonx.Node { FILE: internal/engine/stdlib.js function apply (line 21) | function apply(fn, ...args) { function len (line 26) | function len(x) { function uniq (line 33) | function uniq(x) { function sort (line 38) | function sort(x) { function isFalsely (line 43) | function isFalsely(x) { function filter (line 47) | function filter(fn) { function map (line 56) | function map(fn) { function walk (line 65) | function walk(fn) { function sortBy (line 82) | function sortBy(fn) { function sortKeys (line 93) | function sortKeys(x) { function groupBy (line 107) | function groupBy(keyFn) { function chunk (line 119) | function chunk(size) { function zip (line 130) | function zip(...x) { function flatten (line 139) | function flatten(x) { function reverse (line 144) | function reverse(x) { function keys (line 149) | function keys(x) { function values (line 154) | function values(x) { function list (line 159) | function list(x) { function del (line 167) | function del(key) { function exit (line 183) | function exit(code) { function save (line 187) | function save(x) { function toBase64 (line 193) | function toBase64(x) { function fromBase64 (line 197) | function fromBase64(x) { constant YAML (line 201) | const YAML = { FILE: internal/engine/stdlib_test.go function setupVM (line 15) | func setupVM(t *testing.T) *goja.Runtime { function setupVMWithOutput (line 26) | func setupVMWithOutput(t *testing.T) (*goja.Runtime, *[]string) { function TestApply (line 37) | func TestApply(t *testing.T) { function TestLen (line 67) | func TestLen(t *testing.T) { function TestUniq (line 100) | func TestUniq(t *testing.T) { function TestSort (line 131) | func TestSort(t *testing.T) { function TestFilter (line 162) | func TestFilter(t *testing.T) { function TestMap (line 208) | func TestMap(t *testing.T) { function TestWalk (line 233) | func TestWalk(t *testing.T) { function TestSortBy (line 260) | func TestSortBy(t *testing.T) { function TestSortKeys (line 295) | func TestSortKeys(t *testing.T) { function TestGroupBy (line 350) | func TestGroupBy(t *testing.T) { function TestChunk (line 387) | func TestChunk(t *testing.T) { function TestZip (line 426) | func TestZip(t *testing.T) { function TestFlatten (line 464) | func TestFlatten(t *testing.T) { function TestReverse (line 500) | func TestReverse(t *testing.T) { function TestKeys (line 532) | func TestKeys(t *testing.T) { function TestValues (line 575) | func TestValues(t *testing.T) { function TestList (line 618) | func TestList(t *testing.T) { function TestDel (line 644) | func TestDel(t *testing.T) { function TestSkipSymbol (line 682) | func TestSkipSymbol(t *testing.T) { function TestConsoleLog (line 699) | func TestConsoleLog(t *testing.T) { function TestToBase64 (line 725) | func TestToBase64(t *testing.T) { function TestFromBase64 (line 748) | func TestFromBase64(t *testing.T) { function TestYAML (line 781) | func TestYAML(t *testing.T) { function TestIsFalsely (line 822) | func TestIsFalsely(t *testing.T) { function TestChainedOperations (line 851) | func TestChainedOperations(t *testing.T) { function TestEdgeCases (line 896) | func TestEdgeCases(t *testing.T) { function TestBase64RoundTrip (line 960) | func TestBase64RoundTrip(t *testing.T) { function escapeJS (line 981) | func escapeJS(s string) string { function min (line 989) | func min(a, b int) int { function TestExit (line 997) | func TestExit(t *testing.T) { function TestSave (line 1024) | func TestSave(t *testing.T) { function TestSortMutation (line 1042) | func TestSortMutation(t *testing.T) { function TestReverseMutation (line 1058) | func TestReverseMutation(t *testing.T) { function TestDelImmutability (line 1074) | func TestDelImmutability(t *testing.T) { function TestWalkWithNull (line 1099) | func TestWalkWithNull(t *testing.T) { function TestGroupByWithPrototypeKeys (line 1113) | func TestGroupByWithPrototypeKeys(t *testing.T) { function TestChunkEdgeCases (line 1129) | func TestChunkEdgeCases(t *testing.T) { function TestZipEdgeCases (line 1148) | func TestZipEdgeCases(t *testing.T) { function TestFilterWithObjects (line 1171) | func TestFilterWithObjects(t *testing.T) { function TestMapWithObjects (line 1189) | func TestMapWithObjects(t *testing.T) { function TestSortByStability (line 1219) | func TestSortByStability(t *testing.T) { function TestNestedOperations (line 1239) | func TestNestedOperations(t *testing.T) { FILE: internal/engine/stringify.go function Stringify (line 14) | func Stringify(value goja.Value, vm *goja.Runtime, depth int) string { FILE: internal/engine/transpile.go function JS (line 10) | func JS(args []string) string { function Body (line 24) | func Body(args []string, i int) string { function transpile (line 49) | func transpile(code string) string { function fold (line 79) | func fold(s []string) string { FILE: internal/engine/transpile_test.go function TestTranspile (line 7) | func TestTranspile(t *testing.T) { function TestFoldSimple (line 30) | func TestFoldSimple(t *testing.T) { FILE: internal/engine/utils.go function extractErrorMessage (line 22) | func extractErrorMessage(s string) string { function errorToString (line 28) | func errorToString(err error) string { FILE: internal/engine/vm.go type ExitError (line 16) | type ExitError struct function NewVM (line 20) | func NewVM(writeOut func(string)) *goja.Runtime { FILE: internal/fuzzy/algo.go constant whiteChars (line 12) | whiteChars = " \t\n\v\f\r\x85\xA0" type Result (line 14) | type Result struct constant scoreMatch (line 21) | scoreMatch = 16 constant scoreGapStart (line 22) | scoreGapStart = -3 constant scoreGapExtension (line 23) | scoreGapExtension = -1 constant bonusBoundary (line 31) | bonusBoundary = scoreMatch / 2 constant bonusNonWord (line 36) | bonusNonWord = scoreMatch / 2 constant bonusCamel123 (line 41) | bonusCamel123 = bonusBoundary + scoreGapExtension constant bonusConsecutive (line 46) | bonusConsecutive = -(scoreGapStart + scoreGapExtension) constant bonusFirstCharMultiplier (line 53) | bonusFirstCharMultiplier = 2 type charClass (line 72) | type charClass constant charWhite (line 75) | charWhite charClass = iota constant charNonWord (line 76) | charNonWord constant charDelimiter (line 77) | charDelimiter constant charLower (line 78) | charLower constant charUpper (line 79) | charUpper constant charLetter (line 80) | charLetter constant charNumber (line 81) | charNumber function init (line 84) | func init() { function posArray (line 108) | func posArray(withPos bool, len int) *[]int { function alloc16 (line 116) | func alloc16(offset int, slab *Slab, size int) (int, []int16) { function alloc32 (line 124) | func alloc32(offset int, slab *Slab, size int) (int, []int32) { function charClassOfNonAscii (line 132) | func charClassOfNonAscii(char rune) charClass { function charClassOf (line 149) | func charClassOf(char rune) charClass { function bonusFor (line 156) | func bonusFor(prevClass charClass, class charClass) int16 { function normalizeRune (line 186) | func normalizeRune(r rune) rune { function trySkip (line 198) | func trySkip(input *Chars, caseSensitive bool, b byte, from int) int { function isAscii (line 222) | func isAscii(runes []rune) bool { function asciiFuzzyIndex (line 231) | func asciiFuzzyIndex(input *Chars, pattern []rune, caseSensitive bool) (... type Slab (line 272) | type Slab struct constant caseSensitive (line 278) | caseSensitive = false constant normalize (line 279) | normalize = true constant forward (line 280) | forward = true function fuzzyMatch (line 283) | func fuzzyMatch(input *Chars, pattern []rune) (Result, *[]int) { FILE: internal/fuzzy/chars.go constant overflow64 (line 11) | overflow64 uint64 = 0x8080808080808080 constant overflow32 (line 12) | overflow32 uint32 = 0x80808080 type Chars (line 15) | type Chars struct method IsBytes (line 69) | func (chars *Chars) IsBytes() bool { method Bytes (line 73) | func (chars *Chars) Bytes() []byte { method NumLines (line 77) | func (chars *Chars) NumLines(atMost int) (int, bool) { method optionalRunes (line 106) | func (chars *Chars) optionalRunes() []rune { method Get (line 113) | func (chars *Chars) Get(i int) rune { method Length (line 120) | func (chars *Chars) Length() int { method TrimLength (line 128) | func (chars *Chars) TrimLength() uint16 { method LeadingWhitespaces (line 157) | func (chars *Chars) LeadingWhitespaces() int { method TrailingWhitespaces (line 169) | func (chars *Chars) TrailingWhitespaces() int { method TrimTrailingWhitespaces (line 181) | func (chars *Chars) TrimTrailingWhitespaces() { method TrimSuffix (line 186) | func (chars *Chars) TrimSuffix(runes []rune) { method SliceRight (line 203) | func (chars *Chars) SliceRight(last int) { method ToString (line 207) | func (chars *Chars) ToString() string { method ToRunes (line 214) | func (chars *Chars) ToRunes() []rune { method CopyRunes (line 226) | func (chars *Chars) CopyRunes(dest []rune, from int) { method Prepend (line 236) | func (chars *Chars) Prepend(prefix string) { method Lines (line 245) | func (chars *Chars) Lines(multiLine bool, maxLines int, wrapCols int, ... function checkAscii (line 26) | func checkAscii(bytes []byte) (bool, int) { function ToChars (line 47) | func ToChars(bytes []byte) Chars { function RunesToChars (line 65) | func RunesToChars(runes []rune) Chars { FILE: internal/fuzzy/chars_test.go function TestToCharsAscii (line 8) | func TestToCharsAscii(t *testing.T) { function TestCharsLength (line 15) | func TestCharsLength(t *testing.T) { function TestCharsToString (line 22) | func TestCharsToString(t *testing.T) { function TestTrimLength (line 30) | func TestTrimLength(t *testing.T) { function TestCharsLines (line 51) | func TestCharsLines(t *testing.T) { FILE: internal/fuzzy/find.go type Match (line 3) | type Match struct function Find (line 10) | func Find(pattern []rune, array []string) *Match { FILE: internal/fuzzy/fuzzy_test.go function TestFind (line 10) | func TestFind(t *testing.T) { function TestFuzzyMatch (line 94) | func TestFuzzyMatch(t *testing.T) { function TestFuzzyMatchScoring (line 129) | func TestFuzzyMatchScoring(t *testing.T) { function TestNormalizeRune (line 141) | func TestNormalizeRune(t *testing.T) { function TestNormalizeRunes (line 173) | func TestNormalizeRunes(t *testing.T) { function TestCharClass (line 195) | func TestCharClass(t *testing.T) { function TestCharClassOfNonAscii (line 223) | func TestCharClassOfNonAscii(t *testing.T) { function TestBonusFor (line 244) | func TestBonusFor(t *testing.T) { function TestAsUint16 (line 258) | func TestAsUint16(t *testing.T) { function TestStringWidth (line 280) | func TestStringWidth(t *testing.T) { function TestRunesWidth (line 302) | func TestRunesWidth(t *testing.T) { function TestTrySkip (line 359) | func TestTrySkip(t *testing.T) { function TestIsAscii (line 385) | func TestIsAscii(t *testing.T) { function TestAsciiFuzzyIndex (line 407) | func TestAsciiFuzzyIndex(t *testing.T) { FILE: internal/fuzzy/normalize.go function NormalizeRunes (line 479) | func NormalizeRunes(runes []rune) []rune { FILE: internal/fuzzy/utils.go function AsUint16 (line 10) | func AsUint16(val int) uint16 { function StringWidth (line 20) | func StringWidth(s string) int { function RunesWidth (line 25) | func RunesWidth(runes []rune, prefixWidth int, tabstop int, limit int) (... FILE: internal/ident/ident.go function init (line 13) | func init() { FILE: internal/jsonpath/path.go type state (line 9) | type state constant start (line 12) | start state = iota constant unknown (line 13) | unknown constant propOrIndex (line 14) | propOrIndex constant prop (line 15) | prop constant index (line 16) | index constant indexEnd (line 17) | indexEnd constant number (line 18) | number constant doubleQuote (line 19) | doubleQuote constant doubleQuoteEscape (line 20) | doubleQuoteEscape constant singleQuote (line 21) | singleQuote constant singleQuoteEscape (line 22) | singleQuoteEscape function Split (line 25) | func Split(p string) ([]any, bool) { function isProp (line 177) | func isProp(ch rune) bool { function Join (line 183) | func Join(path []any) string { FILE: internal/jsonpath/path_test.go function Test_SplitPath (line 11) | func Test_SplitPath(t *testing.T) { function Test_SplitPath_negative (line 98) | func Test_SplitPath_negative(t *testing.T) { function TestJoin (line 147) | func TestJoin(t *testing.T) { FILE: internal/jsonpath/ref.go function ParseSchemaRef (line 8) | func ParseSchemaRef(ref string) ([]any, bool) { FILE: internal/jsonpath/ref_test.go function TestParseSchemaRef (line 10) | func TestParseSchemaRef(t *testing.T) { FILE: internal/jsonx/delete.go function DeleteNode (line 12) | func DeleteNode(at *Node) (*Node, bool) { FILE: internal/jsonx/delete_test.go function TestDeleteNode_ObjectScenarios (line 11) | func TestDeleteNode_ObjectScenarios(t *testing.T) { function TestDeleteNode_ArrayScenarios (line 45) | func TestDeleteNode_ArrayScenarios(t *testing.T) { function TestDeleteNode_EdgeCases (line 91) | func TestDeleteNode_EdgeCases(t *testing.T) { FILE: internal/jsonx/format_err.go method errorSnippet (line 13) | func (p *JsonParser) errorSnippet(message string) error { method contextBefore (line 38) | func (p *JsonParser) contextBefore(maxWidth int) (s string, width int) { method contextAfter (line 61) | func (p *JsonParser) contextAfter(maxWidth int) (s string, width int) { FILE: internal/jsonx/json.go type JsonParser (line 14) | type JsonParser struct method Parse (line 49) | func (p *JsonParser) Parse() (node *Node, err error) { method Recover (line 66) | func (p *JsonParser) Recover() *Node { method refill (line 110) | func (p *JsonParser) refill() { method next (line 123) | func (p *JsonParser) next() { method back (line 139) | func (p *JsonParser) back() { method set (line 144) | func (p *JsonParser) set(pos int) { method lineNumberPlusPlus (line 149) | func (p *JsonParser) lineNumberPlusPlus() int { method parseValue (line 155) | func (p *JsonParser) parseValue(root bool) *Node { method parseString (line 198) | func (p *JsonParser) parseString() *Node { method scanString (line 207) | func (p *JsonParser) scanString() string { method parseMinus (line 252) | func (p *JsonParser) parseMinus() *Node { method parseNumber (line 270) | func (p *JsonParser) parseNumber(start int) *Node { method parseObject (line 315) | func (p *JsonParser) parseObject() *Node { method parseArray (line 395) | func (p *JsonParser) parseArray() *Node { method parseKeyword (line 457) | func (p *JsonParser) parseKeyword(name string, kind Kind) *Node { method parseNullOrNan (line 479) | func (p *JsonParser) parseNullOrNan() *Node { method parseNan (line 504) | func (p *JsonParser) parseNan(start int) *Node { method parseInfinity (line 527) | func (p *JsonParser) parseInfinity(start int) *Node { method skipWhitespace (line 580) | func (p *JsonParser) skipWhitespace() { method skipComment (line 596) | func (p *JsonParser) skipComment() { function Parse (line 28) | func Parse(b []byte) (*Node, error) { function NewJsonParser (line 37) | func NewJsonParser(rd io.Reader, strict bool) *JsonParser { function isEndOfValue (line 572) | func isEndOfValue(ch byte) bool { function isWhitespace (line 576) | func isWhitespace(ch byte) bool { FILE: internal/jsonx/jsonx_test.go function TestJsonParser_Parse (line 13) | func TestJsonParser_Parse(t *testing.T) { function TestJsonParser_Parse_error (line 55) | func TestJsonParser_Parse_error(t *testing.T) { function TestJsonParser_Parse_strict (line 81) | func TestJsonParser_Parse_strict(t *testing.T) { function TestJsonParser_Recovery (line 112) | func TestJsonParser_Recovery(t *testing.T) { function TestJsonParser_NestedStructureVerification (line 125) | func TestJsonParser_NestedStructureVerification(t *testing.T) { function TestJsonParser_FindByPathWithCollapsedNodes (line 179) | func TestJsonParser_FindByPathWithCollapsedNodes(t *testing.T) { FILE: internal/jsonx/line.go type LineParser (line 10) | type LineParser struct method Parse (line 24) | func (p *LineParser) Parse() (*Node, error) { method Recover (line 51) | func (p *LineParser) Recover() *Node { function NewLineParser (line 16) | func NewLineParser(in io.Reader) *LineParser { FILE: internal/jsonx/node.go type Kind (line 9) | type Kind constant Err (line 12) | Err Kind = iota constant Null (line 13) | Null constant Bool (line 14) | Bool constant Number (line 15) | Number constant String (line 16) | String constant Object (line 17) | Object constant Array (line 18) | Array constant NaN (line 19) | NaN constant Infinity (line 20) | Infinity constant Undefined (line 21) | Undefined type Node (line 24) | type Node struct method Append (line 41) | func (n *Node) Append(child *Node) { method Adjacent (line 55) | func (n *Node) Adjacent(child *Node) { method insertChunk (line 69) | func (n *Node) insertChunk(chunk *Node) { method insertAfter (line 78) | func (n *Node) insertAfter(child *Node) { method dropChunks (line 91) | func (n *Node) dropChunks() { method HasChildren (line 106) | func (n *Node) HasChildren() bool { method Root (line 110) | func (n *Node) Root() *Node { method IsWrap (line 119) | func (n *Node) IsWrap() bool { method IsCollapsed (line 123) | func (n *Node) IsCollapsed() bool { method Collapse (line 127) | func (n *Node) Collapse() *Node { method CollapseRecursively (line 138) | func (n *Node) CollapseRecursively() { method Expand (line 154) | func (n *Node) Expand() { method ExpandRecursively (line 164) | func (n *Node) ExpandRecursively(level, maxLevel int) { method FindByPath (line 182) | func (n *Node) FindByPath(path []any) *Node { method findChildByKey (line 198) | func (n *Node) findChildByKey(key string) *Node { method findChildByIndex (line 226) | func (n *Node) findChildByIndex(index int) *Node { method FindNextNonErr (line 246) | func (n *Node) FindNextNonErr() *Node { method Children (line 254) | func (n *Node) Children() ([]string, []*Node) { method Bottom (line 290) | func (n *Node) Bottom() *Node { method Paths (line 302) | func (n *Node) Paths(paths *[]string, nodes *[]*Node) { method ForEach (line 359) | func (n *Node) ForEach(cb func(*Node)) { FILE: internal/jsonx/node_test.go function TestNode_children (line 11) | func TestNode_children(t *testing.T) { function TestNode_expandRecursively (line 19) | func TestNode_expandRecursively(t *testing.T) { function TestNode_Paths (line 28) | func TestNode_Paths(t *testing.T) { function TestNode_Paths_Collapsed (line 46) | func TestNode_Paths_Collapsed(t *testing.T) { function TestNode_ForEach (line 65) | func TestNode_ForEach(t *testing.T) { function TestNode_ForEach_Empty (line 78) | func TestNode_ForEach_Empty(t *testing.T) { function TestNode_ForEach_SkipsNested (line 89) | func TestNode_ForEach_SkipsNested(t *testing.T) { FILE: internal/jsonx/string.go constant curlyBracketOpen (line 8) | curlyBracketOpen = "{" constant curlyBracketClose (line 9) | curlyBracketClose = "}" constant curlyBracketPair (line 10) | curlyBracketPair = "{}" constant squareBracketOpen (line 11) | squareBracketOpen = "[" constant squareBracketClose (line 12) | squareBracketClose = "]" constant squareBracketPair (line 13) | squareBracketPair = "[]" method String (line 16) | func (n *Node) String() string { FILE: internal/jsonx/to_value.go method ToValue (line 14) | func (n *Node) ToValue(vm *goja.Runtime) goja.Value { constant maxSafeInt (line 117) | maxSafeInt = 1<<53 - 1 constant minSafeInt (line 120) | minSafeInt = -maxSafeInt function ParseNumber (line 123) | func ParseNumber(s string) (interface{}, bool) { FILE: internal/jsonx/wrap.go function DropWrapAll (line 11) | func DropWrapAll(n *Node) { function Wrap (line 24) | func Wrap(n *Node, termWidth int) { function doWrap (line 56) | func doWrap(n *Node, termWidth int) ([]string, int) { FILE: internal/pretty/inlineable.go function isInlineable (line 7) | func isInlineable(n *jsonx.Node) bool { function isSingleElementArray (line 19) | func isSingleElementArray(n *jsonx.Node) bool { function isSimpleNumbersArray (line 34) | func isSimpleNumbersArray(n *jsonx.Node) bool { function isSimpleObject (line 49) | func isSimpleObject(n *jsonx.Node) bool { function isNestedArrays (line 109) | func isNestedArrays(n *jsonx.Node) bool { function isArrayOfSimpleObject (line 129) | func isArrayOfSimpleObject(n *jsonx.Node) bool { FILE: internal/pretty/inlineable_test.go function TestIsInlineable (line 14) | func TestIsInlineable(t *testing.T) { function TestIsNestedArrays (line 116) | func TestIsNestedArrays(t *testing.T) { function TestIsArrayOfSimpleObject (line 263) | func TestIsArrayOfSimpleObject(t *testing.T) { FILE: internal/pretty/pretty_print.go function Print (line 13) | func Print(n *jsonx.Node, withInline bool) string { function table (line 44) | func table(out *strings.Builder, n *jsonx.Node) *jsonx.Node { function inline (line 66) | func inline(out *strings.Builder, n *jsonx.Node) *jsonx.Node { function printIdent (line 86) | func printIdent(out *strings.Builder, n *jsonx.Node) { function printKey (line 92) | func printKey(out *strings.Builder, n *jsonx.Node) { function printValue (line 99) | func printValue(out *strings.Builder, n *jsonx.Node) { function next (line 108) | func next(n *jsonx.Node) *jsonx.Node { function afterEnd (line 116) | func afterEnd(n *jsonx.Node) *jsonx.Node { FILE: internal/pretty/pretty_print_test.go function stripEscapeSequences (line 14) | func stripEscapeSequences(s string) string { constant yes (line 20) | yes byte = iota constant no (line 21) | no constant both (line 22) | both function TestPrettyPrint (line 25) | func TestPrettyPrint(t *testing.T) { FILE: internal/shlex/shlex.go type TokenType (line 49) | type TokenType type runeTokenClass (line 52) | type runeTokenClass type lexerState (line 55) | type lexerState type Token (line 58) | type Token struct method Equal (line 66) | func (a *Token) Equal(b *Token) bool { constant spaceRunes (line 78) | spaceRunes = " \t\r\n" constant escapingQuoteRunes (line 79) | escapingQuoteRunes = `"` constant nonEscapingQuoteRunes (line 80) | nonEscapingQuoteRunes = "'" constant escapeRunes (line 81) | escapeRunes = `\` constant commentRunes (line 82) | commentRunes = "#" constant unknownRuneClass (line 87) | unknownRuneClass runeTokenClass = iota constant spaceRuneClass (line 88) | spaceRuneClass constant escapingQuoteRuneClass (line 89) | escapingQuoteRuneClass constant nonEscapingQuoteRuneClass (line 90) | nonEscapingQuoteRuneClass constant escapeRuneClass (line 91) | escapeRuneClass constant commentRuneClass (line 92) | commentRuneClass constant eofRuneClass (line 93) | eofRuneClass constant UnknownToken (line 98) | UnknownToken TokenType = iota constant WordToken (line 99) | WordToken constant SpaceToken (line 100) | SpaceToken constant CommentToken (line 101) | CommentToken constant startState (line 106) | startState lexerState = iota constant inWordState (line 107) | inWordState constant escapingState (line 108) | escapingState constant escapingQuotedState (line 109) | escapingQuotedState constant quotingEscapingState (line 110) | quotingEscapingState constant quotingState (line 111) | quotingState constant commentState (line 112) | commentState type tokenClassifier (line 116) | type tokenClassifier method addRuneClass (line 118) | func (typeMap tokenClassifier) addRuneClass(runes string, tokenType ru... method ClassifyRune (line 136) | func (t tokenClassifier) ClassifyRune(runeVal rune) runeTokenClass { function newDefaultClassifier (line 125) | func newDefaultClassifier() tokenClassifier { type Lexer (line 141) | type Lexer method Next (line 150) | func (l *Lexer) Next() (string, error) { function NewLexer (line 144) | func NewLexer(r io.Reader) *Lexer { type Tokenizer (line 168) | type Tokenizer struct method scanStream (line 184) | func (t *Tokenizer) scanStream() (*Token, error) { method Next (line 392) | func (t *Tokenizer) Next() (*Token, error) { function NewTokenizer (line 174) | func NewTokenizer(r io.Reader) *Tokenizer { function Split (line 397) | func Split(s string) ([]string, error) { function Parse (line 413) | func Parse(s string) string { FILE: internal/shlex/shlex_test.go function TestClassifier (line 32) | func TestClassifier(t *testing.T) { function TestTokenizer (line 47) | func TestTokenizer(t *testing.T) { function TestLexer (line 73) | func TestLexer(t *testing.T) { function TestSplit (line 89) | func TestSplit(t *testing.T) { function TestSplit_unfinished (line 105) | func TestSplit_unfinished(t *testing.T) { FILE: internal/theme/theme.go type Theme (line 16) | type Theme struct type Color (line 33) | type Color function Value (line 35) | func Value(kind jsonx.Kind) Color { function init (line 63) | func init() { function noColor (line 354) | func noColor(s string) string { function toColor (line 358) | func toColor(f func(s ...string) string) Color { function fg (line 364) | func fg(color string) Color { function underlineFg (line 368) | func underlineFg(color string) Color { function boldFg (line 372) | func boldFg(color string) Color { function ThemeTester (line 376) | func ThemeTester() { function ExportThemes (line 419) | func ExportThemes() { FILE: internal/toml/toml.go type jnode (line 15) | type jnode interface type jobject (line 17) | type jobject struct type jfield (line 21) | type jfield struct type jarray (line 26) | type jarray struct function ToJSON (line 30) | func ToJSON(in []byte) ([]byte, error) { function keyParts (line 82) | func keyParts(it unstable.Iterator) []string { function dot (line 89) | func dot(parts []string) string { return strings.Join(parts, ".") } function ensureContainer (line 91) | func ensureContainer(root *jobject, tablePath []string, aotActive map[st... function setNested (line 154) | func setNested(obj *jobject, parts []string, val jnode) { function getField (line 186) | func getField(obj *jobject, key string) (jfield, bool) { function replaceField (line 194) | func replaceField(obj *jobject, key string, val jnode) { function toJ (line 207) | func toJ(v any) jnode { function lookupTyped (line 227) | func lookupTyped(typed any, tablePath, rel []string, aotActive map[strin... function asMap (line 265) | func asMap(x any) (map[string]any, bool) { function writeJSON (line 275) | func writeJSON(w io.Writer, n jnode) error { FILE: internal/toml/toml_test.go function assertJSONBytesEqual (line 12) | func assertJSONBytesEqual(t *testing.T, got []byte, want string) { function assertJSONStructEqual (line 18) | func assertJSONStructEqual(t *testing.T, got []byte, want string) { function TestToJSON_SimpleScalars (line 31) | func TestToJSON_SimpleScalars(t *testing.T) { function TestToJSON_NestedTable (line 41) | func TestToJSON_NestedTable(t *testing.T) { function TestToJSON_DottedKeys (line 50) | func TestToJSON_DottedKeys(t *testing.T) { function TestToJSON_ArraysAndInlineTables (line 59) | func TestToJSON_ArraysAndInlineTables(t *testing.T) { function TestToJSON_ArraysOfTables (line 69) | func TestToJSON_ArraysOfTables(t *testing.T) { function TestToJSON_NestedAOT (line 88) | func TestToJSON_NestedAOT(t *testing.T) { function TestToJSON_MixedTablesAndKeysOrder (line 100) | func TestToJSON_MixedTablesAndKeysOrder(t *testing.T) { function TestToJSON_Datetime (line 117) | func TestToJSON_Datetime(t *testing.T) { FILE: internal/utils/image.go function DrawImage (line 16) | func DrawImage(r io.Reader, width, height int) (string, error) { FILE: internal/utils/life.go function GameOfLife (line 14) | func GameOfLife() { FILE: internal/utils/utils.go function IsHexDigit (line 7) | func IsHexDigit(ch byte) bool { function IsDigit (line 11) | func IsDigit(ch byte) bool { function Contains (line 15) | func Contains(needle int, haystack []int) bool { function Unquote (line 24) | func Unquote(s string) (string, error) { FILE: internal/utils/utils_test.go function TestIsHexDigit (line 9) | func TestIsHexDigit(t *testing.T) { function TestIsDigit (line 37) | func TestIsDigit(t *testing.T) { function TestContains (line 60) | func TestContains(t *testing.T) { function TestUnquote (line 86) | func TestUnquote(t *testing.T) { FILE: keymap.go type KeyMap (line 5) | type KeyMap struct function init (line 45) | func init() { FILE: main.go function init (line 59) | func init() { function main (line 65) | func main() { type model (line 329) | type model struct method Init (line 395) | func (m *model) Init() tea.Cmd { method Update (line 399) | func (m *model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { method handleHelpKey (line 553) | func (m *model) handleHelpKey(msg tea.Msg) (tea.Model, tea.Cmd) { method handleGotoLineKey (line 565) | func (m *model) handleGotoLineKey(msg tea.KeyMsg) (tea.Model, tea.Cmd) { method handleSearchKey (line 585) | func (m *model) handleSearchKey(msg tea.KeyMsg) (tea.Model, tea.Cmd) { method handleGotoSymbolKey (line 607) | func (m *model) handleGotoSymbolKey(msg tea.KeyMsg) (tea.Model, tea.Cm... method handleYankKey (line 636) | func (m *model) handleYankKey(msg tea.KeyMsg) (tea.Model, tea.Cmd) { method handleShowSelectorKey (line 654) | func (m *model) handleShowSelectorKey(msg tea.KeyMsg) (tea.Model, tea.... method handlePendingDelete (line 666) | func (m *model) handlePendingDelete(msg tea.Msg) { method handleKey (line 680) | func (m *model) handleKey(msg tea.KeyMsg) (tea.Model, tea.Cmd) { method up (line 983) | func (m *model) up() { method down (line 997) | func (m *model) down() { method recordHistory (line 1016) | func (m *model) recordHistory() { method scrollToBottom (line 1038) | func (m *model) scrollToBottom() { method visibleLines (line 1048) | func (m *model) visibleLines() int { method scrollIntoView (line 1058) | func (m *model) scrollIntoView() { method scrollBackward (line 1073) | func (m *model) scrollBackward(lines int) { method scrollForward (line 1084) | func (m *model) scrollForward(lines int) { method prettyKey (line 1098) | func (m *model) prettyKey(node *Node, selected bool) []byte { method prettyPrint (line 1123) | func (m *model) prettyPrint(node *Node, isSelected, isRef bool) string { method viewWidth (line 1168) | func (m *model) viewWidth() int { method viewHeight (line 1177) | func (m *model) viewHeight() int { method cursorPointsTo (line 1196) | func (m *model) cursorPointsTo() (*Node, bool) { method at (line 1201) | func (m *model) at(pos int) *Node { method nodeInsideView (line 1212) | func (m *model) nodeInsideView(n *Node) bool { method selectNodeInView (line 1229) | func (m *model) selectNodeInView(n *Node) { method selectNode (line 1243) | func (m *model) selectNode(n *Node) { method cursorPath (line 1266) | func (m *model) cursorPath() string { method cursorValue (line 1294) | func (m *model) cursorValue() string { method cursorKey (line 1354) | func (m *model) cursorKey() string { method findByPath (line 1370) | func (m *model) findByPath(path []any) *Node { method currentTopNode (line 1375) | func (m *model) currentTopNode() *Node { method createKeysIndex (line 1386) | func (m *model) createKeysIndex() { method dig (line 1405) | func (m *model) dig(v string) *Node { method print (line 1437) | func (m *model) print() tea.Cmd { method open (line 1442) | func (m *model) open() tea.Cmd { method deleteAtCursor (line 1465) | func (m *model) deleteAtCursor() { type location (line 370) | type location struct type nodeMsg (line 375) | type nodeMsg struct type errorMsg (line 379) | type errorMsg struct type eofMsg (line 383) | type eofMsg struct type searchResultMsg (line 385) | type searchResultMsg struct type searchCancelledMsg (line 391) | type searchCancelledMsg struct FILE: main_test.go function init (line 20) | func init() { type options (line 24) | type options struct function prepare (line 29) | func prepare(t *testing.T, opts ...options) *teatest.TestModel { function read (line 64) | func read(t *testing.T, tm *teatest.TestModel) []byte { function TestOutput (line 78) | func TestOutput(t *testing.T) { function TestNavigation (line 87) | func TestNavigation(t *testing.T) { function TestCollapseRecursive (line 99) | func TestCollapseRecursive(t *testing.T) { function TestCollapseRecursiveWithSizes (line 109) | func TestCollapseRecursiveWithSizes(t *testing.T) { FILE: npm/index.js function transform (line 67) | async function transform(json, args, theme) { function transpile (line 106) | function transpile(code) { function run (line 140) | async function run(json, code) { function read (line 327) | async function read(fd = 0) { function isFile (line 355) | function isFile(fs, path) { function sleepSync (line 364) | function sleepSync(ms) { function next (line 397) | function next() { function parseValue (line 411) | function parseValue() { function parseString (line 425) | function parseString() { function parseNumber (line 475) | function parseNumber() { function parseObject (line 523) | function parseObject() { function parseArray (line 562) | function parseArray() { function parseKeyword (line 592) | function parseKeyword(name, value) { function skipWhitespace (line 607) | function skipWhitespace() { function skipComment (line 614) | function skipComment() { function isWhitespace (line 640) | function isWhitespace(ch) { function isHexDigit (line 644) | function isHexDigit(ch) { function isDigit (line 648) | function isDigit(ch) { function isInteger (line 652) | function isInteger(value) { function toSafeNumber (line 656) | function toSafeNumber(str) { function expectValue (line 663) | function expectValue(value) { function errorSnippet (line 669) | function errorSnippet(message = `Unexpected character '${lastChar}'`) { function readEOL (line 682) | function readEOL() { function stringify (line 692) | function stringify(value, theme) { function themes (line 740) | function themes(id) { function importFxrc (line 760) | async function importFxrc(path) { function loadFxrc (line 770) | function loadFxrc(os, fs, path, process) { function printUsage (line 801) | function printUsage() { function isCollection (line 815) | function isCollection(node){if(node&&typeof node==="object")switch(node[... function isNode (line 815) | function isNode(node){if(node&&typeof node==="object")switch(node[NODE_T... function visit (line 815) | function visit(node,visitor){const visitor_=initVisitor(visitor);if(isDo... function visit_ (line 815) | function visit_(key,node,visitor,path){const ctrl=callVisitor(key,node,v... function visitAsync (line 815) | async function visitAsync(node,visitor){const visitor_=initVisitor(visit... function visitAsync_ (line 815) | async function visitAsync_(key,node,visitor,path){const ctrl=await callV... function initVisitor (line 815) | function initVisitor(visitor){if(typeof visitor==="object"&&(visitor.Col... function callVisitor (line 815) | function callVisitor(key,node,visitor,path){if(typeof visitor==="functio... function replaceNode (line 815) | function replaceNode(key,path,node){const parent=path[path.length-1];if(... method constructor (line 815) | constructor(yaml,tags){this.docStart=null;this.docEnd=false;this.yaml=Ob... method clone (line 815) | clone(){const copy=new _Directives(this.yaml,this.tags);copy.docStart=th... method atDocument (line 815) | atDocument(){const res=new _Directives(this.yaml,this.tags);switch(this.... method add (line 815) | add(line,onError){if(this.atNextDocument){this.yaml={explicit:_Directive... method tagName (line 815) | tagName(source,onError){if(source==="!")return"!";if(source[0]!=="!"){on... method tagString (line 815) | tagString(tag){for(const[handle,prefix]of Object.entries(this.tags)){if(... method toString (line 815) | toString(doc){const lines=this.yaml.explicit?[`%YAML ${this.yaml.version... function anchorIsValid (line 815) | function anchorIsValid(anchor){if(/[\x00-\x19\s,[\]{}]/.test(anchor)){co... function anchorNames (line 815) | function anchorNames(root){const anchors=new Set;visit(root,{Value(_key,... function findNewAnchor (line 815) | function findNewAnchor(prefix,exclude){for(let i=1;true;++i){const name=... function createNodeAnchors (line 815) | function createNodeAnchors(doc,prefix){const aliasObjects=[];const sourc... function applyReviver (line 815) | function applyReviver(reviver,obj,key,val){if(val&&typeof val==="object"... function toJS (line 815) | function toJS(value,arg,ctx){if(Array.isArray(value))return value.map((v... method constructor (line 815) | constructor(type){Object.defineProperty(this,NODE_TYPE,{value:type})} method clone (line 815) | clone(){const copy=Object.create(Object.getPrototypeOf(this),Object.getO... method toJS (line 815) | toJS(doc,{mapAsMap,maxAliasCount,onAnchor,reviver}={}){if(!isDocument(do... method constructor (line 815) | constructor(source){super(ALIAS);this.source=source;Object.definePropert... method resolve (line 815) | resolve(doc){let found=void 0;visit(doc,{Node:(_key,node)=>{if(node===th... method toJSON (line 815) | toJSON(_arg,ctx){if(!ctx)return{source:this.source};const{anchors,doc,ma... method toString (line 815) | toString(ctx,_onComment,_onChompKeep){const src=`*${this.source}`;if(ctx... function getAliasCount (line 815) | function getAliasCount(doc,node,anchors){if(isAlias(node)){const source=... method constructor (line 815) | constructor(value){super(SCALAR);this.value=value} method toJSON (line 815) | toJSON(arg,ctx){return ctx?.keep?this.value:toJS(this.value,arg,ctx)} method toString (line 815) | toString(){return String(this.value)} function findTagObject (line 815) | function findTagObject(value,tagName,tags){if(tagName){const match=tags.... function createNode (line 815) | function createNode(value,tagName,ctx){if(isDocument(value))value=value.... function collectionFromPath (line 815) | function collectionFromPath(schema4,path,value){let v=value;for(let i=pa... method constructor (line 815) | constructor(type,schema4){super(type);Object.defineProperty(this,"schema... method clone (line 815) | clone(schema4){const copy=Object.create(Object.getPrototypeOf(this),Obje... method addIn (line 815) | addIn(path,value){if(isEmptyPath(path))this.add(value);else{const[key,..... method deleteIn (line 815) | deleteIn(path){const[key,...rest]=path;if(rest.length===0)return this.de... method getIn (line 815) | getIn(path,keepScalar){const[key,...rest]=path;const node=this.get(key,t... method hasAllNullValues (line 815) | hasAllNullValues(allowScalar){return this.items.every(node=>{if(!isPair(... method hasIn (line 815) | hasIn(path){const[key,...rest]=path;if(rest.length===0)return this.has(k... method setIn (line 815) | setIn(path,value){const[key,...rest]=path;if(rest.length===0){this.set(k... function indentComment (line 815) | function indentComment(comment,indent){if(/^\n+$/.test(comment))return c... function foldFlowLines (line 815) | function foldFlowLines(text,indent,mode="flow",{indentAtStart,lineWidth=... function consumeMoreIndentedLines (line 817) | function consumeMoreIndentedLines(text,i){let ch=text[i+1];while(ch===" ... function lineLengthOverLimit (line 817) | function lineLengthOverLimit(str,lineWidth,indentLength){if(!lineWidth||... function doubleQuotedString (line 817) | function doubleQuotedString(value,ctx){const json=JSON.stringify(value);... function singleQuotedString (line 817) | function singleQuotedString(value,ctx){if(ctx.options.singleQuote===fals... function quotedString (line 818) | function quotedString(value,ctx){const{singleQuote}=ctx.options;let qs;i... function blockString (line 818) | function blockString({comment,type,value},ctx,onComment,onChompKeep){con... function plainString (line 820) | function plainString(item,ctx,onComment,onChompKeep){const{type,value}=i... function stringifyString (line 821) | function stringifyString(item,ctx,onComment,onChompKeep){const{implicitK... function createStringifyContext (line 821) | function createStringifyContext(doc,options){const opt=Object.assign({bl... function getTagObject (line 821) | function getTagObject(tags,item){if(item.tag){const match=tags.filter(t=... function stringifyProps (line 821) | function stringifyProps(node,tagObj,{anchors,doc}){if(!doc.directives)re... function stringify (line 821) | function stringify(item,ctx,onComment,onChompKeep){if(isPair(item))retur... function stringifyPair (line 822) | function stringifyPair({key,value},ctx,onComment,onChompKeep){const{allN... function warn (line 826) | function warn(logLevel,warning){if(logLevel==="debug"||logLevel==="warn"... function addPairToJSMap (line 826) | function addPairToJSMap(ctx,map2,{key,value}){if(ctx?.doc.schema.merge&&... function mergeToJSMap (line 826) | function mergeToJSMap(ctx,map2,value){const source=ctx&&isAlias(value)?v... function stringifyKey (line 826) | function stringifyKey(key,jsKey,ctx){if(jsKey===null)return"";if(typeof ... function createPair (line 826) | function createPair(key,value,ctx){const k=createNode(key,void 0,ctx);co... method constructor (line 826) | constructor(key,value=null){Object.defineProperty(this,NODE_TYPE,{value:... method clone (line 826) | clone(schema4){let{key,value}=this;if(isNode(key))key=key.clone(schema4)... method toJSON (line 826) | toJSON(_,ctx){const pair=ctx?.mapAsMap?new Map:{};return addPairToJSMap(... method toString (line 826) | toString(ctx,onComment,onChompKeep){return ctx?.doc?stringifyPair(this,c... function stringifyCollection (line 826) | function stringifyCollection(collection,ctx,options){const flow=ctx.inFl... function stringifyBlockCollection (line 826) | function stringifyBlockCollection({comment,items},ctx,{blockItemPrefix,f... function stringifyFlowCollection (line 827) | function stringifyFlowCollection({comment,items},ctx,{flowChars,itemInde... function addCommentBefore (line 829) | function addCommentBefore({indent,options:{commentString}},lines,comment... function findPair (line 829) | function findPair(items,key){const k=isScalar(key)?key.value:key;for(con... method tagName (line 829) | static get tagName(){return"tag:yaml.org,2002:map"} method constructor (line 829) | constructor(schema4){super(MAP,schema4);this.items=[]} method from (line 829) | static from(schema4,obj,ctx){const{keepUndefined,replacer}=ctx;const map... method add (line 829) | add(pair,overwrite){let _pair;if(isPair(pair))_pair=pair;else if(!pair||... method delete (line 829) | delete(key){const it=findPair(this.items,key);if(!it)return false;const ... method get (line 829) | get(key,keepScalar){const it=findPair(this.items,key);const node=it?.val... method has (line 829) | has(key){return!!findPair(this.items,key)} method set (line 829) | set(key,value){this.add(new Pair(key,value),true)} method toJSON (line 829) | toJSON(_,ctx,Type){const map2=Type?new Type:ctx?.mapAsMap?new Map:{};if(... method toString (line 829) | toString(ctx,onComment,onChompKeep){if(!ctx)return JSON.stringify(this);... method resolve (line 829) | resolve(map2,onError){if(!isMap(map2))onError("Expected a mapping for th... method tagName (line 829) | static get tagName(){return"tag:yaml.org,2002:seq"} method constructor (line 829) | constructor(schema4){super(SEQ,schema4);this.items=[]} method add (line 829) | add(value){this.items.push(value)} method delete (line 829) | delete(key){const idx=asItemIndex(key);if(typeof idx!=="number")return f... method get (line 829) | get(key,keepScalar){const idx=asItemIndex(key);if(typeof idx!=="number")... method has (line 829) | has(key){const idx=asItemIndex(key);return typeof idx==="number"&&idx