I'm trying to get open in line to work for me in a COBOL program, looking at COPY books. When I was doing PC-based COBOL, it was common for the line to read COPY "filename.CPY", which Zeus could parse to a file name easily. On the AS400 system I'm working on now, it's more common for the line to read COPY filename without any extension, which makes if more difficult to find filename.CBL as it exists on my disk.
I'll be writing a macro to bind to the appropriate key to do this. I'm assuming that I've got to parse the line (or marked area) to find the filename myself, right? Any other ideas than that approach? How does Zeus do that parsing, and is it possible for me to see (in my macro) what it thinks is the file name?
Also, what does FileOpenAssociateInLine do? It doesn't seem to be in the help file, but I see it in the keyboard mapping dialog.
Bill
FileOpenInLine
Zeus uses a whole bunch of regular expressions to try and find the filename.How does Zeus do that parsing
You could try using the Lua pattern matching. The Lua code would look something like this:is it possible for me to see (in my macro) what it thinks is the file name?
Code: Select all
current_line = get_line_text()
local index, length, filebase = string.find(current_line, "COPY ([%w:]+)")
if filebase ~= nil then
file_name = filebase .. ".CPY"
message("File found in current line: " .. file_name)
--file_open(file_name)
else
message("No file found in current line.")
end
Also, what does FileOpenAssociateInLine do?
It opens the file in the associated Windows application.
I will look for fix that.It doesn't seem to be in the help file, but I see it in the keyboard mapping dialog.
Cheers Jussi