updated to v1.12
This commit is contained in:
@ -1,3 +1,7 @@
|
|||||||
|
## Version 1.12
|
||||||
|
- added option toggle margin output
|
||||||
|
- added separate Comment Padding output options for block and inline comments
|
||||||
|
|
||||||
## Version 1.11
|
## Version 1.11
|
||||||
- added option to use inline or block comments
|
- added option to use inline or block comments
|
||||||
|
|
||||||
|
@ -92,7 +92,10 @@ nova.commands.register('figletTextEditor', editor => {
|
|||||||
|
|
||||||
let commentsEnabled = nova.config.get('figlet_text.comment', 'boolean')
|
let commentsEnabled = nova.config.get('figlet_text.comment', 'boolean')
|
||||||
let commentType = nova.config.get('figlet_text.commentType', 'string')
|
let commentType = nova.config.get('figlet_text.commentType', 'string')
|
||||||
let commentPadding = nova.config.get('figlet_text.commentPadding', 'number')
|
let commentPadding = {
|
||||||
|
block: nova.config.get('figlet_text.commentPaddingBlock', 'number'),
|
||||||
|
inline: nova.config.get('figlet_text.commentPaddingInline', 'number')
|
||||||
|
}
|
||||||
let commentPaddingStr = nova.config.get('figlet_text.commentPaddingStr', 'string')
|
let commentPaddingStr = nova.config.get('figlet_text.commentPaddingStr', 'string')
|
||||||
const getCommentChars = () => {
|
const getCommentChars = () => {
|
||||||
switch (editor.document.syntax) {
|
switch (editor.document.syntax) {
|
||||||
@ -110,6 +113,7 @@ nova.commands.register('figletTextEditor', editor => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let marginsEnabled = nova.config.get('figlet_text.margins', 'boolean')
|
||||||
let prependNewLines = nova.config.get('figlet_text.prependNewLines', 'number')
|
let prependNewLines = nova.config.get('figlet_text.prependNewLines', 'number')
|
||||||
let appendNewLines = nova.config.get('figlet_text.appendNewLines', 'number')
|
let appendNewLines = nova.config.get('figlet_text.appendNewLines', 'number')
|
||||||
|
|
||||||
@ -132,7 +136,7 @@ nova.commands.register('figletTextEditor', editor => {
|
|||||||
// easier to modify line by line; order of transformations matter
|
// easier to modify line by line; order of transformations matter
|
||||||
let figletTextArr = figletText.split('\n')
|
let figletTextArr = figletText.split('\n')
|
||||||
|
|
||||||
// add borders if the option is enabled
|
// add borders/padding if the option is enabled
|
||||||
if (bordersEnabled) {
|
if (bordersEnabled) {
|
||||||
let longestLine = 0
|
let longestLine = 0
|
||||||
figletTextArr.map(line => { if (line.length > longestLine) longestLine = line.length })
|
figletTextArr.map(line => { if (line.length > longestLine) longestLine = line.length })
|
||||||
@ -230,7 +234,7 @@ nova.commands.register('figletTextEditor', editor => {
|
|||||||
if (!borderBuffer.widthBottom.empty) figletTextArr = figletTextArr.concat(borderBuffer.widthBottom)
|
if (!borderBuffer.widthBottom.empty) figletTextArr = figletTextArr.concat(borderBuffer.widthBottom)
|
||||||
}
|
}
|
||||||
|
|
||||||
// comment each line if the option is selected and a
|
// comment each line if the option is enabled and a
|
||||||
// comment structure is defined for the current syntax
|
// comment structure is defined for the current syntax
|
||||||
if (commentsEnabled && getCommentChars() !== null) {
|
if (commentsEnabled && getCommentChars() !== null) {
|
||||||
switch (commentType) {
|
switch (commentType) {
|
||||||
@ -248,20 +252,26 @@ nova.commands.register('figletTextEditor', editor => {
|
|||||||
|
|
||||||
// return the commented line if not whitespace
|
// return the commented line if not whitespace
|
||||||
if (/^\s+$/.test(line)) return '\n'
|
if (/^\s+$/.test(line)) return '\n'
|
||||||
return `${getCommentChars().inline.start}${commentPaddingStr.repeat(commentPadding)}${line}${' '.repeat(linePadding)}${commentPaddingStr.repeat(commentPadding)}${getCommentChars().inline.end}`.trimEnd()
|
return `${getCommentChars().inline.start}${commentPaddingStr.repeat(commentPadding.inline)}${line}${' '.repeat(linePadding)}${commentPaddingStr.repeat(commentPadding.inline)}${getCommentChars().inline.end}`.trimEnd()
|
||||||
})
|
})
|
||||||
break
|
break
|
||||||
case 'block':
|
case 'block':
|
||||||
|
if (commentPadding.block > 0) {
|
||||||
|
figletTextArr.unshift('\n'.repeat(commentPadding.block - 1))
|
||||||
|
figletTextArr.push('\n'.repeat(commentPadding.block - 1))
|
||||||
|
}
|
||||||
figletTextArr.unshift(getCommentChars().block.start)
|
figletTextArr.unshift(getCommentChars().block.start)
|
||||||
figletTextArr.push(getCommentChars().block.end)
|
figletTextArr.push(getCommentChars().block.end)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// prepend/append new lines
|
// add margins if the option is enabled
|
||||||
// subtract one; Array.prototype.join('\n') before editor output
|
if (marginsEnabled) {
|
||||||
if (prependNewLines > 0) figletTextArr = [`${'\n'.repeat(prependNewLines - 1)}`].concat(figletTextArr)
|
// subtract one; Array.prototype.join('\n') before editor output
|
||||||
if (appendNewLines > 0) figletTextArr = figletTextArr.concat([`${'\n'.repeat(appendNewLines - 1)}`])
|
if (prependNewLines > 0) figletTextArr = [`${'\n'.repeat(prependNewLines - 1)}`].concat(figletTextArr)
|
||||||
|
if (appendNewLines > 0) figletTextArr = figletTextArr.concat([`${'\n'.repeat(appendNewLines)}`])
|
||||||
|
}
|
||||||
|
|
||||||
// indent subsequent lines after the first if
|
// indent subsequent lines after the first if
|
||||||
// the line with the selection was indented
|
// the line with the selection was indented
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
"name": "FIGlet Text",
|
"name": "FIGlet Text",
|
||||||
"organization": "Dan Remollino",
|
"organization": "Dan Remollino",
|
||||||
"description": "Convert selected text to FIGlet. Great for adding readable text to the Minimap, creating l33t text headers, and organizing files.",
|
"description": "Convert selected text to FIGlet. Great for adding readable text to the Minimap, creating l33t text headers, and organizing files.",
|
||||||
"version": "1.11",
|
"version": "1.12",
|
||||||
"categories": ["commands", "formatters"],
|
"categories": ["commands", "formatters"],
|
||||||
|
|
||||||
"entitlements": {
|
"entitlements": {
|
||||||
@ -523,19 +523,26 @@
|
|||||||
"title": "Comment Type",
|
"title": "Comment Type",
|
||||||
"description": "Comment output line by line or as a single block.",
|
"description": "Comment output line by line or as a single block.",
|
||||||
"type": "enum",
|
"type": "enum",
|
||||||
"values": [["inline", "Inline"], ["block", "Block"]],
|
"values": [["block", "Block"], ["inline", "Inline"]],
|
||||||
"default": "inline"
|
"default": "inline"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "figlet_text.commentPadding",
|
"key": "figlet_text.commentPaddingBlock",
|
||||||
"title": "Comment Padding",
|
"title": "Block Comment Padding",
|
||||||
"description": "The number of Comment Padding Characters to add between the converted text and comment symbols.",
|
"description": "The number of new lines to add between the converted text and comment symbols.",
|
||||||
|
"type": "number",
|
||||||
|
"default": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "figlet_text.commentPaddingInline",
|
||||||
|
"title": "Inline Comment Padding",
|
||||||
|
"description": "The number of Comment Padding Characters to add between the converted text and comment symbols on each line.",
|
||||||
"type": "number",
|
"type": "number",
|
||||||
"default": 4
|
"default": 4
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "figlet_text.commentPaddingStr",
|
"key": "figlet_text.commentPaddingStr",
|
||||||
"title": "Comment Padding Character",
|
"title": "Inline Comment Padding Character",
|
||||||
"description": "Text string to use as Comment Padding. Defaults to a single space.",
|
"description": "Text string to use as Comment Padding. Defaults to a single space.",
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"default": " "
|
"default": " "
|
||||||
@ -640,19 +647,26 @@
|
|||||||
"title": "Margins",
|
"title": "Margins",
|
||||||
"description": "Spacing between FIGlet text and your content.",
|
"description": "Spacing between FIGlet text and your content.",
|
||||||
"children": [
|
"children": [
|
||||||
|
{
|
||||||
|
"key": "figlet_text.margins",
|
||||||
|
"title": "Enable Margins",
|
||||||
|
"description": "Toggle margin output without needing to change individual settings.",
|
||||||
|
"type": "bool",
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"key": "figlet_text.prependNewLines",
|
"key": "figlet_text.prependNewLines",
|
||||||
"title": "Top Margin",
|
"title": "Top Margin",
|
||||||
"description": "Amount of new lines to prepend to the converted text.",
|
"description": "Amount of new lines to prepend to the converted text.",
|
||||||
"type": "number",
|
"type": "number",
|
||||||
"default": 0
|
"default": 4
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "figlet_text.appendNewLines",
|
"key": "figlet_text.appendNewLines",
|
||||||
"title": "Bottom Margin",
|
"title": "Bottom Margin",
|
||||||
"description": "Amount of new lines to append to the converted text.",
|
"description": "Amount of new lines to append to the converted text. The curser will be placed on the line after the appended lines.",
|
||||||
"type": "number",
|
"type": "number",
|
||||||
"default": 0
|
"default": 2
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user