# Completion for Fish shell for \`guile\` command

**URL:** <https://forum.systemcrafters.net/t/completion-for-fish-shell-for-guile-command/1063>\
**Category:** General\
**Tags:** guile\
**Created:** [October 20, 2024, 3:06pm UTC](https://forum.systemcrafters.net/t/completion-for-fish-shell-for-guile-command/1063 "2024-10-20T15:06:44Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![EmilyGraceSeville7cf](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/emilygraceseville7cf/32/1182_2.png) [@EmilyGraceSeville7cf](https://forum.systemcrafters.net/u/EmilyGraceSeville7cf)\
**Post date:** [October 20, 2024, 3:06pm UTC](https://forum.systemcrafters.net/t/completion-for-fish-shell-for-guile-command/1063/1 "2024-10-20T15:06:44Z")

</div>

Hi! I wonder to implement a perfect completion for `guile`. However, I have no idea how for instance to extract all functions defined in a file for `-e` option. What I had come up with were regular expressions (working just for Scheme code currently). Although I am not sure whether it’s a good solution because there are other languages beside Scheme are supported as it seems (`--language={{value}}` option). Is there a universal way to get all the possible functions?

> <https://github.com/fish-shell/fish-shell/pull/10792>
>
> \## Description
> 
> \- Add completions for: \[\`guile\`\](https://www.gnu.org/software/…guile/manual/html\_node/Command\_002dline-Options.html)
> 
> \## Notes
> 
> I have no clue how to extract all function names from the current file purely from Scheme code, that's why for now I use \[regular expressions\](https://github.com/fish-shell/fish-shell/pull/10792/files#diff-8bc0c9a2375d402b31006ee4100d542f6b5779d0ad50354b5ba924ce284af3f4R49) to find function names.
> 
> \## TODOs:
> 
> \- \[\] Changes to fish usage are reflected in user documentation/manpages.
> \- \[\] Tests have been added for regressions fixed
> \- \[\] User-visible changes noted in CHANGELOG.rst
