| // |
| // 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 |