summary refs log tree commit diff stats
path: root/ide/config.nim
blob: 448a67bda2f4b84e04225b274e80a2e9c7618137 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# Does the config parsing for us

import 
  parsecfg, strtabs, strutils
  
type
  TTokenClass* = enum
    gtBackground,
    gtNone,
    gtWhitespace,
    gtDecNumber,
    gtBinNumber,
    gtHexNumber,
    gtOctNumber,
    gtFloatNumber,
    gtIdentifier,
    gtKeyword,
    gtStringLit,
    gtLongStringLit,
    gtCharLit,
    gtEscapeSequence,
    gtOperator,
    gtPunctation,
    gtComment,
    gtLongComment,
    gtRegularExpression,
    gtTagStart,
    gtTagEnd,
    gtKey,
    gtValue,
    gtRawData,
    gtAssembler,
    gtPreprocessor,
    gtDirective,
    gtCommand,
    gtRule,
    gtHyperlink,
    gtLabel,
    gtReference,
    gtOther,
    gtCursor

  TColor* = colKeywords, colIdentifiers, colComments
  TConfiguration* = object of TObject       ## the configuration object
    colors*: array [TTokenClass] of TColor  ## the colors to use
    filelist*: seq[string]                  ## the filelist
  
const
  colWhite = 0x00ffffff # rgb
  colBlack = 0x00000000
  colYellow = 
  
proc readConfig(filename: string): TConfiguration = 
  # fill with reasonable defaults:
  result.filelist = []
  result.colors[gtBackground] = colWhite
     gtNone: 
    gtWhitespace,
    gtDecNumber,
    gtBinNumber,
    gtHexNumber,
    gtOctNumber,
    gtFloatNumber,
    gtIdentifier,
    gtKeyword,
    gtStringLit,
    gtLongStringLit,
    gtCharLit,
    gtEscapeSequence,
    gtOperator,
    gtPunctation,
    gtComment,
    gtLongComment,
    gtRegularExpression,
    gtTagStart,
    gtTagEnd,
    gtKey,
    gtValue,
    gtRawData,
    gtAssembler,
    gtPreprocessor,
    gtDirective,
    gtCommand,
    gtRule,
    gtHyperlink,
    gtLabel,
    gtReference,
    gtOther
    gtCursor
  var
    p: TCfgParser
  if open(p, filename):