{"id":23286371,"url":"https://github.com/hfmrow/gotk3_gtksource","last_synced_at":"2026-04-30T09:38:33.571Z","repository":{"id":53507361,"uuid":"301136721","full_name":"hfmrow/gotk3_gtksource","owner":"hfmrow","description":"Golang GtkSourceView binding for use with gotk3","archived":false,"fork":false,"pushed_at":"2021-04-27T12:35:27.000Z","size":854,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-06T15:39:53.476Z","etag":null,"topics":["golang","golang-gtksourceview","gotk3","gotk3-gtksource","gtk3","gtksourceview","gui"],"latest_commit_sha":null,"homepage":"https://hfmrow.github.io/gotk3_gtksource/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hfmrow.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-10-04T13:29:42.000Z","updated_at":"2022-02-18T03:00:54.000Z","dependencies_parsed_at":"2022-09-26T19:30:47.814Z","dependency_job_id":null,"html_url":"https://github.com/hfmrow/gotk3_gtksource","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/hfmrow/gotk3_gtksource","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hfmrow%2Fgotk3_gtksource","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hfmrow%2Fgotk3_gtksource/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hfmrow%2Fgotk3_gtksource/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hfmrow%2Fgotk3_gtksource/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hfmrow","download_url":"https://codeload.github.com/hfmrow/gotk3_gtksource/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hfmrow%2Fgotk3_gtksource/sbom","scorecard":{"id":463449,"data":{"date":"2025-08-11","repo":{"name":"github.com/hfmrow/gotk3_gtksource","commit":"ef9131bb7906f630f50bcd5a58916a2eb30c6555"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/24 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 7 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-19T11:48:29.474Z","repository_id":53507361,"created_at":"2025-08-19T11:48:29.474Z","updated_at":"2025-08-19T11:48:29.474Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32460781,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T22:27:22.272Z","status":"online","status_checked_at":"2026-04-30T02:00:05.929Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["golang","golang-gtksourceview","gotk3","gotk3-gtksource","gtk3","gtksourceview","gui"],"created_at":"2024-12-20T02:11:45.659Z","updated_at":"2026-04-30T09:38:33.556Z","avatar_url":"https://github.com/hfmrow.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"#### NOTICE:\n\n\u003e  (since 2021/03/27) current [gotk3_gtksource](https://github.com/hfmrow/gotk3_gtksource) version comply with new gotk3 requirements, (that mean gotk3 version must be \u003e 0.5.2) so you have to use [Go bindings for GTK3 @ master](https://github.com/gotk3/gotk3/tree/master) from gotk3 repository instead of ~~[Release GOTK3 Version 0.5.2](https://github.com/gotk3/gotk3/releases/tag/v0.5.2)~~.\n\n##### Adding [Go Modules support](https://github.com/golang/go/wiki/Modules#modules), which will be [mandatory with the usage of go v1.17](https://blog.golang.org/go116-module-changes).\n\n\u003e We plan to drop support for GOPATH mode in Go 1.17. In other words, Go 1.17 will ignore `GO111MODULE`. If you have projects that do not build in module-aware mode, now is the time to migrate. If there is a problem preventing you from migrating, please consider filing an [issue](https://github.com/golang/go/issues/new) or an [experience report](https://github.com/golang/go/wiki/ExperienceReports).\n\n# Golang GtkSourceView binding for use with gotk3\n\nAll this project was made under MIT license **\\***\n\nThis repository must be used with [gotk3: Go bindings for GTK3](https://github.com/gotk3/gotk3) only.\n\n---\n\n- Example of GtkSourceView usage in Go: [SourceViewSimpleExample](https://github.com/hfmrow/gotk3_gtksource/tree/main/SourceViewSimpleExample)\n- More complex example in Go: [SourceViewExample](https://github.com/hfmrow/gotk3_gtksource/tree/main/SourceViewExample)\n\n---\n\n##### installation:\n\n- Ubuntu linux only **\\*\\*** see at bottom why.\n- Designed to be used with gtk3 \u003e= 3.16 and gtksourceview \u003e=3.18-4\n- Be sure you have latest [gotk3](https://github.com/gotk3/gotk3/wiki#installation) installed correctly and working right.\n- Use classic command: `go get github.com/hfmrow/gotk3_gtksource/source` for current Gtk3 v3.24, (Ubuntu focal). See below for specific versions.\n- Golang GtkSourceView follows the same rules as gotk3 for compiling different versions of gtksourceview.\n\n\u003e ##### Information about [libgtksourceview](https://packages.ubuntu.com/search?lang=en\u0026keywords=libgtksourceview) versions:\n\u003e \n\u003e Since libgtksourceview-3.0-dev start at GTK \u003e= 3.16, minimal GtkSourceView version is limited to: libgtksourceview \u003e= 3.18\n\n\u003e ##### Library Installation (Ubuntu):\n\u003e \n\u003e ##### [**xenial (16.04LTS)**](https://packages.ubuntu.com/xenial/libgtksourceview-3.0-dev), [**bionic (18.04LTS)**](https://packages.ubuntu.com/bionic/libgtksourceview-3.0-dev)\n\u003e \n\u003e ```bash\n\u003e $ sudo apt install libgtksourceview-3.0-dev\n\u003e ```\n\u003e \n\u003e ##### [**focal (20.04LTS)**](https://packages.ubuntu.com/focal/libgtksourceview-4-dev) this version of Ubuntu may use libgtksourceview-3.0-dev too\n\u003e \n\u003e ```bash\n\u003e $ sudo apt install libgtksourceview-4-dev\n\u003e ```\n\n\u003e \u003e **To install targeting your version of GtkSourceView:***\n\u003e \n\u003e ```shell\n\u003e $ go install -tags gtksourceview_X_XX github.com/hfmrow/gotk3_gtksource/...\n\u003e ```\n\u003e \n\u003e \u003e **To rebuild the package for current GtkSourceView version 4+:**\n\u003e \n\u003e ```shell\n\u003e $ go install github.com/hfmrow/gotk3_gtksource/...\n\u003e ```\n\n### Gotk3 GtkSourceView wrapping progression\n\n##### what for ?, check this out: [GtkSourceView](https://wiki.gnome.org/Projects/GtkSourceView)\n\n---\n\n- [x] [GtkSourceView Initialization and Finalization](https://developer.gnome.org/gtksourceview/stable/gtksourceview-4.0-GtkSourceView-Initialization-and-Finalization.html)\n\n---\n\n- [x] [GtkSourceBuffer](https://developer.gnome.org/gtksourceview/stable/GtkSourceBuffer.html) — Subclass of GtkTextBuffer\n\n- [x] [GtkSourceView](https://developer.gnome.org/gtksourceview/stable/GtkSourceView.html) — Subclass of GtkTextView\n\n- [x] [GtkSourceLanguage](https://developer.gnome.org/gtksourceview/stable/GtkSourceLanguage.html) — Represents a syntax highlighted language\n\n- [x] [GtkSourceLanguageManager](https://developer.gnome.org/gtksourceview/stable/GtkSourceLanguageManager.html) — Provides access to GtkSourceLanguages\n\n---\n\n- [x] [GtkSourceStyle](https://developer.gnome.org/gtksourceview/stable/GtkSourceStyle.html) — Represents a style\n\n- [x] [GtkSourceStyleScheme](https://developer.gnome.org/gtksourceview/stable/GtkSourceStyleScheme.html) — Controls the appearance of GtkSourceView\n\n- [x] [GtkSourceStyleSchemeManager](https://developer.gnome.org/gtksourceview/stable/GtkSourceStyleSchemeManager.html) — Provides access to GtkSourceStyleSchemes\n\n- [x] [GtkSourceStyleSchemeChooser](https://developer.gnome.org/gtksourceview/stable/GtkSourceStyleSchemeChooser.html) — Interface implemented by widgets for choosing style schemes\n\n- [x] [GtkSourceStyleSchemeChooserButton](https://developer.gnome.org/gtksourceview/stable/GtkSourceStyleSchemeChooserButton.html) — A button to launch a style scheme selection dialog\n\n- [x] [GtkSourceStyleSchemeChooserWidget](https://developer.gnome.org/gtksourceview/stable/GtkSourceStyleSchemeChooserWidget.html) — A widget for choosing style schemes\n\n---\n\n- [x] [GtkSourceCompletion](https://developer.gnome.org/gtksourceview/stable/GtkSourceCompletion.html) — Main Completion Object\n\n- [x] [GtkSourceCompletionContext](https://developer.gnome.org/gtksourceview/stable/GtkSourceCompletionContext.html) — The context of a completion\n\n- [x] [GtkSourceCompletionInfo](https://developer.gnome.org/gtksourceview/stable/GtkSourceCompletionInfo.html) — Calltips object\n\n- [x] [GtkSourceCompletionItem](https://developer.gnome.org/gtksourceview/stable/GtkSourceCompletionItem.html) — Simple implementation of GtkSourceCompletionProposal\n\n- [x] [GtkSourceCompletionProposal](https://developer.gnome.org/gtksourceview/stable/GtkSourceCompletionProposal.html) — Completion proposal interface\n\n- [x] [GtkSourceCompletionProvider](https://developer.gnome.org/gtksourceview/stable/GtkSourceCompletionProvider.html) — Completion provider interface\n\n- [x] [GtkSourceCompletionWords](https://developer.gnome.org/gtksourceview/stable/GtkSourceCompletionWords.html) — A GtkSourceCompletionProvider for the completion of words\n\n---\n\n- [x] [GtkSourceGutter](https://developer.gnome.org/gtksourceview/stable/GtkSourceGutter.html) — Gutter object for GtkSourceView\n\n- [x] [GtkSourceGutterRenderer](https://developer.gnome.org/gtksourceview/stable/GtkSourceGutterRenderer.html) — Gutter cell renderer\n\n- [x] [GtkSourceGutterRendererPixbuf](https://developer.gnome.org/gtksourceview/stable/GtkSourceGutterRendererPixbuf.html) — Renders a pixbuf in the gutter\n\n- [x] [GtkSourceGutterRendererText](https://developer.gnome.org/gtksourceview/stable/GtkSourceGutterRendererText.html) — Renders text in the gutter\n\n- [x] [GtkSourceMark](https://developer.gnome.org/gtksourceview/stable/GtkSourceMark.html) — Mark object for GtkSourceBuffer\n\n- [x] [GtkSourceMarkAttributes](https://developer.gnome.org/gtksourceview/stable/GtkSourceMarkAttributes.html) — The source mark attributes object\n\n---\n\n- [ ] [GtkSourcePrintCompositor](https://developer.gnome.org/gtksourceview/stable/GtkSourcePrintCompositor.html) — Compose a GtkSourceBuffer for printing\n\n---\n\n- [x] [GtkSourceSearchContext](https://developer.gnome.org/gtksourceview/stable/GtkSourceSearchContext.html) — Search context\n\n- [x] [GtkSourceSearchSettings](https://developer.gnome.org/gtksourceview/stable/GtkSourceSearchSettings.html) — Search settings\n\n---\n\n- [x] [GtkSourceEncoding](https://developer.gnome.org/gtksourceview/stable/GtkSourceEncoding.html) — Character encoding\n\n---\n\n- [x] [GtkSourceMap](https://developer.gnome.org/gtksourceview/stable/GtkSourceMap.html) — Widget that displays a map for a specific GtkSourceView\n\n- [ ] [GtkSourceRegion](https://developer.gnome.org/gtksourceview/stable/GtkSourceRegion.html) — Region utility\n\n- [x] [GtkSourceSpaceDrawer](https://developer.gnome.org/gtksourceview/stable/GtkSourceSpaceDrawer.html) — Represent white space characters with symbols\n\n- [x] [GtkSourceTag](https://developer.gnome.org/gtksourceview/stable/GtkSourceTag.html) — A tag that can be applied to text in a GtkSourceBuffer\n\n- [x] [GtkSourceUndoManager](https://developer.gnome.org/gtksourceview/stable/GtkSourceUndoManager.html) — Undo manager interface for GtkSourceView\n\n- [x] [GtkSourceUtils](https://developer.gnome.org/gtksourceview/stable/gtksourceview-4.0-GtkSourceUtils.html) — Utility functions\n\n- [x] [Version Information](https://developer.gnome.org/gtksourceview/stable/gtksourceview-4.0-Version-Information.html) — Macros and functions to check the GtkSourceView version\n\n---\n\n#### Not fully wrapped but usable (implementation stopped)\n\n\u003e - async operations are not wrapped\n\u003e \n\u003e This [class](https://developer.gnome.org/gtksourceview/stable/GtkSourceEncoding.html#GtkSourceEncoding.description) is no longer maintained, patches are not accepted. There is a better implementation in the [Tepl](https://wiki.gnome.org/Projects/Tepl) library.\n\n- [x] [GtkSourceFile](https://developer.gnome.org/gtksourceview/stable/GtkSourceFile.html) — On-disk representation of a GtkSourceBuffer\n- [x] [GtkSourceFileLoader](https://developer.gnome.org/gtksourceview/stable/GtkSourceFileLoader.html) — Load a file into a GtkSourceBuffer\n- [x] [GtkSourceFileSaver](https://developer.gnome.org/gtksourceview/stable/GtkSourceFileSaver.html) — Save a GtkSourceBuffer into a file\n\n---\n\n#### information, Documentation: [GtkSourceView](https://developer.gnome.org/gtksourceview/4.2/)\n\n---\n\n**(\\*)** Why the MIT license, simply because the ISC license type is not available in the repository creation choices. This repository is designed in the spirit of the original definition of the gotk3 [LICENSE](https://github.com/gotk3/gotk3/blob/master/LICENSE) before this one.\n\n**(\\*\\*)** Why Ubuntu Linux only ... because i really don't know how to explain and deploy it on window, darwin and other Linux distros, i'm sorry. If you are able to doing that, you're welcome. All information are available at [Ubuntu - libgtksourceview](https://packages.ubuntu.com/search?lang=en\u0026keywords=libgtksourceview). Theoretically, **sourceview 4** may work on amd64 arm64 armhf i386 ppc64el s390x, **sourceview 3.0** amd64 arm64 armhf i386 powerpc ppc64el s390x both depending on OS version.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhfmrow%2Fgotk3_gtksource","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhfmrow%2Fgotk3_gtksource","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhfmrow%2Fgotk3_gtksource/lists"}