Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
allendowney
GitHub Repository: allendowney/cpython
Path: blob/main/Mac/PythonLauncher/FileSettings.h
12 views
1
//
2
// FileSettings.h
3
// PythonLauncher
4
//
5
// Created by Jack Jansen on Sun Jul 21 2002.
6
// Copyright (c) 2002 __MyCompanyName__. All rights reserved.
7
//
8
9
#import <Foundation/Foundation.h>
10
11
@protocol FileSettingsSource
12
- (NSString *) interpreter;
13
- (BOOL) honourhashbang;
14
- (BOOL) debug;
15
- (BOOL) verbose;
16
- (BOOL) inspect;
17
- (BOOL) optimize;
18
- (BOOL) nosite;
19
- (BOOL) tabs;
20
- (NSString *) others;
21
- (BOOL) with_terminal;
22
- (NSString *) scriptargs;
23
@end
24
25
@interface FileSettings : NSObject <FileSettingsSource>
26
{
27
NSString *interpreter; // The pathname of the interpreter to use
28
NSArray *interpreters; // List of known interpreters
29
BOOL honourhashbang; // #! line overrides interpreter
30
BOOL debug; // -d option: debug parser
31
BOOL verbose; // -v option: verbose import
32
BOOL inspect; // -i option: interactive mode after script
33
BOOL optimize; // -O option: optimize bytecode
34
BOOL nosite; // -S option: don't import site.py
35
BOOL tabs; // -t option: warn about inconsistent tabs
36
NSString *others; // other options
37
NSString *scriptargs; // script arguments (not for preferences)
38
BOOL with_terminal; // Run in terminal window
39
40
FileSettings *origsource;
41
NSString *prefskey;
42
}
43
44
+ (id)getDefaultsForFileType: (NSString *)filetype;
45
+ (id)getFactorySettingsForFileType: (NSString *)filetype;
46
+ (id)newSettingsForFileType: (NSString *)filetype;
47
48
- (id)initForFileType: (NSString *)filetype;
49
- (id)initForFSDefaultFileType: (NSString *)filetype;
50
- (id)initForDefaultFileType: (NSString *)filetype;
51
52
- (void)updateFromSource: (id <FileSettingsSource>)source;
53
- (NSString *)commandLineForScript: (NSString *)script;
54
55
- (void)applyValuesFromDict: (NSDictionary *)dict;
56
- (void)reset;
57
- (NSArray *) interpreters;
58
59
@end
60
61