v0.11.3
(2024-01-30)
v0.11.2
(2022-10-14)
v0.11.1
(2021-04-19)
- remove deprecated unary slice syntax (
cf60c6f
) (#56 by @timotheecour)
v0.11.0
(2021-01-16)
- enable negative match patterns (
83bdafc
)
v0.10.0
(2020-11-09)
- Nim v1.x is now required.
- make
GlobSyntaxError
derive fromCatchableError
(09e50e1
) - change
toPattern
tore
to avoid deprecation warnings (cb7cdd9
)
v0.9.1
(2020-11-07)
- require regex < 0.17 (#50)) (
4258cb5
) - handle symlinks correctly, closes #36 (#38)) (
068369b
) - normalize input paths on posix; simplify code a bit (#45)) (
28e5f93
), closes #35, #35 - normalize input paths (#37)) (
4171cfa
)
This release was made possible by:
Thanks!
v0.9.0
(2018-10-02)
- walk: absolute patterns now result in absolute paths if no root is provided (even if
Absolute notin options
)
- walk: ensure hidden directories are not entered on non-Windows systems (
1ea34f9
) - walk: match filesystem casing for entries on macOS (#33) (
d9d1175
) - compat: support future module relocation in nim devel (#31) (
ffd65d3
) - walk: handle leading shallow magic correctly (#30) (
1fa54df
), closes #29 - walk: handle leading magic correctly pt. 2 (
633a87d
), closes #29 - windows: improve case insensitive path handling (
4a0d545
)
This release was made possible by:
Thanks!
v0.8.1
(2018-07-21)
v0.8.0
(2018-07-21)
listGlob
has been removed to encourage the use of iterators.sequtils.toSeq
from Nim's stdlib can be used to convert the iterators to seqs- The walk iterators now take an options set rather than multiple boolean parameters
GlobResult
has been renamedGlobEntry
- support case insensitive matching (
fe17bdd
) - windows: match casing of expanded directories to filesystem (
76e1582
) - rename
GlobResult
toGlobEntry
(34fa6f3
) - forward
os.PathComponent
for ease of use (de74aff
)
- walk: expand magic if given a glob (
8ef605b
) - handle empty base paths when joining (
0cdb00f
) - don't recurse into hidden directories when
includeHidden == false
(#14) (b6de2fd
)
- walk: move some processing inside proceed check (
cfabbea
)
v0.7.0
(2018-07-04)
- normalize returned paths to current os style (
966e8cf
) - remove
$
to improve inspection & debugging (c897d6b
)
- handle absolute paths correctly (
1753cb8
)
v0.6.0
(2018-06-06)
This release has the potential to greatly improve performance. glob
will no
longer traverse into directories or over files that have no hope of matching the
given pattern. A simple example is that a shallow pattern like *.nim
can only
match files with a .nim
extension in the current directory — so glob
should never enter a subdirectory or consider files with any other extension.
This is now the case!
TL;DR when using shallow patterns in roots of huge directory structures, users should see huge performance gains.
- optimize walk iterator (
1a57121
)
v0.5.0
(2018-05-30)
This release brings a number of API improvements, the most significant of which
is that procs/iterators like listGlob
that previously only accepted string
patterns now also accept pre-constructed Glob
objects:
import glob
const matcher = glob("src/**/*.nim")
# the following are now equivalent:
listGlob(matcher)
listGlob("src/**/*.nim")
This makes globs more reusable and can reduce the number of created objects.
An internal proc named splitPattern
is now exposed publicly:
import glob
echo splitPattern("src/dir/**/*.{png,svg}")
# -> (base: "src/dir", magic: "**/*.{png.svg}")
The full feature update list is below, and all of these have been documented on the full docs site.
walkGlobKinds
,walkGlob
, &listGlob
now also accept a preconstructedGlob
object instead of a string- the internal
splitPattern
proc is now publicly exported, which allows users to split string glob patterns into their "magic" & "non-magic" (base) parts Glob
objects now contain theirbase
&magic
path segmentshasMagic
now checks for extended glob features like pattern matches
v0.4.0
(2018-05-23)
While it's a fairly small release, almost the entire glob parser was actually rewritten for this release to make supporting extended pattern matches easier and to generally make it simpler. 🎉
- add extended pattern matching (
a7cf070
)
v0.3.1
(2018-05-22)
- correctly handle patterns in cwd (
ee12839
)
v0.3.0
(2018-05-22)
- allow matching
]
in character class (991553b
)
- error correctly on invalid character escapes (
2ae42eb
)
v0.2.0
(2018-05-22)
- support posix character classes (
a8a8fc6
)
Initial release.