<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/xhtml; charset=utf-8">
</head>
<body>
<div style="font-family:sans-serif"><div style="white-space:normal">
<p dir="auto">On 10 Jul 2016, at 13:53, Louis Abraham wrote:</p>

<p dir="auto"></p></div>
<div style="white-space:pre-wrap"><blockquote style="border-left:2px solid #777; color:#777; margin:0 0 5px; padding-left:5px"><div dir="auto">If I type :
</div><div dir="auto">(define ab-cd€ 23)
</div><div dir="auto">ab
</div><div dir="auto">And press [esc], then the whole name appears. Nevertheless, if I try with ab-, then the completion doesn't trigger. So far I experienced, I works only after alphanumeric characters.
</div><div dir="auto">
</div><div dir="auto">Thus, there are two strange behaviours :
</div><div dir="auto">
</div><div dir="auto">1. The entity scopes don't seem to affect autocompletion. Then, what is the recommended manner to solve my main issue ? Can I capture the function name in both selectors (entity and variable) ?
</div></blockquote></div>
<div style="white-space:normal">

<p dir="auto">What you can do is set a characterClass for the entity scope.</p>

<p dir="auto">For example in the bundle editor create a new settings item and make the scope selector be <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7">entity.name.function.scheme</code> and the actual value something like: <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7">{ characterClass = 'variable'; }</code>.</p>

<p dir="auto">Now TextMate will treat all contiguous characters matched as <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7">entity.name.function.scheme</code> as a single word for the purpose of word selection, completion, etc.</p>

<p dir="auto"></p></div>
<div style="white-space:pre-wrap"><blockquote style="border-left:2px solid #777; color:#777; margin:0 0 5px; padding-left:5px"><div dir="auto">2. Why can't the autocompletion be triggered after a non alphanumeric character ?
</div></blockquote></div>
<div style="white-space:normal">

<p dir="auto">This is because TextMate only completes “words”, however, as you can define what constitute a word, you can include the dash.</p>

<p dir="auto">For example if you do the above setting then escape will complete <em>if</em> the dash is used in a place where it is matched as <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7">entity.name.function.scheme</code>.</p>

<p dir="auto">There is also the ability to simply make the dash a word character for the <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7">source.scheme</code> scope, this would also be done by a bundle setting but one that is scoped to <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7">source.scheme</code> and contains <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7">{ wordCharacters = '-'; }</code>.</p>
</div>
</div>
</body>
</html>