@enjoys/context-engine 1.0.0 → 1.0.1

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.
Files changed (105) hide show
  1. package/data/commands/adb.json +322 -0
  2. package/data/commands/alembic.json +301 -0
  3. package/data/commands/artisan.json +277 -0
  4. package/data/commands/atlas.json +426 -0
  5. package/data/commands/auth0.json +648 -0
  6. package/data/commands/bat.json +84 -0
  7. package/data/commands/bundle.json +321 -0
  8. package/data/commands/composer.json +507 -0
  9. package/data/commands/dart.json +216 -0
  10. package/data/commands/dbmate.json +257 -0
  11. package/data/commands/docker-compose.json +384 -0
  12. package/data/commands/drizzle-kit.json +217 -0
  13. package/data/commands/expo.json +65 -0
  14. package/data/commands/fastlane.json +243 -0
  15. package/data/commands/fd.json +86 -0
  16. package/data/commands/flutter.json +298 -0
  17. package/data/commands/flyway.json +261 -0
  18. package/data/commands/fzf.json +103 -0
  19. package/data/commands/gem.json +267 -0
  20. package/data/commands/jq.json +100 -0
  21. package/data/commands/k9s.json +62 -0
  22. package/data/commands/liquibase.json +399 -0
  23. package/data/commands/manifest.json +619 -0
  24. package/data/commands/minikube.json +60 -0
  25. package/data/commands/ng.json +64 -0
  26. package/data/commands/nuxt.json +60 -0
  27. package/data/commands/php.json +157 -0
  28. package/data/commands/pm2.json +259 -0
  29. package/data/commands/pod.json +175 -0
  30. package/data/commands/prisma.json +257 -0
  31. package/data/commands/rails.json +372 -0
  32. package/data/commands/rake.json +360 -0
  33. package/data/commands/react-native.json +57 -0
  34. package/data/commands/rg.json +103 -0
  35. package/data/commands/rspec.json +257 -0
  36. package/data/commands/ruby.json +108 -0
  37. package/data/commands/sequelize.json +342 -0
  38. package/data/commands/snyk.json +442 -0
  39. package/data/commands/sonar-scanner.json +219 -0
  40. package/data/commands/stripe.json +314 -0
  41. package/data/commands/symfony.json +449 -0
  42. package/data/commands/tmux.json +197 -0
  43. package/data/commands/trivy.json +367 -0
  44. package/data/commands/twilio.json +382 -0
  45. package/data/commands/typeorm.json +262 -0
  46. package/data/commands/vue.json +60 -0
  47. package/data/commands/wp.json +857 -0
  48. package/data/commands/xcodebuild.json +141 -0
  49. package/data/commands/yq.json +57 -0
  50. package/data/completion/bash.json +1184 -0
  51. package/data/completion/c.json +1067 -0
  52. package/data/completion/cpp.json +824 -0
  53. package/data/completion/csharp.json +860 -0
  54. package/data/completion/dockerfile.json +536 -0
  55. package/data/completion/go.json +1346 -0
  56. package/data/completion/html.json +806 -0
  57. package/data/completion/java.json +1112 -0
  58. package/data/completion/javascript.json +914 -0
  59. package/data/completion/lua.json +968 -0
  60. package/data/completion/php.json +1535 -0
  61. package/data/completion/python.json +1427 -0
  62. package/data/completion/ruby.json +1531 -0
  63. package/data/completion/rust.json +698 -0
  64. package/data/completion/sql.json +887 -0
  65. package/data/completion/toml.json +428 -0
  66. package/data/completion/typescript.json +338 -0
  67. package/data/completion/yaml.json +563 -0
  68. package/data/defination/bash.json +565 -0
  69. package/data/defination/c.json +865 -0
  70. package/data/defination/cpp.json +348 -0
  71. package/data/defination/csharp.json +144 -0
  72. package/data/defination/dockerfile.json +113 -0
  73. package/data/defination/go.json +561 -0
  74. package/data/defination/html.json +559 -0
  75. package/data/defination/java.json +184 -0
  76. package/data/defination/javascript.json +265 -0
  77. package/data/defination/lua.json +181 -0
  78. package/data/defination/php.json +726 -0
  79. package/data/defination/python.json +717 -0
  80. package/data/defination/ruby.json +670 -0
  81. package/data/defination/rust.json +207 -0
  82. package/data/defination/sql.json +473 -0
  83. package/data/defination/toml.json +251 -0
  84. package/data/defination/typescript.json +29 -0
  85. package/data/defination/yaml.json +197 -0
  86. package/data/hover/bash.json +245 -0
  87. package/data/hover/c.json +265 -0
  88. package/data/hover/cpp.json +210 -0
  89. package/data/hover/csharp.json +290 -0
  90. package/data/hover/dockerfile.json +145 -0
  91. package/data/hover/go.json +580 -0
  92. package/data/hover/html.json +250 -0
  93. package/data/hover/java.json +395 -0
  94. package/data/hover/javascript.json +330 -0
  95. package/data/hover/lua.json +265 -0
  96. package/data/hover/php.json +300 -0
  97. package/data/hover/python.json +380 -0
  98. package/data/hover/ruby.json +265 -0
  99. package/data/hover/rust.json +275 -0
  100. package/data/hover/sql.json +230 -0
  101. package/data/hover/toml.json +145 -0
  102. package/data/hover/typescript.json +120 -0
  103. package/data/hover/yaml.json +165 -0
  104. package/data/manifest.json +242 -0
  105. package/package.json +1 -1
