Directory: cmdline_tools/
The cmdline_tools
package is a library of routines to make using the IDL command line more convenient.
There are several routines that are convenient in normal interactive use of IDL. For example, pwd
is similar to the UNIX command of the same name for printing the name of the current working directory:
IDL> pwd
/Users/mgalloy/projects/cmdline_tools
ls
command is also useful in normal interactive use for printing a listing of files:
IDL> ls
COPYING mg_build_cmdline_tools_docs.pro
INSTALL mg_build_cmdline_tools_userdocs.pro
Makefile overview.txt
api-docs/ src/
api-userdocs/ unittests/
docs/
more
command pages though the contents of a file:
IDL> more, 'COPYING'
cmdline_tools is released under a BSD-type license.
Copyright (c) 2009, Michael Galloy <mgalloy@idldev.com>
All rights reserved.
...
man
command shows the syntax for calling and header docs for a routine:
IDL> man, 'ls'
Filename: /Users/mgalloy/projects/cmdline_tools/src/ls.pro
ls, pattern, ALL=all, LONG=long
Substitute for UNIX `ls` command. Automatically uses `-hF` options.
...
MG_SET_PATH
routine sets the !path
, or !dlm_path
if the DLM
keyword is set, using PREF_SET
. MG_SET_PATH
handles expanding path specifications using EXPAND_PATH
and also allows particular elements of the directory specification array to be commented out using a ;
.
The MG_FILE_WHICH
routine is a wrapper for FILE_WHICH
, but adds an ALL
boolean keyword that reports all files found instead of just the first one:
IDL> print, mg_file_which('mgcoarraylist__define.pro', /all)
/Users/mgalloy/projects/dist_tools/src/collection/mgcoarraylist__define.pro
/Users/mgalloy/projects/idllib/src/collection/mgcoarraylist__define.pro
/Users/mgalloy/projects/idldoc/src/collection/mgcoarraylist__define.pro
/Users/mgalloy/projects/idldoc/src/dist_tools/collection/mgcoarraylist__define.pro
/Users/mgalloy/projects/idldoc/src/collection/mgcoarraylist__define.pro
/Users/mgalloy/projects/idldoc/src/dist_tools/collection/mgcoarraylist__define.pro
/Users/mgalloy/projects/mgunit/src/dist_tools/collection/mgcoarraylist__define.pro
MG_PRINT_PATH
routine prints a path, defaulting to !path
, formatted for the output log:
IDL> mg_print_path, !dlm_path
/Users/mgalloy/projects/gpulib/IDL
/usr/local/lib
/Users/mgalloy/projects/vis/src/flow
/Users/mgalloy/projects/vis/src/lineplots
/Users/mgalloy/projects/idllib/src/analysis
/Users/mgalloy/projects/idllib/src/cula
/Users/mgalloy/projects/idllib/src/gsl
/Users/mgalloy/projects/idllib/src/introspection
/Users/mgalloy/projects/idllib/src/net
/Users/mgalloy/projects/cmdline_tools/src
/Users/mgalloy/projects/dist_tools/src
/Applications/itt/idl/idl80/bin/bin.darwin.x86_64
MG_BREAKPOINT
routine helps by finding routines in your !path
instead of having to manually specify a path to the routine:
IDL> mg_breakpoint, 'man', 487
MAN
routine and set a breakpoint on line 487.
Querying the terminal for its properties and printing to the terminal is another category of routines in this library. MG_TERMLINES
, MG_TERMCOLUMNS
, and MG_TERMISTTY
provide characteristics of the current terminal window. For example, when I use IDL from a command line terminal, the output looks like:
IDL> print, mg_termistty()
1
IDL> print, mg_termcolumns(), mg_termlines()
101 39
IDL> print, mg_termistty()
0
IDL> print, mg_termcolumns(), mg_termlines()
102 12
MG_TERMISTTY()
is true, then MG_ANSICODE
can produce output in bold and a few different colors by placing some special characters understood by terminals before and after the text:
IDL> print, byte('Red')
82 101 100
IDL> print, byte(mg_ansicode('Red', /red))
27 91 51 49 109 82 101 100 27 91 48 109
MG_PRINT
routine is a handy wrapper to make printing to the output log using C style format codes:
IDL> mg_print, 37., 'Boulder', format='It is %0.1f degrees in %s.'
It is 37.0 degrees in Boulder.
Author information
- Author
Michael Galloy
- Copyright
BSD licensed
Contents
.pro files
- ls.pro
Equivalent to UNIX ls command.
- man.pro
Prints basic information about a routine.
- mg_ansicode.pro
Set ANSI escape codes for the given text.
- mg_backspace.pro
Backspaces a nchars characters.
- mg_breakpoint.pro
Convenience wrapper for BREAKPOINT that finds files in !path without having to use a full path specification.
- mg_file_which.pro
Wrapper for FILE_WHICH, but has an ALL keyword to find all matches.
- mg_print_path.pro
Print a search path nicely in the output log.
- mg_profiler_report.pro
Produce a report for the PROFILER.
- mg_set_path.pro
Set the IDL path (!path) or DLM path (!dlm_path) given an array of directories.
- mg_statusline.pro
Maintain a one-line status line on a VT100-compatible terminal (Unix only).
- mg_sysreport.pro
Prints system information.
- mg_varput.pro
Copies a variable or expression to another stack level, e.g., the main-level.
- more.pro
Page the contents of the filename to the screen.
- pwd.pro
Prints the IDL's current directory to the output log like the UNIX command of the same name.
Contact me if you have enhancement requests or bug fixes.