this post was submitted on 25 Jul 2024
67 points (94.7% liked)

Linux

48697 readers
1388 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 21 points 5 months ago (2 children)

What you are looking for is called Syntax Highlight. Are you asking this for the terminal? I think this is a property of the shell. Fish has it builtin and for ZSH, there is a plugin: https://github.com/zsh-users/zsh-syntax-highlighting I don't know if its possible with Bash.

[–] [email protected] 12 points 5 months ago (2 children)

Closest thing for bash would be ble.sh.

[–] [email protected] 7 points 5 months ago

Tried it out and it works! Thanks!

[–] [email protected] 3 points 5 months ago (1 children)

Yeah, I used to use that before. But its slower for me. So now I use fish for interactions

[–] [email protected] 1 points 5 months ago

Yeah, it's slow. I use it currently (because of better vi mode support) but plan to switch back to zsh.

[–] [email protected] 6 points 5 months ago (1 children)

Yes, I am looking for a syntax highlighter for the terminal. The one I use is called Kitty.

[–] [email protected] 2 points 5 months ago

It would make sense for the terminal to handle syntax highlighting since that would match how editors work. But the convention is that the shell handles highlighting, not the terminal. You can check which shell you are running with the command,

$ echo $SHELL

It's done that way because the shell is a running program that is capable of telling the terminal which colors to show (by mixing color escape sequences into text). Compare that to code in an editor which is text, not a running program so the only option is for the editor to handle highlighting[1]. Editors need syntax files to configure highlighting for all the different programming languages, while terminals don't need this because the shell tells them what colors to show.

[1] setting aside the "semantic highlighting" LSP capability - that was invented long after syntax highlighting conventions were established