Commit Graph

173 Commits

Author SHA1 Message Date
Andreas Rumpf
3308d26581 breaking change: arrays of char do not convert to cstring; ptr to array of char does 2017-10-10 00:17:20 +02:00
Andreas Rumpf
9b1a23c554 minor breacking change: in string formats '' the '1' is now interpreted as a number, not as an identifier. This is more consistent with the rest of the mini language and allows '12'. 2017-10-06 08:28:16 +02:00
Andreas Rumpf
2b592a6425 in prepration for the upcoming different integer inference rules 2017-09-16 10:29:29 +02:00
Simon Krauter
94e336fe85 Fix wrong result of countLines() (#6371) 2017-09-15 10:45:22 +02:00
Fredrik Høisæther Rasch
37a615a31f Added Multi-Replacement proc for strings (#6193) 2017-08-07 19:58:11 +02:00
Markus F.X.J. Oberhumer
a0f39e0ab4 Ascii character code 127 (DEL) is not printable and must be quoted. (#5984)
This is a follow-up to #5823.
2017-06-15 20:42:23 +02:00
Simon Krauter
40e9e751f0 Extend documenation of formatFloat() (#5799)
Added line: "If ``precision == 0``, it tries to format it nicely." (copied from formatBiggestFloat())
2017-05-13 21:50:44 +02:00
Andreas Rumpf
9f5492becd strutils.nim: make removeSuffix robust on empty strings 2017-03-18 10:42:11 +01:00
Simon Krauter
a42801d100 Make countLines() the same as len(splitLines(s)) (#5470)
The result of countLines() is now increased by 1 compared to the old
version.
Fixes #5460.
2017-03-03 01:31:17 +01:00
Araq
5ce8e0b5cd better docs for strutils.escape 2017-02-26 01:02:50 +01:00
Dennis Felsing
4af2c26c91 Make toHex work for uints (#5423) 2017-02-24 16:48:22 +01:00
flyx
ac9c2126e6 Added BiggestUInt (#5378) 2017-02-13 11:20:07 +01:00
Parashurama
d04ca6ef23 Improve & optimize strutils 'find' procs (#5196)
* add 'last' argument to 'find' procs in strutils
* add 'rfind' proc for looking up set[char] in strutils
* use optimised C function 'memchr' when available
2017-01-11 09:48:31 +01:00
Chris Heller
7ad32ea0ed Change error handling in split to use doAssert so it is not compiled out when running tests 2016-12-21 22:24:08 -08:00
Chris Heller
80a727f1ce Change error handling to use assert as per Araq's comment 2016-12-21 12:15:33 -08:00
Chris Heller
40d034b7e3 Guard against calling split with an empty string as a separator. Fixes #5119 2016-12-21 12:06:59 -08:00
Andreas Rumpf
439f43fc52 better memory tracking 2016-11-22 08:40:57 +01:00
Zajcev Evgeny
b1a369d2fb [enh] isUpperAscii*, isLowerAscii* speedup execution by stopping
iteration as soon as possible
2016-11-07 13:21:17 +03:00
Andreas Rumpf
60b187513e stdlib and compiler don't use .immediate anymore 2016-07-29 23:51:01 +02:00
Andreas Rumpf
6d9177c6f1 added strutils.splitWhitespace 2016-07-06 11:59:20 +02:00
Andreas Rumpf
b56e5e159a Merge pull request #4361 from jyapayne/fix_split
Fix #4305: Make split proc for set[char] consistent
2016-07-02 17:55:57 +02:00
Joey Payne
e0203a4463 Add useful unicode procs for string manipulation
Added: isUpper, isLower, isAlpha, isWhiteSpace, toUpper,
toLower, and capitalize

Renamed strutils procs that are similar to avoid conflicts
2016-07-01 07:37:35 -06:00
Joey Payne
79a8a5ee72 Add transition define for old split behavior 2016-07-01 07:24:30 -06:00
Joey Payne
76f81d4aa4 Fix #4305: Make split proc for set[char] consistent 2016-07-01 07:24:30 -06:00
Euan
f84911364a Fixing isNilOrWhitespace to handle empty/nil. 2016-06-24 10:51:13 +01:00
Euan
746357404c Fixing isNilOrWhitespace for empty/nil strings.
`isSpace` returns false for an empty string, which is the opposite of
this method.
2016-06-24 10:50:26 +01:00
Euan
d932cb1e51 Adding isNilOrEmpty and isNilOrWhitespace
As discussed in #4184, this patch adds `isNilOrEmpty` and
`isNilOrWhitespace` to `strutils`.

It also modifies the existing `isSpace` proc slightly to exit early
rather than looping through all characters in a string.
2016-06-24 10:18:46 +01:00
Andreas Rumpf
42251f0b6b moved expandTabs to strmisc 2016-06-15 17:15:27 +02:00
Joey Payne
84d9081e21 Move partition and rpartition to new strmisc module
This was done because partition is an uncommonly used proc that is still
useful in rare cases. There is also a desire to add more procs to this
module at a later time.
2016-06-13 20:54:58 -06:00
Joey Payne
f6e30981a8 Add new procs for string manipulation
Add center, isTitle, title, partition, rpartition, rsplit, swapCase,
translate, and expandTabs
2016-06-13 20:54:23 -06:00
A. S. Budden
2f16854d0f Added inline pragmas. 2016-06-06 18:43:39 +01:00
A. S. Budden
d8480c73b6 Added startsWith/endsWith implementations for character prefix/suffix (fixes #4252). 2016-06-06 10:03:46 +01:00
Andreas Rumpf
c5b47628e4 Merge pull request #4261 from abudden/4197-formatEng
Implemented string formatting functions for engineering format
2016-06-02 13:55:57 +02:00
A. S. Budden
47b707cd32 Implemented string formatting functions for engineering format (fixes #4197). 2016-06-02 10:27:55 +01:00
A. S. Budden
d16f864b7b Added missing noSideEffect pragma 2016-06-02 10:25:51 +01:00
Andreas Rumpf
c11de219e5 Merge pull request #4250 from abudden/4198-formatSize
Reimplementation of formatSize to return a more meaningful value
2016-06-02 09:54:11 +02:00
A. S. Budden
29c8c83972 Modified trimZeros to modify the passed value. 2016-06-01 20:15:55 +01:00
Andreas Rumpf
f125f2e4ce make split with strings as separator faster 2016-06-01 19:34:02 +02:00
Andreas Rumpf
dc4a30c6b1 adds strutils.toHex variant that knows about the used integer size 2016-06-01 17:59:58 +02:00
A. S. Budden
1b2c599854 Moved zero trimming into a separate function (code review comment) 2016-06-01 14:30:02 +01:00
A. S. Budden
d855ad7045 Reimplementation of formatSize to return a more meaningful value (fixes #4198). 2016-06-01 12:56:01 +01:00
Andreas Rumpf
4e83a24662 Merge branch 'maxsplit' of https://github.com/mjoud/Nim into mjoud-maxsplit 2016-05-28 17:50:36 +02:00
Araq
33aeadab73 minor whitespace change 2016-05-10 22:03:07 +02:00
Dominik Picheta
73e48f9c9c Fixes #4037 2016-04-04 13:39:42 +01:00
Anatoly Galiulin
9aa845c6b6 Add parseUInt and parseBiggestUInt functions to stdlib (parseutils, strutils) 2016-03-30 17:38:57 +06:00
def
78d1b282ca Make strutils.join with with generic openarrays 2016-03-06 17:56:53 +01:00
Andreas Rumpf
2c2ab6884c fixes strutils.unescape; refs #3634 2016-01-17 21:29:25 +01:00
Yuriy Glukhov
2fcc37fd2b fixed float formatting for js 2015-11-26 01:10:52 +02:00
Charles Blake
716c12a436 Fix loop index bug in scan for a[s] in b[s..s+len2-1].
a, b must both be indexed starting from s after the common
prefix "strip" phase.  This resolves issue 3477:
  https://github.com/nim-lang/Nim/issues/3477
2015-11-19 06:52:31 -05:00
Magnus Jöud
755d89e32d modified strutils.split 2015-10-14 15:29:27 +02:00