Microsoft "M" text editor

Post any comments, suggestions, annoyances or ideas for future releases here. Please do not post bug reports or questions here.
Post Reply
guest

Microsoft "M" text editor

Post 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
jussij
Site Admin
Posts: 2650
Joined: Fri Aug 13, 2004 5:10 pm

Post 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
Post Reply