mirror of
https://github.com/Dvorinka/Devour.git
synced 2026-06-04 04:23:02 +00:00
i dont like commits
This commit is contained in:
@@ -82,8 +82,12 @@ func (p *GoPlugin) AnalyzeFile(ctx context.Context, path string, config *quality
|
||||
analysis := &plugins.FileAnalysis{
|
||||
Path: path,
|
||||
Package: node.Name.Name,
|
||||
LOC: countLOC(path),
|
||||
}
|
||||
loc, err := countLOC(path)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("count loc for %s: %w", path, err)
|
||||
}
|
||||
analysis.LOC = loc
|
||||
|
||||
analysis.Imports = p.extractImports(node, fset)
|
||||
analysis.Functions = p.extractFunctions(node, path, fset)
|
||||
@@ -349,16 +353,24 @@ func (p *GoPlugin) LoadTypesInfo(ctx context.Context, path string) (*types.Info,
|
||||
return pkgs[0].TypesInfo, pkgs[0].Fset, nil
|
||||
}
|
||||
|
||||
func countLOC(path string) int {
|
||||
func countLOC(path string) (int, error) {
|
||||
data, err := os.ReadFile(path)
|
||||
if err != nil {
|
||||
return 0
|
||||
return 0, fmt.Errorf("read file for loc %q: %w", path, err)
|
||||
}
|
||||
return strings.Count(string(data), "\n") + 1
|
||||
return strings.Count(string(data), "\n") + 1, nil
|
||||
}
|
||||
|
||||
var pluginRegistrationErr error
|
||||
|
||||
// RegistrationError returns a plugin registration error captured during init, if any.
|
||||
func RegistrationError() error {
|
||||
return pluginRegistrationErr
|
||||
}
|
||||
|
||||
func init() {
|
||||
if err := plugins.Register(New()); err != nil {
|
||||
panic(fmt.Sprintf("failed to register go plugin: %v", err))
|
||||
pluginRegistrationErr = fmt.Errorf("register go quality plugin: %w", err)
|
||||
_, _ = fmt.Fprintf(os.Stderr, "warning: %v\n", pluginRegistrationErr)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user