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