about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorbptato <nincsnevem662@gmail.com>2021-08-07 12:16:29 +0200
committerbptato <nincsnevem662@gmail.com>2021-08-07 12:16:29 +0200
commitfa4560f63e38886b2b7541642b9aa1656dc40508 (patch)
tree7177fd845926e92b655306e08f4b5a8fc5156b4d
parentab963e4efe0871a6bdedf2f56fcfb9ed15636d12 (diff)
downloadchawan-fa4560f63e38886b2b7541642b9aa1656dc40508.tar.gz
Reorganize imports
-rw-r--r--makefile6
-rw-r--r--src/config/config.nim (renamed from src/config.nim)3
-rw-r--r--src/css/box.nim5
-rw-r--r--src/css/cssparser.nim6
-rw-r--r--src/css/selector.nim7
-rw-r--r--src/css/style.nim10
-rw-r--r--src/html/dom.nim19
-rw-r--r--src/html/entity.nim4
-rw-r--r--src/html/parser.nim (renamed from src/html/htmlparser.nim)14
-rw-r--r--src/io/buffer.nim23
-rw-r--r--src/io/lineedit.nim10
-rw-r--r--src/main.nim8
-rw-r--r--src/utils/twtstr.nim2
13 files changed, 46 insertions, 71 deletions
diff --git a/makefile b/makefile
index 1686ac64..92ab5048 100644
--- a/makefile
+++ b/makefile
@@ -1,12 +1,12 @@
 NIMC = nim compile
-FLAGS = -d:ssl -o:twt
+FLAGS = -d:ssl -o:twt -p:src/ -p:. --import:utils/eprint
 FILES = src/main.nim
 
 debug:
 	$(NIMC) $(FLAGS) $(FILES)
 release:
-	$(NIMC) $(FLAGS) -d:release $(FILES)
+	$(NIMC) $(FLAGS) -d:release -d:strip $(FILES)
 danger:
-	$(NIMC) $(FLAGS) -d:danger $(FILES)
+	$(NIMC) $(FLAGS) -d:danger -d:strip $(FILES)
 clean:
 	rm ./twt
diff --git a/src/config.nim b/src/config/config.nim
index 1d2e2a46..5a49bb34 100644
--- a/src/config.nim
+++ b/src/config/config.nim
@@ -75,6 +75,7 @@ func getRealKey(key: string): string =
     elif meta == 2:
       realk &= '\e'
       realk &= c
+      meta = 0
     elif control == 1:
       realk &= 'C' & c
       control = 0
@@ -122,7 +123,7 @@ proc parseConfigLine[T](line: string, config: var T) =
       config.cmap[getRealKey(cmd[1])] = cmd[2]
 
 proc staticReadConfig(): StaticConfig =
-  let default = staticRead"../res/config"
+  let default = staticRead"res/config"
   for line in default.split('\n'):
     parseConfigLine(line, result)
 
diff --git a/src/css/box.nim b/src/css/box.nim
index c3f0280d..c2974215 100644
--- a/src/css/box.nim
+++ b/src/css/box.nim
@@ -1,8 +1,7 @@
 import unicode
 
-import ../types/enums
-
-import ../utils/twtstr
+import types/enums
+import utils/twtstr
 
 type
   CSSRect* = object
diff --git a/src/css/cssparser.nim b/src/css/cssparser.nim
index 90b8be46..afbdf413 100644
--- a/src/css/cssparser.nim
+++ b/src/css/cssparser.nim
@@ -8,10 +8,8 @@ import math
 import options
 import sugar
 
-import ../utils/twtstr
-import ../utils/eprint
-
-import ../types/enums
+import utils/twtstr
+import types/enums
 
 type
   CSSTokenizerState = object
diff --git a/src/css/selector.nim b/src/css/selector.nim
index a474bd8f..840086d9 100644
--- a/src/css/selector.nim
+++ b/src/css/selector.nim
@@ -1,9 +1,8 @@
 import unicode
 
-import ../types/enums
-import ../types/tagtypes
-
-import ./cssparser
+import types/enums
+import types/tagtypes
+import css/cssparser
 
 type
   SelectorType* = enum
diff --git a/src/css/style.nim b/src/css/style.nim
index 3b70263d..c1820b12 100644
--- a/src/css/style.nim
+++ b/src/css/style.nim
@@ -2,13 +2,9 @@ import unicode
 import terminal
 import tables
 
-
-import ../utils/twtstr
-import ../utils/eprint
-
-import ../types/enums
-
-import ./cssparser
+import utils/twtstr
+import types/enums
+import css/cssparser
 
 type
   CSSLength* = object
