Fix default cpp mode, print row col length in AST output
This commit is contained in:
parent
dfe06fd9d4
commit
7c8afa1997
1 changed files with 8 additions and 7 deletions
15
toast.nim
15
toast.nim
|
|
@ -1,4 +1,4 @@
|
|||
import os, strutils
|
||||
import os, strformat, strutils
|
||||
|
||||
import treesitter/[runtime, c, cpp]
|
||||
|
||||
|
|
@ -14,7 +14,9 @@ proc printLisp(root: TSNode) =
|
|||
if not node.tsNodeIsNull():
|
||||
if gStateRT.pretty:
|
||||
stdout.write spaces(depth)
|
||||
stdout.write "(" & $node.tsNodeType() & " " & $node.tsNodeStartByte() & " " & $node.tsNodeEndByte()
|
||||
let
|
||||
(line, col) = node.getLineCol()
|
||||
stdout.write &"({$node.tsNodeType()} {line} {col} {node.tsNodeEndByte() - node.tsNodeStartByte()}"
|
||||
else:
|
||||
return
|
||||
|
||||
|
|
@ -66,11 +68,10 @@ proc process(path: string) =
|
|||
gStateRT.sourceFile = path
|
||||
|
||||
if gStateRT.mode.len == 0:
|
||||
gStateRT.mode = modeDefault
|
||||
elif ext in [".h", ".c"]:
|
||||
gStateRT.mode = "c"
|
||||
elif ext in [".hxx", ".hpp", ".hh", ".H", ".h++", ".cpp", ".cxx", ".cc", ".C", ".c++"]:
|
||||
gStateRT.mode = "cpp"
|
||||
if ext in [".h", ".c"]:
|
||||
gStateRT.mode = "c"
|
||||
elif ext in [".hxx", ".hpp", ".hh", ".H", ".h++", ".cpp", ".cxx", ".cc", ".C", ".c++"]:
|
||||
gStateRT.mode = "cpp"
|
||||
|
||||
if gStateRT.preprocess:
|
||||
gStateRT.code = getPreprocessor(path)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue