Skip to content

Commit 7c8f1eb

Browse files
Support of type tree rebuild in files with custom extensions.
1 parent 581a7b0 commit 7c8f1eb

File tree

3 files changed

+19
-10
lines changed

3 files changed

+19
-10
lines changed

snippets/VS2010/Nemerle.Compiler.Utils/Nemerle.Completion2/Engine/Engine-main.n

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,11 @@ namespace Nemerle.Completion2
4444
UnsubscribeSourceChangedHandler(fileIndex);
4545
}
4646

47+
public IsExtensionRegistered(fileExtension : string) : bool
48+
{
49+
Parser.IsExtensionRegistered(fileExtension)
50+
}
51+
4752
public Close() : void
4853
{
4954
AsyncWorker.AddWork(AsyncRequest(AsyncRequestType.CloseProject, this, null, _ => ()));

snippets/VS2010/Nemerle.Compiler.Utils/Nemerle.Completion2/Engine/IEngine.n

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ namespace Nemerle.Completion2
5353
SetTextCursorLocation(fileIndex : int, line : int, col : int) : void;
5454
OnIdle() : void;
5555

56+
IsExtensionRegistered(fileExtension : string) : bool;
57+
5658
NotifySourceChanged(source : ISource) : void;
5759
NotifySourceDeleted(fileIndex : int) : void;
5860
}

snippets/VS2010/Nemerle.VisualStudio/LanguageService/TextEditor/NemerleTextViewCreationListener.cs

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,24 +18,26 @@
1818
namespace Nemerle.VisualStudio.LanguageService.TextEditor
1919
{
2020
[Export(typeof(IVsTextViewCreationListener))]
21-
[ContentType("code")]
21+
[ContentType("text")]
2222
[TextViewRole(PredefinedTextViewRoles.Document)]
2323
class NemerleTextViewCreationListener : IVsTextViewCreationListener
2424
{
25-
[Import]
26-
private IEditorOperationsFactoryService editorOperationsFactoryService { get; set; }
25+
[Import]
26+
private IEditorOperationsFactoryService editorOperationsFactoryService { get; set; }
2727
[Import]
2828
private IVsEditorAdaptersFactoryService editorAdaptersFactoryService { get; set; }
2929

3030
ProjectInfo GetProjectInfo(string filePath)
3131
{
32-
var ext = Path.GetExtension(filePath);
33-
34-
// TODO: FIXME: VladD2: We must check extension by compiler plagin engine!
35-
if (!Utils.Eq(ext, ".cs"))
36-
return null;
37-
38-
return ProjectInfo.FindProject(filePath);
32+
var projectInfo = ProjectInfo.FindProject(filePath);
33+
if (null != projectInfo)
34+
{
35+
var ext = Path.GetExtension(filePath);
36+
var engine = projectInfo.Engine;
37+
if (!engine.IsExtensionRegistered(ext))
38+
return null;
39+
}
40+
return projectInfo;
3941
}
4042

4143
#region IVsTextViewCreationListener Members

0 commit comments

Comments
 (0)