diff svk/generate.nim @ 1488:3ce7c132fdac

did: improvments
author sam <sam@basx.dev>
date Sun, 18 May 2025 16:36:52 +0700
parents f786797a0cbe
children e6bd1f553c1b
line wrap: on
line diff
--- a/svk/generate.nim	Thu May 15 00:10:08 2025 +0700
+++ b/svk/generate.nim	Sun May 18 16:36:52 2025 +0700
@@ -261,8 +261,8 @@
     let b = distinctBase(S)(flag)
     result = S(a or b)
 
-func toEnums[T, S](number: T): seq[S] =
-  for value in enumFullRange(T):
+func toEnums*[T, S](number: T): seq[S] =
+  for value in enumFullRange(S):
     if (value.ord and cint(number)) > 0:
       result.add value
 """
@@ -433,8 +433,8 @@
   if edef.values.len > 0:
     if edef.isBitmask:
       let bitsName = edef.name
-      let p = bitsName.rfind("Flag")
-      let flagsName = bitsName[0 ..< p] & "Flags"
+      let p = bitsName.rfind("FlagBits")
+      let flagsName = bitsName[0 ..< p] & "Flags" & bitsName[p + 8 .. ^1]
 
       outFile.writeLine &"converter {bitsName}ToBits*(flags: openArray[{bitsName}]): {flagsName} ="
       outFile.writeLine &"  asBits[{bitsName}, {flagsName}](flags)"