More specifically, this is defined in /usr/share/bash-completion/completions/make and includes a second function `_make_target_extract_script` that does a lot of the work.
-Kevin > On Sep 11, 2014, at 3:00 PM, Kevin Ballard <ke...@sb.org> wrote: > > It appears bash uses a function called `_make` to do it. `type _make` will > print out its definition. > > -Kevin > >> On Sep 11, 2014, at 2:49 PM, Mandeep Sandhu <mandeepsandhu....@gmail.com> >> wrote: >> >> Thanks for the info. >> >> I'm using fish under Ubuntu. Bash on Ubuntu does completion of make >> targets from the included *.make files. I'll look into how they do it >> and update the fish one if I can. >> >> -mandeep >> >> On Thu, Sep 11, 2014 at 2:05 PM, Kevin Ballard <ke...@sb.org> wrote: >>> __fish_print_make_targets is a fishscript function defined in the standard >>> functions dir $__fish_datadir/functions. In the Fish source, this is the >>> folder share/functions. The current implementation is just a grep over the >>> first file from the list [GNUmakefile, Makefile, makefile]. >>> >>> Also, what do you mean by "bash does this"? The stock Bash >>> 3.2.51(1)-release included on OS X does not have completion for make. Did >>> you install a set of bash completions? In any case, you could look at how >>> the bash completion works and update the Fish implementation for the same >>> functionality, and then submit a pull request. >>> >>> -Kevin >>> >>>> On Sep 10, 2014, at 12:02 PM, Mandeep Sandhu <mandeepsandhu....@gmail.com> >>>> wrote: >>>> >>>> Hi All, >>>> >>>> I was working on a project which was using makefiles for building a >>>> bunch of stuff. >>>> >>>> This Makefile "includes" a lot of other *.make files from other >>>> sub-projects in order to build them. >>>> >>>> However, I see thast fish can only do completions for the current >>>> Makefile targets and doesn't seem to go into the sub-project's *.make >>>> files to suggest targets (bash does this). >>>> >>>> Is this something that that's possible? >>>> >>>> The current fish completion uses '__fish_print_make_targets' to get >>>> the targets. I guess this only looks at Makefile in the current dir? >>>> >>>> Is this already done in some fish release? Or should I work on adding it? >>>> >>>> Thanks, >>>> -mandeep >>>> >>>> ------------------------------------------------------------------------------ >>>> Want excitement? >>>> Manually upgrade your production database. >>>> When you want reliability, choose Perforce >>>> Perforce version control. Predictably reliable. >>>> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk >>>> _______________________________________________ >>>> Fish-users mailing list >>>> Fish-users@lists.sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/fish-users >>> > > ------------------------------------------------------------------------------ > Want excitement? > Manually upgrade your production database. > When you want reliability, choose Perforce > Perforce version control. Predictably reliable. > http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk_______________________________________________ > Fish-users mailing list > Fish-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/fish-users
smime.p7s
Description: S/MIME cryptographic signature
------------------------------------------------------------------------------ Want excitement? Manually upgrade your production database. When you want reliability, choose Perforce Perforce version control. Predictably reliable. http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
_______________________________________________ Fish-users mailing list Fish-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/fish-users