summary refs log tree commit diff stats
path: root/lib/pure/strutils.nim
Commit message (Collapse)AuthorAgeFilesLines
* strutils.nim: fixes the indentation of formatEngAraq2019-04-101-5/+5
|
* Fix dead sequtils link (#10960) [ci skip]MrZoraman2019-04-041-1/+1
|
* strutils: document `parseEnum` [ci skip]narimiran2019-02-251-0/+23
|
* fixes a critical strutils bug [backport]Araq2019-02-191-1/+1
|
* fixes #6832Araq2019-02-191-5/+2
|
* documentation: remove author field [ci skip]narimiran2019-01-171-2/+0
|
* better docs: strutilsnarimiran2019-01-161-768/+1265
|
* strutils: minor code cleanupAraq2018-12-191-1/+0
|
* removes deprecated T/P typesAraq2018-11-161-2/+0
|
* better implementation for wrapWordsAraq2018-11-081-1/+2
|
* stripLineEnd aka chomp (#9623)Timothee Cour2018-11-051-0/+1
|
* Add 'dedent' to documentation index (#9615)Federico Ceratto2018-11-041-0/+1
|
* changelog entryArne Döring2018-10-311-1/+1
|
* fix typoArne Döring2018-10-311-1/+1
|
* fixes #9557Arne Döring2018-10-301-32/+34
|
* Fixes #9525 (#9526)Neelesh Chandola2018-10-281-1/+1
|
* Some documentation added to strutils (#9379)eqperes2018-10-161-2/+102
| | | | | | | | | | | | | | | | * wip documentation strutils * some runnableExamples in strutils * assert -> doAssert * corrected doc for abbrev; some more runnable examples * runnableExamples for join * fix c&p error * corrections
* math.round is not needed in strutils (#9383)skilchen2018-10-161-5/+4
|
* Add strip() example (#8002)Federico Ceratto2018-10-141-0/+2
|
* struils: don't use the deprecated accumulateResultAndreas Rumpf2018-10-141-8/+12
|
* added new editdistance stdlib module, deprecated strutils.editDistance, refs ↵Andreas Rumpf2018-10-141-1/+4
| | | | #6301
* strutils/unicode: deprecate isLower and friends operating on complete ↵Andreas Rumpf2018-10-141-45/+12
| | | | strings; fixes #7963 properly
* add strutils.stripLineEnd (#9346)Timothee Cour2018-10-131-0/+23
|
* Proposed solution for issue #8919 (#9280)eqperes2018-10-121-0/+2
| | | | | | * Proposed solution for issue #8919 * count sub/subs must be non-empty
* fixes #8911Andreas Rumpf2018-09-161-7/+7
|
* Fix too broad generic match for toHex (#8889)LemonBoy2018-09-051-1/+1
| | | Fixes #8865
* strutils: don't deprecate escape/unescape, too much code uses itAraq2018-08-311-6/+2
|
* Merge branch 'devel' into araq-miscAraq2018-08-131-11/+20
|\
| * Fixed 7478: splitLines keepEol option (#8621)Iván Montes2018-08-131-12/+21
| |
* | fixes more nil string bugsAraq2018-08-081-4/+6
| |
* | strutils: minor code cleanupAraq2018-08-081-4/+1
|/
* Testament should run tests with no action (#8232)genotrance2018-07-081-3/+6
| | | | | | * Testament should run tests with no action * Fix strutils tests for JS
* Workaround VM bug in strutilsDominik Picheta2018-06-171-2/+3
|
* Exports unicode.toUpper/toLower in strutils module.Dominik Picheta2018-06-171-0/+3
|
* Add parse bin int, fixes #8018 (#8020)Vindaar2018-06-131-39/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * clarify `parseHexInt`, `parseOctInt` docstring and exception msgs * add `parseBinInt` based on `parseutil.parseBin` implementation Adds a `parseBinInt`, which parses a binary integer string and returns it as an integer. This is based on the implementation of `parseutil.parseBin`, removing the unnecessary parts. * add tests for all `parse(Hex|Oct|Bin)Int` procs * replace `parse*Int` proc impls by call to parseutil procs Replaces the `parse(Hex|Oct|Bin)Int` procedure implementation by calls to the `parseutil` procs, which receive a mutable argument. Has the main advantage that the empty string as well as a "prefix only" string, e.g. "0x" counts as an invalid integer. Also moves the `parseOctInt` proc further up in the file so that all `parse` procs are below one another. * replace `var L` by `let L` in `parse` procs There's no reason for the usage of `var` here. * add `maxLen` optional arg for `parseutil.parse(Oct|Bin)` Plus small change to test cases. * update changelog about `parse*Int` procs * fix `rejectParse` template in `tstrutils` * make sure only `s.len` chars are parsed, if `maxLen+start` > s.len Fixes a previous bug in `parseHex` (and now affected `parseOct` and `parseBin`), which allowed to set `start + maxLen` to be larger than the strings length. This resulted in an out of bounds access. * move `parse*Int` proc change to breaking changes, add double `
* Make isUpper (and variants) work for strings with non-alpha charsKaushal Modi2018-06-081-19/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The other variants are isLower, isUpperAscii and isLowerAscii Fixes https://github.com/nim-lang/Nim/issues/7963. This commit changes the behavior and signatures of: - isUpper, isLower in the unicode module - isUpperAscii, isLowerAscii in the strutils module A second mandatory parameter skipNonAlpha is added to these 4 procs. (This change affects only for the case where the input is a *string*.) --- With skipNonAlpha set to true, the behavior mimics the Python isupper and islower behavior i.e. non-alphabetic chars/runes are ignored when checking if the string is upper-case or lower-case. Before this commit: doAssert(not isUpper("A B")) After this commit: doAssert(not isUpper("A B", false)) <-- old behavior doAssert isUpper("A B", true) Below two are equivalent: isUpper("A B", true) isAlpha("A B") and isUpper("A B", false) .. and the similar for other 3 procs.
* fix handling of default precision in formatBiggestFloat for the js backend ↵skilchen2018-06-011-0/+7
| | | | (#7928)
* bugfix: strutils.find was broken for strings with uneven number of charsZahary Karadjov2018-05-071-248/+284
| | | | | | | | | | | | For some reason, the problem was manifesting only inside the VM, it was detecting an attempt to read past the string end (i.e. the formerly accessible null byte). To catch such errors, strutils now performs static tests too. I've solved the problem by re-implementing the Boyer-Moore algotihm in a cleaner way and I took the opportunity to make some other optimisations to strutils.
* make more tests greenAndreas Rumpf2018-04-301-1/+1
|
* strutils: code cleanups and do not rely on the terminating binary zero anymoreAndreas Rumpf2018-04-281-289/+94
|
* Don't escape multibyte characters (#7570)Oscar Nihlgård2018-04-231-3/+14
|
* remove dead code elimination option (#7669)Jacek Sieka2018-04-231-1/+1
|
* fixes #7507Araq2018-04-191-3/+11
|
* move eqIdent to vm.nim (#7585)Arne Döring2018-04-151-5/+6
| | | | | | * Strutils comment changes. * fix typo
* fixes #6205Andreas Rumpf2018-04-141-19/+19
|
* FIXUP: Removed +1 causing substr slicing to skip chars on first iteration of ↵ryanc-signiq2018-03-081-1/+6
| | | | while loop (#7312)
* strutils.strip: improve the documentation; fixes #7159Andreas Rumpf2018-03-051-1/+3
|
* fixes #7293Andreas Rumpf2018-03-051-3/+3
|
* Merge pull request #6517 from FedericoCeratto/hexstrDominik Picheta2018-01-261-0/+50
|\ | | | | Add string-to-hex and back conversions
| * Add string-to-hex and back conversionsFederico Ceratto2017-11-271-0/+50
| | | | | | | | Add parseHexStr and toHex and tests.