about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorbptato <nincsnevem662@gmail.com>2023-09-14 01:41:47 +0200
committerbptato <nincsnevem662@gmail.com>2023-09-14 02:01:21 +0200
commitc1b8338045716b25d664c0b8dd91eac0cb76480e (patch)
treea9c0a6763f180c2b6dd380aa880253ffc7685d85 /src
parentdb0798acccbedcef4b16737f6be0cf7388cc0528 (diff)
downloadchawan-c1b8338045716b25d664c0b8dd91eac0cb76480e.tar.gz
move around more modules
* ips -> io/
* loader related stuff -> loader/
* tempfile -> extern/
* buffer, forkserver -> server/
* lineedit, window -> display/
* cell -> types/
* opt -> types/
Diffstat (limited to 'src')
-rw-r--r--src/config/config.nim6
-rw-r--r--src/config/mailcap.nim2
-rw-r--r--src/config/toml.nim2
-rw-r--r--src/css/cascade.nim2
-rw-r--r--src/css/cssparser.nim2
-rw-r--r--src/css/mediaquery.nim2
-rw-r--r--src/css/values.nim4
-rw-r--r--src/display/lineedit.nim (renamed from src/io/lineedit.nim)4
-rw-r--r--src/display/term.nim6
-rw-r--r--src/display/window.nim (renamed from src/io/window.nim)0
-rw-r--r--src/extern/editor.nim2
-rw-r--r--src/extern/tempfile.nim (renamed from src/io/tempfile.nim)0
-rw-r--r--src/html/dom.nim6
-rw-r--r--src/html/env.nim10
-rw-r--r--src/html/event.nim2
-rw-r--r--src/img/path.nim2
-rw-r--r--src/io/promise.nim2
-rw-r--r--src/io/serialize.nim (renamed from src/ips/serialize.nim)4
-rw-r--r--src/io/serversocket.nim (renamed from src/ips/serversocket.nim)0
-rw-r--r--src/io/socketstream.nim (renamed from src/ips/socketstream.nim)2
-rw-r--r--src/js/base64.nim2
-rw-r--r--src/js/error.nim2
-rw-r--r--src/js/fromjs.nim2
-rw-r--r--src/js/javascript.nim2
-rw-r--r--src/js/opaque.nim2
-rw-r--r--src/js/regex.nim2
-rw-r--r--src/js/tojs.nim2
-rw-r--r--src/layout/box.nim2
-rw-r--r--src/layout/engine.nim2
-rw-r--r--src/loader/about.nim (renamed from src/io/about.nim)8
-rw-r--r--src/loader/connecterror.nim (renamed from src/io/connecterror.nim)0
-rw-r--r--src/loader/data.nim (renamed from src/io/data.nim)8
-rw-r--r--src/loader/file.nim (renamed from src/io/file.nim)6
-rw-r--r--src/loader/headers.nim (renamed from src/io/headers.nim)0
-rw-r--r--src/loader/http.nim (renamed from src/io/http.nim)8
-rw-r--r--src/loader/loader.nim (renamed from src/io/loader.nim)24
-rw-r--r--src/loader/loaderhandle.nim (renamed from src/io/loaderhandle.nim)6
-rw-r--r--src/loader/request.nim (renamed from src/io/request.nim)2
-rw-r--r--src/loader/response.nim (renamed from src/io/response.nim)4
-rw-r--r--src/local/client.nim16
-rw-r--r--src/local/container.nim12
-rw-r--r--src/local/pager.nim20
-rw-r--r--src/local/select.nim4
-rw-r--r--src/main.nim4
-rw-r--r--src/render/renderdocument.nim4
-rw-r--r--src/render/rendertext.nim2
-rw-r--r--src/server/buffer.nim (renamed from src/buffer/buffer.nim)16
-rw-r--r--src/server/forkserver.nim (renamed from src/ips/forkserver.nim)12
-rw-r--r--src/types/buffersource.nim2
-rw-r--r--src/types/cell.nim (renamed from src/buffer/cell.nim)0
-rw-r--r--src/types/cookie.nim2
-rw-r--r--src/types/opt.nim (renamed from src/utils/opt.nim)0
-rw-r--r--src/utils/radixtree.nim2
-rw-r--r--src/utils/twtstr.nim2
54 files changed, 121 insertions, 121 deletions
diff --git a/src/config/config.nim b/src/config/config.nim
index 6d75c411..35490638 100644
--- a/src/config/config.nim
+++ b/src/config/config.nim
@@ -3,21 +3,21 @@ import options
 import os
 import streams
 
