abudden avatar abudden committed def54a6

Store names of loaded types files in buffer-local variable for future reference (fixes #56).

Comments (0)

Files changed (2)


 		if load
-			let libraries_to_load += library['TypesFileFullPaths']
+			for full_path in library['TypesFileFullPaths']
+				let libraries_to_load += 
+							\ [{
+							\     'Name': library['LibraryName'],
+							\     'Filename': fnamemodify(full_path, ':t'),
+							\     'Path': full_path,
+							\ }]
+			endfor
 			"echomsg "No match:" . library['LibraryName']


 	for group in g:TagHighlightPrivate['AllTypes']
 		exe 'syn clear' group
+	let b:TagHighlightLoadedLibraries = []
 	let type_files = TagHighlight#ReadTypes#FindTypeFiles(a:suffix)
 	for fname in type_files
 		exe 'so' fname
+		let b:TagHighlightLoadedLibraries +=
+					\ [{
+					\     'Name': 'Local',
+					\     'Filename': fnamemodify(fname, ':t'),
+					\     'Path': fnamemodify(fname, ':p'),
+					\ }]
 	" Now load any libraries that are relevant
 	let library_files = TagHighlight#Libraries#FindLibraryFiles(a:suffix)
-	for fname in library_files
-		exe 'so' fname
+	for lib in library_files
+		exe 'so' lib['Path']
+		let b:TagHighlightLoadedLibraries += [lib]
 	" Handle any special cases
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.