123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- {
- This file is part of the Free Pascal Integrated Development Environment
- Copyright (c) 1998 by Berczi Gabor
- Global variables for the IDE
- See the file COPYING.FPC, included in this distribution,
- for details about the copyright.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- **********************************************************************}
- {$i globdir.inc}
- unit FPVars;
- interface
- uses Objects,Views,App,
- WUtils,WEditor,
- FPConst,
- FPDebug,FPRegs,
- FPUtils,FPViews,FPCalc;
- type
- TRecentFileEntry = record
- FileName : string;
- LastPos : TPoint;
- end;
- TCompPhase = (cpNothing,cpCompiling,cpLinking,
- cpAborted,cpFailed,cpDone);
- {Use edit keys according to Borland convention (shift+del,ctrl+ins,shift+ins)
- or Microsoft convention (ctrl+x,ctrl+c,ctrl+v).}
- Tedit_key_modes=(ekm_borland,ekm_microsoft);
- {$ifdef Unix}
- {Microsoft convention is default on Unix, because the Borland "paste" key, Shift+Ins,
- is not passed on to the program in most X terminal emulators.}
- const ekm_default = ekm_microsoft;
- {$else}
- const ekm_default = ekm_borland;
- {$endif}
- const ClipboardWindow : PClipboardWindow = nil;
- CalcWindow : PCalculator = nil;
- RecentFileCount : integer = 0;
- LastCompileTime : cardinal = 0;
- OpenExts : string = '*.pas;*.pp;*.inc;*.dpr;*.lpr';
- HighlightExts : string = '*.pas;*.pp;*.inc;*.dpr;*.lpr';
- TabsPattern : string = 'make*;make*.*;fpcmake.loc';
- SourceDirs : string = '';
- StandardUnits : string = '';
- UseStandardUnitsInCodeComplete : boolean = false;
- UseAllUnitsInCodeComplete : boolean = true;
- ShowOnlyUnique : boolean = true;
- PrimaryFile : string = '';
- PrimaryFileMain : string = '';
- PrimaryFileSwitches : string = '';
- PrimaryFilePara : string = '';
- GDBOutputFile : string = GDBOutputFileName;
- IsEXECompiled : boolean = false;
- { LinkAfter : boolean = true; changed into a function }
- MainHasDebugInfo : boolean = false;
- UseMouse : boolean = true;
- MainFile : string = '';
- PrevMainFile : string = '';
- EXEFile : ansistring = '';
- CompilationPhase : TCompPhase = cpNothing;
- {$ifndef NODEBUG}
- GDBWindow : PGDBWindow = nil;
- DisassemblyWindow : PDisassemblyWindow = nil;
- BreakpointsWindow : PBreakpointsWindow = nil;
- WatchesWindow : PWatchesWindow = nil;
- StackWindow : PStackWindow = nil;
- RegistersWindow : PRegistersWindow = nil;
- FPUWindow : PFPUWindow = nil;
- VectorWindow : PVectorWindow = nil;
- {$endif NODEBUG}
- UserScreenWindow : PScreenWindow = nil;
- HeapView : PFPHeapView = nil;
- ClockView : PFPClockView = nil;
- HelpFiles : WUtils.PUnsortedStringCollection = nil;
- ShowStatusOnError: boolean = true;
- StartupDir : string = '.'+DirSep;
- IDEDir : string = '.'+DirSep;
- {$if defined(WINDOWS) or defined(Unix) or defined(Aros)}
- SystemIDEDir : string = '';
- {$endif defined(WINDOWS) or defined(Unix)}
- INIFileName : string = ININame;
- SwitchesPath : string = SwitchesName;
- CtrlMouseAction : integer = acTopicSearch;
- AltMouseAction : integer = acBrowseSymbol;
- StartupOptions : longint = 0;
- LastExitCode : integer = 0;
- ASCIIChart : PFPASCIIChart = nil;
- BackgroundPath : string = BackgroundName;
- DesktopPath : string = DesktopName;
- DesktopFileFlags : longint = dfHistoryLists+dfOpenWindows+
- dfCodeCompleteWords+dfCodeTemplates;
- DesktopLocation : byte = dlConfigFileDir;
- AutoSaveOptions : longint = asEnvironment+asDesktop;
- MiscOptions : longint = moChangeDirOnOpen+moCloseOnGotoSource;
- EditorModified : boolean = false;
- IniCenterDebuggerRow : tcentre = do_centre;
- SleepTimeOut : longint = trunc(10*18.2);
- {$ifdef USE_EXTERNAL_COMPILER}
- UseExternalCompiler : boolean = true;
- ExternalCompilerExe : string = 'ppc386'+ExeExt;
- {$endif USE_EXTERNAL_COMPILER}
- ShowReadme : boolean = true;
- AskRecompileIfModifiedFlag : boolean = true;
- EditKeys:Tedit_key_modes = ekm_default;
- {$ifdef SUPPORT_REMOTE}
- RemoteMachine : string = '';
- RemotePuttySession : string = '';
- RemotePort : string = '2345';
- RemoteConfig : string = '';
- RemoteIdent : string = '';
- RemoteDir : string = '';
- RemoteGDBServer : string = 'gdbserver';
- {$ifdef Windows}
- RemoteCopy : string = 'pscp.exe';
- RemoteShell : string = 'plink.exe';
- {$else not windows}
- RemoteCopy : string = 'scp';
- RemoteShell : string = 'ssh';
- {$endif not windows}
- RemoteSendCommand : string =
- '$REMOTECOPY $CONFIG $IDENT $LOCALFILE $REMOTEMACHINE:$REMOTEDIR';
- RemoteExecCommand : string =
- '"cd $REMOTEDIR; chmod u+x ./$LOCALFILENAME;'+
- ' $REMOTEGDBSERVER :$REMOTEPORT ./$LOCALFILENAME"';
- RemoteSshExecCommand : string =
- '$START $REMOTESHELL $CONFIG $IDENT -L $REMOTEPORT:localhost:$REMOTEPORT $REMOTEMACHINE '+
- '"$REMOTEEXECCOMMAND" $DOITINBACKGROUND';
- {$endif SUPPORT_REMOTE}
- {$ifdef GDB_WINDOWS_ALWAYS_USE_ANOTHER_CONSOLE}
- DebuggeeTTY : string = 'on';
- {$else GDB_WINDOWS_ALWAYS_USE_ANOTHER_CONSOLE}
- DebuggeeTTY : string = '';
- {$endif GDB_WINDOWS_ALWAYS_USE_ANOTHER_CONSOLE}
- ActionCommands : array[acFirstAction..acLastAction] of word =
- (cmHelpTopicSearch,cmGotoCursor,cmToggleBreakpoint,
- cmEvaluate,cmAddWatch,cmBrowseAtCursor);
- AppPalette : string = CIDEAppColor;
- var RecentFiles : array[1..MaxRecentFileCount] of TRecentFileEntry;
- implementation
- END.
|