@@ -0,0 +1,250 @@
1
+ {
2
+ "language": "html",
3
+ "hovers": {
4
+ "div": {
5
+ "contents": [
6
+ { "value": "```html\n<div>...</div>\n```\nThe `<div>` element is the generic container for flow content. It has no effect on the content or layout until styled with CSS. Use semantic elements when possible." }
7
+ ]
8
+ },
9
+ "span": {
10
+ "contents": [
11
+ { "value": "```html\n<span>...</span>\n```\nThe `<span>` element is a generic inline container for phrasing content. It does not inherently represent anything. Use it to group elements for styling or when no other semantic element is appropriate." }
12
+ ]
13
+ },
14
+ "p": {
15
+ "contents": [
16
+ { "value": "```html\n<p>...</p>\n```\nThe `<p>` element represents a paragraph of text. Browsers automatically add margin before and after the element. It cannot contain block-level elements." }
17
+ ]
18
+ },
19
+ "a": {
20
+ "contents": [
21
+ { "value": "```html\n<a href=\"url\" target=\"_blank\" rel=\"noopener\">...</a>\n```\nThe `<a>` (anchor) element creates a hyperlink to web pages, files, email addresses, locations, or anything a URL can address. The `href` attribute specifies the destination." }
22
+ ]
23
+ },
24
+ "img": {
25
+ "contents": [
26
+ { "value": "```html\n<img src=\"url\" alt=\"description\" width=\"\" height=\"\" loading=\"lazy\" />\n```\nThe `<img>` element embeds an image. The `src` attribute is required. Always include `alt` for accessibility. Use `loading=\"lazy\"` for off-screen images. Specify `width` and `height` to prevent layout shifts." }
27
+ ]
28
+ },
29
+ "ul": {
30
+ "contents": [
31
+ { "value": "```html\n<ul>\n <li>Item</li>\n</ul>\n```\nThe `<ul>` element represents an unordered list of items, typically rendered as a bulleted list. It may only contain `<li>`, `<script>`, or `<template>` elements." }
32
+ ]
33
+ },
34
+ "ol": {
35
+ "contents": [
36
+ { "value": "```html\n<ol start=\"1\" type=\"1\" reversed>\n <li>Item</li>\n</ol>\n```\nThe `<ol>` element represents an ordered list of items, typically rendered as a numbered list. Supports `start`, `type`, and `reversed` attributes." }
37
+ ]
38
+ },
39
+ "li": {
40
+ "contents": [
41
+ { "value": "```html\n<li value=\"3\">Item</li>\n```\nThe `<li>` element represents an item in a list. It must be contained in `<ul>`, `<ol>`, or `<menu>`. In an `<ol>`, the `value` attribute sets the ordinal number." }
42
+ ]
43
+ },
44
+ "table": {
45
+ "contents": [
46
+ { "value": "```html\n<table>\n <thead><tr><th>Header</th></tr></thead>\n <tbody><tr><td>Data</td></tr></tbody>\n</table>\n```\nThe `<table>` element represents tabular data. Use `<thead>`, `<tbody>`, and `<tfoot>` for semantic structuring. Avoid using tables for layout." }
47
+ ]
48
+ },
49
+ "tr": {
50
+ "contents": [
51
+ { "value": "```html\n<tr>\n <td>Cell</td>\n</tr>\n```\nThe `<tr>` element defines a row of cells in a table. It can contain `<td>` (data cells) and `<th>` (header cells)." }
52
+ ]
53
+ },
54
+ "td": {
55
+ "contents": [
56
+ { "value": "```html\n<td colspan=\"2\" rowspan=\"1\">Cell data</td>\n```\nThe `<td>` element defines a standard data cell in a table. Use `colspan` and `rowspan` to span multiple columns or rows." }
57
+ ]
58
+ },
59
+ "th": {
60
+ "contents": [
61
+ { "value": "```html\n<th scope=\"col\" colspan=\"2\">Header</th>\n```\nThe `<th>` element defines a header cell in a table. Use the `scope` attribute (`col`, `row`, `colgroup`, `rowgroup`) to associate headers with cells for accessibility." }
62
+ ]
63
+ },
64
+ "form": {
65
+ "contents": [
66
+ { "value": "```html\n<form action=\"/submit\" method=\"post\" enctype=\"multipart/form-data\">\n ...\n</form>\n```\nThe `<form>` element represents a document section containing interactive controls for submitting information. Key attributes: `action`, `method`, `enctype`, `novalidate`." }
67
+ ]
68
+ },
69
+ "input": {
70
+ "contents": [
71
+ { "value": "```html\n<input type=\"text\" name=\"field\" value=\"\" placeholder=\"hint\" required />\n```\nThe `<input>` element creates interactive controls for web forms. The `type` attribute determines behavior: text, password, email, number, checkbox, radio, file, date, range, color, hidden, submit, etc." }
72
+ ]
73
+ },
74
+ "button": {
75
+ "contents": [
76
+ { "value": "```html\n<button type=\"submit|button|reset\" disabled>Label</button>\n```\nThe `<button>` element represents a clickable button. Types: `submit` (default in forms), `button` (no default behavior), `reset` (resets form). Can contain HTML, unlike `<input type=\"button\">`." }
77
+ ]
78
+ },
79
+ "select": {
80
+ "contents": [
81
+ { "value": "```html\n<select name=\"choice\" multiple size=\"4\">\n <option value=\"a\">A</option>\n</select>\n```\nThe `<select>` element represents a control providing a menu of options. Use `multiple` for multi-select, `size` to show more options. Group with `<optgroup>`." }
82
+ ]
83
+ },
84
+ "option": {
85
+ "contents": [
86
+ { "value": "```html\n<option value=\"val\" selected disabled>Label</option>\n```\nThe `<option>` element defines an item in a `<select>`, `<optgroup>`, or `<datalist>`. The `value` attribute is sent on form submission; displayed text is the element content." }
87
+ ]
88
+ },
89
+ "textarea": {
90
+ "contents": [
91
+ { "value": "```html\n<textarea name=\"msg\" rows=\"4\" cols=\"50\" maxlength=\"500\" placeholder=\"Type here...\"></textarea>\n```\nThe `<textarea>` element represents a multi-line plain-text editing control. Control size with `rows`/`cols` or CSS. Supports `maxlength`, `minlength`, `placeholder`, `wrap`." }
92
+ ]
93
+ },
94
+ "label": {
95
+ "contents": [
96
+ { "value": "```html\n<label for=\"inputId\">Label text</label>\n```\nThe `<label>` element represents a caption for a form control. Use the `for` attribute matching the `id` of the associated control, or wrap the control inside the label." }
97
+ ]
98
+ },
99
+ "h1": {
100
+ "contents": [
101
+ { "value": "```html\n<h1>Page Title</h1>\n```\nThe `<h1>` element represents a top-level heading. There should be only one `<h1>` per page. Headings help define document outline and are critical for SEO and accessibility." }
102
+ ]
103
+ },
104
+ "h2": {
105
+ "contents": [
106
+ { "value": "```html\n<h2>Section Title</h2>\n```\nThe `<h2>` element represents a second-level heading. Use it for major sections beneath the page title." }
107
+ ]
108
+ },
109
+ "h3": {
110
+ "contents": [
111
+ { "value": "```html\n<h3>Sub-section Title</h3>\n```\nThe `<h3>` element represents a third-level heading. Use it for sub-sections within an `<h2>` section." }
112
+ ]
113
+ },
114
+ "h4": {
115
+ "contents": [
116
+ { "value": "```html\n<h4>Heading</h4>\n```\nThe `<h4>` element represents a fourth-level heading. Provides further sub-sectioning under `<h3>`." }
117
+ ]
118
+ },
119
+ "h5": {
120
+ "contents": [
121
+ { "value": "```html\n<h5>Heading</h5>\n```\nThe `<h5>` element represents a fifth-level heading." }
122
+ ]
123
+ },
124
+ "h6": {
125
+ "contents": [
126
+ { "value": "```html\n<h6>Heading</h6>\n```\nThe `<h6>` element represents the lowest level of heading. Rarely needed — consider restructuring content if deeply nested." }
127
+ ]
128
+ },
129
+ "header": {
130
+ "contents": [
131
+ { "value": "```html\n<header>\n <h1>Title</h1>\n <nav>...</nav>\n</header>\n```\nThe `<header>` element represents introductory content or a set of navigational links. It typically contains headings, logos, search forms, or navigation." }
132
+ ]
133
+ },
134
+ "footer": {
135
+ "contents": [
136
+ { "value": "```html\n<footer>\n <p>&copy; 2025</p>\n</footer>\n```\nThe `<footer>` element represents a footer for its nearest sectioning content or sectioning root. Typically contains authorship, copyright, related links." }
137
+ ]
138
+ },
139
+ "nav": {
140
+ "contents": [
141
+ { "value": "```html\n<nav aria-label=\"Main\">\n <ul><li><a href=\"/\">Home</a></li></ul>\n</nav>\n```\nThe `<nav>` element represents a section of a page with navigation links. Not all link groups need `<nav>` — use it for major navigation blocks. Add `aria-label` when using multiple nav elements." }
142
+ ]
143
+ },
144
+ "main": {
145
+ "contents": [
146
+ { "value": "```html\n<main>\n <!-- primary content -->\n</main>\n```\nThe `<main>` element represents the dominant content of the `<body>`. There must be only one visible `<main>` per page. Content should be unique and not repeated across pages (skip nav, sidebars, etc.)." }
147
+ ]
148
+ },
149
+ "section": {
150
+ "contents": [
151
+ { "value": "```html\n<section aria-labelledby=\"title\">\n <h2 id=\"title\">Section Title</h2>\n</section>\n```\nThe `<section>` element represents a standalone section of content that doesn't have a more specific semantic element. Each section should typically have a heading." }
152
+ ]
153
+ },
154
+ "article": {
155
+ "contents": [
156
+ { "value": "```html\n<article>\n <h2>Title</h2>\n <p>Content...</p>\n</article>\n```\nThe `<article>` element represents a self-contained composition intended for independent distribution or reuse — e.g., a blog post, news article, forum post, or widget." }
157
+ ]
158
+ },
159
+ "aside": {
160
+ "contents": [
161
+ { "value": "```html\n<aside>\n <h3>Related</h3>\n <p>Sidebar content</p>\n</aside>\n```\nThe `<aside>` element represents content tangentially related to the content around it — sidebars, call-out boxes, related links, or pull quotes." }
162
+ ]
163
+ },
164
+ "figure": {
165
+ "contents": [
166
+ { "value": "```html\n<figure>\n <img src=\"photo.jpg\" alt=\"desc\" />\n <figcaption>Caption</figcaption>\n</figure>\n```\nThe `<figure>` element represents self-contained content, frequently with a caption (`<figcaption>`). Can contain images, illustrations, diagrams, code snippets, etc." }
167
+ ]
168
+ },
169
+ "figcaption": {
170
+ "contents": [
171
+ { "value": "```html\n<figcaption>Image caption</figcaption>\n```\nThe `<figcaption>` element represents a caption or legend for a `<figure>` element. It should be the first or last child of its parent `<figure>`." }
172
+ ]
173
+ },
174
+ "details": {
175
+ "contents": [
176
+ { "value": "```html\n<details open>\n <summary>Click to toggle</summary>\n <p>Hidden content revealed on toggle.</p>\n</details>\n```\nThe `<details>` element creates a disclosure widget where information is visible only when toggled open. The `open` attribute controls initial state. Always include a `<summary>` child." }
177
+ ]
178
+ },
179
+ "summary": {
180
+ "contents": [
181
+ { "value": "```html\n<summary>Toggle heading</summary>\n```\nThe `<summary>` element specifies a visible heading for a `<details>` disclosure widget. It must be the first child of `<details>`. Clicking it toggles the widget open/closed." }
182
+ ]
183
+ },
184
+ "dialog": {
185
+ "contents": [
186
+ { "value": "```html\n<dialog id=\"dlg\">\n <p>Content</p>\n <button onclick=\"this.closest('dialog').close()\">Close</button>\n</dialog>\n```\nThe `<dialog>` element represents a dialog box or interactive component (modal or non-modal). Use `.showModal()` for modal dialogs, `.show()` for non-modal. Includes built-in focus trapping and backdrop." }
187
+ ]
188
+ },
189
+ "template": {
190
+ "contents": [
191
+ { "value": "```html\n<template id=\"card-tmpl\">\n <div class=\"card\">...</div>\n</template>\n```\nThe `<template>` element holds HTML content that is not rendered when the page loads but can be cloned and inserted into the DOM via JavaScript. Useful for reusable components." }
192
+ ]
193
+ },
194
+ "slot": {
195
+ "contents": [
196
+ { "value": "```html\n<slot name=\"header\">Default content</slot>\n```\nThe `<slot>` element is a placeholder inside a Web Component's shadow DOM. It allows consumers to insert their own markup. Named slots target specific elements with `slot=\"name\"` attribute." }
197
+ ]
198
+ },
199
+ "video": {
200
+ "contents": [
201
+ { "value": "```html\n<video src=\"movie.mp4\" controls width=\"640\" height=\"360\" poster=\"thumb.jpg\">\n <track kind=\"subtitles\" src=\"subs.vtt\" srclang=\"en\" />\n</video>\n```\nThe `<video>` element embeds a media player for video playback. Key attributes: `controls`, `autoplay`, `muted`, `loop`, `poster`, `preload`. Use `<source>` for multiple formats and `<track>` for subtitles." }
202
+ ]
203
+ },
204
+ "audio": {
205
+ "contents": [
206
+ { "value": "```html\n<audio controls>\n <source src=\"audio.mp3\" type=\"audio/mpeg\" />\n</audio>\n```\nThe `<audio>` element embeds sound content. Supports `controls`, `autoplay`, `muted`, `loop`, `preload`. Use multiple `<source>` elements for format fallbacks." }
207
+ ]
208
+ },
209
+ "canvas": {
210
+ "contents": [
211
+ { "value": "```html\n<canvas id=\"myCanvas\" width=\"400\" height=\"300\"></canvas>\n```\nThe `<canvas>` element is a container for graphics drawn via JavaScript (Canvas 2D API or WebGL). Set dimensions via attributes (not CSS) to avoid scaling. Falls back to inner content when unsupported." }
212
+ ]
213
+ },
214
+ "iframe": {
215
+ "contents": [
216
+ { "value": "```html\n<iframe src=\"page.html\" width=\"600\" height=\"400\" title=\"Embedded\" sandbox loading=\"lazy\"></iframe>\n```\nThe `<iframe>` element embeds another HTML page. Use `sandbox` attribute to restrict capabilities. Use `loading=\"lazy\"` for performance. Always include `title` for accessibility." }
217
+ ]
218
+ },
219
+ "link": {
220
+ "contents": [
221
+ { "value": "```html\n<link rel=\"stylesheet\" href=\"styles.css\" />\n<link rel=\"icon\" href=\"favicon.ico\" />\n<link rel=\"preconnect\" href=\"https://fonts.googleapis.com\" />\n```\nThe `<link>` element specifies relationships between the document and external resources. Most commonly used for stylesheets, icons, preloading, and DNS prefetching." }
222
+ ]
223
+ },
224
+ "meta": {
225
+ "contents": [
226
+ { "value": "```html\n<meta charset=\"UTF-8\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"description\" content=\"Page description\" />\n```\nThe `<meta>` element provides metadata about the HTML document. Used for character encoding, viewport settings, descriptions, Open Graph tags, and HTTP equiv directives." }
227
+ ]
228
+ },
229
+ "script": {
230
+ "contents": [
231
+ { "value": "```html\n<script src=\"app.js\" defer></script>\n<script type=\"module\" src=\"mod.js\"></script>\n```\nThe `<script>` element embeds or references executable JavaScript. Use `defer` to delay execution until DOM is parsed. Use `async` for independent scripts. `type=\"module\"` enables ES module syntax." }
232
+ ]
233
+ },
234
+ "picture": {
235
+ "contents": [
236
+ { "value": "```html\n<picture>\n <source srcset=\"img.avif\" type=\"image/avif\" />\n <source srcset=\"img.webp\" type=\"image/webp\" />\n <img src=\"img.jpg\" alt=\"description\" />\n</picture>\n```\nThe `<picture>` element contains `<source>` elements and one `<img>` fallback for responsive and art-directed images. The browser picks the best matching source based on media queries and supported formats." }
237
+ ]
238
+ },
239
+ "source": {
240
+ "contents": [
241
+ { "value": "```html\n<source src=\"video.webm\" type=\"video/webm\" />\n<source srcset=\"image.webp\" type=\"image/webp\" media=\"(min-width: 800px)\" />\n```\nThe `<source>` element specifies multiple media resources for `<picture>`, `<audio>`, or `<video>`. The browser selects the first supported source." }
242
+ ]
243
+ },
244
+ "svg": {
245
+ "contents": [
246
+ { "value": "```html\n<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\" width=\"100\" height=\"100\">\n <circle cx=\"50\" cy=\"50\" r=\"40\" fill=\"blue\" />\n</svg>\n```\nThe `<svg>` element is a container for SVG (Scalable Vector Graphics). SVG is resolution-independent and supports shapes, paths, text, gradients, filters, and animations." }
247
+ ]
248
+ }
249
+ }
250
+ }
@@ -0,0 +1,395 @@
1
+ {
2
+ "language": "java",
3
+ "hovers": {
4
+ "System.out.println": {
5
+ "contents": [
6
+ { "value": "```java\npublic void println(String x)\n```\nPrints a String and then terminates the line. This method behaves as if it invokes `print(String)` and then `println()`.\n\nBelongs to `java.io.PrintStream`. Commonly accessed via `System.out`." }
7
+ ]
8
+ },
9
+ "System.out.print": {
10
+ "contents": [
11
+ { "value": "```java\npublic void print(String s)\n```\nPrints a string to the standard output stream without a trailing newline. If the argument is null, the string `\"null\"` is printed." }
12
+ ]
13
+ },
14
+ "System.out.printf": {
15
+ "contents": [
16
+ { "value": "```java\npublic PrintStream printf(String format, Object... args)\n```\nWrites a formatted string to the output stream using the specified format string and arguments. Equivalent to `format(format, args)`." }
17
+ ]
18
+ },
19
+ "System.err.println": {
20
+ "contents": [
21
+ { "value": "```java\npublic void println(String x)\n```\nPrints a message to the standard error output stream followed by a newline. `System.err` is a `PrintStream` typically used for error messages and diagnostics." }
22
+ ]
23
+ },
24
+ "String.valueOf": {
25
+ "contents": [
26
+ { "value": "```java\npublic static String valueOf(Object obj)\npublic static String valueOf(int i)\npublic static String valueOf(char[] data)\n```\nReturns the string representation of the argument. If the argument is null, returns the string `\"null\"`. Overloaded for all primitive types, char arrays, and Objects." }
27
+ ]
28
+ },
29
+ "String.format": {
30
+ "contents": [
31
+ { "value": "```java\npublic static String format(String format, Object... args)\n```\nReturns a formatted string using the specified format string and arguments. Format specifiers include `%s` (string), `%d` (integer), `%f` (float), `%n` (newline), `%b` (boolean), and more." }
32
+ ]
33
+ },
34
+ "String.join": {
35
+ "contents": [
36
+ { "value": "```java\npublic static String join(CharSequence delimiter, CharSequence... elements)\npublic static String join(CharSequence delimiter, Iterable<? extends CharSequence> elements)\n```\nReturns a new String composed of the provided elements joined together with the specified delimiter." }
37
+ ]
38
+ },
39
+ "length": {
40
+ "contents": [
41
+ { "value": "```java\npublic int length()\n```\nReturns the length of this string. The length is equal to the number of Unicode code units (chars) in the string." }
42
+ ]
43
+ },
44
+ "charAt": {
45
+ "contents": [
46
+ { "value": "```java\npublic char charAt(int index)\n```\nReturns the `char` value at the specified index. An index ranges from 0 to `length() - 1`. Throws `StringIndexOutOfBoundsException` if the index is out of range." }
47
+ ]
48
+ },
49
+ "substring": {
50
+ "contents": [
51
+ { "value": "```java\npublic String substring(int beginIndex)\npublic String substring(int beginIndex, int endIndex)\n```\nReturns a substring starting at `beginIndex` (inclusive) and optionally ending at `endIndex` (exclusive). Throws `StringIndexOutOfBoundsException` if indices are out of range." }
52
+ ]
53
+ },
54
+ "equals": {
55
+ "contents": [
56
+ { "value": "```java\npublic boolean equals(Object anObject)\n```\nCompares this string to the specified object. Returns `true` if and only if the argument is a String with the same sequence of characters. Always use `.equals()` instead of `==` for String comparison." }
57
+ ]
58
+ },
59
+ "equalsIgnoreCase": {
60
+ "contents": [
61
+ { "value": "```java\npublic boolean equalsIgnoreCase(String anotherString)\n```\nCompares this String to another String, ignoring case considerations. Two strings are considered equal ignoring case if they are of the same length and corresponding characters are equal ignoring case." }
62
+ ]
63
+ },
64
+ "contains": {
65
+ "contents": [
66
+ { "value": "```java\npublic boolean contains(CharSequence s)\n```\nReturns true if this string contains the specified sequence of char values. Uses `indexOf` internally." }
67
+ ]
68
+ },
69
+ "startsWith": {
70
+ "contents": [
71
+ { "value": "```java\npublic boolean startsWith(String prefix)\npublic boolean startsWith(String prefix, int toffset)\n```\nTests if this string starts with the specified prefix, optionally beginning at the specified offset." }
72
+ ]
73
+ },
74
+ "endsWith": {
75
+ "contents": [
76
+ { "value": "```java\npublic boolean endsWith(String suffix)\n```\nTests if this string ends with the specified suffix." }
77
+ ]
78
+ },
79
+ "indexOf": {
80
+ "contents": [
81
+ { "value": "```java\npublic int indexOf(String str)\npublic int indexOf(String str, int fromIndex)\npublic int indexOf(int ch)\n```\nReturns the index within this string of the first occurrence of the specified character or substring. Returns `-1` if not found." }
82
+ ]
83
+ },
84
+ "replace": {
85
+ "contents": [
86
+ { "value": "```java\npublic String replace(char oldChar, char newChar)\npublic String replace(CharSequence target, CharSequence replacement)\n```\nReturns a string resulting from replacing all occurrences of `oldChar`/`target` with `newChar`/`replacement`. Does not use regex." }
87
+ ]
88
+ },
89
+ "replaceAll": {
90
+ "contents": [
91
+ { "value": "```java\npublic String replaceAll(String regex, String replacement)\n```\nReplaces each substring of this string that matches the given regular expression with the given replacement. Use `replace()` when regex is not needed." }
92
+ ]
93
+ },
94
+ "split": {
95
+ "contents": [
96
+ { "value": "```java\npublic String[] split(String regex)\npublic String[] split(String regex, int limit)\n```\nSplits this string around matches of the given regular expression. The `limit` parameter controls the number of times the pattern is applied." }
97
+ ]
98
+ },
99
+ "trim": {
100
+ "contents": [
101
+ { "value": "```java\npublic String trim()\n```\nReturns a string with leading and trailing whitespace removed, where whitespace is defined as any character whose codepoint is less than or equal to `'\\u0020'` (space). Consider using `strip()` for Unicode-aware trimming." }
102
+ ]
103
+ },
104
+ "strip": {
105
+ "contents": [
106
+ { "value": "```java\npublic String strip()\n```\n(Java 11+) Returns a string with all leading and trailing whitespace removed. Unlike `trim()`, this method uses `Character.isWhitespace()` and handles all Unicode whitespace." }
107
+ ]
108
+ },
109
+ "toUpperCase": {
110
+ "contents": [
111
+ { "value": "```java\npublic String toUpperCase()\npublic String toUpperCase(Locale locale)\n```\nConverts all characters in this String to upper case using the rules of the given or default Locale." }
112
+ ]
113
+ },
114
+ "toLowerCase": {
115
+ "contents": [
116
+ { "value": "```java\npublic String toLowerCase()\npublic String toLowerCase(Locale locale)\n```\nConverts all characters in this String to lower case using the rules of the given or default Locale." }
117
+ ]
118
+ },
119
+ "isEmpty": {
120
+ "contents": [
121
+ { "value": "```java\npublic boolean isEmpty()\n```\nReturns `true` if, and only if, `length()` is 0. Does not check for whitespace — use `isBlank()` for that." }
122
+ ]
123
+ },
124
+ "isBlank": {
125
+ "contents": [
126
+ { "value": "```java\npublic boolean isBlank()\n```\n(Java 11+) Returns `true` if the string is empty or contains only white space codepoints, as determined by `Character.isWhitespace()`." }
127
+ ]
128
+ },
129
+ "toCharArray": {
130
+ "contents": [
131
+ { "value": "```java\npublic char[] toCharArray()\n```\nConverts this string to a new character array. The length of the array equals the length of the string." }
132
+ ]
133
+ },
134
+ "matches": {
135
+ "contents": [
136
+ { "value": "```java\npublic boolean matches(String regex)\n```\nTells whether or not this string matches the given regular expression. An invocation of this method of the form `str.matches(regex)` yields the same result as `Pattern.matches(regex, str)`." }
137
+ ]
138
+ },
139
+ "List.of": {
140
+ "contents": [
141
+ { "value": "```java\nstatic <E> List<E> of(E... elements)\n```\n(Java 9+) Returns an unmodifiable list containing the specified elements. The list does not permit null elements. Throws `NullPointerException` if any element is null." }
142
+ ]
143
+ },
144
+ "List.copyOf": {
145
+ "contents": [
146
+ { "value": "```java\nstatic <E> List<E> copyOf(Collection<? extends E> coll)\n```\n(Java 10+) Returns an unmodifiable List containing the elements of the given Collection, in its iteration order. Does not permit null elements." }
147
+ ]
148
+ },
149
+ "ArrayList": {
150
+ "contents": [
151
+ { "value": "```java\npublic class ArrayList<E> extends AbstractList<E>\n implements List<E>, RandomAccess, Cloneable, Serializable\n```\nResizable-array implementation of the `List` interface. Permits all elements, including null. Provides constant-time positional access and amortized constant-time add operations. Not synchronized." }
152
+ ]
153
+ },
154
+ "HashMap": {
155
+ "contents": [
156
+ { "value": "```java\npublic class HashMap<K,V> extends AbstractMap<K,V>\n implements Map<K,V>, Cloneable, Serializable\n```\nHash table based implementation of the `Map` interface. Permits null keys and values. Makes no guarantees about iteration order. Provides constant-time performance for basic operations (get and put). Not synchronized." }
157
+ ]
158
+ },
159
+ "TreeMap": {
160
+ "contents": [
161
+ { "value": "```java\npublic class TreeMap<K,V> extends AbstractMap<K,V>\n implements NavigableMap<K,V>, Cloneable, Serializable\n```\nA Red-Black tree based NavigableMap implementation. The map is sorted according to the natural ordering of its keys, or by a Comparator provided at map creation time. Provides guaranteed log(n) time for get, put, and remove." }
162
+ ]
163
+ },
164
+ "HashSet": {
165
+ "contents": [
166
+ { "value": "```java\npublic class HashSet<E> extends AbstractSet<E>\n implements Set<E>, Cloneable, Serializable\n```\nImplements the `Set` interface backed by a HashMap. Permits null elements. Makes no guarantees about iteration order. Offers constant time performance for basic operations (add, remove, contains, size)." }
167
+ ]
168
+ },
169
+ "Collections.sort": {
170
+ "contents": [
171
+ { "value": "```java\npublic static <T extends Comparable<? super T>> void sort(List<T> list)\npublic static <T> void sort(List<T> list, Comparator<? super T> c)\n```\nSorts the specified list into ascending order according to natural ordering or the specified Comparator. The sort is stable: equal elements are not reordered." }
172
+ ]
173
+ },
174
+ "Arrays.asList": {
175
+ "contents": [
176
+ { "value": "```java\npublic static <T> List<T> asList(T... a)\n```\nReturns a fixed-size list backed by the specified array. Changes to the returned list write through to the array. The returned list does not support add or remove operations." }
177
+ ]
178
+ },
179
+ "Arrays.sort": {
180
+ "contents": [
181
+ { "value": "```java\npublic static void sort(int[] a)\npublic static <T> void sort(T[] a, Comparator<? super T> c)\n```\nSorts the specified array into ascending numerical order. For object arrays, sorts according to the order induced by the specified Comparator. Uses dual-pivot Quicksort for primitives and TimSort for objects." }
182
+ ]
183
+ },
184
+ "Arrays.stream": {
185
+ "contents": [
186
+ { "value": "```java\npublic static <T> Stream<T> stream(T[] array)\npublic static IntStream stream(int[] array)\n```\nReturns a sequential Stream with the specified array as its source. Overloaded for primitive arrays (int, long, double) to return specialized streams." }
187
+ ]
188
+ },
189
+ "Map.of": {
190
+ "contents": [
191
+ { "value": "```java\nstatic <K,V> Map<K,V> of(K k1, V v1, ...)\n```\n(Java 9+) Returns an unmodifiable map containing the specified key-value pairs. Does not permit null keys or values. Throws `IllegalArgumentException` on duplicate keys. Supports up to 10 key-value pairs." }
192
+ ]
193
+ },
194
+ "Map.entry": {
195
+ "contents": [
196
+ { "value": "```java\nstatic <K,V> Map.Entry<K,V> entry(K k, V v)\n```\n(Java 9+) Returns an unmodifiable `Map.Entry` containing the given key and value. Neither the key nor the value may be null." }
197
+ ]
198
+ },
199
+ "Set.of": {
200
+ "contents": [
201
+ { "value": "```java\nstatic <E> Set<E> of(E... elements)\n```\n(Java 9+) Returns an unmodifiable set containing the specified elements. Does not permit null or duplicate elements." }
202
+ ]
203
+ },
204
+ "stream": {
205
+ "contents": [
206
+ { "value": "```java\ndefault Stream<E> stream()\n```\nReturns a sequential `Stream` with this collection as its source. Defined in `java.util.Collection`. The default implementation creates a sequential stream from the collection's `Spliterator`." }
207
+ ]
208
+ },
209
+ "filter": {
210
+ "contents": [
211
+ { "value": "```java\nStream<T> filter(Predicate<? super T> predicate)\n```\nReturns a stream consisting of the elements that match the given predicate. This is an intermediate operation." }
212
+ ]
213
+ },
214
+ "map": {
215
+ "contents": [
216
+ { "value": "```java\n<R> Stream<R> map(Function<? super T, ? extends R> mapper)\n```\nReturns a stream consisting of the results of applying the given function to the elements. This is an intermediate operation." }
217
+ ]
218
+ },
219
+ "flatMap": {
220
+ "contents": [
221
+ { "value": "```java\n<R> Stream<R> flatMap(Function<? super T, ? extends Stream<? extends R>> mapper)\n```\nReturns a stream consisting of the results of replacing each element with the contents of a mapped stream, effectively flattening nested structures. This is an intermediate operation." }
222
+ ]
223
+ },
224
+ "collect": {
225
+ "contents": [
226
+ { "value": "```java\n<R,A> R collect(Collector<? super T, A, R> collector)\n```\nPerforms a mutable reduction operation on the elements using a Collector. Common collectors include `Collectors.toList()`, `Collectors.toMap()`, `Collectors.groupingBy()`, and `Collectors.joining()`. This is a terminal operation." }
227
+ ]
228
+ },
229
+ "reduce": {
230
+ "contents": [
231
+ { "value": "```java\nOptional<T> reduce(BinaryOperator<T> accumulator)\nT reduce(T identity, BinaryOperator<T> accumulator)\n```\nPerforms a reduction on the elements using an associative accumulation function, and returns an Optional or identity-seeded result. This is a terminal operation." }
232
+ ]
233
+ },
234
+ "forEach": {
235
+ "contents": [
236
+ { "value": "```java\nvoid forEach(Consumer<? super T> action)\n```\nPerforms an action for each element of this stream. This is a terminal operation. The behavior is explicitly nondeterministic for parallel streams." }
237
+ ]
238
+ },
239
+ "sorted": {
240
+ "contents": [
241
+ { "value": "```java\nStream<T> sorted()\nStream<T> sorted(Comparator<? super T> comparator)\n```\nReturns a stream consisting of the elements sorted according to natural order or the provided Comparator. This is a stateful intermediate operation." }
242
+ ]
243
+ },
244
+ "distinct": {
245
+ "contents": [
246
+ { "value": "```java\nStream<T> distinct()\n```\nReturns a stream consisting of the distinct elements (according to `Object.equals(Object)`) of this stream. This is a stateful intermediate operation." }
247
+ ]
248
+ },
249
+ "Collectors.toList": {
250
+ "contents": [
251
+ { "value": "```java\npublic static <T> Collector<T, ?, List<T>> toList()\n```\nReturns a Collector that accumulates the input elements into a new `List`. There are no guarantees on the type, mutability, serializability, or thread-safety of the returned List." }
252
+ ]
253
+ },
254
+ "Collectors.toMap": {
255
+ "contents": [
256
+ { "value": "```java\npublic static <T, K, U> Collector<T, ?, Map<K,U>> toMap(\n Function<? super T, ? extends K> keyMapper,\n Function<? super T, ? extends U> valueMapper)\n```\nReturns a Collector that accumulates elements into a Map. Throws `IllegalStateException` on duplicate keys unless a merge function is provided." }
257
+ ]
258
+ },
259
+ "Collectors.groupingBy": {
260
+ "contents": [
261
+ { "value": "```java\npublic static <T, K> Collector<T, ?, Map<K, List<T>>> groupingBy(\n Function<? super T, ? extends K> classifier)\n```\nReturns a Collector implementing a \"group by\" operation, grouping elements according to the classifier function and returning a `Map<K, List<T>>`." }
262
+ ]
263
+ },
264
+ "Collectors.joining": {
265
+ "contents": [
266
+ { "value": "```java\npublic static Collector<CharSequence, ?, String> joining(CharSequence delimiter)\npublic static Collector<CharSequence, ?, String> joining(\n CharSequence delimiter, CharSequence prefix, CharSequence suffix)\n```\nReturns a Collector that concatenates the input elements, separated by the specified delimiter, with optional prefix and suffix." }
267
+ ]
268
+ },
269
+ "Optional.of": {
270
+ "contents": [
271
+ { "value": "```java\npublic static <T> Optional<T> of(T value)\n```\nReturns an Optional describing the given non-null value. Throws `NullPointerException` if value is null. Use `ofNullable()` when the value may be null." }
272
+ ]
273
+ },
274
+ "Optional.ofNullable": {
275
+ "contents": [
276
+ { "value": "```java\npublic static <T> Optional<T> ofNullable(T value)\n```\nReturns an Optional describing the given value, or an empty Optional if the value is null." }
277
+ ]
278
+ },
279
+ "Optional.empty": {
280
+ "contents": [
281
+ { "value": "```java\npublic static <T> Optional<T> empty()\n```\nReturns an empty Optional instance. No value is present for this Optional." }
282
+ ]
283
+ },
284
+ "orElse": {
285
+ "contents": [
286
+ { "value": "```java\npublic T orElse(T other)\n```\nIf a value is present, returns the value, otherwise returns `other`. The `other` value is always evaluated — use `orElseGet()` for lazy evaluation." }
287
+ ]
288
+ },
289
+ "orElseGet": {
290
+ "contents": [
291
+ { "value": "```java\npublic T orElseGet(Supplier<? extends T> supplier)\n```\nIf a value is present, returns the value, otherwise invokes `supplier` and returns the result. Preferred over `orElse()` when the default is expensive to compute." }
292
+ ]
293
+ },
294
+ "orElseThrow": {
295
+ "contents": [
296
+ { "value": "```java\npublic T orElseThrow()\npublic <X extends Throwable> T orElseThrow(Supplier<? extends X> exceptionSupplier)\n```\nIf a value is present, returns the value, otherwise throws `NoSuchElementException` (no-arg) or the exception created by the supplier." }
297
+ ]
298
+ },
299
+ "ifPresent": {
300
+ "contents": [
301
+ { "value": "```java\npublic void ifPresent(Consumer<? super T> action)\n```\nIf a value is present, performs the given action with the value, otherwise does nothing." }
302
+ ]
303
+ },
304
+ "CompletableFuture": {
305
+ "contents": [
306
+ { "value": "```java\npublic class CompletableFuture<T> implements Future<T>, CompletionStage<T>\n```\nA Future that may be explicitly completed and supports dependent functions, actions, and combinations. Provides a rich API for asynchronous programming including `supplyAsync`, `thenApply`, `thenCompose`, `exceptionally`, and more." }
307
+ ]
308
+ },
309
+ "Thread": {
310
+ "contents": [
311
+ { "value": "```java\npublic class Thread implements Runnable\n```\nA thread is a thread of execution in a program. The JVM allows an application to have multiple threads running concurrently. Every thread has a priority and optionally a name. Threads can be created by extending `Thread` or passing a `Runnable` to the constructor." }
312
+ ]
313
+ },
314
+ "ExecutorService": {
315
+ "contents": [
316
+ { "value": "```java\npublic interface ExecutorService extends Executor\n```\nAn Executor that provides methods to manage termination and methods that can produce a Future for tracking progress of asynchronous tasks. Implementations include `ThreadPoolExecutor` and `ForkJoinPool`." }
317
+ ]
318
+ },
319
+ "Files.readString": {
320
+ "contents": [
321
+ { "value": "```java\npublic static String readString(Path path) throws IOException\npublic static String readString(Path path, Charset cs) throws IOException\n```\n(Java 11+) Reads all content from a file into a string, decoding from bytes to characters using the specified or UTF-8 charset." }
322
+ ]
323
+ },
324
+ "Files.writeString": {
325
+ "contents": [
326
+ { "value": "```java\npublic static Path writeString(Path path, CharSequence csq, OpenOption... options) throws IOException\n```\n(Java 11+) Write a CharSequence to a file. Characters are encoded into bytes using UTF-8 charset. Options may include StandardOpenOption.APPEND." }
327
+ ]
328
+ },
329
+ "Files.readAllLines": {
330
+ "contents": [
331
+ { "value": "```java\npublic static List<String> readAllLines(Path path) throws IOException\n```\nRead all lines from a file. Bytes from the file are decoded into characters using the UTF-8 charset. The returned list is modifiable." }
332
+ ]
333
+ },
334
+ "Path.of": {
335
+ "contents": [
336
+ { "value": "```java\npublic static Path of(String first, String... more)\n```\n(Java 11+) Returns a Path by converting a path string, or a sequence of strings that when joined form a path string. Throws `InvalidPathException` if the path string cannot be converted." }
337
+ ]
338
+ },
339
+ "Math.max": {
340
+ "contents": [
341
+ { "value": "```java\npublic static int max(int a, int b)\npublic static double max(double a, double b)\n```\nReturns the greater of two values. Overloaded for int, long, float, and double." }
342
+ ]
343
+ },
344
+ "Math.min": {
345
+ "contents": [
346
+ { "value": "```java\npublic static int min(int a, int b)\npublic static double min(double a, double b)\n```\nReturns the smaller of two values. Overloaded for int, long, float, and double." }
347
+ ]
348
+ },
349
+ "Math.abs": {
350
+ "contents": [
351
+ { "value": "```java\npublic static int abs(int a)\npublic static double abs(double a)\n```\nReturns the absolute value of the argument. Overloaded for int, long, float, and double." }
352
+ ]
353
+ },
354
+ "Math.sqrt": {
355
+ "contents": [
356
+ { "value": "```java\npublic static double sqrt(double a)\n```\nReturns the correctly rounded positive square root of a double value. If the argument is NaN or less than zero, the result is NaN." }
357
+ ]
358
+ },
359
+ "Math.pow": {
360
+ "contents": [
361
+ { "value": "```java\npublic static double pow(double a, double b)\n```\nReturns the value of the first argument raised to the power of the second argument." }
362
+ ]
363
+ },
364
+ "Math.random": {
365
+ "contents": [
366
+ { "value": "```java\npublic static double random()\n```\nReturns a double value with a positive sign, greater than or equal to 0.0 and less than 1.0. Returned values are chosen pseudorandomly. Consider using `ThreadLocalRandom` or `java.util.Random` for more control." }
367
+ ]
368
+ },
369
+ "Integer.parseInt": {
370
+ "contents": [
371
+ { "value": "```java\npublic static int parseInt(String s) throws NumberFormatException\npublic static int parseInt(String s, int radix) throws NumberFormatException\n```\nParses the string argument as a signed integer in the specified radix (default 10). Throws `NumberFormatException` if the string does not contain a parsable integer." }
372
+ ]
373
+ },
374
+ "Integer.valueOf": {
375
+ "contents": [
376
+ { "value": "```java\npublic static Integer valueOf(String s) throws NumberFormatException\npublic static Integer valueOf(int i)\n```\nReturns an Integer instance representing the specified value. Values between -128 and 127 are cached." }
377
+ ]
378
+ },
379
+ "Double.parseDouble": {
380
+ "contents": [
381
+ { "value": "```java\npublic static double parseDouble(String s) throws NumberFormatException\n```\nReturns a new double initialized to the value represented by the specified String, as performed by `Double.valueOf(String)`." }
382
+ ]
383
+ },
384
+ "Objects.requireNonNull": {
385
+ "contents": [
386
+ { "value": "```java\npublic static <T> T requireNonNull(T obj)\npublic static <T> T requireNonNull(T obj, String message)\n```\nChecks that the specified object reference is not null. Throws `NullPointerException` with the optional message if the reference is null. Commonly used for parameter validation." }
387
+ ]
388
+ },
389
+ "Objects.equals": {
390
+ "contents": [
391
+ { "value": "```java\npublic static boolean equals(Object a, Object b)\n```\nReturns `true` if the arguments are equal to each other and `false` otherwise. Consequently, if both arguments are null, `true` is returned. Avoids NullPointerException." }
392
+ ]
393
+ }
394
+ }
395
+ }