Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add indentation. #3

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Add indentation. #3

wants to merge 1 commit into from

Conversation

bemehiser
Copy link

Add the ability to specify indentation.

  • intent - the number of spaces of indentation per level

@bemehiser
Copy link
Author

@mame, any change you can review and merge this? I'd love to have the new changes for my projects. Thanks!

@mame
Copy link
Owner

mame commented Feb 9, 2024

Thank you, but I'm a little cautious about this feature though. This is because I think of some variants on the possible indentation style.

  • Nested indent (proposed?)
[foo]
  key = value
  [foo.bar]
    key = value
    [foo.bar.baz]
      key = value
  • Nested indent, but not indent key = value
[foo]
key = value
  [foo.bar]
  key = value
    [foo.bar.baz]
    key = value
  • No nested indent, but indents only key = value
[foo]
  key = value
[foo.bar]
  key = value
[foo.bar.baz]
  key = value
  • Indent by spaces, or indent by hard tabs
  • What output should be produced when combined with use_dot option

I should research what other major TOML encoder implementations offer in terms of formatting options.

@bemehiser
Copy link
Author

  • I personally use the third option with no nested indent.

  • I strongly recommend using spaces and not tabs. All the common IDEs use spaces instead of tabs, because tabs are inconsistent. The way I made this you can specify the number of spaces you want sections to be indented by. Common options are 2 or 4 spaces.

If you would prefer to use the nested indent schema, I could see about making that work and updating this merge request. I don't have a huge preference about indentation. Either option 1 or 3 would be fine. Any indentation will be better than no indentation.

@bemehiser
Copy link
Author

Hey @mame, just checking in to see if you had any further input on this. I really would like to have indentation added soon so I don't have to fork and push a new gem just to add the feature to my project.

Is there a specific indentation format I can implement which you would merge?

@paddor
Copy link

paddor commented Oct 8, 2024

Any updates here?

@bemehiser
Copy link
Author

bemehiser commented Oct 8, 2024

@paddor , there was no movement so I published my own version of the gem which includes the indentation changes.
https://rubygems.org/gems/perfect_toml_improved

I plan on deleting it if/when indentation support gets added to perfect_toml, so don't depend on it unless you are okay with it vanishing in the future.

@paddor
Copy link

paddor commented Oct 8, 2024

@bemehiser Thanks for the info.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants