From 7c8afa19975517b18553f2eb3007c0e279360299 Mon Sep 17 00:00:00 2001 From: Ganesh Viswanathan Date: Wed, 5 Dec 2018 00:14:38 -0600 Subject: Fix default cpp mode, print row col length in AST output --- toast.nim | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/toast.nim b/toast.nim index 7511d8d..5885bc2 100644 --- a/toast.nim +++ b/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) -- cgit v1.2.3