home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Professional
/
OS2PRO194.ISO
/
os2
/
prgramer
/
rexx
/
4macrs
/
indent.rex
< prev
next >
Wrap
OS/2 REXX Batch file
|
1993-06-01
|
3KB
|
114 lines
/* Indent */
/*
Creation 93/03/12 by Thomas Korfhage, tel&fax ++49 6446 2931
CIS 100271,16
History
Description
indentation of whole file or slected text with use of indent.exe
This is one of my first REXX steps, so excuse.
Because i think i will not have the time to step over this again
I send it out like it is.
*/
'S_CLEAR_MACRO_OUTPUT'
'S_GET_SELECTED_SIZE' Len
if Len <= 1 THEN DO
CALL filter("indent -v")
EXIT
END
IF ARG() == 0 THEN DO
'S_PROMPT "Indentation - Nr of TABS", args'
IF rc \= 0 THEN EXIT
IF args = "CANCEL" THEN EXIT
if Length(args) < 1 then
args = '0'
END
ELSE DO
args = ARG(1)
END
CALL filter("indent -st -addind" || args)
EXIT
filter: PROCEDURE
'S_CLEAR_MACRO_OUTPUT'
IF ARG() = 0 THEN
DO
'S_PROMPT Filter Command, args'
IF rc \= 0 THEN EXIT
IF args = "CANCEL" THEN EXIT
END
ELSE DO
args = ARG(1)
END
'S_GET_ENV_INFO SL_TEMP2 TempPath'
TempPath = PathEndSlash(TempPath)
NewClipName = TempPath || "TempFile.$$I"
ClipInName = TempPath || "TempFile.$$O"
'S_GET_CLIP_FILENAME' OldClipName
S_GET_SELECTED_SIZE Len
IF Len <= 1 THEN DO
'S_GET_CURR_EDITMODE IsChanged'
IF IsChanged = READONLY THEN DO
'S_MSG File is readonly,,,URES'
EXIT
END
ELSE NOP
'S_GET_COL_NUM' SavCol
'S_GET_LINE_NUM' SavLin
'S_GET_CURR_CHGSTATUS IsChanged'
'S_GET_CURR_FILENAME OrgName'
IF IsChanged = TRUE THEN 'S_SAVE_CURR_FILE'
'S_CHG_EDITMODE'
erase NewClipName
'S_SAVEAS_CURR_FILE' NewClipName
grepstring = args || ' ' || NewClipName || ' '|| OrgName
grepstring
URES = rc
IF URES = 0 THEN DO
'S_CLOSE_CURR_FILE'
'S_OPEN_SL_FILE 0 E N' OrgName
'S_GOTO_COL' SavCol
'S_GOTO_LINE' SavLin
END
ELSE DO
'S_GET_REF_FILENAME 5' macro_out
IF URES <> 2 THEN DO
Copy OrgName TempPath || "INDENT.ERR"
Copy NewClipName OrgName
say 'Fehler output in: ' TempPath || 'INDENT.ERR'
END
ELSE NOP
'S_MSG ,Indent says ERROR - File is waiting,,URES'
'SLSTART' macro_out
END
EXIT
END
ELSE DO
'S_DISABLE_WINDOW'
'S_RENAME_CLIP_FILE' NewClipName
'S_CUT_SEL_TO_PASTE'
'S_COPY_PASTE_TO_CLIP'
grepstring = args || ' < ' || NewClipName || ' > '|| ClipInName
grepstring
IF rc = 0 THEN DO
'S_INSERT_FILE' ClipInName
'S_RENAME_CLIP_FILE' OldClipName
END
ELSE DO
'S_INSERT_PASTE'
'S_MSG Indent says ERROR - File is waiting,,,URES'
'S_GET_REF_FILENAME 5' macro_out
'SLSTART' macro_out
END
'S_ENABLE_WINDOW'
END
EXIT
PathEndSlash: PROCEDURE
Path = ARG(1)
IF Right(Path,1) \= "\" THEN Path = Path || "\"
RETURN Path
END