Initial commit.
This commit is contained in:
commit
dea281ceb0
3
.babelrc
Normal file
3
.babelrc
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"presets": ["latest"]
|
||||
}
|
10
.editorconfig
Normal file
10
.editorconfig
Normal file
@ -0,0 +1,10 @@
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
end_of_line = lf
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
|
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
node_modules
|
||||
lib
|
21
package.json
Normal file
21
package.json
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"name": "themer-vim-lightline",
|
||||
"version": "1.0.0",
|
||||
"description": "Themer generator for vim lightline plugin.",
|
||||
"main": "lib/index.js",
|
||||
"repository": {
|
||||
"url": "git@github.com:mjswensen/themer-vim-lightline.git",
|
||||
"type": "git"
|
||||
},
|
||||
"author": "mjswensen",
|
||||
"license": "MIT",
|
||||
"scripts": {
|
||||
"build": "babel --out-dir lib src",
|
||||
"start": "watch 'yarn run build' src"
|
||||
},
|
||||
"devDependencies": {
|
||||
"babel-cli": "^6.18.0",
|
||||
"babel-preset-latest": "^6.16.0",
|
||||
"watch": "^1.0.1"
|
||||
}
|
||||
}
|
59
src/index.js
Normal file
59
src/index.js
Normal file
@ -0,0 +1,59 @@
|
||||
export const render = (colors, options) => {
|
||||
|
||||
const colorVars = colorSet => `
|
||||
let s:shade0 = "${colorSet.shade0}"
|
||||
let s:shade1 = "${colorSet.shade1}"
|
||||
let s:shade2 = "${colorSet.shade2}"
|
||||
let s:shade3 = "${colorSet.shade3}"
|
||||
let s:shade4 = "${colorSet.shade4}"
|
||||
let s:shade5 = "${colorSet.shade5}"
|
||||
let s:shade6 = "${colorSet.shade6}"
|
||||
let s:shade7 = "${colorSet.shade7}"
|
||||
let s:accent0 = "${colorSet.accent0}"
|
||||
let s:accent1 = "${colorSet.accent1}"
|
||||
let s:accent2 = "${colorSet.accent2}"
|
||||
let s:accent3 = "${colorSet.accent3}"
|
||||
let s:accent4 = "${colorSet.accent4}"
|
||||
let s:accent5 = "${colorSet.accent5}"
|
||||
let s:accent6 = "${colorSet.accent6}"
|
||||
let s:accent7 = "${colorSet.accent7}"
|
||||
`;
|
||||
|
||||
const theme = `
|
||||
|
||||
${!!colors.dark ? `
|
||||
if &background == 'dark'
|
||||
${colorVars(colors.dark)}
|
||||
endif
|
||||
` : ''}
|
||||
|
||||
${!!colors.light ? `
|
||||
if &background == 'light'
|
||||
${colorVars(colors.light)}
|
||||
endif
|
||||
` : ''}
|
||||
|
||||
let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}}
|
||||
let s:p.normal.left = [ [ s:shade1, s:accent5 ], [ s:shade7, s:shade2 ] ]
|
||||
let s:p.normal.right = [ [ s:shade1, s:shade4 ], [ s:shade5, s:shade2 ] ]
|
||||
let s:p.inactive.right = [ [ s:shade1, s:shade3 ], [ s:shade3, s:shade1 ] ]
|
||||
let s:p.inactive.left = [ [ s:shade4, s:shade1 ], [ s:shade3, s:shade0 ] ]
|
||||
let s:p.insert.left = [ [ s:shade1, s:accent3 ], [ s:shade7, s:shade2 ] ]
|
||||
let s:p.replace.left = [ [ s:shade1, s:accent1 ], [ s:shade7, s:shade2 ] ]
|
||||
let s:p.visual.left = [ [ s:shade1, s:accent6 ], [ s:shade7, s:shade2 ] ]
|
||||
let s:p.normal.middle = [ [ s:shade5, s:shade1 ] ]
|
||||
let s:p.inactive.middle = [ [ s:shade4, s:shade1 ] ]
|
||||
let s:p.tabline.left = [ [ s:shade6, s:shade2 ] ]
|
||||
let s:p.tabline.tabsel = [ [ s:shade6, s:shade0 ] ]
|
||||
let s:p.tabline.middle = [ [ s:shade2, s:shade4 ] ]
|
||||
let s:p.tabline.right = copy(s:p.normal.right)
|
||||
let s:p.normal.error = [ [ s:accent0, s:shade0 ] ]
|
||||
let s:p.normal.warning = [ [ s:accent2, s:shade1 ] ]
|
||||
|
||||
let g:lightline#colorscheme#theme#palette = lightline#colorscheme#fill(s:p)
|
||||
|
||||
`;
|
||||
|
||||
return [Promise.resolve({ name: 'themer-vim-lightline.vim', contents: new Buffer(theme, 'utf-8') })];
|
||||
|
||||
};
|
Loading…
Reference in New Issue
Block a user