janito 2.27.0__py3-none-any.whl → 2.27.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- janito/cli/chat_mode/session.py +37 -23
- janito/cli/chat_mode/shell/commands/__init__.py +2 -0
- janito/cli/chat_mode/shell/commands/help.py +6 -1
- janito/cli/chat_mode/shell/commands/provider.py +25 -0
- janito/cli/chat_mode/toolbar.py +15 -1
- janito/cli/cli_commands/enable_disable_plugin.py +64 -0
- janito/cli/cli_commands/list_plugins.py +20 -4
- janito/cli/core/getters.py +6 -0
- janito/cli/core/runner.py +15 -1
- janito/cli/core/setters.py +18 -6
- janito/cli/main_cli.py +4 -5
- janito/plugins/builtin.py +84 -0
- janito/plugins/discovery.py +83 -1
- janito/plugins/manager.py +2 -0
- janito/tools/adapters/local/ask_user.py +7 -1
- janito/tools/base.py +11 -0
- {janito-2.27.0.dist-info → janito-2.27.1.dist-info}/METADATA +3 -1
- {janito-2.27.0.dist-info → janito-2.27.1.dist-info}/RECORD +22 -23
- janito-2.27.1.dist-info/top_level.txt +1 -0
- janito-2.27.0.dist-info/top_level.txt +0 -2
- janito-coder/janito_coder/__init__.py +0 -9
- janito-coder/janito_coder/plugins/__init__.py +0 -27
- janito-coder/janito_coder/plugins/code_navigator.py +0 -618
- janito-coder/janito_coder/plugins/git_analyzer.py +0 -273
- janito-coder/pyproject.toml +0 -347
- {janito-2.27.0.dist-info → janito-2.27.1.dist-info}/WHEEL +0 -0
- {janito-2.27.0.dist-info → janito-2.27.1.dist-info}/entry_points.txt +0 -0
- {janito-2.27.0.dist-info → janito-2.27.1.dist-info}/licenses/LICENSE +0 -0
@@ -1,273 +0,0 @@
|
|
1
|
-
"""
|
2
|
-
Git repository analysis plugin for janito.
|
3
|
-
"""
|
4
|
-
|
5
|
-
import os
|
6
|
-
import subprocess
|
7
|
-
from typing import Dict, List, Optional, Any
|
8
|
-
from datetime import datetime
|
9
|
-
|
10
|
-
from janito.plugins.base import Plugin, PluginMetadata
|
11
|
-
from janito.tools.tool_base import ToolBase, ToolPermissions
|
12
|
-
|
13
|
-
|
14
|
-
class GitStatusTool(ToolBase):
|
15
|
-
"""Tool to analyze git repository status."""
|
16
|
-
|
17
|
-
tool_name = "git_status"
|
18
|
-
permissions = ToolPermissions(read=True, write=False, execute=True)
|
19
|
-
|
20
|
-
def run(self, path: str = ".") -> str:
|
21
|
-
"""
|
22
|
-
Get git status for the repository.
|
23
|
-
|
24
|
-
Args:
|
25
|
-
path: Path to the git repository
|
26
|
-
|
27
|
-
Returns:
|
28
|
-
Git status information as string
|
29
|
-
"""
|
30
|
-
try:
|
31
|
-
os.chdir(path)
|
32
|
-
result = subprocess.run(
|
33
|
-
["git", "status", "--porcelain"],
|
34
|
-
capture_output=True,
|
35
|
-
text=True,
|
36
|
-
check=True,
|
37
|
-
)
|
38
|
-
|
39
|
-
if not result.stdout.strip():
|
40
|
-
return "Working directory clean"
|
41
|
-
|
42
|
-
lines = result.stdout.strip().split("\n")
|
43
|
-
status_summary = {}
|
44
|
-
|
45
|
-
for line in lines:
|
46
|
-
if len(line) >= 2:
|
47
|
-
status = line[:2]
|
48
|
-
filename = line[3:]
|
49
|
-
if status not in status_summary:
|
50
|
-
status_summary[status] = []
|
51
|
-
status_summary[status].append(filename)
|
52
|
-
|
53
|
-
output = []
|
54
|
-
for status, files in status_summary.items():
|
55
|
-
output.append(f"{status}: {len(files)} files")
|
56
|
-
for f in files[:5]: # Show first 5 files
|
57
|
-
output.append(f" {f}")
|
58
|
-
if len(files) > 5:
|
59
|
-
output.append(f" ... and {len(files) - 5} more")
|
60
|
-
|
61
|
-
return "\n".join(output)
|
62
|
-
|
63
|
-
except subprocess.CalledProcessError as e:
|
64
|
-
return f"Error getting git status: {e.stderr}"
|
65
|
-
except FileNotFoundError:
|
66
|
-
return "Git not found. Please install git."
|
67
|
-
|
68
|
-
|
69
|
-
class GitLogTool(ToolBase):
|
70
|
-
"""Tool to analyze git commit history."""
|
71
|
-
|
72
|
-
tool_name = "git_log"
|
73
|
-
permissions = ToolPermissions(read=True, write=False, execute=True)
|
74
|
-
|
75
|
-
def run(self, path: str = ".", limit: int = 10) -> str:
|
76
|
-
"""
|
77
|
-
Get recent git commits.
|
78
|
-
|
79
|
-
Args:
|
80
|
-
path: Path to the git repository
|
81
|
-
limit: Number of commits to show
|
82
|
-
|
83
|
-
Returns:
|
84
|
-
Git log information as string
|
85
|
-
"""
|
86
|
-
try:
|
87
|
-
os.chdir(path)
|
88
|
-
result = subprocess.run(
|
89
|
-
["git", "log", "--oneline", "--max-count", str(limit)],
|
90
|
-
capture_output=True,
|
91
|
-
text=True,
|
92
|
-
check=True,
|
93
|
-
)
|
94
|
-
|
95
|
-
return result.stdout.strip()
|
96
|
-
|
97
|
-
except subprocess.CalledProcessError as e:
|
98
|
-
return f"Error getting git log: {e.stderr}"
|
99
|
-
except FileNotFoundError:
|
100
|
-
return "Git not found. Please install git."
|
101
|
-
|
102
|
-
|
103
|
-
class GitBranchTool(ToolBase):
|
104
|
-
"""Tool to analyze git branches."""
|
105
|
-
|
106
|
-
tool_name = "git_branches"
|
107
|
-
permissions = ToolPermissions(read=True, write=False, execute=True)
|
108
|
-
|
109
|
-
def run(self, path: str = ".") -> str:
|
110
|
-
"""
|
111
|
-
Get git branch information.
|
112
|
-
|
113
|
-
Args:
|
114
|
-
path: Path to the git repository
|
115
|
-
|
116
|
-
Returns:
|
117
|
-
Branch information as string
|
118
|
-
"""
|
119
|
-
try:
|
120
|
-
os.chdir(path)
|
121
|
-
|
122
|
-
# Get current branch
|
123
|
-
current_result = subprocess.run(
|
124
|
-
["git", "branch", "--show-current"],
|
125
|
-
capture_output=True,
|
126
|
-
text=True,
|
127
|
-
check=True,
|
128
|
-
)
|
129
|
-
|
130
|
-
current_branch = current_result.stdout.strip()
|
131
|
-
|
132
|
-
# Get all branches
|
133
|
-
branches_result = subprocess.run(
|
134
|
-
["git", "branch", "-a"], capture_output=True, text=True, check=True
|
135
|
-
)
|
136
|
-
|
137
|
-
branches = branches_result.stdout.strip().split("\n")
|
138
|
-
|
139
|
-
output = [f"Current branch: {current_branch}"]
|
140
|
-
output.append("All branches:")
|
141
|
-
|
142
|
-
for branch in branches:
|
143
|
-
branch = branch.strip()
|
144
|
-
if branch.startswith("*"):
|
145
|
-
branch = branch[2:] # Remove asterisk
|
146
|
-
output.append(f" * {branch} (current)")
|
147
|
-
else:
|
148
|
-
output.append(f" {branch}")
|
149
|
-
|
150
|
-
return "\n".join(output)
|
151
|
-
|
152
|
-
except subprocess.CalledProcessError as e:
|
153
|
-
return f"Error getting git branches: {e.stderr}"
|
154
|
-
except FileNotFoundError:
|
155
|
-
return "Git not found. Please install git."
|
156
|
-
|
157
|
-
|
158
|
-
class GitStatsTool(ToolBase):
|
159
|
-
"""Tool to get git repository statistics."""
|
160
|
-
|
161
|
-
tool_name = "git_stats"
|
162
|
-
permissions = ToolPermissions(read=True, write=False, execute=True)
|
163
|
-
|
164
|
-
def run(self, path: str = ".") -> str:
|
165
|
-
"""
|
166
|
-
Get git repository statistics.
|
167
|
-
|
168
|
-
Args:
|
169
|
-
path: Path to the git repository
|
170
|
-
|
171
|
-
Returns:
|
172
|
-
Repository statistics as string
|
173
|
-
"""
|
174
|
-
try:
|
175
|
-
os.chdir(path)
|
176
|
-
|
177
|
-
stats = {}
|
178
|
-
|
179
|
-
# Total commits
|
180
|
-
commits_result = subprocess.run(
|
181
|
-
["git", "rev-list", "--count", "HEAD"],
|
182
|
-
capture_output=True,
|
183
|
-
text=True,
|
184
|
-
check=True,
|
185
|
-
)
|
186
|
-
stats["total_commits"] = commits_result.stdout.strip()
|
187
|
-
|
188
|
-
# Contributors
|
189
|
-
contributors_result = subprocess.run(
|
190
|
-
["git", "shortlog", "-sn", "--all"],
|
191
|
-
capture_output=True,
|
192
|
-
text=True,
|
193
|
-
check=True,
|
194
|
-
)
|
195
|
-
|
196
|
-
contributors = contributors_result.stdout.strip().split("\n")
|
197
|
-
stats["total_contributors"] = len(contributors)
|
198
|
-
stats["top_contributors"] = contributors[:5]
|
199
|
-
|
200
|
-
# Files
|
201
|
-
files_result = subprocess.run(
|
202
|
-
["git", "ls-files"], capture_output=True, text=True, check=True
|
203
|
-
)
|
204
|
-
|
205
|
-
files = files_result.stdout.strip().split("\n")
|
206
|
-
stats["total_files"] = len(files)
|
207
|
-
|
208
|
-
# Languages (approximate by file extension)
|
209
|
-
extensions = {}
|
210
|
-
for f in files:
|
211
|
-
ext = os.path.splitext(f)[1].lower()
|
212
|
-
if ext:
|
213
|
-
extensions[ext] = extensions.get(ext, 0) + 1
|
214
|
-
|
215
|
-
top_languages = sorted(
|
216
|
-
extensions.items(), key=lambda x: x[1], reverse=True
|
217
|
-
)[:5]
|
218
|
-
|
219
|
-
output = [
|
220
|
-
f"Repository Statistics:",
|
221
|
-
f"Total commits: {stats['total_commits']}",
|
222
|
-
f"Total contributors: {stats['total_contributors']}",
|
223
|
-
f"Total files: {stats['total_files']}",
|
224
|
-
"",
|
225
|
-
"Top contributors:",
|
226
|
-
]
|
227
|
-
|
228
|
-
for contributor in stats["top_contributors"]:
|
229
|
-
output.append(f" {contributor.strip()}")
|
230
|
-
|
231
|
-
output.extend(
|
232
|
-
[
|
233
|
-
"",
|
234
|
-
"Top file types:",
|
235
|
-
]
|
236
|
-
)
|
237
|
-
|
238
|
-
for ext, count in top_languages:
|
239
|
-
output.append(f" {ext}: {count} files")
|
240
|
-
|
241
|
-
return "\n".join(output)
|
242
|
-
|
243
|
-
except subprocess.CalledProcessError as e:
|
244
|
-
return f"Error getting git stats: {e.stderr}"
|
245
|
-
except FileNotFoundError:
|
246
|
-
return "Git not found. Please install git."
|
247
|
-
|
248
|
-
|
249
|
-
class GitAnalyzerPlugin(Plugin):
|
250
|
-
"""Plugin providing git repository analysis tools."""
|
251
|
-
|
252
|
-
def get_metadata(self) -> PluginMetadata:
|
253
|
-
return PluginMetadata(
|
254
|
-
name="git_analyzer",
|
255
|
-
version="1.0.0",
|
256
|
-
description="Git repository analysis and insights",
|
257
|
-
author="Janito Coder Team",
|
258
|
-
license="MIT",
|
259
|
-
homepage="https://github.com/ikignosis/janito-coder",
|
260
|
-
)
|
261
|
-
|
262
|
-
def get_tools(self):
|
263
|
-
return [GitStatusTool, GitLogTool, GitBranchTool, GitStatsTool]
|
264
|
-
|
265
|
-
def initialize(self):
|
266
|
-
print("Git Analyzer plugin initialized!")
|
267
|
-
|
268
|
-
def cleanup(self):
|
269
|
-
print("Git Analyzer plugin cleaned up!")
|
270
|
-
|
271
|
-
|
272
|
-
# This makes the plugin discoverable
|
273
|
-
PLUGIN_CLASS = GitAnalyzerPlugin
|
janito-coder/pyproject.toml
DELETED
@@ -1,347 +0,0 @@
|
|
1
|
-
[build-system]
|
2
|
-
requires = ["setuptools>=61.0", "setuptools_scm>=8.0"]
|
3
|
-
build-backend = "setuptools.build_meta"
|
4
|
-
|
5
|
-
[project]
|
6
|
-
name = "janito-coder"
|
7
|
-
description = "Extra plugins for janito focused on software development and coding tasks"
|
8
|
-
authors = [
|
9
|
-
{ name="João Pinto", email="janito@ikignosis.org" }
|
10
|
-
]
|
11
|
-
readme = "README.md"
|
12
|
-
requires-python = ">=3.7"
|
13
|
-
dynamic = ["version"]
|
14
|
-
dependencies = [
|
15
|
-
"janito",
|
16
|
-
"gitpython>=3.1.0",
|
17
|
-
"tree-sitter>=0.20.0",
|
18
|
-
"tree-sitter-python>=0.20.0",
|
19
|
-
"tree-sitter-javascript>=0.20.0",
|
20
|
-
"tree-sitter-java>=0.20.0",
|
21
|
-
"tree-sitter-c>=0.20.0",
|
22
|
-
"tree-sitter-cpp>=0.20.0",
|
23
|
-
"tree-sitter-rust>=0.20.0",
|
24
|
-
"tree-sitter-go>=0.20.0",
|
25
|
-
"tree-sitter-typescript>=0.20.0",
|
26
|
-
"tree-sitter-bash>=0.20.0",
|
27
|
-
"tree-sitter-json>=0.20.0",
|
28
|
-
"tree-sitter-yaml>=0.20.0",
|
29
|
-
"tree-sitter-markdown>=0.20.0",
|
30
|
-
"tree-sitter-html>=0.20.0",
|
31
|
-
"tree-sitter-css>=0.20.0",
|
32
|
-
"tree-sitter-sql>=0.20.0",
|
33
|
-
"tree-sitter-dockerfile>=0.20.0",
|
34
|
-
"tree-sitter-regex>=0.20.0",
|
35
|
-
"tree-sitter-toml>=0.20.0",
|
36
|
-
"tree-sitter-xml>=0.20.0",
|
37
|
-
"tree-sitter-php>=0.20.0",
|
38
|
-
"tree-sitter-ruby>=0.20.0",
|
39
|
-
"tree-sitter-swift>=0.20.0",
|
40
|
-
"tree-sitter-kotlin>=0.20.0",
|
41
|
-
"tree-sitter-scala>=0.20.0",
|
42
|
-
"tree-sitter-c-sharp>=0.20.0",
|
43
|
-
"tree-sitter-lua>=0.20.0",
|
44
|
-
"tree-sitter-perl>=0.20.0",
|
45
|
-
"tree-sitter-r>=0.20.0",
|
46
|
-
"tree-sitter-shell>=0.20.0",
|
47
|
-
"tree-sitter-make>=0.20.0",
|
48
|
-
"tree-sitter-cmake>=0.20.0",
|
49
|
-
"tree-sitter-llvm>=0.20.0",
|
50
|
-
"tree-sitter-bash>=0.20.0",
|
51
|
-
"tree-sitter-zsh>=0.20.0",
|
52
|
-
"tree-sitter-fish>=0.20.0",
|
53
|
-
"tree-sitter-powershell>=0.20.0",
|
54
|
-
"tree-sitter-batch>=0.20.0",
|
55
|
-
"tree-sitter-cmd>=0.20.0",
|
56
|
-
"tree-sitter-awk>=0.20.0",
|
57
|
-
"tree-sitter-sed>=0.20.0",
|
58
|
-
"tree-sitter-vim>=0.20.0",
|
59
|
-
"tree-sitter-emacs-lisp>=0.20.0",
|
60
|
-
"tree-sitter-elisp>=0.20.0",
|
61
|
-
"tree-sitter-clojure>=0.20.0",
|
62
|
-
"tree-sitter-haskell>=0.20.0",
|
63
|
-
"tree-sitter-ocaml>=0.20.0",
|
64
|
-
"tree-sitter-fsharp>=0.20.0",
|
65
|
-
"tree-sitter-elixir>=0.20.0",
|
66
|
-
"tree-sitter-erlang>=0.20.0",
|
67
|
-
"tree-sitter-dart>=0.20.0",
|
68
|
-
"tree-sitter-flutter>=0.20.0",
|
69
|
-
"tree-sitter-vue>=0.20.0",
|
70
|
-
"tree-sitter-svelte>=0.20.0",
|
71
|
-
"tree-sitter-angular>=0.20.0",
|
72
|
-
"tree-sitter-react>=0.20.0",
|
73
|
-
"tree-sitter-jsx>=0.20.0",
|
74
|
-
"tree-sitter-tsx>=0.20.0",
|
75
|
-
"tree-sitter-graphql>=0.20.0",
|
76
|
-
"tree-sitter-protobuf>=0.20.0",
|
77
|
-
"tree-sitter-thrift>=0.20.0",
|
78
|
-
"tree-sitter-avro>=0.20.0",
|
79
|
-
"tree-sitter-parquet>=0.20.0",
|
80
|
-
"tree-sitter-orc>=0.20.0",
|
81
|
-
"tree-sitter-csv>=0.20.0",
|
82
|
-
"tree-sitter-tsv>=0.20.0",
|
83
|
-
"tree-sitter-log>=0.20.0",
|
84
|
-
"tree-sitter-ini>=0.20.0",
|
85
|
-
"tree-sitter-properties>=0.20.0",
|
86
|
-
"tree-sitter-env>=0.20.0",
|
87
|
-
"tree-sitter-ssh-config>=0.20.0",
|
88
|
-
"tree-sitter-nginx>=0.20.0",
|
89
|
-
"tree-sitter-apache>=0.20.0",
|
90
|
-
"tree-sitter-terraform>=0.20.0",
|
91
|
-
"tree-sitter-cloudformation>=0.20.0",
|
92
|
-
"tree-sitter-ansible>=0.20.0",
|
93
|
-
"tree-sitter-puppet>=0.20.0",
|
94
|
-
"tree-sitter-chef>=0.20.0",
|
95
|
-
"tree-sitter-salt>=0.20.0",
|
96
|
-
"tree-sitter-vagrant>=0.20.0",
|
97
|
-
"tree-sitter-packer>=0.20.0",
|
98
|
-
"tree-sitter-consul>=0.20.0",
|
99
|
-
"tree-sitter-vault>=0.20.0",
|
100
|
-
"tree-sitter-nomad>=0.20.0",
|
101
|
-
"tree-sitter-k8s>=0.20.0",
|
102
|
-
"tree-sitter-helm>=0.20.0",
|
103
|
-
"tree-sitter-kustomize>=0.20.0",
|
104
|
-
"tree-sitter-skaffold>=0.20.0",
|
105
|
-
"tree-sitter-argocd>=0.20.0",
|
106
|
-
"tree-sitter-flux>=0.20.0",
|
107
|
-
"tree-sitter-istio>=0.20.0",
|
108
|
-
"tree-sitter-linkerd>=0.20.0",
|
109
|
-
"tree-sitter-consul-template>=0.20.0",
|
110
|
-
"tree-sitter-envoy>=0.20.0",
|
111
|
-
"tree-sitter-haproxy>=0.20.0",
|
112
|
-
"tree-sitter-varnish>=0.20.0",
|
113
|
-
"tree-sitter-squid>=0.20.0",
|
114
|
-
"tree-sitter-bind>=0.20.0",
|
115
|
-
"tree-sitter-dns>=0.20.0",
|
116
|
-
"tree-sitter-dhcp>=0.20.0",
|
117
|
-
"tree-sitter-ftp>=0.20.0",
|
118
|
-
"tree-sitter-sftp>=0.20.0",
|
119
|
-
"tree-sitter-ssh>=0.20.0",
|
120
|
-
"tree-sitter-telnet>=0.20.0",
|
121
|
-
"tree-sitter-smtp>=0.20.0",
|
122
|
-
"tree-sitter-imap>=0.20.0",
|
123
|
-
"tree-sitter-pop3>=0.20.0",
|
124
|
-
"tree-sitter-http>=0.20.0",
|
125
|
-
"tree-sitter-https>=0.20.0",
|
126
|
-
"tree-sitter-websocket>=0.20.0",
|
127
|
-
"tree-sitter-grpc>=0.20.0",
|
128
|
-
"tree-sitter-thrift>=0.20.0",
|
129
|
-
"tree-sitter-avro>=0.20.0",
|
130
|
-
"tree-sitter-protobuf>=0.20.0",
|
131
|
-
"tree-sitter-capnproto>=0.20.0",
|
132
|
-
"tree-sitter-flatbuffers>=0.20.0",
|
133
|
-
"tree-sitter-msgpack>=0.20.0",
|
134
|
-
"tree-sitter-cbor>=0.20.0",
|
135
|
-
"tree-sitter-bson>=0.20.0",
|
136
|
-
"tree-sitter-yaml>=0.20.0",
|
137
|
-
"tree-sitter-toml>=0.20.0",
|
138
|
-
"tree-sitter-json>=0.20.0",
|
139
|
-
"tree-sitter-xml>=0.20.0",
|
140
|
-
"tree-sitter-html>=0.20.0",
|
141
|
-
"tree-sitter-css>=0.20.0",
|
142
|
-
"tree-sitter-scss>=0.20.0",
|
143
|
-
"tree-sitter-sass>=0.20.0",
|
144
|
-
"tree-sitter-less>=0.20.0",
|
145
|
-
"tree-sitter-stylus>=0.20.0",
|
146
|
-
"tree-sitter-postcss>=0.20.0",
|
147
|
-
"tree-sitter-tailwind>=0.20.0",
|
148
|
-
"tree-sitter-bootstrap>=0.20.0",
|
149
|
-
"tree-sitter-bulma>=0.20.0",
|
150
|
-
"tree-sitter-foundation>=0.20.0",
|
151
|
-
"tree-sitter-semantic-ui>=0.20.0",
|
152
|
-
"tree-sitter-materialize>=0.20.0",
|
153
|
-
"tree-sitter-uikit>=0.20.0",
|
154
|
-
"tree-sitter-primer>=0.20.0",
|
155
|
-
"tree-sitter-chakra-ui>=0.20.0",
|
156
|
-
"tree-sitter-ant-design>=0.20.0",
|
157
|
-
"tree-sitter-element-ui>=0.20.0",
|
158
|
-
"tree-sitter-vuetify>=0.20.0",
|
159
|
-
"tree-sitter-quasar>=0.20.0",
|
160
|
-
"tree-sitter-nuxt>=0.20.0",
|
161
|
-
"tree-sitter-next>=0.20.0",
|
162
|
-
"tree-sitter-gatsby>=0.20.0",
|
163
|
-
"tree-sitter-jekyll>=0.20.0",
|
164
|
-
"tree-sitter-hugo>=0.20.0",
|
165
|
-
"tree-sitter-hexo>=0.20.0",
|
166
|
-
"tree-sitter-eleventy>=0.20.0",
|
167
|
-
"tree-sitter-astro>=0.20.0",
|
168
|
-
"tree-sitter-svelte-kit>=0.20.0",
|
169
|
-
"tree-sitter-remix>=0.20.0",
|
170
|
-
"tree-sitter-solid-js>=0.20.0",
|
171
|
-
"tree-sitter-solid-start>=0.20.0",
|
172
|
-
"tree-sitter-qwik>=0.20.0",
|
173
|
-
"tree-sitter-marko>=0.20.0",
|
174
|
-
"tree-sitter-handlebars>=0.20.0",
|
175
|
-
"tree-sitter-mustache>=0.20.0",
|
176
|
-
"tree-sitter-liquid>=0.20.0",
|
177
|
-
"tree-sitter-nunjucks>=0.20.0",
|
178
|
-
"tree-sitter-ejs>=0.20.0",
|
179
|
-
"tree-sitter-pug>=0.20.0",
|
180
|
-
"tree-sitter-haml>=0.20.0",
|
181
|
-
"tree-sitter-slim>=0.20.0",
|
182
|
-
"tree-sitter-jade>=0.20.0",
|
183
|
-
"tree-sitter-blade>=0.20.0",
|
184
|
-
"tree-sitter-twig>=0.20.0",
|
185
|
-
"tree-sitter-smarty>=0.20.0",
|
186
|
-
"tree-sitter-django>=0.20.0",
|
187
|
-
"tree-sitter-flask>=0.20.0",
|
188
|
-
"tree-sitter-fastapi>=0.20.0",
|
189
|
-
"tree-sitter-express>=0.20.0",
|
190
|
-
"tree-sitter-koa>=0.20.0",
|
191
|
-
"tree-sitter-hapi>=0.20.0",
|
192
|
-
"tree-sitter-sails>=0.20.0",
|
193
|
-
"tree-sitter-nest>=0.20.0",
|
194
|
-
"tree-sitter-spring>=0.20.0",
|
195
|
-
"tree-sitter-django-rest>=0.20.0",
|
196
|
-
"tree-sitter-laravel>=0.20.0",
|
197
|
-
"tree-sitter-symfony>=0.20.0",
|
198
|
-
"tree-sitter-codeigniter>=0.20.0",
|
199
|
-
"tree-sitter-yii>=0.20.0",
|
200
|
-
"tree-sitter-zend>=0.20.0",
|
201
|
-
"tree-sitter-phalcon>=0.20.0",
|
202
|
-
"tree-sitter-slim>=0.20.0",
|
203
|
-
"tree-sitter-sinatra>=0.20.0",
|
204
|
-
"tree-sitter-rails>=0.20.0",
|
205
|
-
"tree-sitter-grails>=0.20.0",
|
206
|
-
"tree-sitter-play>=0.20.0",
|
207
|
-
"tree-sitter-ktor>=0.20.0",
|
208
|
-
"tree-sitter-micronaut>=0.20.0",
|
209
|
-
"tree-sitter-quarkus>=0.20.0",
|
210
|
-
"tree-sitter-vertx>=0.20.0",
|
211
|
-
"tree-sitter-dropwizard>=0.20.0",
|
212
|
-
"tree-sitter-spark>=0.20.0",
|
213
|
-
"tree-sitter-akka>=0.20.0",
|
214
|
-
"tree-sitter-lagom>=0.20.0",
|
215
|
-
"tree-sitter-finagle>=0.20.0",
|
216
|
-
"tree-sitter-scalatra>=0.20.0",
|
217
|
-
"tree-sitter-unfiltered>=0.20.0",
|
218
|
-
"tree-sitter-http4s>=0.20.0",
|
219
|
-
"tree-sitter-cats>=0.20.0",
|
220
|
-
"tree-sitter-monix>=0.20.0",
|
221
|
-
"tree-sitter-zio>=0.20.0",
|
222
|
-
"tree-sitter-fs2>=0.20.0",
|
223
|
-
"tree-sitter-doobie>=0.20.0",
|
224
|
-
"tree-sitter-slick>=0.20.0",
|
225
|
-
"tree-sitter-anorm>=0.20.0",
|
226
|
-
"tree-sitter-squeryl>=0.20.0",
|
227
|
-
"tree-sitter-ebean>=0.20.0",
|
228
|
-
"tree-sitter-hibernate>=0.20.0",
|
229
|
-
"tree-sitter-jpa>=0.20.0",
|
230
|
-
"tree-sitter-mybatis>=0.20.0",
|
231
|
-
"tree-sitter-ibatis>=0.20.0",
|
232
|
-
"tree-sitter-spring-data>=0.20.0",
|
233
|
-
"tree-sitter-spring-boot>=0.20.0",
|
234
|
-
"tree-sitter-spring-cloud>=0.20.0",
|
235
|
-
"tree-sitter-spring-security>=0.20.0",
|
236
|
-
"tree-sitter-spring-batch>=0.20.0",
|
237
|
-
"tree-sitter-spring-integration>=0.20.0",
|
238
|
-
"tree-sitter-spring-session>=0.20.0",
|
239
|
-
"tree-sitter-spring-cache>=0.20.0",
|
240
|
-
"tree-sitter-spring-websocket>=0.20.0",
|
241
|
-
"tree-sitter-spring-messaging>=0.20.0",
|
242
|
-
"tree-sitter-spring-amqp>=0.20.0",
|
243
|
-
"tree-sitter-spring-kafka>=0.20.0",
|
244
|
-
"tree-sitter-spring-cloud-stream>=0.20.0",
|
245
|
-
"tree-sitter-spring-cloud-config>=0.20.0",
|
246
|
-
"tree-sitter-spring-cloud-gateway>=0.20.0",
|
247
|
-
"tree-sitter-spring-cloud-netflix>=0.20.0",
|
248
|
-
"tree-sitter-spring-cloud-consul>=0.20.0",
|
249
|
-
"tree-sitter-spring-cloud-zookeeper>=0.20.0",
|
250
|
-
"tree-sitter-spring-cloud-kubernetes>=0.20.0",
|
251
|
-
"tree-sitter-spring-cloud-openfeign>=0.20.0",
|
252
|
-
"tree-sitter-spring-cloud-ribbon>=0.20.0",
|
253
|
-
"tree-sitter-spring-cloud-hystrix>=0.20.0",
|
254
|
-
"tree-sitter-spring-cloud-sleuth>=0.20.0",
|
255
|
-
"tree-sitter-spring-cloud-zipkin>=0.20.0",
|
256
|
-
"tree-sitter-spring-cloud-bus>=0.20.0",
|
257
|
-
"tree-sitter-spring-cloud-vault>=0.20.0",
|
258
|
-
"tree-sitter-spring-cloud-aws>=0.20.0",
|
259
|
-
"tree-sitter-spring-cloud-gcp>=0.20.0",
|
260
|
-
"tree-sitter-spring-cloud-azure>=0.20.0",
|
261
|
-
"tree-sitter-spring-cloud-alibaba>=0.20.0",
|
262
|
-
"tree-sitter-spring-cloud-tencent>=0.20.0",
|
263
|
-
"tree-sitter-spring-cloud-huawei>=0.20.0",
|
264
|
-
"tree-sitter-spring-cloud-baidu>=0.20.0",
|
265
|
-
"tree-sitter-spring-cloud-jd>=0.20.0",
|
266
|
-
"tree-sitter-spring-cloud-meituan>=0.20.0",
|
267
|
-
"tree-sitter-spring-cloud-didi>=0.20.0",
|
268
|
-
"tree-sitter-spring-cloud-ctrip>=0.20.0",
|
269
|
-
"tree-sitter-spring-cloud-qunar>=0.20.0",
|
270
|
-
"tree-sitter-spring-cloud-tujia>=0.20.0",
|
271
|
-
"tree-sitter-spring-cloud-xiaozhu>=0.20.0",
|
272
|
-
"tree-sitter-spring-cloud-mayi>=0.20.0",
|
273
|
-
"tree-sitter-spring-cloud-ziru>=0.20.0",
|
274
|
-
"tree-sitter-spring-cloud-58>=0.20.0",
|
275
|
-
"tree-sitter-spring-cloud-ganji>=0.20.0",
|
276
|
-
"tree-sitter-spring-cloud-baixing>=0.20.0",
|
277
|
-
"tree-sitter-spring-cloud-anjuke>=0.20.0",
|
278
|
-
"tree-sitter-spring-cloud-lianjia>=0.20.0",
|
279
|
-
"tree-sitter-spring-cloud-fang>=0.20.0",
|
280
|
-
"tree-sitter-spring-cloud-soufun>=0.20.0",
|
281
|
-
"tree-sitter-spring-cloud-5i5j>=0.20.0",
|
282
|
-
"tree-sitter-spring-cloud-zhuge>=0.20.0",
|
283
|
-
"tree-sitter-spring-cloud-woaiwojia>=0.20.0",
|
284
|
-
"tree-sitter-spring-cloud-kufang>=0.20.0",
|
285
|
-
"tree-sitter-spring-cloud-fangdd>=0.20.0",
|
286
|
-
"tree-sitter-spring-cloud-leyoujia>=0.20.0",
|
287
|
-
"tree-sitter-spring-cloud-jiwu>=0.20.0",
|
288
|
-
"tree-sitter-spring-cloud-zhongyuan>=0.20.0",
|
289
|
-
"tree-sitter-spring-cloud-tongcheng>=0.20.0",
|
290
|
-
"tree-sitter-spring-cloud-quna>=0.20.0",
|
291
|
-
"tree-sitter-spring-cloud-elong>=0.20.0",
|
292
|
-
"tree-sitter-spring-cloud-ctrip>=0.20.0",
|
293
|
-
"tree-sitter-spring-cloud-lvmama>=0.20.0",
|
294
|
-
"tree-sitter-spring-cloud-mafengwo>=0.20.0",
|
295
|
-
"tree-sitter-spring-cloud-tuniu>=0.20.0",
|
296
|
-
"tree-sitter-spring-cloud-qyer>=0.20.0",
|
297
|
-
"tree-sitter-spring-cloud-daochu>=0.20.0",
|
298
|
-
"tree-sitter-spring-cloud-mfw>=0.20.0",
|
299
|
-
"tree-sitter-spring-cloud-lx>=0.20.0",
|
300
|
-
"tree-sitter-spring-cloud-fliggy>=0.20.0",
|
301
|
-
"tree-sitter-spring-cloud-alitrip>=0.20.0",
|
302
|
-
"tree-sitter-spring-cloud-trip>=0.20.0",
|
303
|
-
"tree-sitter-spring-cloud-xiecheng>=0.20.0",
|
304
|
-
"tree-sitter-spring-cloud-qunaer>=0.20.0",
|
305
|
-
"tree-sitter-spring-cloud-tongcheng>=0.20.0",
|
306
|
-
"tree-sitter-spring-cloud-lvmama>=0.20.0",
|
307
|
-
"tree-sitter-spring-cloud-mafengwo>=0.20.0",
|
308
|
-
"tree-sitter-spring-cloud-tuniu>=0.20.0",
|
309
|
-
"tree-sitter-spring-cloud-qyer>=0.20.0",
|
310
|
-
"tree-sitter-spring-cloud-daochu>=0.20.0",
|
311
|
-
"tree-sitter-spring-cloud-mfw>=0.20.0",
|
312
|
-
"tree-sitter-spring-cloud-lx>=0.20.0",
|
313
|
-
"tree-sitter-spring-cloud-fliggy>=0.20.0",
|
314
|
-
"tree-sitter-spring-cloud-alitrip>=0.20.0",
|
315
|
-
"tree-sitter-spring-cloud-trip>=0.20.0",
|
316
|
-
"tree-sitter-spring-cloud-xiecheng>=0.20.0",
|
317
|
-
"tree-sitter-spring-cloud-qunaer>=0.20.0",
|
318
|
-
"tree-sitter-spring-cloud-tongcheng>=0.20.0",
|
319
|
-
"tree-sitter-spring-cloud-lvmama>=0.20.0",
|
320
|
-
"tree-sitter-spring-cloud-mafengwo>=0.20.0",
|
321
|
-
"tree-sitter-spring-cloud-tuniu>=0.20.0",
|
322
|
-
"tree-sitter-spring-cloud-qyer>=0.20.0",
|
323
|
-
"tree-sitter-spring-cloud-daochu>=0.20.0",
|
324
|
-
"tree-sitter-spring-cloud-mfw>=0.20.0",
|
325
|
-
"tree-sitter-spring-cloud-lx>=0.20.0",
|
326
|
-
"tree-sitter-spring-cloud-fliggy>=0.20.0",
|
327
|
-
"tree-sitter-spring-cloud-alitrip>=0.20.0",
|
328
|
-
"tree-sitter-spring-cloud-trip>=0.20.0",
|
329
|
-
"tree-sitter-spring-cloud-xiecheng>=0.20.0",
|
330
|
-
"tree-sitter-spring-cloud-qunaer>=0.20.0"
|
331
|
-
]
|
332
|
-
|
333
|
-
[project.urls]
|
334
|
-
Homepage = "https://github.com/ikignosis/janito-coder"
|
335
|
-
Repository = "https://github.com/ikignosis/janito-coder"
|
336
|
-
Documentation = "https://github.com/ikignosis/janito-coder/blob/main/README.md"
|
337
|
-
|
338
|
-
[tool.setuptools.packages.find]
|
339
|
-
where = ["."]
|
340
|
-
include = ["janito_coder*"]
|
341
|
-
|
342
|
-
[tool.setuptools.package-data]
|
343
|
-
"janito_coder.plugins" = ["*.py"]
|
344
|
-
|
345
|
-
[tool.setuptools_scm]
|
346
|
-
version_scheme = "post-release"
|
347
|
-
local_scheme = "node-and-date"
|
File without changes
|
File without changes
|
File without changes
|