Has there been any discussion around adding a module attribute @mark to Elixir that would function as a code organization tool similar to Swift's // MARK: or Objective-C's #pragma mark?
-- WHY -- As an example I've found that when developing Phoenix LiveView applications, modules often accumulate numerous handle_event/3 and handle_info/2 callback functions and it would be nice to have a way to organize things. I understand that right now we can add comments, and we have compiler warnings. But nothing official an editor can support. Given that we want all the handle_event and handle_info functions together this seems like the way. Clearly it would be optional. But it would be beneficial. My proposal would: 1. Introduce @mark as a special module attribute recognized by the Elixir compiler 2. Enable IDE/editor integration for code navigation and folding based on these marks 3. Potentially allow documentation tools like ExDoc to use these marks in module documentation The primary benefit would be improved code organization and readability in larger modules where related functions need to stay together but would benefit from visual separation and navigation support. Thoughts? I'm not asking someone to write this for me... but would like to understand if something like this would be accepted before working on it. Thanks, Mark -- You received this message because you are subscribed to the Google Groups "elixir-lang-core" group. To unsubscribe from this group and stop receiving emails from it, send an email to elixir-lang-core+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/elixir-lang-core/ebb12c67-1e90-430b-89c6-c78702e4c1d7n%40googlegroups.com.