Skip to content

Commit d621ab0

Browse files
committed
🚀
1 parent b06481c commit d621ab0

File tree

8 files changed

+372
-1697
lines changed

8 files changed

+372
-1697
lines changed

‎CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Change Log
22

3+
## 1.2.5
4+
- Optimize regular expressions
5+
6+
## 1.2.3
7+
- Fixed bug
8+
39
## 1.2.2
410
- Added support for [nwidart/laravel-modules](https://packagist.org/packages/nwidart/laravel-modules)
511

‎laravel-goto-view-1.2.5.vsix

157 KB
Binary file not shown.

‎package-lock.json

Lines changed: 353 additions & 1685 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "laravel-goto-view",
33
"displayName": "Laravel goto view",
44
"description": "Quick jump to view",
5-
"version": "1.2.3",
5+
"version": "1.2.5",
66
"publisher": "codingyu",
77
"engines": {
88
"vscode": "^1.19.0"
@@ -82,4 +82,4 @@
8282
"@types/node": "^6.0.40",
8383
"@types/mocha": "^2.2.32"
8484
}
85-
}
85+
}

‎src/extension.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'use strict';
22

3-
import { workspace, languages, ExtensionContext} from 'vscode';
3+
import { workspace, languages, ExtensionContext } from 'vscode';
44
import { LinkProvider } from './providers/linkProvider';
55
import { HoverProvider } from './providers/hoverProvider';
66

‎src/providers/hoverProvider.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@ import * as util from '../util';
55

66
export class HoverProvider implements vscode.HoverProvider {
77
provideHover(doc: vscode.TextDocument, pos: vscode.Position, token: vscode.CancellationToken): vscode.ProviderResult<vscode.Hover> {
8-
let reg = /(?<=view\(["']|@include\(["']).*(?=["'])/;
8+
let reg = /(?<=view\(|@include\(|@extends\(|@component\()(['"])[^'"]*\1/;
99
let config = vscode.workspace.getConfiguration('laravel_goto_view');
10-
let linkRange = doc.getWordRangeAtPosition(pos, reg);
11-
if(linkRange){
10+
let linkRange = doc.getWordRangeAtPosition(pos, reg);
11+
if (linkRange) {
1212
let filePaths = util.getFilePaths(doc.getText(linkRange), doc);
1313
let workspaceFolder = vscode.workspace.getWorkspaceFolder(doc.uri);
14-
if(filePaths.length > 0){
15-
let text:string = "";
14+
if (filePaths.length > 0) {
15+
let text: string = "";
1616
for (let i in filePaths) {
1717
text += config.folderTip ? `\`${filePaths[i].name}\`` : '';
1818
text += ` [${workspaceFolder.name + filePaths[i].showPath}](${filePaths[i].fileUri}) \r`;
@@ -21,5 +21,5 @@ export class HoverProvider implements vscode.HoverProvider {
2121
}
2222
}
2323
return;
24-
}
24+
}
2525
}

‎src/providers/linkProvider.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ export class LinkProvider implements vscode.DocumentLinkProvider {
88
let documentLinks = [];
99
let config = vscode.workspace.getConfiguration('laravel_goto_view');
1010
let index = 0;
11-
let reg = /(?<=view\(["']|@include\(["']).*(?=["'])/g;
11+
let reg = /(?<=view\(|@include\(|@extends\(|@component\()(['"])[^'"]*\1/g;
1212
if (config.quickJump) {
1313
while (index < doc.lineCount) {
1414
let line = doc.lineAt(index);
1515
let result = line.text.match(reg);
1616
if (result != null) {
1717
for (let item of result) {
1818
let file = util.getFilePath(item, doc);
19-
if(file != null){
19+
if (file != null) {
2020
let start = new vscode.Position(line.lineNumber, line.text.indexOf(item));
2121
let end = start.translate(0, item.length);
2222
let documentlink = new vscode.DocumentLink(new vscode.Range(start, end), file.fileUri);

‎src/util.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ export function getFilePaths(text: string, document: TextDocument) {
1313
let paths = scanViewPaths(document);
1414
let config = workspace.getConfiguration('laravel_goto_view');
1515
let workspaceFolder = workspace.getWorkspaceFolder(document.uri).uri.fsPath;
16+
text = text.replace(/\"|\'/g, '');
1617
let result = [];
1718
if (text.indexOf("::") != -1) {
1819
let info = text.split('::');
@@ -52,7 +53,7 @@ export function scanViewPaths(document: TextDocument) {
5253
Object.assign(folders, configFolders);
5354
let workspaceFolder = workspace.getWorkspaceFolder(document.uri).uri.fsPath;
5455
let modulePath = path.join(workspaceFolder, 'Modules');
55-
if (fs.existsSync(modulePath)){
56+
if (fs.existsSync(modulePath)) {
5657
fs.readdirSync(modulePath).forEach(element => {
5758
let file = path.join(modulePath, element);
5859
if (fs.statSync(file).isDirectory()) {

0 commit comments

Comments
 (0)