Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
prism-cli
Advanced tools
Readme
Prism-cli is small script for highlighting of source code files from command line
It use awesome PrismJS library by Lea Verou and support all languages that prism support, but not all tokens are supported, ANSI colors are handled by ansi-256-colors. If you want you can provide configuration file where you can use any colors you like and provide all the tokens that PrismJS support.
npm install -g prism-cli
cat {FILENAME} | prism -l {LANGAUGE}
or
prism -l {LANGUAGE} -f {FILENAME}
if you want to use less you need to use -R option:
prism --color=256 -l {LANGUAGE} -f {FILENAME} | less -R
You need --color option because of detection of 256 colors don't work in less because it's not real terminal. If your terminal don't support 256 colors you can use --color without argument.
If for some reason you need ANSI formatting for each line, like when you have long multiline comments and you use tail or head to get only few lines you can use -n option to have ANSI formatting on each line:
prism -l {LANGUAGE} -f {FILENAME} -n | tail -n 10
If you need to get the html code instead of the terminal output you can pass the --html
parameter
prism -l {LANGUAGE} -f {FILENAME} --html
You can also use it as node.js module and highlight the text in your app.
var highlight = require('prism-cli');
console.log(hightlight('function(x) { return x * x; }', 'javascript'));
There is also 3rd optional argument to hightlight function which is newline
flag same as -n in command line.
3rd argument to main function is options that are optional, it can accept this options:
html
- indicate if it should return default html code from prism.newlines
- if set to true it will wrap each line in ANSI formatting.grammar
- prism.js grammar that you can load yourself (or you can have custom grammar).colors
- object with mapping prism token
=> ANSI escape color
If you don't like default colors you can use ~/.prismrc
file that should be node module with exported object,
that have PrismJS tokens that map to ASNI escapes.
Example mapping for 256 color supported terminals:
module.exports = {
'function': '\x1b[37m',
'comment': '\x1b[38;5;241m',
'keyword': '\x1b[38;5;31m',
'string': '\x1b[38;5;28m',
'punctuation': '',
'operator': '',
'number': '\x1b[38;5;166m',
};
List of all PrismJS tokens can be found in PrismJS source code in prism.css.
If you use some language that lack of colors for prism token, you can create Pull Request. I will happly merge your changes.
If you create nice palette using configuration file, you can create an issue or PR, I will check it and merge if it looks good.
Licensed under MIT license
Copyright (c) 2017 Jakub T. Jankiewicz
FAQs
Syntax highlighting for command line using ANSI Escape codes
The npm package prism-cli receives a total of 36 weekly downloads. As such, prism-cli popularity was classified as not popular.
We found that prism-cli demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.