mirror of
https://github.com/Eugeny/tabby.git
synced 2025-10-04 14:04:56 +00:00
done
This commit is contained in:
51
terminus-community-color-schemes/src/colorSchemes.ts
Normal file
51
terminus-community-color-schemes/src/colorSchemes.ts
Normal file
@@ -0,0 +1,51 @@
|
||||
import { Injectable } from '@angular/core'
|
||||
import { TerminalColorSchemeProvider, ITerminalColorScheme } from 'terminus-terminal'
|
||||
|
||||
const schemeContents = require.context('../schemes/', true, /.*/)
|
||||
|
||||
|
||||
@Injectable()
|
||||
export class ColorSchemes extends TerminalColorSchemeProvider {
|
||||
async getSchemes (): Promise<ITerminalColorScheme[]> {
|
||||
let schemes: ITerminalColorScheme[] = []
|
||||
|
||||
schemeContents.keys().forEach(schemeFile => {
|
||||
let lines = (<string>schemeContents(schemeFile)).split('\n')
|
||||
let values: any = {}
|
||||
lines
|
||||
.filter(x => x.startsWith('*.'))
|
||||
.map(x => x.substring(2))
|
||||
.map(x => x.split(':').map(v => v.trim()))
|
||||
.forEach(([key, value]) => {
|
||||
values[key] = value
|
||||
})
|
||||
|
||||
schemes.push({
|
||||
name: schemeFile.split('/')[1],
|
||||
foreground: values.foreground,
|
||||
background: values.background,
|
||||
cursor: values.cursorColor,
|
||||
colors: [
|
||||
values.color0,
|
||||
values.color1,
|
||||
values.color2,
|
||||
values.color3,
|
||||
values.color4,
|
||||
values.color5,
|
||||
values.color6,
|
||||
values.color7,
|
||||
values.color8,
|
||||
values.color9,
|
||||
values.color10,
|
||||
values.color11,
|
||||
values.color12,
|
||||
values.color13,
|
||||
values.color14,
|
||||
values.color15,
|
||||
],
|
||||
})
|
||||
})
|
||||
|
||||
return schemes
|
||||
}
|
||||
}
|
12
terminus-community-color-schemes/src/index.ts
Normal file
12
terminus-community-color-schemes/src/index.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
import { NgModule } from '@angular/core'
|
||||
import { TerminalColorSchemeProvider } from 'terminus-terminal'
|
||||
|
||||
import { ColorSchemes } from './colorSchemes'
|
||||
|
||||
|
||||
@NgModule({
|
||||
providers: [
|
||||
{ provide: TerminalColorSchemeProvider, useClass: ColorSchemes, multi: true },
|
||||
],
|
||||
})
|
||||
export default class PopularThemesModule { }
|
Reference in New Issue
Block a user