Page 1 of 1

Microsoft "M" text editor

Posted: Wed Jan 26, 2005 11:16 pm
by guest
I still use the Microsoft "M" text editor in DOS - I have just started my first large Windows project at work and would like to know if emulation of this editor is possible.

In short - the feature I use most often is alt-a text marking which can mark both lines and columns depending on the start and end positions of the cursor: Line Marking - set cursor at top of text region, hit alt-a, move cursor straight down. Column Marking - set cursor at a corner of column region, hit alt-a, move cursor to opposite corner.

Any chance this could be supported?

thanks
-pj

Posted: Thu Jan 27, 2005 11:48 am
by jussij
Hi PJ,

As I am not familar with the M editor, I am not sure 100% sure if this macro will provide the functionality you are after :?.

But in any case you need to save the code below to the zScript\mark.lua file, then bind the macro to the Al+A key:

Code: Select all

function key_macro()
    screen_update_disable()

    local key_up        = 2490368
    local key_down      = 2621440
    local key_left      = 2424832
    local key_right     = 2555904

    -- wait on the next key press to see which marking mode is required
    local key = keyboard_input()

    if (key == key_up) then
        -- set block marking mode
        MarkBlockSet()

        -- maybe this is what is needed
        --MarkLineSet()

        -- move the cursor
        MoveLineUp()

        -- this is only for debugging
        message("Up key column marking")
    elseif (key == key_down) then
        -- set block marking mode
        MarkBlockSet()

        -- move the cursor
        MoveLineDown()

        -- this is only for debugging
        message("Down key column marking")
    elseif (key == key_left) then
        -- set column marking mode
        MarkColumnSet()

        -- move the cursor
        MoveLineLeft()

        -- this is only for debugging
        message("Left key column marking")
    elseif (key == key_right) then
        -- set column marking mode
        MarkColumnSet()

        -- move the cursor
        MoveLineRight()

        -- this is only for debugging
        message("Right key column marking")
    else
        -- this is only for debugging
        message("Marking cancelled")
    end

    screen_update_enable()
    screen_update()
end

key_macro() -- run the macro
Cheers Jussi