ronnie
2022-10-14 1504bb53e29d3d46222c0b3ea994fc494b48e153
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
//
//  FileSettings.h
//  PythonLauncher
//
//  Created by Jack Jansen on Sun Jul 21 2002.
//  Copyright (c) 2002 __MyCompanyName__. All rights reserved.
//
 
#import <Foundation/Foundation.h>
 
@protocol FileSettingsSource
- (NSString *) interpreter;
- (BOOL) honourhashbang;
- (BOOL) debug;
- (BOOL) verbose;
- (BOOL) inspect;
- (BOOL) optimize;
- (BOOL) nosite;
- (BOOL) tabs;
- (NSString *) others;
- (BOOL) with_terminal;
- (NSString *) scriptargs;
@end
 
@interface FileSettings : NSObject <FileSettingsSource>
{
    NSString *interpreter;    // The pathname of the interpreter to use
    NSArray *interpreters;    // List of known interpreters
    BOOL honourhashbang;    // #! line overrides interpreter
    BOOL debug;            // -d option: debug parser
    BOOL verbose;        // -v option: verbose import
    BOOL inspect;        // -i option: interactive mode after script
    BOOL optimize;        // -O option: optimize bytecode
    BOOL nosite;        // -S option: don't import site.py
    BOOL tabs;            // -t option: warn about inconsistent tabs
    NSString *others;        // other options
    NSString *scriptargs;    // script arguments (not for preferences)
    BOOL with_terminal;        // Run in terminal window
 
    FileSettings *origsource;
    NSString *prefskey;
}
 
+ (id)getDefaultsForFileType: (NSString *)filetype;
+ (id)getFactorySettingsForFileType: (NSString *)filetype;
+ (id)newSettingsForFileType: (NSString *)filetype;
 
- (id)initForFileType: (NSString *)filetype;
- (id)initForFSDefaultFileType: (NSString *)filetype;
- (id)initForDefaultFileType: (NSString *)filetype;
 
- (void)updateFromSource: (id <FileSettingsSource>)source;
- (NSString *)commandLineForScript: (NSString *)script;
 
- (void)applyValuesFromDict: (NSDictionary *)dict;
- (void)reset;
- (NSArray *) interpreters;
 
@end