home *** CD-ROM | disk | FTP | other *** search
- /* 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
-
-