-import buffer/cell
 import config/mailcap
 import config/mimetypes
 import config/toml
-import io/headers
 import io/urlfilter
 import js/error
 import js/javascript
 import js/regex
+import loader/headers
+import types/cell
 import types/color
 import types/cookie
 import types/referer
 import types/url
 import utils/mimeguess
-import utils/opt
+import types/opt
 import utils/twtstr
 
 import chakasu/charset
diff --git a/src/config/mailcap.nim b/src/config/mailcap.nim
index 43a0a2a5..26c3d6b4 100644
--- a/src/config/mailcap.nim
+++ b/src/config/mailcap.nim
@@ -5,7 +5,7 @@ import streams
 import strutils
 
 import types/url
-import utils/opt
+import types/opt
 import utils/twtstr
 
 import chakasu/charset
diff --git a/src/config/toml.nim b/src/config/toml.nim
index bcba3d22..8e514438 100644
--- a/src/config/toml.nim
+++ b/src/config/toml.nim
@@ -4,7 +4,7 @@ import times
 import strutils
 import unicode
 
-import utils/opt
+import types/opt
 import utils/twtstr
 
 type
diff --git a/src/css/cascade.nim b/src/css/cascade.nim
index be826856..6c8ccbb7 100644
--- a/src/css/cascade.nim
+++ b/src/css/cascade.nim
@@ -13,7 +13,7 @@ import css/values
 import html/dom
 import layout/layoutunit
 import types/color
-import utils/opt
+import types/opt
 
 import chame/tags
 
diff --git a/src/css/cssparser.nim b/src/css/cssparser.nim
index 52aa0d8c..2b286782 100644
--- a/src/css/cssparser.nim
+++ b/src/css/cssparser.nim
@@ -3,7 +3,7 @@ import streams
 import unicode
 
 import js/domexception
-import utils/opt
+import types/opt
 import utils/twtstr
 
 type
diff --git a/src/css/mediaquery.nim b/src/css/mediaquery.nim
index c47dd911..8e2b53e6 100644
--- a/src/css/mediaquery.nim
+++ b/src/css/mediaquery.nim
@@ -4,7 +4,7 @@ import unicode
 
 import css/cssparser
 import css/values
-import utils/opt
+import types/opt
 import utils/twtstr
 
 type
diff --git a/src/css/values.nim b/src/css/values.nim
index b0994fed..cd27ce98 100644
--- a/src/css/values.nim
+++ b/src/css/values.nim
@@ -6,11 +6,11 @@ import unicode
 
 import css/cssparser
 import css/selectorparser
+import display/window
 import img/bitmap
-import io/window
 import layout/layoutunit
 import types/color
-import utils/opt
+import types/opt
 import utils/twtstr
 
 export selectorparser.PseudoElem
diff --git a/src/io/lineedit.nim b/src/display/lineedit.nim
index 1c1d273c..bf6a3ab5 100644
--- a/src/io/lineedit.nim
+++ b/src/display/lineedit.nim
@@ -4,11 +4,11 @@ import strutils
 import unicode
 
 import bindings/quickjs
-import buffer/cell
 import display/term
 import js/javascript
+import types/cell
 import types/color
-import utils/opt
+import types/opt
 import utils/twtstr
 
 import chakasu/charset
diff --git a/src/display/term.nim b/src/display/term.nim
index 233c9cd4..60b5ff7b 100644
--- a/src/display/term.nim
+++ b/src/display/term.nim
@@ -8,12 +8,12 @@ import termios
 import unicode
 
 import bindings/termcap
-import buffer/cell
 import config/config
+import display/window
 import io/runestream
-import io/window
+import types/cell
 import types/color
-import utils/opt
+import types/opt
 import utils/twtstr
 
 import chakasu/charset
