Repository Analysis

fyne-io/fyne

Cross platform GUI toolkit in Go inspired by Material Design

1.7 Likely human-written View on GitHub
1.7
Adjusted Score
1.7
Raw Score
100%
Time Factor
2026-05-29
Last Push
28,321
Stars
Go
Language
165,695
Lines of Code
1518
Files
243
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 4HIGH 0MEDIUM 5LOW 234

Pattern Findings

243 matches across 5 categories. Click a row to expand file-level details.

Over-Commented Block225 hits · 223 pts
SeverityFileLineSnippet
LOWcloud.go1package fyne
LOWwindow.go1package fyne
LOWwindow.go61 // The way this is rendered will depend on the loaded driver.
LOWwindow.go81 Show()
LOWwidget.go1package fyne
LOWfyne.go1// Package fyne describes the objects and components available to any Fyne app.
LOWfyne.go21// widget.NewButton("Hi!", func() {
LOWthread.go1package fyne
LOWpreferences.go1package fyne
LOWpreferences.go21 //
LOWpreferences.go41 //
LOWpreferences.go61 //
LOWkey.go161 KeySemicolon KeyName = ";"
LOWkey.go181type KeyModifier int
LOWcanvasobject.go1package fyne
LOWcanvasobject.go61// When focused it will also have TypedRune called as text is input and
LOWsettings.go21 //
LOWapp.go21 OpenURL(url *url.URL) error
LOWapp.go41
LOWapp.go81 // Lifecycle returns a type that allows apps to hook in to lifecycle events.
LOWapp.go141 // Version represents the version of this application, normally following semantic versioning.
LOWtext.go41 // TextTruncate trims the text to the widget's width, no wrapping is applied.
LOWuri.go21 URI() URI
LOWuri.go41
LOWuri.go61 // NOTE: the RFC3986 can be obtained by combining the [net/url.URL.User]
LOWanimation.go21 // AnimationEaseIn starts slowly and accelerates to the end.
LOWdriver.go21 // AbsolutePositionForObject returns the position of a given [CanvasObject] relative to the top/left of a canvas.
LOWdriver.go41 //
LOWcmd/fyne/internal/mobile/build_iosapp.go641}
LOWcmd/fyne/internal/mobile/build_iosapp.go661 //
LOWcmd/fyne/internal/mobile/env.go121 }
LOWcmd/fyne/internal/mobile/writer.go1// Copyright 2015 The Go Authors. All rights reserved.
LOWcmd/fyne/internal/mobile/writer.go21//
LOWcmd/fyne/internal/mobile/writer.go41// Note the \r\n line breaks.
LOWcmd/fyne/internal/mobile/binres/binres.go1// Copyright 2015 The Go Authors. All rights reserved.
LOWcmd/fyne/internal/mobile/binres/binres.go21//
LOWcmd/fyne/internal/mobile/binres/pool.go21
LOWcmd/fyne/internal/mobile/binres/pool.go41//
LOWcmd/fyne/internal/mobile/binres/table.go21type TableRef uint32
LOWcmd/fyne/internal/mobile/gendex/gendex.go1// Copyright 2015 The Go Authors. All rights reserved.
LOWwidget/gridwrap.go21)
LOWwidget/gridwrap.go41 CreateItem func() fyne.CanvasObject `json:"-"`
LOWwidget/tree_internal_test.go201func TestTree_Keyboard(t *testing.T) {
LOWwidget/label.go21
LOWwidget/entry.go461func (e *Entry) SelectedText() string {
LOWwidget/entry.go2001// entryMergeableUndoAction is like entryUndoAction, but the undoStack
LOWwidget/richtext_objects.go221// Unselect tells the segment that the user is has cancelled the previous selection.
LOWwidget/table.go61
LOWwidget/table.go81 // If `ShowHeaderRow` us `true` then the stuck row will appear immediately underneath.
LOWwidget/table.go121// template objects that can be cached and the third is used to apply data at specified data location to the
LOWtest/test_helper.go41 c := NewCanvasWithPainter(software.NewPainter())
LOWtest/test_helper.go81// AssertRendersToImage asserts that the given canvas renders the same image as the one stored in the master file.
LOWdriver/native.go21// AndroidWindowContext is passed to the NativeWindow.RunNative callback when it is executed
LOWdriver/native.go41type WindowsWindowContext struct {
LOWdriver/desktop/window.go1package desktop
LOWdriver/desktop/key.go41 // ShiftModifier represents a shift key being held
LOWdriver/desktop/app.go1package desktop
LOWinternal/painter/font_internal_test.go1//go:build test
LOWinternal/painter/font_internal_test.go21// chosen := &mockFace{CloseFunc: func() error { return nil }}
LOWinternal/painter/font_internal_test.go41//func Test_compositeFace_GlyphFunctions(t *testing.T) {
165 more matches not shown…
Hallucination Indicators4 hits · 40 pts
SeverityFileLineSnippet
CRITICALwidget/table.go1530 r.cells.t.dividerLayer.Content.Refresh()
CRITICALwidget/table.go1708 r.cells.t.top.Content.Refresh()
CRITICALwidget/table.go1750 r.cells.t.left.Content.Refresh()
CRITICALwidget/table.go1766 r.cells.t.corner.Content.Refresh()
AI Slop Vocabulary5 hits · 15 pts
SeverityFileLineSnippet
MEDIUMuri.go30// Implementations are highly recommended to utilize [net/url] to implement URI
MEDIUMwidget/textgrid.go649 // round it for seamless background
MEDIUMinternal/painter/draw.go833// allowed for the width and height of the shape. Corner radius may utilize unused capacity from adjacent corners with r
MEDIUMinternal/repository/memory.go54// This repository is not designed to be particularly fast or robust, but
MEDIUMinternal/async/doc.go6// can utilize select and channel semantics, whereas queue cannot. A user of
Fake / Example Data6 hits · 8 pts
SeverityFileLineSnippet
LOWcmd/fyne_demo/tutorials/widget.go22 loremIpsum = `Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque quis consectetur nisi. Suspendisse
LOWcmd/fyne_demo/tutorials/widget.go22 loremIpsum = `Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque quis consectetur nisi. Suspendisse
LOWwidget/richtext_benchmark_test.go12const loremIpsum = `Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque quis consectetur nisi. Suspend
LOWwidget/richtext_benchmark_test.go12const loremIpsum = `Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque quis consectetur nisi. Suspend
LOWwidget/richtext_benchmark_test.go20Nullam eu mattis dolor. Sed sit amet ipsum gravida, pretium justo eget, mattis est. Cras viverra aliquet velit, a faucib
LOWwidget/richtext_benchmark_test.go20Nullam eu mattis dolor. Sed sit amet ipsum gravida, pretium justo eget, mattis est. Cras viverra aliquet velit, a faucib
Hyper-Verbose Identifiers3 hits · 3 pts
SeverityFileLineSnippet
LOWcmd/fyne/internal/templates/data/webgl-debug.js631function makeLostContextSimulatingCanvas(canvas) {
LOWcmd/fyne/internal/templates/data/webgl-debug.js805 function makeLostContextFunctionWrapper(ctx, functionName) {
LOWcmd/fyne/internal/templates/data/webgl-debug.js865 function makeLostContextSimulatingContext(ctx) {