diff --git a/src/html/dom.nim b/src/html/dom.nim
index 96bbd8a1..2279725f 100644
--- a/src/html/dom.nim
+++ b/src/html/dom.nim
@@ -8,17 +8,14 @@ import sequtils
 import sugar
 import algorithm
 
-import ../css/style
-import ../css/cssparser
-import ../css/selector
-import ../css/box
-
-import ../types/enums
-
-import ../utils/twtstr
-import ../utils/eprint
-
-const css = staticRead"../../res/default.css"
+import css/style
+import css/cssparser
+import css/selector
+import css/box
+import types/enums
+import utils/twtstr
+
+const css = staticRead"res/default.css"
 let stylesheet = parseCSS(newStringStream(css))
 
 type
diff --git a/src/html/entity.nim b/src/html/entity.nim
index 72c5c452..775ea94f 100644
--- a/src/html/entity.nim
+++ b/src/html/entity.nim
@@ -1,8 +1,8 @@
 import json
 
-import ../utils/radixtree
+import utils/radixtree
 
-const entity = staticRead"../../res/entity.json"
+const entity = staticRead"res/entity.json"
 proc genEntityMap(data: seq[tuple[a: string, b: string]]): RadixNode[string] =
   result = newRadixTree[string]()
   for pair in data:
diff --git a/src/html/htmlparser.nim b/src/html/parser.nim
index c060d666..44b31d4a 100644
--- a/src/html/htmlparser.nim
+++ b/src/html/parser.nim
@@ -4,14 +4,12 @@ import strutils
 import tables
 import json
 
-import ../types/enums
-import ../types/tagtypes
-
-import ../utils/twtstr
-import ../utils/radixtree
-
-import dom
-import entity
+import types/enums
+import types/tagtypes
+import utils/twtstr
+import utils/radixtree
+import html/dom
+import html/entity
 
 type
   HTMLParseState = object
diff --git a/src/io/buffer.nim b/src/io/buffer.nim
index 20d7c497..f3fbbd38 100644
--- a/src/io/buffer.nim
+++ b/src/io/buffer.nim
@@ -5,20 +5,14 @@ import tables
 import strutils
 import unicode
 
-import ../types/color
-import ../types/enums
-
-import ../utils/twtstr
-import ../utils/eprint
-
-import ../html/dom
-
-import ../css/box
-
-import ../config
-
-import ./term
-import ./lineedit
+import types/color
+import types/enums
+import utils/twtstr
+import html/dom
+import css/box
+import config/config
+import io/term
+import io/lineedit
 
 type
   Cell = object of RootObj
@@ -774,6 +768,7 @@ proc inputLoop(attrs: TermAttributes, buffer: Buffer): bool =
     of ACTION_CHANGE_LOCATION:
       var url = $buffer.location
 
+      termGoto(0, buffer.height)
       let status = readLine("URL: ", url, buffer.width)
       if status:
         buffer.setLocation(parseUri(url))
diff --git a/src/io/lineedit.nim b/src/io/lineedit.nim
index cff7383e..e1a552bd 100644
--- a/src/io/lineedit.nim
+++ b/src/io/lineedit.nim
@@ -4,13 +4,9 @@ import strutils
 import sequtils
 import sugar
 
-import ../utils/twtstr
-import ../utils/radixtree
-import ../utils/eprint
-
-import ../config
-
-import ./terminal
+import utils/twtstr
+import utils/radixtree
+import config/config
 
 type LineState = object
   news: seq[Rune]
diff --git a/src/main.nim b/src/main.nim
index fe7eeb99..6f940b50 100644
--- a/src/main.nim
+++ b/src/main.nim
@@ -3,15 +3,11 @@ import uri
 import os
 import streams
 
-import utils/eprint
-
-import html/htmlparser
+import html/parser
 import html/dom
-
 import io/buffer
 import io/term
-
-import config
+import config/config
 
 let clientInstance = newHttpClient()
 proc loadRemotePage*(url: string): string =
diff --git a/src/utils/twtstr.nim b/src/utils/twtstr.nim
index 8acc2343..707b09a9 100644
--- a/src/utils/twtstr.nim
+++ b/src/utils/twtstr.nim
@@ -483,7 +483,7 @@ func nohandakuten*(r: Rune): Rune =
   return cast[Rune](cast[int](r) - 2)
 
 # Halfwidth to fullwidth & vice versa
-const widthconv = staticRead"../../res/widthconv.json"
+const widthconv = staticRead"res/widthconv.json"
 proc genHalfWidthTable(): Table[Rune, Rune] =
   let widthconvjson = parseJson(widthconv)
   for k, v in widthconvjson: