forked from atombender/keywurl
-
Notifications
You must be signed in to change notification settings - Fork 1
/
KeywordMapping.h
70 lines (53 loc) · 1.56 KB
/
KeywordMapping.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
#import <Cocoa/Cocoa.h>
@interface QueryToken : NSObject {
}
- (NSString*) label;
@end
@interface QueryPartToken : NSObject {
int partNumber;
}
- (id) initWithPartNumber: (int) partNumber;
- (int) partNumber;
- (NSString*) label;
@end
@interface InputToken : NSObject {
}
- (NSString*) label;
@end
@interface KeywordMapping : NSObject {
NSString* keyword;
NSString* expansion;
BOOL dontUseUnicode;
BOOL encodeSpaces;
}
- (id) initWithKeyword: (NSString*) theKeyword fromDictionary: (NSDictionary*) dictionary;
- (id) initWithKeyword: (NSString*) theKeyword
expansion: (NSString*) theExpansion;
- (id) initWithKeyword: (NSString*) theKeyword
expansion: (NSString*) theExpansion
dontUseUnicode: (BOOL) theDontUseUnicode
encodeSpaces: (BOOL) theEncodeSpaces;
- (NSString*) keyword;
- (void) setKeyword: (NSString*) newKeyword;
- (NSString*) expansion;
- (NSArray*) expansionAsTokens;
- (void) setExpansion: (NSString*) newExpansion;
- (void) setDontUseUnicode: (BOOL) flag;
- (BOOL) dontUseUnicode;
- (void) setEncodeSpaces: (BOOL) flag;
- (BOOL) encodeSpaces;
- (NSDictionary*) toDictionary;
/*!
Encodes a query using the settings (Unicode, etc.) of this mapping.
*/
- (NSString*) encodeQuery: (NSString*) query;
/*!
Tokenizes a query into parts. Each word is a part, as is each phrase (multiple words enclosed in
double quotes).
*/
- (NSArray*) tokenizeParts: (NSString*) query;
/*!
Expands a query using this mapping, returning the expanded version.
*/
- (NSString*) expand: (NSString*) input forKeyword: (NSString*) keyword;
@end