move io out of system (#19442)
* move io out of system * fix tests * fix tests * next step * rename to syncio * rename * fix nimscript * comma * fix * fix parts of errors * good for now * fix test
This commit is contained in:
parent
486cb09ec2
commit
891329cd4b
24 changed files with 92 additions and 42 deletions
|
|
@ -51,6 +51,9 @@
|
|||
|
||||
import strutils, streams, parsexml, xmltree, unicode, strtabs
|
||||
|
||||
when defined(nimPreviewSlimSystem):
|
||||
import std/syncio
|
||||
|
||||
type
|
||||
HtmlTag* = enum ## list of all supported HTML tags; order will always be
|
||||
## alphabetically
|
||||
|
|
|
|||
|
|
@ -164,6 +164,9 @@ import hashes, tables, strutils, lexbase, streams, macros, parsejson
|
|||
import options # xxx remove this dependency using same approach as https://github.com/nim-lang/Nim/pull/14563
|
||||
import std/private/since
|
||||
|
||||
when defined(nimPreviewSlimSystem):
|
||||
import std/syncio
|
||||
|
||||
export
|
||||
tables.`$`
|
||||
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@
|
|||
## .. warning::
|
||||
## For loggers that log to a console or to files, only error and fatal
|
||||
## messages will cause their output buffers to be flushed immediately.
|
||||
## Use the `flushFile proc <io.html#flushFile,File>`_ to flush the buffer
|
||||
## Use the `flushFile proc <syncio.html#flushFile,File>`_ to flush the buffer
|
||||
## manually if needed.
|
||||
##
|
||||
## Handlers
|
||||
|
|
@ -146,6 +146,9 @@ import strutils, times
|
|||
when not defined(js):
|
||||
import os
|
||||
|
||||
when defined(nimPreviewSlimSystem):
|
||||
import std/syncio
|
||||
|
||||
type
|
||||
Level* = enum ## \
|
||||
## Enumeration of logging levels.
|
||||
|
|
@ -346,7 +349,7 @@ method log*(logger: ConsoleLogger, level: Level, args: varargs[string, `$`]) =
|
|||
##
|
||||
## **Note:** Only error and fatal messages will cause the output buffer
|
||||
## to be flushed immediately. Use the `flushFile proc
|
||||
## <io.html#flushFile,File>`_ to flush the buffer manually if needed.
|
||||
## <syncio.html#flushFile,File>`_ to flush the buffer manually if needed.
|
||||
##
|
||||
## See also:
|
||||
## * `log method<#log.e,FileLogger,Level,varargs[string,]>`_
|
||||
|
|
@ -422,7 +425,7 @@ when not defined(js):
|
|||
## **Notes:**
|
||||
## * Only error and fatal messages will cause the output buffer
|
||||
## to be flushed immediately. Use the `flushFile proc
|
||||
## <io.html#flushFile,File>`_ to flush the buffer manually if needed.
|
||||
## <syncio.html#flushFile,File>`_ to flush the buffer manually if needed.
|
||||
## * This method is not available for the JavaScript backend.
|
||||
##
|
||||
## See also:
|
||||
|
|
@ -600,7 +603,7 @@ when not defined(js):
|
|||
## **Notes:**
|
||||
## * Only error and fatal messages will cause the output buffer
|
||||
## to be flushed immediately. Use the `flushFile proc
|
||||
## <io.html#flushFile,File>`_ to flush the buffer manually if needed.
|
||||
## <syncio.html#flushFile,File>`_ to flush the buffer manually if needed.
|
||||
## * This method is not available for the JavaScript backend.
|
||||
##
|
||||
## See also:
|
||||
|
|
|
|||
|
|
@ -431,7 +431,7 @@ iterator memSlices*(mfile: MemFile, delim = '\l', eat = '\r'): MemSlice {.inline
|
|||
iterator lines*(mfile: MemFile, buf: var string, delim = '\l',
|
||||
eat = '\r'): string {.inline.} =
|
||||
## Replace contents of passed buffer with each new line, like
|
||||
## `readLine(File) <io.html#readLine,File,string>`_.
|
||||
## `readLine(File) <syncio.html#readLine,File,string>`_.
|
||||
## `delim`, `eat`, and delimiting logic is exactly as for `memSlices
|
||||
## <#memSlices.i,MemFile,char,char>`_, but Nim strings are returned.
|
||||
##
|
||||
|
|
@ -450,7 +450,7 @@ iterator lines*(mfile: MemFile, buf: var string, delim = '\l',
|
|||
|
||||
iterator lines*(mfile: MemFile, delim = '\l', eat = '\r'): string {.inline.} =
|
||||
## Return each line in a file as a Nim string, like
|
||||
## `lines(File) <io.html#lines.i,File>`_.
|
||||
## `lines(File) <syncio.html#lines.i,File>`_.
|
||||
## `delim`, `eat`, and delimiting logic is exactly as for `memSlices
|
||||
## <#memSlices.i,MemFile,char,char>`_, but Nim strings are returned.
|
||||
##
|
||||
|
|
|
|||
|
|
@ -34,6 +34,9 @@ import std/private/since
|
|||
|
||||
import strutils, pathnorm
|
||||
|
||||
when defined(nimPreviewSlimSystem):
|
||||
import std/syncio
|
||||
|
||||
const weirdTarget = defined(nimscript) or defined(js)
|
||||
|
||||
since (1, 1):
|
||||
|
|
|
|||
|
|
@ -175,8 +175,12 @@ import strutils, lexbase, streams, tables
|
|||
import std/private/decode_helpers
|
||||
import std/private/since
|
||||
|
||||
when defined(nimPreviewSlimSystem):
|
||||
import std/syncio
|
||||
|
||||
include "system/inclrtl"
|
||||
|
||||
|
||||
type
|
||||
CfgEventKind* = enum ## enumeration of all events that may occur when parsing
|
||||
cfgEof, ## end of file reached
|
||||
|
|
|
|||
|
|
@ -67,6 +67,9 @@
|
|||
|
||||
import lexbase, streams
|
||||
|
||||
when defined(nimPreviewSlimSystem):
|
||||
import std/syncio
|
||||
|
||||
type
|
||||
CsvRow* = seq[string] ## A row in a CSV file.
|
||||
CsvParser* = object of BaseLexer ## The parser object.
|
||||
|
|
|
|||
|
|
@ -16,6 +16,8 @@
|
|||
##
|
||||
|
||||
include "system/inclrtl"
|
||||
when defined(nimPreviewSlimSystem):
|
||||
import std/syncio
|
||||
|
||||
const
|
||||
useUnicode = true ## change this to deactivate proper UTF-8 support
|
||||
|
|
|
|||
|
|
@ -19,6 +19,9 @@
|
|||
include system/inclrtl
|
||||
import streams
|
||||
|
||||
when defined(nimPreviewSlimSystem):
|
||||
import std/syncio
|
||||
|
||||
{.push debugger: off.} # the user does not want to trace a part
|
||||
# of the standard library!
|
||||
|
||||
|
|
|
|||
|
|
@ -92,10 +92,13 @@
|
|||
## See also
|
||||
## ========
|
||||
## * `asyncstreams module <asyncstreams.html>`_
|
||||
## * `io module <io.html>`_ for `FileMode enum <io.html#FileMode>`_
|
||||
## * `io module <syncio.html>`_ for `FileMode enum <syncio.html#FileMode>`_
|
||||
|
||||
import std/private/since
|
||||
|
||||
when defined(nimPreviewSlimSystem):
|
||||
import std/syncio
|
||||
|
||||
proc newEIO(msg: string): owned(ref IOError) =
|
||||
new(result)
|
||||
result.msg = msg
|
||||
|
|
@ -1331,7 +1334,7 @@ proc newFileStream*(f: File): owned FileStream =
|
|||
## * `newStringStream proc <#newStringStream,string>`_ creates a new stream
|
||||
## from string.
|
||||
## * `newFileStream proc <#newFileStream,string,FileMode,int>`_ is the same
|
||||
## as using `open proc <io.html#open,File,string,FileMode,int>`_
|
||||
## as using `open proc <syncio.html#open,File,string,FileMode,int>`_
|
||||
## on Examples.
|
||||
## * `openFileStream proc <#openFileStream,string,FileMode,int>`_ creates a
|
||||
## file stream from the file name and the mode.
|
||||
|
|
@ -1370,7 +1373,7 @@ proc newFileStream*(filename: string, mode: FileMode = fmRead,
|
|||
## Creates a new stream from the file named `filename` with the mode `mode`.
|
||||
##
|
||||
## If the file cannot be opened, `nil` is returned. See the `io module
|
||||
## <io.html>`_ for a list of available `FileMode enums <io.html#FileMode>`_.
|
||||
## <syncio.html>`_ for a list of available `FileMode enums <syncio.html#FileMode>`_.
|
||||
##
|
||||
## **Note:**
|
||||
## * **This function returns nil in case of failure.**
|
||||
|
|
|
|||
|
|
@ -66,6 +66,9 @@ import colors
|
|||
when defined(windows):
|
||||
import winlean
|
||||
|
||||
when defined(nimPreviewSlimSystem):
|
||||
import std/syncio
|
||||
|
||||
type
|
||||
PTerminal = ref object
|
||||
trueColorIsSupported: bool
|
||||
|
|
|
|||
|
|
@ -11,6 +11,9 @@
|
|||
|
||||
import streams, parsexml, strtabs, xmltree
|
||||
|
||||
when defined(nimPreviewSlimSystem):
|
||||
import std/syncio
|
||||
|
||||
type
|
||||
XmlError* = object of ValueError ## Exception that is raised
|
||||
## for invalid XML.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue