Skip to content

Commit 8c96c15

Browse files
author
Guillaume Chau
committed
feat: support ANSI colors in ListItemInfo
1 parent a23dd19 commit 8c96c15

File tree

5 files changed

+20
-15
lines changed

5 files changed

+20
-15
lines changed

packages/@vue/cli-ui/src/components/ListItemInfo.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@
77
>
88
<div class="name">
99
<slot name="name">
10-
{{ name }}
10+
<span v-html="ansiColors(name)"/>
1111
</slot>
1212
</div>
1313
<div v-if="description || link || showDescription" class="description">
1414
<slot name="description">
15-
<span v-html="description"/>
15+
<span v-html="ansiColors(description)"/>
1616
</slot>
1717
<a
1818
v-if="link"

packages/@vue/cli-ui/src/components/LoggerMessage.vue

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,12 @@
1212
>
1313
<div v-if="message.type !== 'log'" class="type">{{ message.type }}</div>
1414
<div v-if="message.tag" class="tag">{{ message.tag }}</div>
15-
<div class="message" v-html="formattedMessage"/>
15+
<div class="message" v-html="ansiColors(message.message)"/>
1616
<div class="date">{{ message.date | date }}</div>
1717
</div>
1818
</template>
1919

2020
<script>
21-
import AU from 'ansi_up'
22-
23-
const ansiUp = new AU()
24-
ansiUp.use_classes = true
25-
2621
export default {
2722
props: {
2823
message: {
@@ -34,12 +29,6 @@ export default {
3429
type: Boolean,
3530
default: false
3631
}
37-
},
38-
39-
computed: {
40-
formattedMessage () {
41-
return ansiUp.ansi_to_html(this.message.message)
42-
}
4332
}
4433
}
4534
</script>

packages/@vue/cli-ui/src/plugins.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import ClientState from './mixins/ClientState'
1212
import SetSize from './util/set-size'
1313
import Focus from './util/focus'
1414
import Bus from './util/bus'
15+
import AnsiColors from './util/ansi-colors'
1516

1617
Vue.use(InstantSearch)
1718
Vue.use(VueMeta)
@@ -37,6 +38,7 @@ Vue.use(VueObserveVisibility)
3738
Vue.use(SharedData)
3839
Vue.use(PluginAction)
3940
Vue.use(Bus)
41+
Vue.use(AnsiColors)
4042

4143
for (const key in Filters) {
4244
Vue.filter(key, Filters[key])
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import AU from 'ansi_up'
2+
3+
const ansiUp = new AU()
4+
ansiUp.use_classes = true
5+
6+
export default {
7+
install (Vue) {
8+
Vue.prototype.ansiColors = text => ansiUp.ansi_to_html(text)
9+
}
10+
}

packages/@vue/cli/lib/promptModules/router.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
const chalk = require('chalk')
2+
13
module.exports = cli => {
24
cli.injectFeature({
35
name: 'Router',
@@ -10,7 +12,9 @@ module.exports = cli => {
1012
name: 'routerHistoryMode',
1113
when: answers => answers.features.includes('router'),
1214
type: 'confirm',
13-
message: `Use history mode for router? (Requires proper server setup for index fallback in production)`
15+
message: `Use history mode for router? ${chalk.yellow(`(Requires proper server setup for index fallback in production)`)}`,
16+
description: `By using the HTML5 History API, the URLs don't need the '#' character anymore.`,
17+
link: 'https://router.vuejs.org/guide/essentials/history-mode.html'
1418
})
1519

1620
cli.onPromptComplete((answers, options) => {

0 commit comments

Comments
 (0)