File: STLanguageManager.h

package info (click to toggle)
steptalk 0.10.0%2Bgit20200629-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,732 kB
  • sloc: objc: 12,182; yacc: 400; makefile: 40; sh: 34; csh: 4; awk: 3; lisp: 3
file content (37 lines) | stat: -rw-r--r-- 1,047 bytes parent folder | download | duplicates (5)
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
#import <Foundation/NSObject.h>

@class NSArray;
@class NSBundle;
@class NSDictionary;
@class NSMutableArray;
@class NSMutableDictionary;
@class STEngine;

@interface STLanguageManager:NSObject
{
    NSMutableArray      *languages;
    NSMutableDictionary *engineClasses;
    NSMutableDictionary *languageInfos;
    NSMutableDictionary *languageBundles;
    NSMutableDictionary *fileTypes;

}
+ (STLanguageManager *)defaultManager;
- (NSArray *)availableLanguages;
- (NSString *)defaultLanguage;
- (void)registerLanguagesFromBundle:(NSBundle *)bundle;
- (void)registerLanguage:(NSString *)language 
             engineClass:(Class)class
                    info:(NSDictionary *)info;

- (void)removeLanguage:(NSString *)language;

- (Class)engineClassForLanguage:(NSString *)language;
- (STEngine *)createEngineForLanguage:(NSString *)language;

- (NSDictionary *)infoForLanguage:(NSString *)language;
- (NSString *)languageForFileType:(NSString *)fileType;
- (NSArray *)knownFileTypes;
- (NSBundle *)bundleForLanguage:(NSString *)language;

@end