From 82f57c407fe2fab46d9d088a680a3738e05d3de8 Mon Sep 17 00:00:00 2001 From: Johannes Kirschbauer Date: Sun, 18 Jun 2023 18:03:24 +0200 Subject: [PATCH] Update README.md --- README.md | 76 +++++++++++++------------------------------------------ 1 file changed, 17 insertions(+), 59 deletions(-) diff --git a/README.md b/README.md index 9a07355..80fea63 100644 --- a/README.md +++ b/README.md @@ -5,79 +5,37 @@ ![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/hsjobeki/noogle/main.yml) ![built-with-dream2nix](https://img.shields.io/badge/built%20with-dream2nix-blue) -Noogle is a Nix API search engine. It allows you to search functions based on -their types and other attributes in `nix` projects. In `nixpkgs` especially -the `builtins` and `lib` attributes. +Connect with us on matrix: [#noogle:matrix.org](https://matrix.to/#/#noogle:matrix.org) + +### Noogle is a Nix API search engine. It lets you search nix functions. ## Current Features - [x] Beginners-friendly search for nix and nix-related functions -- [x] Search by **type** signatures -- [x] Sorted by relevance based on: - - id - - name - - category - - description - - example -- [ ] tree-search from one type to another -- [ ] functions from external libraries and nix frameworks + - Render documentation comments optimized for readability + - We are working on a [standard]() for in-code-documentation +- [x] fuzzy-search. + - show why/what terms matched. + - Share results with a direct URL. +- [x] Noogle also knows stuff that is not officially documented. + - Types of builtins. (including builtins.derivation) + - Can be extended via markdown contributions to noogle. + - Always shows the latest docs based on the main branch of nixpkgs. +- [x] Search by **type** signatures. + - Function types are parsed and interpreted. + - We are working on a standard way to write type-documentation: [typednix.dev](https://typednix.dev) ## Available data -Currently there are the following subsets of nix functions available. +There are the following subsets of nix functions available: - nix/**builtins** - nixpkgs/**lib** - nixpkgs/build-support/**trivial-builders** -### Search - -- types are parsed and interpreted -- text search, looks in all metadata fields for an **exact match** word -or character sequence. -Noogle does not offer elastic search yet. And it remains open if it ever will. - -> If you have a function/set that you would like to find here, -> don't hesitate to file an issue. - -**View the prototype [here](https://noogle.dev)** - -## We need your help / what is missing - -### Extend available function - -Currently there is only a limited set of data. - -Because nixpkgs is very inconsistently documented it is -really hard to extend the scope. - -So if you want to help noogle, we must improve nixpkgs itself. - -- [ ] Parsing `Types:` into a real type signature tree -- [ ] Fix: line beginnings that include Asterisk (*) : Is interpreted as List-Markdown -- [x] Upstream missing type informations (like in /lib/attrsets.nix) -- [x] Write type signatures for the `builtins` in json -- [ ] Add path, where each function can be imported from. - -e.g. `lib.makeOverridable` or `lib.customisation.makeOverridable` -it is available in both sets - -### Website - -- [x] improve share (deeplinks) -- [ ] social interactions -- [ ] Add filter by tags e.g. lib.lists -- [ ] Prepare for scaling up (we expect more users) -- [x] Mobile optimization for reading on the go - -## Nixdoc / Indexer (fork) - -- [ ] Parse types directly while also parsing comments -- [ ] Extend the scope, so that is can parse more comments - ## Contribute -Contributions are very welcome just file a PR or issue +Contributions are very welcome to file a PR or issue. ### Build this page