Module names are kinda unwieldy (e.g., one function call looks like this Spirit.Exercises.BinariesStringsAndCharlists.describe_string(s)). So, I suggest we update our structure to mitigate this by replacing the directory name from exercises to just spirit. I've shown it in detail below to make it clear.
An added bonus is that this structure is probably more idiomatic since LSP completion now detects the module name correctly when I use the defmodule snippet.
I agree that this makes more sense overall. And since having it work with existing tooling is one of our primary goals I think this chance makes sense from an LSP standpoint as well.
Module names are kinda unwieldy (e.g., one function call looks like this
Spirit.Exercises.BinariesStringsAndCharlists.describe_string(s)
). So, I suggest we update our structure to mitigate this by replacing the directory name fromexercises
to justspirit
. I've shown it in detail below to make it clear.Directory structure:
lib/exercises/binaries_strings_and_charlists.ex
lib/spirit/binaries_strings_and_charlists.ex
Module name:
Spirit.Exercises.BinariesStringsAndCharlists
Spirit.BinariesStringsAndCharlists
An added bonus is that this structure is probably more idiomatic since LSP completion now detects the module name correctly when I use the
defmodule
snippet.