• JackbyDev@programming.dev
    link
    fedilink
    English
    arrow-up
    3
    ·
    10 months ago

    You’re confusing using tabs for indentation and spaces for alignment with using tabs and spaces for indentation. This means each line starts with tabs. Next you optionally have spaces for alignment with previous lines. Then you have content (like code or comments). Because you never have a tab following a space the alignment is never destroyed by adjusting how wide a tabstop is.

      • JackbyDev@programming.dev
        link
        fedilink
        English
        arrow-up
        3
        ·
        10 months ago

        That example is using tabs for both indentation and alignment. The article you linked even says not using tabs for alignment is a solution.

        • Do not use tabs for alignment. In such case given example should look like:
        fun foo x =
        --->let val abs = if x > 0
        --->              then x
        --->              else -x
        --->in
        --->--->(* ... *)
        --->end
        
        • zagaberoo@beehaw.org
          link
          fedilink
          arrow-up
          1
          arrow-down
          1
          ·
          10 months ago

          Yes, but keep reading. That strategy is a pain to maintain especially across editors.

          • JackbyDev@programming.dev
            link
            fedilink
            English
            arrow-up
            1
            ·
            10 months ago

            Many styles are difficult to maintain, I’m not saying it is or isn’t. I’m saying that using only spaces for alignment will not let your alignment get messed up with various tabstops settings.