feat(plugins/habits): added limit option in habit languages (#1112)
This commit is contained in:
@@ -10,7 +10,7 @@ export default async function({login, data, rest, imports, q, account}, {enabled
|
|||||||
return null
|
return null
|
||||||
|
|
||||||
//Load inputs
|
//Load inputs
|
||||||
let {from, days, facts, charts, "charts.type": _charts, trim} = imports.metadata.plugins.habits.inputs({data, account, q}, defaults)
|
let {from, days, facts, charts, "charts.type": _charts, trim, "languages.limit": limit} = imports.metadata.plugins.habits.inputs({data, account, q}, defaults)
|
||||||
|
|
||||||
//Initialization
|
//Initialization
|
||||||
const habits = {facts, charts, trim, lines: {average: {chars: 0}}, commits: {fetched: 0, hour: NaN, hours: {}, day: NaN, days: {}}, indents: {style: "", spaces: 0, tabs: 0}, linguist: {available: false, ordered: [], languages: {}}}
|
const habits = {facts, charts, trim, lines: {average: {chars: 0}}, commits: {fetched: 0, hour: NaN, hours: {}, day: NaN, days: {}}, indents: {style: "", spaces: 0, tabs: 0}, linguist: {available: false, ordered: [], languages: {}}}
|
||||||
@@ -105,7 +105,7 @@ export default async function({login, data, rest, imports, q, account}, {enabled
|
|||||||
habits.linguist.available = true
|
habits.linguist.available = true
|
||||||
const {total, stats} = await recent_analyzer({login, data, imports, rest, account}, {days, load: from || 1000, tempdir: "habits"})
|
const {total, stats} = await recent_analyzer({login, data, imports, rest, account}, {days, load: from || 1000, tempdir: "habits"})
|
||||||
habits.linguist.languages = Object.fromEntries(Object.entries(stats).map(([language, value]) => [language, value / total]))
|
habits.linguist.languages = Object.fromEntries(Object.entries(stats).map(([language, value]) => [language, value / total]))
|
||||||
habits.linguist.ordered = Object.entries(habits.linguist.languages).sort(([_an, a], [_bn, b]) => b - a)
|
habits.linguist.ordered = Object.entries(habits.linguist.languages).sort(([_an, a], [_bn, b]) => b - a).slice(0, limit || Infinity)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
console.debug(`metrics/compute/${login}/plugins > habits > linguist not available`)
|
console.debug(`metrics/compute/${login}/plugins > habits > linguist not available`)
|
||||||
|
|||||||
@@ -67,3 +67,11 @@ inputs:
|
|||||||
description: Trim unused hours on charts
|
description: Trim unused hours on charts
|
||||||
type: boolean
|
type: boolean
|
||||||
default: no
|
default: no
|
||||||
|
|
||||||
|
plugin_habits_languages_limit:
|
||||||
|
description: Limits the number of languages to be displayed
|
||||||
|
type: number
|
||||||
|
default: 8
|
||||||
|
min: 0
|
||||||
|
max: 8
|
||||||
|
zero: disable
|
||||||
Reference in New Issue
Block a user