Fix CI, drop 0.19.6 support
This commit is contained in:
parent
ee58be398a
commit
1fe199e1d8
8 changed files with 30 additions and 55 deletions
|
|
@ -4,4 +4,4 @@ Module that should import everything so that `nim doc --project nimtero/all` run
|
||||||
|
|
||||||
# TODO: make sure it does import everything.
|
# TODO: make sure it does import everything.
|
||||||
|
|
||||||
import "."/[cimport, build, types, plugin, compat]
|
import "."/[cimport, build, types, plugin]
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import compiler/[ast, astalgo, idents, options, renderer]
|
||||||
|
|
||||||
import "."/treesitter/api
|
import "."/treesitter/api
|
||||||
|
|
||||||
import "."/[compat, globals, getters]
|
import "."/[globals, getters]
|
||||||
|
|
||||||
proc addConst(nimState: NimState, node: TSNode) =
|
proc addConst(nimState: NimState, node: TSNode) =
|
||||||
# #define X Y
|
# #define X Y
|
||||||
|
|
@ -137,7 +137,7 @@ proc newArrayTree(nimState: NimState, node: TSNode, typ, size: PNode): PNode =
|
||||||
proc getTypeArray(nimState: NimState, node: TSNode): PNode
|
proc getTypeArray(nimState: NimState, node: TSNode): PNode
|
||||||
proc getTypeProc(nimState: NimState, name: string, node: TSNode): PNode
|
proc getTypeProc(nimState: NimState, name: string, node: TSNode): PNode
|
||||||
|
|
||||||
proc newIdentDefs(nimState: NimState, name: string, node: TSNode, offset: uint64, exported = false): PNode =
|
proc newIdentDefs(nimState: NimState, name: string, node: TSNode, offset: SomeInteger, exported = false): PNode =
|
||||||
# Create nkIdentDefs tree for specified proc parameter or object field
|
# Create nkIdentDefs tree for specified proc parameter or object field
|
||||||
#
|
#
|
||||||
# For proc, param should not be exported
|
# For proc, param should not be exported
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,6 @@ import hashes, macros, osproc, sets, strformat, strutils, tables
|
||||||
|
|
||||||
import os except findExe, sleep
|
import os except findExe, sleep
|
||||||
|
|
||||||
import "."/[compat]
|
|
||||||
|
|
||||||
proc sanitizePath*(path: string, noQuote = false, sep = $DirSep): string =
|
proc sanitizePath*(path: string, noQuote = false, sep = $DirSep): string =
|
||||||
result = path.multiReplace([("\\\\", sep), ("\\", sep), ("/", sep)])
|
result = path.multiReplace([("\\\\", sep), ("\\", sep), ("/", sep)])
|
||||||
if not noQuote:
|
if not noQuote:
|
||||||
|
|
@ -648,7 +646,7 @@ proc getGccPaths*(mode = "c"): seq[string] =
|
||||||
break
|
break
|
||||||
if inc:
|
if inc:
|
||||||
var
|
var
|
||||||
path = line.strip().myNormalizedPath()
|
path = line.strip().normalizedPath()
|
||||||
if path notin result:
|
if path notin result:
|
||||||
result.add path
|
result.add path
|
||||||
|
|
||||||
|
|
@ -667,13 +665,13 @@ proc getGccLibPaths*(mode = "c"): seq[string] =
|
||||||
if "LIBRARY_PATH=" in line:
|
if "LIBRARY_PATH=" in line:
|
||||||
for path in line[13 .. ^1].split(PathSep):
|
for path in line[13 .. ^1].split(PathSep):
|
||||||
var
|
var
|
||||||
path = path.strip().myNormalizedPath()
|
path = path.strip().normalizedPath()
|
||||||
if path notin result:
|
if path notin result:
|
||||||
result.add path
|
result.add path
|
||||||
break
|
break
|
||||||
elif '\t' in line:
|
elif '\t' in line:
|
||||||
var
|
var
|
||||||
path = line.strip().myNormalizedPath()
|
path = line.strip().normalizedPath()
|
||||||
if path notin result:
|
if path notin result:
|
||||||
result.add path
|
result.add path
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ const CIMPORT {.used.} = 1
|
||||||
|
|
||||||
include "."/globals
|
include "."/globals
|
||||||
|
|
||||||
import "."/[build, compat, paths, types]
|
import "."/[build, paths, types]
|
||||||
export types
|
export types
|
||||||
|
|
||||||
proc interpPath(dir: string): string=
|
proc interpPath(dir: string): string=
|
||||||
|
|
|
||||||
|
|
@ -1,22 +1,18 @@
|
||||||
import macros, strformat
|
import macros, strformat
|
||||||
|
|
||||||
when (NimMajor, NimMinor, NimPatch) >= (0, 19, 9):
|
from os import parentDir, getCurrentCompilerExe, DirSep
|
||||||
from os import parentDir, getCurrentCompilerExe, DirSep
|
proc getNimRootDir(): string =
|
||||||
proc getNimRootDir(): string =
|
#[
|
||||||
#[
|
hack, but works
|
||||||
hack, but works
|
alternatively (but more complex), use (from a nim file, not nims otherwise
|
||||||
alternatively (but more complex), use (from a nim file, not nims otherwise
|
you get Error: ambiguous call; both system.fileExists):
|
||||||
you get Error: ambiguous call; both system.fileExists):
|
import "$nim/testament/lib/stdtest/specialpaths.nim"
|
||||||
import "$nim/testament/lib/stdtest/specialpaths.nim"
|
nimRootDir
|
||||||
nimRootDir
|
]#
|
||||||
]#
|
fmt"{currentSourcePath}".parentDir.parentDir.parentDir
|
||||||
fmt"{currentSourcePath}".parentDir.parentDir.parentDir
|
|
||||||
else:
|
|
||||||
proc getCurrentCompilerExe*(): string =
|
|
||||||
"nim"
|
|
||||||
|
|
||||||
const
|
const
|
||||||
DirSep = when defined(windows): '\\' else: '/'
|
DirSep = when defined(windows): '\\' else: '/'
|
||||||
|
|
||||||
proc execAction(cmd: string): string =
|
proc execAction(cmd: string): string =
|
||||||
var
|
var
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import regex
|
||||||
|
|
||||||
import compiler/[ast, idents, lineinfos, msgs, pathutils, renderer]
|
import compiler/[ast, idents, lineinfos, msgs, pathutils, renderer]
|
||||||
|
|
||||||
import "."/[build, compat, globals, plugin, treesitter/api]
|
import "."/[build, globals, plugin, treesitter/api]
|
||||||
|
|
||||||
const gReserved = """
|
const gReserved = """
|
||||||
addr and as asm
|
addr and as asm
|
||||||
|
|
@ -236,11 +236,11 @@ proc getLit*(str: string): PNode =
|
||||||
proc isNil*(node: TSNode): bool =
|
proc isNil*(node: TSNode): bool =
|
||||||
node.tsNodeIsNull()
|
node.tsNodeIsNull()
|
||||||
|
|
||||||
proc len*(node: TSNode): uint =
|
proc len*(node: TSNode): int =
|
||||||
if not node.isNil:
|
if not node.isNil:
|
||||||
result = node.tsNodeNamedChildCount().uint
|
result = node.tsNodeNamedChildCount().int
|
||||||
|
|
||||||
proc `[]`*(node: TSNode, i: BiggestUInt): TSNode =
|
proc `[]`*(node: TSNode, i: SomeInteger): TSNode =
|
||||||
if i < node.len():
|
if i < node.len():
|
||||||
result = node.tsNodeNamedChild(i.uint32)
|
result = node.tsNodeNamedChild(i.uint32)
|
||||||
|
|
||||||
|
|
@ -652,6 +652,6 @@ proc loadPlugin*(gState: State, sourcePath: string) =
|
||||||
|
|
||||||
proc expandSymlinkAbs*(path: string): string =
|
proc expandSymlinkAbs*(path: string): string =
|
||||||
try:
|
try:
|
||||||
result = path.expandSymlink().absolutePath(path.parentDir()).myNormalizedPath()
|
result = path.expandSymlink().absolutePath(path.parentDir()).normalizedPath()
|
||||||
except:
|
except:
|
||||||
result = path
|
result = path
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ import os, osproc, strformat, strutils, times
|
||||||
|
|
||||||
import "."/treesitter/[api, c, cpp]
|
import "."/treesitter/[api, c, cpp]
|
||||||
|
|
||||||
import "."/[ast2, compat, globals, getters]
|
import "."/[ast2, globals, getters]
|
||||||
|
|
||||||
proc process(gState: State, path: string) =
|
proc process(gState: State, path: string) =
|
||||||
doAssert existsFile(path), &"Invalid path {path}"
|
doAssert existsFile(path), &"Invalid path {path}"
|
||||||
|
|
|
||||||
|
|
@ -1,26 +1,7 @@
|
||||||
# see https://github.com/nimterop/nimterop/issues/79
|
import std/time_t as time_t_temp
|
||||||
|
type
|
||||||
when (NimMajor, NimMinor, NimPatch) < (0, 19, 9):
|
time_t* = time_t_temp.Time
|
||||||
# clean this up once upgraded; adapted from std/time_t
|
time64_t* = time_t_temp.Time
|
||||||
when defined(nimdoc):
|
|
||||||
type
|
|
||||||
impl = distinct int64
|
|
||||||
Time = impl
|
|
||||||
elif defined(windows):
|
|
||||||
when defined(i386) and defined(gcc):
|
|
||||||
type Time {.importc: "time_t", header: "<time.h>".} = distinct int32
|
|
||||||
else:
|
|
||||||
type Time {.importc: "time_t", header: "<time.h>".} = distinct int64
|
|
||||||
elif defined(posix):
|
|
||||||
import posix
|
|
||||||
type
|
|
||||||
time_t* = Time
|
|
||||||
time64_t* = Time
|
|
||||||
else:
|
|
||||||
import std/time_t as time_t_temp
|
|
||||||
type
|
|
||||||
time_t* = time_t_temp.Time
|
|
||||||
time64_t* = time_t_temp.Time
|
|
||||||
|
|
||||||
when defined(cpp):
|
when defined(cpp):
|
||||||
# http://www.cplusplus.com/reference/cwchar/wchar_t/
|
# http://www.cplusplus.com/reference/cwchar/wchar_t/
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue