All tools βΊ Inside a source file
Lines of code
Code, comment and blank lines counted per file, with the language read from the name.
It runs entirely in this browser tab: the code you paste is never uploaded, and nothing here is executed, built or fetched β it is read and something else is written. Open your browser's network panel and try it.
Settings
- Language
- Choices: Rust, Python, JavaScript, Java, C, Go, PHP, Ruby, Shell, SQL, CSS, HTML, YAML, Lua.
- Split by file
- A line that is only a file path starts a new file.
How to use it
- Paste your text into the box above, or open a file.
- Adjust the settings beside it until the result is what you wanted.
- Copy the result, or save it as a file. The result updates as you type.
Questions
- Is my code uploaded anywhere?
- No. The whole application is carried as WebAssembly and runs on your own device. That matters here as much as anywhere: a curl command pasted out of a terminal has a live token in it, a stack trace has your customers' identifiers in it, and a configuration file has a password in the middle of a connection address.
- Does anything here run what I paste?
- Never. The command explainer explains and does not execute; the Dockerfile reader reads and does not build; the request builder writes a command and does not send it. Each tool says so on its own result, and each says what that costs it β a linter that did not build the image cannot tell you the image builds.
- Will an escape survive a round trip?
- Yes, and there is a test that says so: every language's escaper has its unescaper beside it, and an awkward string with quotation marks, backslashes, tabs, a null and an emoji in it goes through both for every language on every run of the test suite.
- Why does it refuse a pattern instead of matching nothing?
- Because matching nothing looks like an answer. The glob matcher reads a stated subset β the stars, the question mark, character classes, brace lists and a leading negation β and a pattern using anything else comes back named rather than quietly matching none of your files.
Other tools for inside a source file
Natural sort
A list sorted the way a person reads it, so that ten follows nine.
Remove comments
Comments taken out, and a marker inside a string left exactly where it was.
Tabs and spaces
Indentation converted to the next tab stop, so that aligned lines stay aligned.
Stack trace
A trace glued into one log line, unglued β with your own frames told from the library's.
All forty tools