{"id":13522592,"url":"https://github.com/agvxov/csope","last_synced_at":"2025-04-14T11:42:58.309Z","repository":{"id":186957533,"uuid":"675615704","full_name":"agvxov/csope","owner":"agvxov","description":"C source code browser. Fork of Cscope version 15.9, with various improvements.","archived":false,"fork":false,"pushed_at":"2025-01-12T22:32:06.000Z","size":3004,"stargazers_count":41,"open_issues_count":1,"forks_count":4,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-28T00:51:16.357Z","etag":null,"topics":["code-browser","cscope","ncurses","ncurses-tui","tui"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/agvxov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-07T10:28:55.000Z","updated_at":"2025-02-23T22:53:55.000Z","dependencies_parsed_at":"2024-01-13T21:43:20.874Z","dependency_job_id":"70fa1da7-05a4-4376-9ad9-e5bfdc988f88","html_url":"https://github.com/agvxov/csope","commit_stats":null,"previous_names":["agvxov/csope"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agvxov%2Fcsope","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agvxov%2Fcsope/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agvxov%2Fcsope/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agvxov%2Fcsope/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agvxov","download_url":"https://codeload.github.com/agvxov/csope/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248875488,"owners_count":21176069,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["code-browser","cscope","ncurses","ncurses-tui","tui"],"created_at":"2024-08-01T06:00:49.571Z","updated_at":"2025-04-14T11:42:58.266Z","avatar_url":"https://github.com/agvxov.png","language":"C","funding_links":[],"categories":["\u003ca name=\"text-search\"\u003e\u003c/a\u003eText search (alternatives to grep)","Table of Contents"],"sub_categories":[],"readme":"# Csope\n\u003e C source code browser.\n\u003e Fork of Cscope version 15.9, with various improvements.\n\nBecause CScope is good and shall not be forgotten.\nWhile the original's maintenance seems abandoned and\nas far as I can tell you need a PhD in autoconf to compile the latest version,\nCsope is alive and well.\n\n## Table of contents\n- [Demo](#demo)\n- [Features](#features)\n- [Interface](#interface)\n- [Usecases](#usecases)\n- [Improvements](#improvements)\n- [Installation](#installation)\n  - [Gentoo](#gentoo)\n  - [From source](#from-source)\n- [Quick start](#quick-start)\n- [Configuration](#Configuration)\n\n## Demo\n![demo](documentation/csope.GIF)\n\n### Before/After\n#### After\n![after](documentation/after.jpg)\n#### Before\n![after](documentation/before.jpg)\n\n## Features\n\n**Search for**\n + symbol\n + global definition\n + assignments to specified symbol\n + functions called by specified function\n + functions calling specified function\n + text string\n + egrep pattern\n + file\n + files #including specified file\n\n**...and open with your editor.**\n\n**Batch change search results _interactively_.**\n**Save/load/pipe results.**\n\n#### It fully supports:\n + C\n + Lex\n + Yacc\n#### Partially supports:\n + C++\n + Java\n + Specification and Description Language\n\n## Interface\n\t            \u003c-- Tab --\u003e\n\t  +--Version-----------------Case--+           +--------------------------------+\n\tA |+--------------+---------------+|           |+------------------------------+|\n\t| || Input Window | Result window ||           ||                              ||\n\t| |+--------------+               ||     ?     ||                              ||\n\t  || Mode  Window |               ||   ----\u003e   ||            Help              ||\n\t% ||              |               ||   \u003c----   ||                              ||\n\t  ||              |               ||    ...    ||                              ||\n\t| ||              |               ||           ||                              ||\n\t| ||              |               ||           ||                              ||\n\tV |+--------------+---------------+|           |+------------------------------+|\n\t  +---------------------Tool Tips--+           +--------------------------------+\n\n## Usacases\nCsope shines at exploring stranger and obscure code bases due to its TUI.\nIt sometimes gets mislabelled as a code navigation tool,\nbut the original documentation describes it best as a \"code browsing tool\".\nMany tools can jump you to a definition or grep for patterns,\nbut Csope is unique in that it allows for those and many other functionalities\nwhile providing you with a very comprehensible list of all results,\nready to fire up your editor at just the spot.\nAn example of its excellence is this project. The Cscope code-base used to be a total mess,\nfixing it would have been a lost cause, if not for Cscope itself.\nWell, Csope now.\n\n## Improvements/Changes\n\n## User side\n+ Renamed the program, because \"cscope\" is annoying to type\n+ Improved tui\n+ GNU Readline/History integration\n## To the code\n+ Nuked autoconf, replaced with single Makefile\n+ Reorganized the control flow\n+ Encapsulated various functionalities\n+ Removed macro hell used for compiling on a dead badgers\n+ Reduced global state hell\n+ Use stdbool instead of YES/NO macros\n+ Removed dead code\n+ ...and much more\n\n## Installation\n\n## Gentoo\nAdd [my overlay](https://bis64wqhh3louusbd45iyj76kmn4rzw5ysawyan5bkxwyzihj67c5lid.onion/anon/agvxov-overlay.git)\nand install using portage.\n\n## From source\n\nAfter you made sure you have the following installed:\n+ ncurses\n+ GNU Readline\n+ GNU History (should come with Readline)\n+ Lex (or GNU Flex)\n+ Yacc (or GNU Bison)\n\nJust run:\n```sh\nmake\n```\n\nThis will yield the executable \"csope\", which you are free to do whatever with.\n\nHint:\n```sh\ncp csope /usr/bin/\n```\n\n## Quick start\nStart browsing your project by running csope over it's source dir.\n\n```sh\ncsope -s source/\n```\n\n## Configuration\n\n### Readline\nThe readline integration should be complete -please let us know if not-, except for your prompt being used, which could easily break the TUIs display.\n\nThe `rl_readline_name` variable will be set to \"Csope\", so you may have conditional configurations in your .inputrc with the following format:\n```\n$if Csope\n\t# \u003cwhatever\u003e\n$endif\n```\n\n### Colors\nAll can be configured sucklessly under \"config/colors.h\". Hopefully the comments are self evident.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagvxov%2Fcsope","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagvxov%2Fcsope","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagvxov%2Fcsope/lists"}