Commit da333393 authored by Diederik van Arkel's avatar Diederik van Arkel

support type declaration colouring

parent a1a68e8d
......@@ -30,7 +30,7 @@ getLineC :: !LineNr !u:Text -> ((!Info,!String), !u:Text)
getLines :: LineNr LineNr Text -> (StrictList String, Text)
//getLinesC :: LineNr LineNr Text -> (StrictList (Int,String), Text)
updateLine :: !LineNr !String !.Text -> (!Int,!.Text)
updateLine :: !LineNr !String !.Text -> (!Int,!Int,!.Text)
removeLine :: !LineNr !Text -> Text
removeLines :: !LineNr !LineNr !Text -> Text
......
......@@ -22,7 +22,7 @@ export TextAnnot Void, SyncInf, ConsInf
*/
:: LineAnnot :== Info
dummyLineAnnot :== (0,False)
dummyLineAnnot :== (0,False,False)
annotLine :== slMap (\s->(dummyLineAnnot,s))
annotWhole :== firstParse
annotPart :== quickParse
......@@ -237,7 +237,7 @@ removeLines first last text=:{ nrLines, blocks }
# (before,after) = slSplitAt first lines
# after = slDrop nrRemoveLines after
#! lines = slAppend before after
# (_,lines) = annotPart (dec first) (dec first) lines
# (_,_,lines) = annotPart (dec first) (dec first) lines
= {blocks = group BlockSize lines, nrLines = nrLines - nrRemoveLines}
insertLines :: !LineNr !(StrictList String) !Text -> Text
......@@ -248,7 +248,7 @@ insertLines lineNr strings text=:{ nrLines, blocks }
# strings = annotLine strings
#! after = slAppend strings after
#! lines = slAppend before after
# (_,lines) = annotPart (dec lineNr) (lineNr + nrInsertLines) lines
# (_,_,lines) = annotPart (dec lineNr) (lineNr + nrInsertLines) lines
= {blocks = group BlockSize lines, nrLines = nrLines + nrInsertLines}
appendLines :: !(StrictList String) !Text -> Text
......@@ -257,7 +257,7 @@ appendLines strings text=:{ nrLines, blocks }
# before = textToStringsC text
# after = annotLine strings
#! lines = slAppend before after
# (_,lines) = annotPart (dec nrLines) (nrLines + nrAppendLines) lines
# (_,_,lines) = annotPart (dec nrLines) (nrLines + nrAppendLines) lines
= {blocks = group BlockSize lines, nrLines = nrLines + nrAppendLines}
appendLines` :: !(StrictList String) !Text -> Text
......@@ -272,16 +272,16 @@ appendLines` strings text=:{ nrLines, blocks }
# update = case slHead update of
(pl,st) -> (pl,st+++.string)
#! lines = slAppend before (SCons update after)
# (_,lines) = annotPart (dec nrLines) (nrLines + nrAppendLines) lines
# (_,_,lines) = annotPart (dec nrLines) (nrLines + nrAppendLines) lines
= {blocks = group BlockSize lines, nrLines = nrLines + nrAppendLines}
updateLine :: !LineNr !String !.Text -> (!Int,!.Text)
updateLine :: !LineNr !String !.Text -> (!Int,!Int,!.Text)
updateLine lineNr string text=:{ nrLines, blocks }
# lines = textToStringsC text
# (before,after) = slSplitAt lineNr lines
# (pl,_) = slHead after
# after = SCons (pl,string) (slTail after)
#! lines = slAppend before after
# (fin,lines) = annotPart lineNr lineNr lines
= (fin,{blocks = group BlockSize lines, nrLines = nrLines})
# (st,fin,lines) = annotPart lineNr lineNr lines
= (st,fin,{blocks = group BlockSize lines, nrLines = nrLines})
......@@ -54,6 +54,7 @@ from EdSelection import :: Selection, :: Position, :: ColumnNr, :: LineNr
, charColour :: !Colour
, keywordColour :: !Colour
, typedefColour :: !Colour
, typedeclColour :: !Colour
}
DefaultSyntaxColours :: SyntaxColours
......
......@@ -88,6 +88,7 @@ import EdAction
, charColour :: !Colour
, keywordColour :: !Colour
, typedefColour :: !Colour
, typedeclColour :: !Colour
}
instance toString ActionInfo
......@@ -412,6 +413,7 @@ DefaultSyntaxColours =
, charColour = Magenta
, keywordColour = Grey
, typedefColour = Black
, typedeclColour = Black
}
//--
......
......@@ -87,52 +87,55 @@ where
| S // in string constant...
| C // in char constant...
| T Int // in typedef
| D Int // in typedecl
import ospicture // for optimized drawfuns...
optDrawS :== pictdrawstring // use non-optimised versions
optDrawC :== pictdrawchar // "
tabDrawStringC :: !Point2 !(!Info,!String) !FontInfo !*Picture -> *Picture
tabDrawStringC point ((clevel,typedef),string)
{tabSize,charWidth,thefont, showTabs, syntaxColours={textColour, backgroundColour,tabColour, commentColour, stringColour, charColour, keywordColour, typedefColour}}
tabDrawStringC point ((clevel,typedef,typedecl),string)
{tabSize,charWidth,thefont, showTabs, syntaxColours={textColour, backgroundColour,tabColour, commentColour, stringColour, charColour, keywordColour, typedefColour, typedeclColour}}
picture
#! strings = splitAtTabs string
| typedef
= tabDrawString` True (T clevel) point strings picture
= tabDrawString` True (N clevel) point strings picture
= tabDrawString` /*True*/ (T clevel) point strings picture
| typedecl
= tabDrawString` (D clevel) point strings picture
= tabDrawString` /*True*/ (N clevel) point strings picture
where
tabDrawString` :: !Bool !CommentLevel !Point2 !.[String] !*Picture -> *Picture
tabDrawString` :: /*!Bool*/ !CommentLevel !Point2 !.[String] !*Picture -> *Picture
// hmm, need to get if column 0 into local funs...
tabDrawString` _ _ _ [] picture
tabDrawString` /*_*/ _ _ [] picture
// #! (_,picture) = optGetPenPos picture
= picture
tabDrawString` ini clevel point [string : []] picture
tabDrawString` /*ini*/ clevel point [string : []] picture
// #! (_,picture) = optGetPenPos picture
#! picture = setPenPos point picture
#! (_,picture) = drawC ini clevel string picture
#! (_,picture) = drawC /*ini*/ clevel string picture
// #! (_,picture) = optGetPenPos picture
= picture
tabDrawString` ini clevel point [string : strings] picture
tabDrawString` /*ini*/ clevel point [string : strings] picture
// #! (_,picture) = optGetPenPos picture
#! picture = setPenPos point picture
#! (clevel,picture) = drawC ini clevel string picture
#! (clevel,picture) = drawC /*ini*/ clevel string picture
// #! (newPoint,picture) = optGetPenPos picture
#! (newPoint,picture) = getPenPos picture
#! newX = alignAtTab` newPoint.x tabSize charWidth
| not showTabs
= tabDrawString` False clevel {point & x = newX} strings picture
= tabDrawString` /*False*/ clevel {point & x = newX} strings picture
#! picture = setPenColour tabColour picture
#! picture = optDrawC '~' picture
#! picture = setPenColour textColour picture
= tabDrawString` False clevel {point & x = newX} strings picture
= tabDrawString` /*False*/ clevel {point & x = newX} strings picture
drawC :: !Bool !CommentLevel !.String !*Picture -> (!CommentLevel,!*Picture)
drawC ini c s pic
drawC :: /*!Bool*/ !CommentLevel !.String !*Picture -> (!CommentLevel,!*Picture)
drawC /*ini*/ c s pic
= drawC c pic
where
drawC :: !CommentLevel !*Picture -> (!CommentLevel,!*Picture)
......@@ -148,10 +151,13 @@ where
= (L,pic)
drawC (N cl) pic // normal
# pic = (if (cl==0) (setPenColour textColour) (setPenColour commentColour)) pic
= dL ini (N cl) 0 pic
= dL /*ini*/ (N cl) 0 pic
drawC (T cl) pic
# pic = (if (cl==0) (setPenColour typedefColour) (setPenColour commentColour)) pic
= dL ini (T cl) 0 pic
= dL /*ini*/ (T cl) 0 pic
drawC (D cl) pic
# pic = (if (cl==0) (setPenColour typedeclColour) (setPenColour commentColour)) pic
= dL (D cl) 0 pic
l = size s
funnyChar i = isStringMember s.[i] (dec funnySize) funnyChars
......@@ -165,10 +171,11 @@ where
funnyChars =: "~@#$%^?!+-*<>\\/|&=:."
funnySize = 20
dL :: !Bool !CommentLevel !.Int !*Picture -> (!CommentLevel,!*Picture)
dL ini cl i pic
dL :: /*!Bool*/ !CommentLevel !.Int !*Picture -> (!CommentLevel,!*Picture)
dL /*ini*/ cl i pic
| i >= l
= (cl,pic)
/*
| ini && s.[i] == ':' && not (in_comment cl)
# i` = inc i
| i` >= l
......@@ -201,11 +208,11 @@ where
# (cl,pic) = normalise ini i cl pic
# pic = optDrawC ':' pic
= dL False (N 0) i` pic
*/
| s.[i] == '*'
# i` = inc i
| i` >= l
# (cl,pic) = normalise ini i cl pic
// # (cl,pic) = normalise ini i cl pic
# pic = optDrawC '*' pic
= (cl,pic)
| s.[i`] == '/'
......@@ -216,31 +223,31 @@ where
# cl = dec_comment cl
| not (in_comment cl) //cl == 0
# pic = setPenColour (non_comment_colour cl)/*textColour*/ pic
= dL False cl i`` pic
= dL False cl i`` pic
= dL /*False*/ cl i`` pic
= dL /*False*/ cl i`` pic
| i`` < l && funnyChar i``
// eat till end of funnyid substring...
# j = scanfunny i``
# r = s%(i``,dec j)
# (cl,pic) = normalise ini i cl pic
// # (cl,pic) = normalise ini i cl pic
# pic = optDrawS "*/" pic
# pic = optDrawS r pic
= dL False cl j pic
= dL /*False*/ cl j pic
# pic = setPenColour commentColour pic // idiot proof for trickery at start of text...
# pic = optDrawS "*/" pic
# cl = dec_comment cl
| not (in_comment cl) //cl == 0
# pic = setPenColour (non_comment_colour cl)/*textColour*/ pic
= dL False cl i`` pic
= dL False cl i`` pic
# (cl,pic) = normalise ini i cl pic
= dL /*False*/ cl i`` pic
= dL /*False*/ cl i`` pic
// # (cl,pic) = normalise ini i cl pic
# pic = optDrawC '*' pic
= dL False cl i` pic
= dL /*False*/ cl i` pic
| s.[i] == '/'
# i` = inc i
| i` >= l
# (cl,pic) = normalise ini i cl pic
// # (cl,pic) = normalise ini i cl pic
# pic = optDrawC '/' pic
= (cl,pic)
| s.[i`] == '/'
......@@ -253,10 +260,10 @@ where
# pic = setPenColour commentColour pic
# pic = optDrawS "/*" pic
# cl = inc_comment cl
= dL False cl (inc i`) pic
# (cl,pic) = normalise ini i cl pic
= dL /*False*/ cl (inc i`) pic
// # (cl,pic) = normalise ini i cl pic
# pic = optDrawC '/' pic
= dL False cl i` pic
= dL /*False*/ cl i` pic
| (s.[i] == '"') && (not (in_comment cl)) //(cl == 0)
# pic = setPenColour stringColour pic
# pic = optDrawC '"' pic
......@@ -265,18 +272,23 @@ where
# pic = setPenColour charColour pic
# pic = optDrawC '\'' pic
= dC (inc i) pic
| /*(cl == 0)*/ (not (in_comment cl)) && (funnyChar i)
# j = scanfunny i
# r = s%(i,dec j)
/*
# (cl,pic) = case r of
"|" -> (cl,pic)
"=" -> (cl,pic)
_ -> normalise ini i cl pic
*/
# pic = optDrawS r pic
= dL False cl j pic
= dL /*False*/ cl j pic
/*
# (cl,pic) = case WhiteSpace s.[i] of
True -> (cl,pic)
_ -> normalise ini i cl pic
*/
# (key,j) = scankeyword s i
| key && (not (in_comment cl)) //cl == 0
# r = s%(i,dec j)
......@@ -284,11 +296,12 @@ where
# pic = setPenColour keywordColour pic
# pic = optDrawS r pic
# pic = setPenColour c pic
= dL False cl j pic
= dL /*False*/ cl j pic
# r = s%(i,dec j)
# pic = optDrawS r pic
= dL False cl j pic
= dL /*False*/ cl j pic
where
/*
normalise True 0 (T 0) pic
# pic = setPenColour textColour pic
= (N 0,pic)
......@@ -297,23 +310,28 @@ where
in_typedef cl = case cl of
T l -> l == 0
_ -> False
*/
in_comment cl = case cl of
N l -> l <> 0
T l -> l <> 0
D l -> l <> 0
_ -> False
dec_comment cl = case cl of
N l -> N (dec l)
T l -> T (dec l)
D l -> D (dec l)
inc_comment cl = case cl of
N l -> N (inc l)
T l -> T (inc l)
D l -> D (inc l)
non_comment_colour cl = case cl of
N _ -> textColour
T _ -> typedefColour
D _ -> typedeclColour
scankeyword :: !.String !Int -> (!Bool,!Int)
scankeyword s i
# c = s.[i]
| not (isAlpha c)
| not (isAlpha c || (c == '_'))
# j = inc i
= (False,j)
# j = scanalpha (inc i)
......@@ -396,7 +414,7 @@ where
| s.[i] == '"'
# pic = optDrawC '"' pic
# pic = setPenColour textColour pic
= dL False (N 0) (inc i) pic
= dL /*False*/ (N 0) (inc i) pic
| s.[i] == '\\'
# pic = optDrawC '\\' pic
# i = inc i
......@@ -413,7 +431,7 @@ where
| s.[i] == '\''
# pic = optDrawC '\'' pic
# pic = setPenColour textColour pic
= dL False (N 0) (inc i) pic
= dL /*False*/ (N 0) (inc i) pic
| s.[i] == '\\'
# pic = optDrawC '\\' pic
# i = inc i
......
......@@ -7,8 +7,8 @@ from EdSelection import :: Selection, :: Position, :: ColumnNr, :: LineNr
import EdLineText
getTextFragment :: !Selection !Text -> (!TextFragment, !Text)
removeText :: !Selection !Text -> (Maybe Int, Text)
insertText :: !Position !TextFragment !Text -> (Maybe Int, Text)
removeText :: !Selection !Text -> (Maybe (Int,Int), Text)
insertText :: !Position !TextFragment !Text -> (Maybe (Int,Int), Text)
replaceText :: !Selection !TextFragment !Text -> Text
appendText :: !TextFragment !Text -> Text
......
......@@ -29,25 +29,25 @@ where
chopLastLine (SCons aLine lines)
= SCons aLine (chopLastLine lines)
removeText :: !Selection !Text -> (Maybe Int,Text)
removeText :: !Selection !Text -> (Maybe (Int,Int),Text)
removeText {start={col=col1,row=row1},end={col=col2,row=row2}} text
# (firstLine, text) = getLine row1 text
// selection within one line?
| row1 == row2
# (fin,text) = updateLine row1
# (st,fin,text) = updateLine row1
( firstLine % (0, col1 - 1)
+++ firstLine % (col2, size firstLine - 1)
) text
= (Just fin,text)
= (Just (st,fin),text)
// selection contains more than one line
# (lastLine, text) = getLine row2 text
# newLine = firstLine % (0, col1 - 1) +++
lastLine % (col2, size lastLine - 1)
# (_,text) = updateLine row1 newLine text
# (_,_,text) = updateLine row1 newLine text
# text = removeLines (row1 + 1) row2 text
= (Nothing,text)
insertText :: !Position !TextFragment !Text -> (Maybe Int,Text)
insertText :: !Position !TextFragment !Text -> (Maybe (Int,Int),Text)
insertText { col, row } strings text
# (line, text) = getLine row text
left = line % (0, col - 1)
......@@ -58,8 +58,8 @@ insertText { col, row } strings text
// insertion in a single line
| nrOfStrings == 1
# newLine = left +++ slHead strings +++ right
# (fin,text) = updateLine row newLine text
= (Just fin,text)
# (st,fin,text) = updateLine row newLine text
= (Just (st,fin),text)
// insertion of more than one line
# fragment
= SCons
......@@ -86,12 +86,12 @@ replaceText sel=:{start={col=col1,row=row1},end={col=col2,row=row2}} strings tex
// no strings at all
| nrOfStrings == 0
# newLine = left +++ right
# (_,text) = updateLine row1 newLine text
# (_,_,text) = updateLine row1 newLine text
= text
// insertion in a single line
| nrOfStrings == 1
# newLine = left +++ slHead strings +++ right
# (_,text) = updateLine row1 newLine text
# (_,_,text) = updateLine row1 newLine text
= text
// insertion of more than one line
# fragment = SCons
......
......@@ -77,7 +77,11 @@ vInsertText position textFragment =
THEN
vResetViewDomain
ELSE
(vTextUpdate position (fromJust fin - position.row + 1))
// (vTextUpdate position (fromJust fin - position.row + 1))
let
(beg,end) = fromJust fin
in
(vTextUpdate {col=0,row=beg} (end - beg + 1))
vAppendLines :: TextFragment -> EditMonad (PSt .l) nothing
vAppendLines textFragment =
......@@ -138,7 +142,9 @@ vRemoveText selection=:{ start=start=:{ col=col1,row=row1 }
THEN
vResetViewDomain
ELSE
(vTextUpdate start (fromJust fin - row1 + 1))
// (vTextUpdate start (fromJust fin - row1 + 1))
let (beg,end) = fromJust fin in
(vTextUpdate {col=0,row=beg} (end - beg + 1))
//--
......
......@@ -5,7 +5,15 @@ definition module syncol
import StdString
import StrictList
:: Info :== (!Int,!Bool)
:: Info :==
(!Int // comment nesting level at start of line
// ,!Bool // in typedef at start of line
,!Bool // is typedef line
// ,!Bool // in typedecl at start of line
// ,!Int // typedecl offside level
,!Bool // is typedecl line
)
// pack bools into bitfield?
firstParse :: !(StrictList String) -> StrictList (Info,String)
quickParse :: !Int !Int !(StrictList (Info,String)) -> (Int,StrictList (Info,String))
firstParse :: !(StrictList String) -> StrictList (!Info,!String)
quickParse :: !Int !Int !(StrictList (!Info,!String)) -> (Int,Int,StrictList (!Info,!String))
This diff is collapsed.
......@@ -57,7 +57,7 @@ editColours ps
# (wId,ps) = openId ps
# (okId,ps) = openId ps
# (cancelId,ps) = openId ps
# (ids,ps) = openIds 24 ps
# (ids,ps) = openIds 27 ps
# cls =
[ prefs.syncols.textColour
, prefs.defcols.textColour
......@@ -83,6 +83,9 @@ editColours ps
, prefs.syncols.typedefColour
, prefs.defcols.typedefColour
, prefs.impcols.typedefColour
, prefs.syncols.typedeclColour
, prefs.defcols.typedeclColour
, prefs.impcols.typedeclColour
]
# wloc = {act=0,ids=ids,cls=cls,mfs={zfun=froot "options - Z",xfun=froot "options - X",cfun=id,vfun=id}}
# (siz,ps) = controlSize
......@@ -165,6 +168,11 @@ editColours ps
:+: ColourBoxControl`` rgbid lsid cls ids 23 Nothing
:+: TextControl "Typedefs" []
:+: ColourBoxControl`` rgbid lsid cls ids 24 (Just (Left,zero))
:+: ColourBoxControl`` rgbid lsid cls ids 25 Nothing
:+: ColourBoxControl`` rgbid lsid cls ids 26 Nothing
:+: TextControl "Typedecls" []
:+: Receiver lsid lsfun []
)
[ WindowPen [PenBack dback]
......@@ -280,6 +288,7 @@ where
, backgroundColour = cls!!15
, keywordColour = cls!!18
, typedefColour = cls!!21
, typedeclColour = cls!!24
}
# defcols` =
{ prefs.defcols
......@@ -291,6 +300,7 @@ where
, backgroundColour = cls!!16
, keywordColour = cls!!19
, typedefColour = cls!!22
, typedeclColour = cls!!25
}
# impcols` =
{ prefs.impcols
......@@ -302,6 +312,7 @@ where
, backgroundColour = cls!!17
, keywordColour = cls!!20
, typedefColour = cls!!23
, typedeclColour = cls!!26
}
# prefs = {prefs & syncols = syncols`, defcols = defcols`, impcols = impcols`}
# ps = setPrefs prefs ps
......@@ -339,6 +350,7 @@ where
, backgroundColour = cols.backgroundColour
, keywordColour = cols.keywordColour
, typedefColour = cols.typedefColour
, typedeclColour = cols.typedeclColour
}
}
......@@ -357,6 +369,7 @@ defaultColours ps
5 -> prefs.syncols.backgroundColour
6 -> prefs.syncols.keywordColour
7 -> prefs.syncols.typedefColour
8 -> prefs.syncols.typedeclColour
_ -> abort "edoptions[defaultColours]: unknown ls"
# (dback,ps) = GetDialogBackgroundColour ps
# wdef = Dialog "Pick a colour"
......@@ -370,6 +383,7 @@ defaultColours ps
,("Background" ,psel rgbid 5)
,("Keywords" ,psel rgbid 6)
,("Typedefs" ,psel rgbid 7)
,("Typedecls" ,psel rgbid 8)
] wloc []
:+: ButtonControl "Set" [ControlFunction (cset rgbid)]
)
......@@ -394,6 +408,7 @@ where
5 -> prefs.syncols.backgroundColour
6 -> prefs.syncols.keywordColour
7 -> prefs.syncols.typedefColour
8 -> prefs.syncols.typedeclColour
_ -> abort "edoptions[defaultColours]: also unknown ls"
# ps = setColourBoxColour rid col ps
= (i,ps)
......@@ -418,6 +433,7 @@ where
sc_update 5 sc col = {sc & backgroundColour = col}
sc_update 6 sc col = {sc & keywordColour = col}
sc_update 7 sc col = {sc & typedefColour = col}
sc_update 8 sc col = {sc & typedeclColour = col}
sc_update _ sc col = abort "edoptions[defaultColours:sc_update]: unknown ls"
doall prefs [] ps
......@@ -444,6 +460,7 @@ where
, backgroundColour = prefs.syncols.backgroundColour
, keywordColour = prefs.syncols.keywordColour
, typedefColour = prefs.syncols.typedefColour
, typedeclColour = prefs.syncols.typedeclColour
}
}
......
......@@ -112,7 +112,7 @@ replace_lines replace_line_f begin_line 0 text = text
replace_lines replace_line_f begin_line n_lines text
# (line,text) = getLine begin_line text
line = replace_line_f line
(_,text) = updateLine begin_line line text
(_,_,text) = updateLine begin_line line text
= replace_lines replace_line_f (inc begin_line) (dec n_lines) text
......
......@@ -201,6 +201,7 @@ twSyntaxColours =
, charColour = Magenta
, keywordColour = twChar
, typedefColour = Black
, typedeclColour = Black
}
cwSyntaxColours :: SyntaxColours
......@@ -213,6 +214,7 @@ cwSyntaxColours =
, charColour = Magenta
, keywordColour = twChar
, typedefColour = Black
, typedeclColour = Black
}
ewSyntaxColours :: SyntaxColours
......@@ -225,6 +227,7 @@ ewSyntaxColours =
, charColour = Magenta
, keywordColour = twChar
, typedefColour = Black
, typedeclColour = Black
}
scSyntaxColours :: SyntaxColours
......@@ -237,6 +240,7 @@ scSyntaxColours =
, charColour = scChar
, keywordColour = scKeyw
, typedefColour = Black
, typedeclColour = Black
}
dmSyntaxColours :: SyntaxColours
......@@ -249,6 +253,7 @@ dmSyntaxColours =
, charColour = scChar
, keywordColour = scKeyw
, typedefColour = dmType
, typedeclColour = dmDecl
}
imSyntaxColours :: SyntaxColours
......@@ -261,6 +266,7 @@ imSyntaxColours =
, charColour = scChar
, keywordColour = scKeyw
, typedefColour = imType
, typedeclColour = imDecl
}
twBack = RGB {r = 215, g = 255, b = 255}
......@@ -286,6 +292,8 @@ cwComm = RGB {r = 0, g = 0, b = 215}
cwStri = RGB {r = 0, g = 215, b = 0}
dmType = RGB {r = 195, g = 0, b = 0}
imType = RGB {r = 195, g = 0, b = 0}
dmDecl = RGB {r = 195, g = 0, b = 0}
imDecl = RGB {r = 195, g = 0, b = 0}
//--
openPrefs :: !String !*a -> *(!Prefs,!*a) | FileEnv a
......@@ -534,5 +542,6 @@ SyncOptionsTable =
, SimpleOption "col_char" (\a->a.charColour) (\v a->{a & charColour=v})
, SimpleOption "col_keyw" (\a->a.keywordColour) (\v a->{a & keywordColour=v})
, SimpleOption "col_type" (\a->a.typedefColour) (\v a->{a & typedefColour=v})
, SimpleOption "col_decl" (\a->a.typedeclColour) (\v a->{a & typedeclColour=v})
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment