Viewing 11 posts - 1 through 11 (of 11 total)
  • Author
    Posts
  • #6984

    gning
    Participant

    I’m trying to indent and outdent blocks by a single column. I tried temporarily setting Document.Config.Indent.IndentColumns to 1 but the value stays unchanged, and likewise for TabColumns. The help seems to be saying that these properties are settable, but it won’t do anything but indent by the previously set width.

    #6985

    Yutaka Emura
    Keymaster

    gning wrote:
    I’m trying to indent and outdent blocks by a single column. I tried temporarily setting Document.Config.Indent.IndentColumns to 1 but the value stays unchanged, and likewise for TabColumns. The help seems to be saying that these properties are settable, but it won’t do anything but indent by the previously set width.

    Do you need to use a macro? If not, you can change indent/tab numbers in the Configuration Properties > General > Tab/Indent.

    #6992

    gning
    Participant

    I want to indent blocks by one column in addition to being able to indent them by the normal distance. I want two separate commands. Coarse and fine tuning, so to speak.

    #6993

    Yutaka Emura
    Keymaster

    gning wrote:
    I want to indent blocks by one column in addition to being able to indent them by the normal distance. I want two separate commands. Coarse and fine tuning, so to speak.

    I see. Please try this:


    cfg = Document.Config;
    cfg.Indent.IndentColumns = 1;
    cfg.Save();

    #7092

    gning
    Participant

    It still indents by the full amount. Even if I just change the value and call Save() and don’t restore any old value, all indentation is still by the old amount.

    I’m using release 7.02, by the way.

    #7093

    Yutaka Emura
    Keymaster

    gning wrote:
    It still indents by the full amount. Even if I just change the value and call Save() and don’t restore any old value, all indentation is still by the old amount.

    I’m using release 7.02, by the way.

    How about TabColumns insread of IndentColumns?

    Why do you still use 7.02? Can you try the newest version?

    #7146

    gning
    Participant

    OK I upgraded to 8.0.4, and the macro still does the same thing — the values of IndentColumns and TabColumns don’t change when you assign to them.

    #7193

    gning
    Participant

    Well, I did find the Insert Spaces plugin, but that’s clumsy to use and only goes inward, not outward. Better than nothin’…

    #7196

    Yutaka Emura
    Keymaster

    gning wrote:
    Well, I did find the Insert Spaces plugin, but that’s clumsy to use and only goes inward, not outward. Better than nothin’…

    This is a macro to change the tab/indent length. I hope this helps.


    cfg = document.Config;
    do {
    n = prompt( "Enter new indent/tab length in characters:", cfg.Indent.TabColumns );
    } while( n <= 0 || n > 16 );
    cfg.Indent.IndentColumns = cfg.Indent.TabColumns = n;
    cfg.Save();

    #9427

    gning
    Participant

    Bringing back an old issue here… this problem is not fixed in 10.0.8 (x64). Here is my latest attempt at a macro to indent by one space… note that it tries to force the editor into indent-with-spaces-only mode:

    var icfg = Document.Config.Indent;
    var oldIC = icfg.IndentColumns;
    var oldTC = icfg.TabColumns;
    var oldIS = icfg.InsertSpaces;
    icfg.IndentColumns = icfg.TabColumns = 1;
    icfg.InsertSpaces = true;
    Document.Config.Save();
    Editor.ExecuteCommandByID(4358); // indent (as with Tab key)
    icfg.IndentColumns = oldIC;
    icfg.TabColumns = oldTC;
    icfg.InsertSpaces = oldIS;
    Document.Config.Save();

    With alerts, I have verified that the values of the column properties do change to 1… but the indent I end up with is still a tab character, not a space. Exactly as if I had just pressed the tab key without changing any settings.

    #9430

    Yutaka Emura
    Keymaster

    Hi gning,

    I will look into this issue in future versions.
    Thanks for letting me know!

Viewing 11 posts - 1 through 11 (of 11 total)

You must be logged in to reply to this topic.