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

Steepfile: Allow to change the extension of the source files #1454

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

Conversation

tk0miya
Copy link
Contributor

@tk0miya tk0miya commented Jan 3, 2025

To support ERB, this allows to change the extension of the source files via ext setting in Steepfile.

Example:

target :views do
  check "app/views"
  ext ".erb"
end

refs: #1409

To support ERB, this allows to change the extension of the source files
via `ext` setting in Steepfile.

Example:

```
target :views do
  check "app/views"
  ext ".erb"
end
```

refs: soutaro#1409
@tk0miya tk0miya force-pushed the support_erb/Steepfile/ext branch from 49300e9 to 6c905b8 Compare January 3, 2025 05:49
@ParadoxV5
Copy link
Contributor

Does check 'app/views/**/*.erb' work already?

@tk0miya
Copy link
Contributor Author

tk0miya commented Jan 3, 2025

Not yet. But I'll post some PRs to support it. This is a first step for it.

Comment on lines +77 to +79
def ext(ext)
@ext = ext
end
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any better name for this? I have some other ideas: file_ext, source_ext and extensions (plural).

Copy link
Contributor

@ParadoxV5 ParadoxV5 Jan 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ext and extensions sound like “plugins”.
Here’s another: check_ext

Honestly, it should be called “templating”.
ERB templating syntax is not Ruby syntax, and just changing the extension won’t teach Steep how to recognize them, not to mention this design currently blocks a target from continuing checking *.rb.
If Steep can automatically switch to ERB mode for *.erbs, it can simply change the default file extension to .{rb,erb}.

P.S. If it’s just for pretending say .ruby files to be synonymous with .rb, is check 'app/views/**/*.{rb,ruby}' sufficient?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If Steep can automatically switch to ERB mode for *.erbs, it can simply change the default file extension to .{rb,erb}.

Some template languages, such as HAML, can be converted to Ruby in real-world apps. Therefore it might be better to provide to enhance Steep via plug-ins. From that perspective, it would be better to specify the file extensions via Steepfile.

P.S. If it’s just for pretending say .ruby files to be synonymous with .rb, is check 'app/views/**/*.{rb,ruby}' sufficient?

Unfortunately, it does not work perfectly.

Please see the diff of lib/steep/server/master.rb. It has a hard-coded .rb string to set up didChangeWatchedFiles event.

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.

2 participants