From 71063884780ba12a24e31f4d531b60d7db875b69 Mon Sep 17 00:00:00 2001 From: apocelipes Date: Thu, 29 Aug 2024 08:01:42 +0800 Subject: [PATCH] feat: add slint support (#500) Fixes #496. --- LANGUAGES.md | 1 + SCC-OUTPUT-REPORT.html | 46 +++++++++++----------- examples/language/slint.slint | 72 +++++++++++++++++++++++++++++++++++ languages.json | 32 ++++++++++++++++ processor/constants.go | 2 +- test-all.sh | 2 +- 6 files changed, 130 insertions(+), 25 deletions(-) create mode 100644 examples/language/slint.slint diff --git a/LANGUAGES.md b/LANGUAGES.md index d2d8cb8f9..d750757b0 100644 --- a/LANGUAGES.md +++ b/LANGUAGES.md @@ -239,6 +239,7 @@ Shell (sh,.tcshrc) Sieve (sieve) SKILL (il) Slang (slang) +Slint (slint) Smarty Template (tpl) Snakemake (smk,rules,snakefile) SNOBOL (sno) diff --git a/SCC-OUTPUT-REPORT.html b/SCC-OUTPUT-REPORT.html index 3cd46d946..afa64c30d 100644 --- a/SCC-OUTPUT-REPORT.html +++ b/SCC-OUTPUT-REPORT.html @@ -18,7 +18,7 @@ 456 7602 1517 - 253980 + 254028 4051 processor/formatters.go @@ -220,16 +220,6 @@ 8 2030 52 - - cmd/badges/simplecache_test.go - - 52 - 12 - 0 - 40 - 9 - 1041 - 30 processor/filereader.go @@ -240,6 +230,16 @@ 6 1316 37 + + cmd/badges/simplecache_test.go + + 52 + 12 + 0 + 40 + 9 + 1041 + 30 processor/cocomo.go @@ -250,16 +250,6 @@ 0 2209 35 - - processor/bloom.go - - 37 - 7 - 12 - 18 - 2 - 1062 - 29 processor/cocomo_test.go @@ -270,6 +260,16 @@ 6 686 23 + + processor/bloom.go + + 37 + 7 + 12 + 18 + 2 + 1062 + 29 processor/helpers_test.go @@ -318,7 +318,7 @@ 0 4 0 - 22757 + 22805 5 @@ -329,7 +329,7 @@ 456 7602 1517 - 253980 + 254028 4051 diff --git a/examples/language/slint.slint b/examples/language/slint.slint new file mode 100644 index 000000000..1a48c9369 --- /dev/null +++ b/examples/language/slint.slint @@ -0,0 +1,72 @@ +// an example from https://releases.slint.dev/1.7.2/docs/slint/src/recipes/recipes#custom-table-view +// 2 comments 5 blanks 9 Complexity 65 code + +import { VerticalBox, ListView } from "std-widgets.slint"; + +component TableView inherits Rectangle { + in property <[string]> columns; + in property <[[string]]> values; + + private property e: self.width / root.columns.length; + private property <[length]> column_sizes: [ + root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, + root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, + root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, root.e, + ]; + + VerticalBox { + padding: 5px; + HorizontalLayout { + padding: 5px; spacing: 5px; + vertical-stretch: 0; + for title[idx] in root.columns : HorizontalLayout { + width: root.column_sizes[idx]; + Text { overflow: elide; text: title; } + Rectangle { + width: 1px; + background: gray; + TouchArea { + width: 10px; + x: (parent.width - self.width) / 2; + property cached; + pointer-event(event) => { + if (event.button == PointerEventButton.left && event.kind == PointerEventKind.down) { + self.cached = root.column_sizes[idx]; + } + } + moved => { + if (self.pressed) { + root.column_sizes[idx] += (self.mouse-x - self.pressed-x); + if (root.column_sizes[idx] < 0) { + root.column_sizes[idx] = 0; + } + } + } + mouse-cursor: ew-resize; + } + } + } + } + ListView { + for r in root.values : HorizontalLayout { + padding: 5px; + spacing: 5px; + for t[idx] in r : HorizontalLayout { + width: root.column_sizes[idx]; + Text { overflow: elide; text: t; } + } + } + } + } +} + +export component Example inherits Window { + TableView { + columns: ["Device", "Mount Point", "Total", "Free"]; + values: [ + ["/dev/sda1", "/", "255GB", "82.2GB"] , + ["/dev/sda2", "/tmp", "60.5GB", "44.5GB"] , + ["/dev/sdb1", "/home", "255GB", "32.2GB"] , + ]; + } +} diff --git a/languages.json b/languages.json index 2f2ed276f..e6c96d0ac 100644 --- a/languages.json +++ b/languages.json @@ -7480,6 +7480,38 @@ } ] }, + "Slint": { + "complexitychecks": [ + "for ", + "if ", + "if(", + "states ", + "states[", + "else ", + "|| ", + "&& ", + "!= ", + "== " + ], + "extensions": [ + "slint" + ], + "line_comment": [ + "//" + ], + "multi_line": [ + [ + "/*", + "*/" + ] + ], + "quotes": [ + { + "end": "\"", + "start": "\"" + } + ] + }, "Smarty Template": { "complexitychecks": [ "for ", diff --git a/processor/constants.go b/processor/constants.go index 56b0b1893..ddd01b416 100644 --- a/processor/constants.go +++ b/processor/constants.go @@ -1,5 +1,5 @@ package processor const ( - languages = `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` + languages = `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` ) diff --git a/test-all.sh b/test-all.sh index 149d64815..27aa481ce 100755 --- a/test-all.sh +++ b/test-all.sh @@ -915,7 +915,7 @@ else fi # Try out specific languages -for i in 'Bosque ' 'Flow9 ' 'Bitbucket Pipeline ' 'Docker ignore ' 'Q# ' 'Futhark ' 'Alloy ' 'Wren ' 'Monkey C ' 'Alchemist ' 'Luna ' 'ignore ' 'XML Schema ' 'Web Services' 'Go ' 'Java ' 'Boo ' 'License ' 'BASH ' 'C Shell ' 'Korn Shell ' 'Makefile ' 'Shell ' 'Zsh ' 'Rakefile ' 'Gemfile ' 'Dockerfile ' 'Yarn ' 'Sieve ' 'F# ' 'Elm ' 'Terraform ' 'Clojure ' 'C# ' 'LLVM IR ' 'HAML ' 'FXML ' 'DM ' 'Nushell ' 'R ' 'Racket ' 'DOT ' 'YAML ' 'Teal ' 'FSL ' 'INI ' 'Hare ' 'Templ ' 'Cuda ' 'GraphQL ' 'Bicep ' 'Pkl ' 'TypeSpec ' 'LALRPOP ' 'Snakemake ' 'OpenQASM ' 'Typst ' 'ZoKrates ' 'Chapel ' 'Slang ' 'Circom ' 'Proto ' 'wenyan ' 'Cangjie ' 'Clipper ' +for i in 'Bosque ' 'Flow9 ' 'Bitbucket Pipeline ' 'Docker ignore ' 'Q# ' 'Futhark ' 'Alloy ' 'Wren ' 'Monkey C ' 'Alchemist ' 'Luna ' 'ignore ' 'XML Schema ' 'Web Services' 'Go ' 'Java ' 'Boo ' 'License ' 'BASH ' 'C Shell ' 'Korn Shell ' 'Makefile ' 'Shell ' 'Zsh ' 'Rakefile ' 'Gemfile ' 'Dockerfile ' 'Yarn ' 'Sieve ' 'F# ' 'Elm ' 'Terraform ' 'Clojure ' 'C# ' 'LLVM IR ' 'HAML ' 'FXML ' 'DM ' 'Nushell ' 'R ' 'Racket ' 'DOT ' 'YAML ' 'Teal ' 'FSL ' 'INI ' 'Hare ' 'Templ ' 'Cuda ' 'GraphQL ' 'Bicep ' 'Pkl ' 'TypeSpec ' 'LALRPOP ' 'Snakemake ' 'OpenQASM ' 'Typst ' 'ZoKrates ' 'Chapel ' 'Slang ' 'Circom ' 'Proto ' 'wenyan ' 'Cangjie ' 'Clipper ' 'Slint ' do if ./scc "examples/language/" | grep -q "$i "; then echo -e "${GREEN}PASSED $i Language Check"