Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

code formatting within a heredoc script #1066

Open
Labels
enhancementNew feature or request
@digitalsignalperson

Description

What is the problem this feature will solve?

I often have bash scripts with lots of heredocs. It's very convenient to consolidate many scripts and code snippets into one bash script. However, the lack of formatting within the heredocs makes it harder to spot mistakes if editing for example, a bash script within a heredoc.

What is the feature you are proposing to solve the problem?

Having code formatting in the individual heredoc sections, provided a shebang exists to indicate the language.

#!/bin/bash
echo "code is formatted here"
cat > /my/path << 'EOF'
#!/bin/bash

echo "code is also formatted here"
var="oops forgot a closing double quotes, help!

EOF
cat > /my/path2 << EOF
#!/bin/python

print("it would be cool if this could be formatted too in whatever language the shebang corresponds to")
EOF
cat > /my/path3 << EOF
This is not formatted
EOF

The only way formatting should work is if a shebang was provided, otherwise the heredoc could be for any purpose.

It would be really cool if this worked for any language in the heredoc's shebang, but I could imagine that being trickier. This feels similar to what markdown formatting is like:

# This is markdown
```bash
echo "bash code formatted in markdown codeblock. similar idea to a heredoc"
```
```python
print('python formatting in this code block in markdown)
```

What alternatives have you considered?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

        AltStyle によって変換されたページ (->オリジナル) /