diff --git a/src/io/window.nim b/src/display/window.nim
index 278fc3fb..278fc3fb 100644
--- a/src/io/window.nim
+++ b/src/display/window.nim
diff --git a/src/extern/editor.nim b/src/extern/editor.nim
index 58f3d199..345b1d67 100644
--- a/src/extern/editor.nim
+++ b/src/extern/editor.nim
@@ -3,7 +3,7 @@ import os
 import config/config
 import display/term
 import extern/runproc
-import io/tempfile
+import extern/tempfile
 
 func formatEditorName(editor, file: string, line: int): string =
   result = newStringOfCap(editor.len + file.len)
diff --git a/src/io/tempfile.nim b/src/extern/tempfile.nim
index d99ea4dc..d99ea4dc 100644
--- a/src/io/tempfile.nim
+++ b/src/extern/tempfile.nim
diff --git a/src/html/dom.nim b/src/html/dom.nim
index a2b6f696..6f12f382 100644
--- a/src/html/dom.nim
+++ b/src/html/dom.nim
@@ -10,14 +10,12 @@ import tables
 import css/cssparser
 import css/sheet
 import css/values
+import display/window
 import html/event
 import img/bitmap
 import img/painter
 import img/path
 import img/png
-import io/loader
-import io/request
-import io/window
 import js/domexception
 import js/error
 import js/fromjs
@@ -25,6 +23,8 @@ import js/javascript
 import js/opaque
 import js/timeout
 import js/tojs
+import loader/loader
+import loader/request
 import types/blob
 import types/color
 import types/matrix
diff --git a/src/html/env.nim b/src/html/env.nim
index 94bef626..49f6bba3 100644
--- a/src/html/env.nim
+++ b/src/html/env.nim
@@ -1,21 +1,21 @@
 import selectors
 import streams
 
+import display/window
 import html/chadombuilder
 import html/dom
 import html/event
-import io/headers
-import io/loader
 import io/promise
-import io/request
-import io/response
-import io/window
 import js/base64
 import js/domexception
 import js/error
 import js/intl
 import js/javascript
 import js/timeout
+import loader/headers
+import loader/loader
+import loader/request
+import loader/response
 import types/blob
 import types/url
 import xhr/formdata
diff --git a/src/html/event.nim b/src/html/event.nim
index 352f8c70..46a576fb 100644
--- a/src/html/event.nim
+++ b/src/html/event.nim
@@ -7,7 +7,7 @@ import js/error
 import js/fromjs
 import js/javascript
 import js/tojs
-import utils/opt
+import types/opt
 
 type
   EventPhase = enum
diff --git a/src/img/path.nim b/src/img/path.nim
index 0841278c..0ec7537c 100644
--- a/src/img/path.nim
+++ b/src/img/path.nim
@@ -5,7 +5,7 @@ import math
 import types/line
 import types/vector
 import js/domexception
-import utils/opt
+import types/opt
 
 type
   Path* = ref object
diff --git a/src/io/promise.nim b/src/io/promise.nim
index ee4f0654..549b878e 100644
--- a/src/io/promise.nim
+++ b/src/io/promise.nim
@@ -1,6 +1,6 @@
 import tables
 
-import utils/opt
+import types/opt
 
 type
   PromiseState* = enum
diff --git a/src/ips/serialize.nim b/src/io/serialize.nim
index 2fe1fd09..fd558ba9 100644
--- a/src/ips/serialize.nim
+++ b/src/io/serialize.nim
@@ -5,13 +5,13 @@ import sets
 import streams
 import tables
 
-import io/request
 import js/regex
+import loader/request
 import types/blob
 import types/buffersource
 import types/formdata
 import types/url
-import utils/opt
+import types/opt
 
 proc swrite*(stream: Stream, n: SomeNumber)
 proc sread*(stream: Stream, n: var SomeNumber)
diff --git a/src/ips/serversocket.nim b/src/io/serversocket.nim
index 61b633a9..61b633a9 100644
--- a/src/ips/serversocket.nim
+++ b/src/io/serversocket.nim
diff --git a/src/ips/socketstream.nim b/src/io/socketstream.nim
index 09a3ef5c..6b648003 100644
--- a/src/ips/socketstream.nim
+++ b/src/io/socketstream.nim
@@ -7,7 +7,7 @@ when defined(posix):
   import posix
 
 import io/posixstream
