forked from KosmicTask/Fragaria
-
Notifications
You must be signed in to change notification settings - Fork 0
/
SMLSyntaxColouring.h
95 lines (68 loc) · 3.18 KB
/
SMLSyntaxColouring.h
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
94
95
/*
MGSFragaria
Written by Jonathan Mitchell, [email protected]
Find the latest version at https://github.com/mugginsoft/Fragaria
Smultron version 3.6b1, 2009-09-12
Written by Peter Borg, [email protected]
Find the latest version at http://smultron.sourceforge.net
Copyright 2004-2009 Peter Borg
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
*/
#import <Cocoa/Cocoa.h>
@class SMLTextView;
@class SMLLayoutManager;
@class ICUPattern;
@class ICUMatcher;
@interface SMLSyntaxColouring : NSObject <NSTextStorageDelegate, NSTextViewDelegate> {
id document;
NSUndoManager *undoManager;
SMLLayoutManager *firstLayoutManager, *__unsafe_unretained secondLayoutManager, *__unsafe_unretained thirdLayoutManager, *__unsafe_unretained fourthLayoutManager;
NSInteger lastCursorLocation;
NSDictionary *commandsColour, *commentsColour, *instructionsColour, *keywordsColour, *autocompleteWordsColour,
*stringsColour, *variablesColour, *attributesColour, *lineHighlightColour;
NSSet *keywords;
NSSet *autocompleteWords;
NSArray *keywordsAndAutocompleteWords;
NSString *beginCommand;
NSString *endCommand;
NSString *beginInstruction;
NSString *endInstruction;
NSString *firstString;
NSString *secondString;
NSString *firstSingleLineComment, *secondSingleLineComment, *beginFirstMultiLineComment, *endFirstMultiLineComment,
*beginSecondMultiLineComment, *endSecondMultiLineComment, *functionDefinition, *removeFromFunction;
NSString *searchString;
NSMutableArray *singleLineComments;
NSMutableArray *multiLineComments;
unichar firstStringUnichar;
unichar secondStringUnichar;
BOOL reactToChanges;
BOOL keywordsCaseSensitive;
BOOL recolourKeywordIfAlreadyColoured;
NSCharacterSet *attributesCharacterSet;
NSCharacterSet *beginVariable;
NSCharacterSet *endVariable;
NSCharacterSet *letterCharacterSet, *keywordStartCharacterSet, *keywordEndCharacterSet;
ICUPattern *firstStringPattern;
ICUPattern *secondStringPattern;
ICUMatcher *firstStringMatcher;
ICUMatcher *secondStringMatcher;
NSTimer *liveUpdatePreviewTimer;
NSTimer *autocompleteWordsTimer;
NSRange lastLineHighlightRange;
}
@property BOOL reactToChanges;
@property (retain, readonly) NSUndoManager *undoManager;
@property (copy) NSString *functionDefinition;
@property (copy) NSString *removeFromFunction;
@property (unsafe_unretained) SMLLayoutManager *secondLayoutManager;
@property (unsafe_unretained) SMLLayoutManager *thirdLayoutManager;
@property (unsafe_unretained) SMLLayoutManager *fourthLayoutManager;
- (id)initWithDocument:(id)document;
- (void)pageRecolourTextView:(SMLTextView *)textView;
- (void)pageRecolour;
- (void)applySyntaxDefinition;
- (void)pageRecolourTextView:(SMLTextView *)textView options:(NSDictionary *)options;
@end