I don't have a 'make' file under
/usr/share/bash-completion/completions/ but under
/etc/bash_completion.d/make (maybe a linux/debian thing).

I'll look into this file.



On Thu, Sep 11, 2014 at 3:02 PM, Kevin Ballard <ke...@sb.org> wrote:
> 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
>

------------------------------------------------------------------------------
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

Reply via email to