-import ips/serversocket
+import io/serversocket
 
 type SocketStream* = ref object of Stream
   source*: Socket
diff --git a/src/js/base64.nim b/src/js/base64.nim
index 1ff81cc3..4b8ae540 100644
--- a/src/js/base64.nim
+++ b/src/js/base64.nim
@@ -1,7 +1,7 @@
 import std/base64
 
 import js/domexception
-import utils/opt
+import types/opt
 
 # atob and btoa convert Latin-1 to base64 and vice versa. (And throw on
 # anything above latin-1.)
diff --git a/src/js/error.nim b/src/js/error.nim
index a0239046..3b05c1ec 100644
--- a/src/js/error.nim
+++ b/src/js/error.nim
@@ -1,4 +1,4 @@
-import utils/opt
+import types/opt
 
 type
   JSError* = ref object of RootObj
diff --git a/src/js/fromjs.nim b/src/js/fromjs.nim
index 701f0a60..dbc009bc 100644
--- a/src/js/fromjs.nim
+++ b/src/js/fromjs.nim
@@ -9,7 +9,7 @@ import js/dict
 import js/error
 import js/opaque
 import js/tojs
-import utils/opt
+import types/opt
 
 proc fromJS*[T](ctx: JSContext, val: JSValue): JSResult[T]
 
diff --git a/src/js/javascript.nim b/src/js/javascript.nim
index 036f4628..6f3038cb 100644
--- a/src/js/javascript.nim
+++ b/src/js/javascript.nim
@@ -47,7 +47,7 @@ import js/fromjs
 import js/opaque
 import js/tojs
 import js/typeptr
-import utils/opt
+import types/opt
 
 import bindings/quickjs
 
diff --git a/src/js/opaque.nim b/src/js/opaque.nim
index f8eb7c77..51444c1f 100644
--- a/src/js/opaque.nim
+++ b/src/js/opaque.nim
@@ -2,7 +2,7 @@ import tables
 
 import bindings/quickjs
 import js/error
-import utils/opt
+import types/opt
 
 type
   JSSymbolRefs* = enum
diff --git a/src/js/regex.nim b/src/js/regex.nim
index ceb9a0e2..caa941a2 100644
--- a/src/js/regex.nim
+++ b/src/js/regex.nim
@@ -3,7 +3,7 @@ import unicode
 
 import bindings/libregexp
 import bindings/quickjs
-import utils/opt
+import types/opt
 import utils/twtstr
 
 export
diff --git a/src/js/tojs.nim b/src/js/tojs.nim
index 511af52d..5bf3e269 100644
--- a/src/js/tojs.nim
+++ b/src/js/tojs.nim
@@ -8,7 +8,7 @@ import js/dict
 import js/error
 import js/opaque
 import js/typeptr
-import utils/opt
+import types/opt
 
 # Convert Nim types to the corresponding JavaScript type.
 # This does not work with var objects.
diff --git a/src/layout/box.nim b/src/layout/box.nim
index 79c6618c..42701449 100644
--- a/src/layout/box.nim
+++ b/src/layout/box.nim
@@ -2,7 +2,7 @@ import options
 
 import css/stylednode
 import css/values
-import io/window
+import display/window
 import layout/layoutunit
 import types/color
 
diff --git a/src/layout/engine.nim b/src/layout/engine.nim
index d7789e9b..cb2bc4ac 100644
--- a/src/layout/engine.nim
+++ b/src/layout/engine.nim
@@ -5,7 +5,7 @@ import unicode
 
 import css/stylednode
 import css/values
-import io/window
+import display/window
 import layout/box
 import layout/layoutunit
 import utils/twtstr
diff --git a/src/io/about.nim b/src/loader/about.nim
index 737a291b..1bbe9625 100644
--- a/src/io/about.nim
+++ b/src/loader/about.nim
@@ -1,9 +1,9 @@
 import tables
 
-import io/connecterror
-import io/headers
-import io/loaderhandle
-import io/request
+import loader/connecterror
+import loader/headers
+import loader/loaderhandle
+import loader/request
 import types/url
 
 const chawan = staticRead"res/chawan.html"
