Skip to content

Instantly share code, notes, and snippets.

@blackxored
Created August 23, 2018 22:18
Show Gist options
  • Save blackxored/be060e9318a758c15ff08600889e3c4c to your computer and use it in GitHub Desktop.
Save blackxored/be060e9318a758c15ff08600889e3c4c to your computer and use it in GitHub Desktop.
const gumshoe = require('gumshoe');
const mappings = {
node: 'f898', // nf-mdi-nodejs
react: 'e7ba', // nf-dev-react
reason: 'e777', // nf-dev-haskell, sorry no Reason/Ocaml icon 😢
ruby: 'e791', // nf-dev-ruby_rough
rails: 'e73b', // nf-dev-ruby_on_rails
elixir: 'e62d', // nf-custom-elixir
clojure: 'e768', // nf-dev-clojure
electron: 'e62e', // nf-custom-electron
docker: 'f308', // nf-linux-docker
android: 'f531', // nf-mdi-android
ios: 'e711', // nf-dev-apple
yeoman: 'e77a', // nf-dev-yeoman
vue: 'fd42', // nf-mdi-vuejs
puppeteer: 'f268', // nf-fa-chrome
solidity: 'fcb9', // nf-mdi-currency_eth
};
const baseDir = process.cwd();
const rules = [
{
filename: 'bsconfig.json',
exists: true,
language: 'reason',
},
{
filename: 'package.json',
exists: true,
grep: /react/,
language: 'node',
framework: 'react',
},
{
filename: 'package.json',
exists: true,
grep: /electron/,
language: 'node',
framework: 'electron',
},
{
filename: 'package.json',
exists: true,
grep: /"vue"/,
language: 'node',
framework: 'vue',
},
{
filename: 'package.json',
exists: true,
grep: /yeoman-generator/,
language: 'node',
framework: 'yeoman',
},
{
filename: 'package.json',
exists: true,
grep: /"puppeteer"/,
language: 'node',
framework: 'puppeteer',
},
{
filename: 'package.json',
exists: true,
grep: /"solc"/,
language: 'node',
framework: 'solidity',
},
{
filename: 'package.json',
exists: true,
language: 'node',
},
{
filename: '*.xcodeproj',
exists: true,
language: 'ios',
},
{
filename: 'build.gradle',
exists: true,
language: 'java',
framework: 'android',
},
{
filename: 'Gemfile',
exists: true,
grep: /rails/,
language: 'ruby',
framework: 'rails',
},
{
filename: 'Gemfile',
exists: true,
language: 'ruby',
},
{
filename: 'Dockerfile',
exists: true,
language: 'docker',
},
{
filename: 'docker-compose.yml',
exists: true,
language: 'docker',
},
{
filename: 'project.clj',
exists: true,
language: 'clojure',
},
{
filename: 'mix.exs',
exists: true,
language: 'elixir',
},
];
gumshoe.run(baseDir, rules, (err, res) => {
if (err) {
process.exit(1);
}
const lang = mappings[res.framework || res.language];
if (lang) {
console.log(lang);
}
});
project_type() {
local lang=$(node ~/Code/src/internal/powerlevel9k-project-type-nerdfont/src/index.js)
if [[ -z $lang ]]; then
echo -n "\ufb26"
else
echo -n "\u$lang"
fi
}
POWERLEVEL9K_CUSTOM_PROJECT_TYPE="project_type"
POWERLEVEL9K_CUSTOM_PROJECT_TYPE_FOREGROUND="black"
POWERLEVEL9K_CUSTOM_PROJECT_TYPE_BACKGROUND="yellow"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment