-
Notifications
You must be signed in to change notification settings - Fork 3
/
Cargo.toml
117 lines (109 loc) · 3.75 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
[package]
name = "rofi-vscode-mode"
version = "0.7.0"
authors = ["Alessandro Fulgini <[email protected]>"]
edition = "2021"
rust-version = "1.80.0"
description = "A Rofi mode to open Visual Studio Code workspaces"
repository = "https://github.com/fuljo/rofi-vscode-mode"
license = "MIT"
keywords = ["rofi", "mode", "plugin", "vscode"]
categories = ["command-line-utilities"]
exclude = ["/ci", "assets/", ".*", "install.sh", "ci"]
[features]
default = ["rofi"]
rofi = ["dep:pangocairo", "dep:rofi-mode"]
[lib]
crate-type = ["lib", "cdylib"]
[[bin]]
name = "vscode-recent"
[dependencies]
# Common
anyhow = "1.0"
clap = { version = "4.5", features = ["derive"]}
dirs = "5.0"
rusqlite = { version = "0.32", features = ["serde_json"]}
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
url = { version = "2.5", features = ["serde"]}
which = "7.0"
# Rofi-only
pangocairo = { version = "0.19", optional = true } # should be consistent with the dependency from rofi-mode
rofi-mode = { version = "0.4", optional = true }
# Configuration for cargo-release
[package.metadata.release]
sign-commit = true
sign-tag = true
push = false
pre-release-commit-message = "chore(release): prepare for {{version}}"
tag-message = "chore(release): {{crate_name}} version {{version}}"
pre-release-hook = [
"git-cliff", "--config", "Cargo.toml", "--tag", "{{version}}", "--output", "CHANGELOG.md"
]
publish = false
# Configuration for git-cliff
[package.metadata.git-cliff.changelog]
# changelog header
header = """
# Changelog\n
All notable changes to this project will be documented in this file.\n
"""
# template for the changelog body
# https://tera.netlify.app/docs/#introduction
body = """
{% if version %}\
## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
{% else %}\
## [unreleased]
{% endif %}\
{% for group, commits in commits | group_by(attribute="group") %}
### {{ group | upper_first }}
{% for commit in commits %}
- {% if commit.breaking %}[**breaking**] {% endif %}{{ commit.message | upper_first }}\
{% endfor %}
{% endfor %}\n
"""
# remove the leading and trailing whitespace from the template
trim = true
# changelog footer
footer = """
<!-- generated by git-cliff -->
"""
[package.metadata.git-cliff.git]
# parse the commits based on https://www.conventionalcommits.org
conventional_commits = true
# filter out the commits that are not conventional
filter_unconventional = true
# process each line of a commit as an individual commit
split_commits = false
# regex for preprocessing the commit messages
commit_preprocessors = [
# Add hyperlink to issues
{ pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](https://github.com/fuljo/rofi-vscode-mode/issues/${2}))"},
]
# regex for parsing and grouping commits
commit_parsers = [
{ message = "^feat", group = "Features"},
{ message = "^fix", group = "Bug Fixes"},
{ message = "^doc", group = "Documentation", skip=true},
{ message = "^perf", group = "Performance", skip=true},
{ message = "^refactor", group = "Refactor", skip=true},
{ message = "^style", group = "Styling", skip=true},
{ message = "^test", group = "Testing"},
{ message = "^ci", group = "Continuouys Integration", skip=true},
{ message = "^chore\\(release\\)", skip = true},
{ message = "^chore", group = "Miscellaneous Tasks"},
{ body = ".*security", group = "Security"},
]
# filter out the commits that are not matched by commit parsers
filter_commits = true
# glob pattern for matching git tags
tag_pattern = "v[0-9]*"
# regex for skipping tags
skip_tags = "v[0-9]+.[0-9]+.[0-9]+-(alpha|beta|rc).*"
# regex for ignoring tags
ignore_tags = ""
# sort the tags chronologically
date_order = false
# sort the commits inside sections by oldest/newest order
sort_commits = "oldest"