diff --git a/src/io/connecterror.nim b/src/loader/connecterror.nim
index d2af5762..d2af5762 100644
--- a/src/io/connecterror.nim
+++ b/src/loader/connecterror.nim
diff --git a/src/io/data.nim b/src/loader/data.nim
index 3afe58f0..effd9ce9 100644
--- a/src/io/data.nim
+++ b/src/loader/data.nim
@@ -2,10 +2,10 @@ import base64
 import strutils
 import tables
 
-import io/connecterror
-import io/headers
-import io/loaderhandle
-import io/request
+import loader/connecterror
+import loader/headers
+import loader/loaderhandle
+import loader/request
 import types/url
 
 proc loadData*(handle: LoaderHandle, request: Request) =
diff --git a/src/io/file.nim b/src/loader/file.nim
index fe732d6c..b627e0c7 100644
--- a/src/io/file.nim
+++ b/src/loader/file.nim
@@ -3,9 +3,9 @@ import os
 import streams
 import tables
 
-import io/connecterror
-import io/headers
-import io/loaderhandle
+import loader/connecterror
+import loader/headers
+import loader/loaderhandle
 import types/url
 
 proc loadDir(handle: LoaderHandle, url: URL, path: string) =
diff --git a/src/io/headers.nim b/src/loader/headers.nim
index b02f30df..b02f30df 100644
--- a/src/io/headers.nim
+++ b/src/loader/headers.nim
diff --git a/src/io/http.nim b/src/loader/http.nim
index 0a5a6d79..97fd9690 100644
--- a/src/io/http.nim
+++ b/src/loader/http.nim
@@ -2,13 +2,13 @@ import options
 import strutils
 
 import bindings/curl
-import io/headers
-import io/loaderhandle
-import io/request
+import loader/headers
+import loader/loaderhandle
+import loader/request
 import types/blob
 import types/formdata
 import types/url
-import utils/opt
+import types/opt
 import utils/twtstr
 
 type
diff --git a/src/io/loader.nim b/src/loader/loader.nim
index a6be3f6d..162dd120 100644
--- a/src/io/loader.nim
+++ b/src/loader/loader.nim
@@ -20,23 +20,23 @@ import strutils
 import tables
 
 import bindings/curl
-import io/about
-import io/connecterror
-import io/data
-import io/file
-import io/headers
-import io/http
-import io/loaderhandle
 import io/posixstream
 import io/promise
-import io/request
-import io/response
+import io/serialize
+import io/serversocket
+import io/socketstream
 import io/urlfilter
-import ips/serialize
-import ips/serversocket
-import ips/socketstream
 import js/error
 import js/javascript
+import loader/about
+import loader/connecterror
+import loader/data
+import loader/file
+import loader/headers
+import loader/http
+import loader/loaderhandle
+import loader/request
+import loader/response
 import types/cookie
 import types/referer
 import types/url
diff --git a/src/io/loaderhandle.nim b/src/loader/loaderhandle.nim
index 077b1a2a..2c999813 100644
--- a/src/io/loaderhandle.nim
+++ b/src/loader/loaderhandle.nim
@@ -2,9 +2,9 @@ import net
 import streams
 
 import io/posixstream
-import io/headers
-import ips/serialize
-import ips/socketstream
+import io/serialize
+import io/socketstream
+import loader/headers
 
 type LoaderHandle* = ref object
   ostream: Stream
diff --git a/src/io/request.nim b/src/loader/request.nim
index 675ea048..e5f8f013 100644
--- a/src/io/request.nim
+++ b/src/loader/request.nim
@@ -4,11 +4,11 @@ import strutils
 import tables
 
 import bindings/quickjs
-import io/headers
 import js/dict
 import js/error
 import js/fromjs
 import js/javascript
+import loader/headers
 import types/blob
 import types/formdata
 import types/referer
diff --git a/src/io/response.nim b/src/loader/response.nim
index 6d4db42f..5c95e3af 100644
--- a/src/io/response.nim
+++ b/src/loader/response.nim
@@ -1,11 +1,11 @@
 import streams
 
 import bindings/quickjs
-import io/headers
 import io/promise
-import io/request
 import js/error
 import js/javascript
+import loader/headers
+import loader/request
 import types/url
 
 import chakasu/charset
