Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
See what's new at GitLab
4
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Switch to GitLab Next
Sign in / Register
Toggle navigation
P
prettier-plugin-jsdoc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Iterations
Merge Requests
0
Merge Requests
0
Requirements
Requirements
List
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Test Cases
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Package Registry
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issue
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
gumen
prettier-plugin-jsdoc
Commits
5df3d66d
Commit
5df3d66d
authored
Jan 23, 2020
by
irekg
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Define tags order in options
parent
8c3c9bd3
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
37 additions
and
29 deletions
+37
-29
jsdoc_parser.js
jsdoc_parser.js
+37
-29
No files found.
jsdoc_parser.js
View file @
5df3d66d
...
...
@@ -52,31 +52,6 @@ function formatDescription(text) {
return
text
||
''
}
/**
* Control order of tags by weights. Smaller value brings tag higher.
* @param {String} tagTitle
* @return {Number} Tag weight
*/
function
getTagOrderWeight
(
tagTitle
)
{
const
order
=
[
'
private
'
,
'
global
'
,
'
class
'
,
'
memberof
'
,
'
namespace
'
,
'
callback
'
,
'
description
'
,
'
see
'
,
'
todo
'
,
'
examples
'
,
'
other
'
,
'
param
'
,
'
return
'
,
]
const
index
=
order
.
indexOf
(
tagTitle
)
return
index
===
-
1
?
order
.
indexOf
(
'
other
'
)
:
index
}
/** {@link https://prettier.io/docs/en/api.html#custom-parser-api} */
function
jsdocParser
(
text
,
parsers
,
options
)
{
const
ast
=
parsers
[
'
babel-flow
'
](
text
)
...
...
@@ -85,6 +60,16 @@ function jsdocParser(text, parsers, options) {
const
gap
=
'
'
.
repeat
(
options
.
jsdocSpaces
)
const
printWidth
=
options
.
jsdocPrintWidth
/**
* Control order of tags by weights. Smaller value brings tag higher.
* @param {String} tagTitle
* @return {Number} Tag weight
*/
function
getTagOrderWeight
(
tagTitle
)
{
const
index
=
options
.
jsdocTagsOrder
.
indexOf
(
tagTitle
)
return
index
===
-
1
?
(
options
.
jsdocTagsOrder
.
indexOf
(
'
other
'
)
||
0
)
:
index
}
ast
.
comments
.
forEach
(
comment
=>
{
// Parse only comment blocks
if
(
comment
.
type
!==
'
CommentBlock
'
)
return
...
...
@@ -217,18 +202,41 @@ module.exports = {
parsers
:
{
'
jsdoc-parser
'
:
Object
.
assign
({},
babelFlow
,
{
parse
:
jsdocParser
})
},
// How to define options: https://github.com/prettier/prettier/blob/master/src/cli/constant.js#L16
// Issue with string type: https://github.com/prettier/prettier/issues/6151
options
:
{
jsdocSpaces
:
{
type
:
'
int
'
,
category
:
'
Global
'
,
category
:
'
jsdoc
'
,
default
:
1
,
description
:
'
SPACES SPACES
'
,
description
:
'
How many spaces will be used to separate tag elements.
'
,
},
jsdocPrintWidth
:
{
type
:
'
int
'
,
category
:
'
Global
'
,
category
:
'
jsdoc
'
,
default
:
80
,
description
:
'
wrap wrap wrap
'
,
description
:
'
After how many characters description text should be wrapped.
'
,
},
jsdocTagsOrder
:
{
type
:
'
path
'
,
category
:
'
jsdoc
'
,
array
:
true
,
// Fancy way to get option in array form
default
:
[{
value
:
[
'
private
'
,
'
global
'
,
'
class
'
,
'
memberof
'
,
'
namespace
'
,
'
callback
'
,
'
description
'
,
'
see
'
,
'
todo
'
,
'
examples
'
,
'
other
'
,
'
param
'
,
'
return
'
,
]}],
description
:
'
Define order of tags.
'
,
}
},
defaultOptions
:
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment