@ataraxy-labs/sem 0.8.0 → 0.9.0

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 (2) hide show
  1. package/README.md +16 -2
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -6,6 +6,10 @@
6
6
  <img src="assets/banner.svg" alt="sem" width="600" />
7
7
  </p>
8
8
 
9
+ <p align="center">
10
+ <a href="https://trendshift.io/repositories/25348" target="_blank"><img src="https://trendshift.io/api/badge/repositories/25348" alt="Ataraxy-Labs%2Fsem | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
11
+ </p>
12
+
9
13
  <p align="center">
10
14
  <strong>Semantic version control built on Git.</strong><br>
11
15
  Instead of lines changed, sem tells you what entities changed: functions, methods, classes.
@@ -24,7 +28,7 @@
24
28
  <img src="https://img.shields.io/badge/rust-stable-orange" alt="Rust">
25
29
  <img src="https://img.shields.io/badge/tests-133_passing-brightgreen" alt="Tests">
26
30
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-yellow" alt="License"></a>
27
- <img src="https://img.shields.io/badge/languages-28-blue" alt="Languages">
31
+ <img src="https://img.shields.io/badge/languages-31-blue" alt="Languages">
28
32
  </p>
29
33
 
30
34
  sem is a semantic version control tool that works on top of Git. It parses your code with tree-sitter, extracts every function, class, and method as an entity, and diffs at the entity level instead of lines. This means you see "function `blahh` was modified" instead of "lines x-y changed."
@@ -37,6 +41,12 @@ It works in any Git repo with no setup.
37
41
 
38
42
  ## Install
39
43
 
44
+ ```bash
45
+ curl -fsSL https://raw.githubusercontent.com/Ataraxy-Labs/sem/main/install.sh | sh
46
+ ```
47
+
48
+ Or via Homebrew:
49
+
40
50
  ```bash
41
51
  brew install sem-cli
42
52
  ```
@@ -244,7 +254,7 @@ sem unsetup
244
254
 
245
255
  ## What it parses
246
256
 
247
- 28 programming languages with full entity extraction via tree-sitter:
257
+ 31 programming languages with full entity extraction via tree-sitter:
248
258
 
249
259
  | Language | Extensions | Entities |
250
260
  |----------|-----------|----------|
@@ -275,6 +285,9 @@ sem unsetup
275
285
  | Scala | `.scala` `.sc` `.sbt` | classes, objects, traits, enums, functions, vals, extensions |
276
286
  | Nix | `.nix` | bindings, inherit declarations |
277
287
  | Haskell | `.hs` | functions, signatures, data types, newtypes, classes, instances, type synonyms |
288
+ | Elm | `.elm` | value declarations, type aliases, type declarations, port annotations, infix declarations |
289
+ | Clojure | `.clj` `.cljs` `.cljc` | vars, functions, macros, multimethods, protocols, records, types |
290
+ | D | `.d` `.di` | modules, functions, classes, structs, interfaces, unions, enums, templates, aliases, unittests |
278
291
  | Zig | `.zig` | functions, tests, variables |
279
292
 
280
293
  Plus structured data formats:
@@ -284,6 +297,7 @@ Plus structured data formats:
284
297
  | JSON | `.json` | properties, objects (RFC 6901 paths) |
285
298
  | YAML | `.yml` `.yaml` | sections, properties (dot paths) |
286
299
  | TOML | `.toml` | sections, properties |
300
+ | EDN | `.edn` | top-level map entries (keyword keys) |
287
301
  | CSV | `.csv` `.tsv` | rows (first column as identity) |
288
302
  | Markdown | `.md` `.mdx` | heading-based sections |
289
303
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ataraxy-labs/sem",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "description": "npm wrapper for the sem CLI. Downloads the matching release binary and exposes the sem command in node_modules/.bin.",
5
5
  "license": "MIT OR Apache-2.0",
6
6
  "type": "module",