diff --git a/src/local/client.nim b/src/local/client.nim
index c8e6996e..72b9cc11 100644
--- a/src/local/client.nim
+++ b/src/local/client.nim
@@ -17,19 +17,15 @@ import std/exitprocs
 import bindings/quickjs
 import config/config
 import css/sheet
+import display/lineedit
 import display/term
+import display/window
 import html/chadombuilder
 import html/dom
 import html/event
-import io/headers
-import io/lineedit
-import io/loader
 import io/posixstream
 import io/promise
-import io/request
-import io/window
-import ips/forkserver
-import ips/socketstream
+import io/socketstream
 import js/base64
 import js/domexception
 import js/error
@@ -39,12 +35,16 @@ import js/javascript
 import js/module
 import js/timeout
 import js/tojs
+import loader/headers
+import loader/loader
+import loader/request
 import local/container
 import local/pager
+import server/forkserver
 import types/blob
 import types/cookie
 import types/url
-import utils/opt
+import types/opt
 import utils/twtstr
 import xhr/formdata
 import xhr/xmlhttprequest
diff --git a/src/local/container.nim b/src/local/container.nim
index 5941bf6c..20c4865b 100644
--- a/src/local/container.nim
+++ b/src/local/container.nim
@@ -6,18 +6,18 @@ import unicode
 when defined(posix):
   import posix
 
-import buffer/buffer
-import buffer/cell
 import config/config
+import display/window
 import io/promise
-import io/request
-import io/window
-import ips/forkserver
-import ips/serialize
+import io/serialize
 import js/javascript
 import js/regex
+import loader/request
 import local/select
+import server/buffer
+import server/forkserver
 import types/buffersource
+import types/cell
 import types/color
 import types/cookie
 import types/url
diff --git a/src/local/pager.nim b/src/local/pager.nim
index 8bb1172f..87ac422a 100644
--- a/src/local/pager.nim
+++ b/src/local/pager.nim
@@ -10,33 +10,33 @@ import unicode
 when defined(posix):
   import posix
 
-import buffer/cell
 import config/config
 import config/mailcap
 import config/mimetypes
+import display/lineedit
 import display/term
+import display/window
 import extern/editor
 import extern/runproc
-import io/connecterror
-import io/lineedit
-import io/loader
+import extern/tempfile
 import io/promise
-import io/request
-import io/tempfile
-import io/window
-import ips/forkserver
-import ips/socketstream
+import io/socketstream
 import js/dict
 import js/javascript
 import js/regex
 import js/tojs
+import loader/connecterror
+import loader/loader
+import loader/request
 import local/container
 import local/select
+import server/forkserver
 import types/buffersource
+import types/cell
 import types/color
 import types/cookie
 import types/url
-import utils/opt
+import types/opt
 import utils/twtstr
 
 import chakasu/charset
diff --git a/src/local/select.nim b/src/local/select.nim
index f7afa4d9..ed543638 100644
--- a/src/local/select.nim
+++ b/src/local/select.nim
@@ -1,8 +1,8 @@
 import unicode
 
-import buffer/buffer
-import buffer/cell
 import js/regex
+import server/buffer
+import types/cell
 import utils/twtstr
 
 type
diff --git a/src/main.nim b/src/main.nim
index 70957684..a8df6cb9 100644
--- a/src/main.nim
+++ b/src/main.nim
@@ -1,6 +1,6 @@
 import version
 
-import ips/forkserver
+import server/forkserver
 let forks = newForkServer()
 
 import options
@@ -13,7 +13,7 @@ when defined(profile):
 
 import config/config
 import local/client
-import utils/opt
+import types/opt
 import utils/twtstr
 
 import chakasu/charset
diff --git a/src/render/renderdocument.nim b/src/render/renderdocument.nim
index ab82b80e..de2f501f 100644
--- a/src/render/renderdocument.nim
+++ b/src/render/renderdocument.nim
@@ -1,16 +1,16 @@
 import strutils
 import unicode
 
-import buffer/cell
 import css/cascade
 import css/sheet
 import css/stylednode
 import css/values
+import display/window
 import html/dom
-import io/window
 import layout/box
 import layout/engine
 import layout/layoutunit
+import types/cell
 import types/color
 import utils/twtstr
 
diff --git a/src/render/rendertext.nim b/src/render/rendertext.nim
index 8d13dcf2..012e01e7 100644
--- a/src/render/rendertext.nim
+++ b/src/render/rendertext.nim
@@ -1,7 +1,7 @@
 import streams
 import unicode
 
-import buffer/cell
+import types/cell
 import utils/twtstr
 
 import chakasu/charset
diff --git a/src/buffer/buffer.nim b/src/server/buffer.nim
index 4616704e..053483b5 100644
--- a/src/buffer/buffer.nim
+++ b/src/server/buffer.nim
@@ -10,7 +10,6 @@ import tables
 import unicode
 
 import bindings/quickjs
-import buffer/cell
 import config/config
 import css/cascade
 import css/cssparser
@@ -18,35 +17,36 @@ import css/mediaquery
 import css/sheet
 import css/stylednode
 import css/values
+import display/window
 import html/chadombuilder
 import html/dom
 import html/env
 import html/event
 import img/png
-import io/connecterror
-import io/loader
 import io/posixstream
 import io/promise
+import io/serialize
+import io/serversocket
+import io/socketstream
 import io/teestream
-import io/window
-import ips/serialize
-import ips/serversocket
-import ips/socketstream
 import js/error
 import js/fromjs
 import js/javascript
 import js/regex
 import js/timeout
 import layout/box
+import loader/connecterror
+import loader/loader
 import render/renderdocument
 import render/rendertext
 import types/buffersource
+import types/cell
 import types/color
 import types/cookie
 import types/formdata
 import types/referer
 import types/url
-import utils/opt
+import types/opt
 import utils/twtstr
 import xhr/formdata as formdata_impl
 
diff --git a/src/ips/forkserver.nim b/src/server/forkserver.nim
index cc2d91e0..fafaf9c9 100644
--- a/src/ips/forkserver.nim
+++ b/src/server/forkserver.nim
@@ -5,15 +5,15 @@ import tables
 when defined(posix):
   import posix
 
-import buffer/buffer
 import config/config
-import io/headers
-import io/loader
+import display/window
 import io/posixstream
+import io/serialize
+import io/serversocket
 import io/urlfilter
-import io/window
-import ips/serialize
-import ips/serversocket
+import loader/headers
+import loader/loader
+import server/buffer
 import types/buffersource
 import types/cookie
 import types/url
diff --git a/src/types/buffersource.nim b/src/types/buffersource.nim
index a5e3e21f..97126ed1 100644
--- a/src/types/buffersource.nim
+++ b/src/types/buffersource.nim
@@ -3,7 +3,7 @@ import options
 when defined(posix):
   import posix
 
-import io/request
+import loader/request
 import types/url
 
 import chakasu/charset
diff --git a/src/buffer/cell.nim b/src/types/cell.nim
index 87148389..87148389 100644
--- a/src/buffer/cell.nim
+++ b/src/types/cell.nim
diff --git a/src/types/cookie.nim b/src/types/cookie.nim
index 141b62e5..6d7ab79a 100644
--- a/src/types/cookie.nim
+++ b/src/types/cookie.nim
@@ -6,7 +6,7 @@ import js/error
 import js/javascript
 import js/regex
 import types/url
-import utils/opt
+import types/opt
 import utils/twtstr
 
 type
diff --git a/src/utils/opt.nim b/src/types/opt.nim
index cdf69633..cdf69633 100644
--- a/src/utils/opt.nim
+++ b/src/types/opt.nim
diff --git a/src/utils/radixtree.nim b/src/utils/radixtree.nim
index abacd073..a3f00033 100644
--- a/src/utils/radixtree.nim
+++ b/src/utils/radixtree.nim
@@ -2,7 +2,7 @@
 
 import tables
 
-import utils/opt
+import types/opt
 
 type
   RadixPair[T] = tuple[k: string, v: RadixNode[T]]
diff --git a/src/utils/twtstr.nim b/src/utils/twtstr.nim
index e2f2ee6c..33806ba3 100644
--- a/src/utils/twtstr.nim
+++ b/src/utils/twtstr.nim
@@ -11,7 +11,7 @@ import data/charwidth
 import data/idna
 import js/error
 import utils/map
-import utils/opt
+import types/opt
 import lib/punycode
 
 when defined(posix):