Thanks
- Thanks to Filip Haglund (@drathier) and Andrei Dziahel (@develop7) for reporting reproduction cases for map update arguments not working with
isVariable
- Thanks Gerard de Brieder (@smeevil) for testing the canary build and finding the the
do end
completion mistakenly completeddo: end
. - Andrei Dziahel (@develop7) for find a working reproduction that Go To Symbol broke when trying to display
def
in theelse
of anif
withPlug.Endpoint
. - Nima Shariatian @nimashariatian for requesting I add the delimiter auto-insertion and matching.
- Thanks to Jorg Heymans (@jorgheymans), Andrew Phillipo @aphillipo, and Filip Haglund (@drathier) on their input on the usability issues with the
doc
template and the need for@doc
.
Changelog
v4.2.0
Enhancements
-
#371 - @KronicDeth
-
BraceMatcher
- Matches the following pairs:
-
do
toend
-
fn
toend
-
"""
to"""
-
'''
to'''
-
<<
to>>
-
<
to>
-
[
to]
-
{
to}
-
(
to)
-
- Completes the following pairs:
-
[
with]
-
{
with}
-
(
with)
-
- Matches the following pairs:
-
QuoteHandler
completes standard quotes (that start with"
or'
)-
'
with'
-
"
with"
-
'''
with'''
-
"""
with"""
-
-
TypedHandler
completes the non-standard quotes and braces-
do
withend
-
fn
withend
-
<<
with
>>` -
<
with>
(for promoters) -
/
with/
(for promoters) -
|
with|
(for promoters)
-
-
Bug Fixes
-
#372 - Check parent for
isVariable(ElixirMapUpdateArguments)
- @KronicDeth -
#374 - @KronicDeth
- IntelliJ 15.0.4 is no longer available from JetBrains, so if the cache is not available, the builds don’t work, so use 15.0.6, which is available in 15.0.4’s place as the test version for 15.X.
- IntelliJ 2016.2 is no longer available from JetBrains, so if the cache is not available, the builds don’t work, so use 2016.2, which is available in 2016.1’s places at the test version for 2016.X.
-
#378 -
enclosingMacroCall
could climb out the stab after ado
, but not theelse
in anif
, which is used for defined functions conditionally inPhoenix.Endpoint.server/0
- @KronicDeth -
#380 - A lot of ppl use the doc template after already typing
@
, but the doc template starts with@
, so it ends up inserting@@doc ...
. The@doc
template is the same code, but since the name starts with@
, it doesn’t insert a second@
. Unfortunately, the template search code doesn’t prompt when just typing@
, so you end up having to type@doc
before only one template is selected. The@doc
template will show in the lookup as soon as@d
is typed, but you have to select it from the list then before tabbing to accept. - @KronicDeth -
#381 - Look at end of
do
instead of start forend
completion to stop ignoring the:
indo:
, whencaret - 3
would land on theo
, now all tests are meant to land on theo
, sodo:
won’t complete withend
incorrectly anymore. - @KronicDeth -
#382 - Ignore
ElixirVariable
inhighlightTypesAndTypeParameterUsages
- @KronicDeth
README Updates
Delimiters
Auto-inserting
The right-delimiter will be automatically inserted when the left
delimiter is typed. In some cases, to prevent false positives, the
the delimiter is only completed if when used for sigils.
Preceded By | Left | Right |
---|---|---|
do |
end |
|
fn |
end |
|
[ |
] |
|
{ |
} |
|
( |
) |
|
' |
' |
|
''' |
''' |
|
" |
" |
|
""" |
""" |
|
<< |
>> |
|
~<sigil-name> |
< |
> |
~<sigil-name> |
/ |
/ |
~<sigil-name> |
| |
| |
Matching
All delimiters that are auto-inserted are also matched for highlighting
Left | Right |
---|---|
do |
end |
fn |
end |
[ |
] |
{ |
} |
( |
) |
' |
' |
''' |
''' |
" |
" |
""" |
""" |
<< |
>> |
< |
> |
/ |
/ |
| |
| |
Installation
Inside IDE using JetBrains repository
- Preferences
- Plugins
- Browse Repositories
- Select Elixir
- Install plugin
- Apply
- Restart the IDE
Inside IDE using Github releases
In browser
- Go to releases.
- Download the lastest zip.
In IDE
- Preferences
- Plugins
- Install plugin from disk…
- Select the downloaded zip.
- Apply
- Restart the IDE.