blob: f70b05f51831a2346b914d24bd0d0fde0d0fa39d [file] [log] [blame]
Jack Jansen3bbb6172002-07-29 21:36:35 +00001//
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;
Jack Jansen3d3b7462003-02-17 15:40:00 +000013- (BOOL) honourhashbang;
Jack Jansen3bbb6172002-07-29 21:36:35 +000014- (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@end
23
24@interface FileSettings : NSObject <FileSettingsSource>
25{
26 NSString *interpreter; // The pathname of the interpreter to use
Jack Jansenf044e092002-12-26 22:10:53 +000027 NSArray *interpreters; // List of known interpreters
Jack Jansen3d3b7462003-02-17 15:40:00 +000028 BOOL honourhashbang; // #! line overrides interpreter
Jack Jansen3bbb6172002-07-29 21:36:35 +000029 BOOL debug; // -d option: debug parser
30 BOOL verbose; // -v option: verbose import
31 BOOL inspect; // -i option: interactive mode after script
32 BOOL optimize; // -O option: optimize bytecode
33 BOOL nosite; // -S option: don't import site.py
34 BOOL tabs; // -t option: warn about inconsistent tabs
35 NSString *others; // other options
36 BOOL with_terminal; // Run in terminal window
37
38 FileSettings *origsource;
39 NSString *prefskey;
40}
41
42+ (id)getDefaultsForFileType: (NSString *)filetype;
Jack Jansen2095c062002-11-25 13:11:06 +000043+ (id)getFactorySettingsForFileType: (NSString *)filetype;
Jack Jansen3bbb6172002-07-29 21:36:35 +000044+ (id)newSettingsForFileType: (NSString *)filetype;
45
Jack Jansen2095c062002-11-25 13:11:06 +000046//- (id)init;
47- (id)initForFileType: (NSString *)filetype;
48- (id)initForFSDefaultFileType: (NSString *)filetype;
49- (id)initForDefaultFileType: (NSString *)filetype;
50//- (id)initWithFileSettings: (FileSettings *)source;
Jack Jansen3bbb6172002-07-29 21:36:35 +000051
52- (void)updateFromSource: (id <FileSettingsSource>)source;
53- (NSString *)commandLineForScript: (NSString *)script;
54
Jack Jansen2095c062002-11-25 13:11:06 +000055//- (void)applyFactorySettingsForFileType: (NSString *)filetype;
56//- (void)saveDefaults;
57//- (void)applyUserDefaults: (NSString *)filetype;
58- (void)applyValuesFromDict: (NSDictionary *)dict;
59- (void)reset;
Jack Jansenf044e092002-12-26 22:10:53 +000060- (NSArray *) interpreters;
Jack Jansen3bbb6172002-07-29 21:36:35 +000061
62@end