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

allow lua expressions in templates #39

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

horriblename
Copy link

allows using lua expressions for string manipulation during replace. Example:

-- ORIGINAL TEXT:
local foo_bar = 3

-- SEARCH:
local $var = $val

-- REPLACE:
local $(snake_to_camel_case(var) .. val) = $val

-- RESULT:
local fooBar3 = 3

things to note:

  • var and val are exposed as "readonly" global in the lua expression - but existing globals will take priority (lua limitation)
  • snake_to_camel_case is user defined

this probably counts as a breaking change

I'm curious to see what others think - if you have suggestions let me know

@horriblename
Copy link
Author

TODO:

  • figure out error handling
  • handle nil return
  • how to handle indent?

nice to have:

  • extend the standard string lib with common functions such as toCamelCase etc. would love to be able to write $(var:toCamelCase()) ootb
  • allow swapping out for fennel. I don't use fennel myself but the pipe operator is so good here

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.

None yet

1 participant