### Configure Application Settings
Source: https://context7.com/textanalysistool/textanalysistool.github.io/llms.txt
Manage UI preferences, behavior, and encoding settings using an XML configuration file.
```xml
```
--------------------------------
### Implement ITextAnalysisToolPlugin Interface
Source: https://context7.com/textanalysistool/textanalysistool.github.io/llms.txt
Defines the interface for custom file format parsers and provides a concrete implementation for reading compressed .log.gz files.
```csharp
// ITextAnalysisToolPlugin interface implementation
// Save as TATPlugin_CustomFormat.dll in TextAnalysisTool.NET directory
using System;
using System.Collections.Generic;
using System.IO;
namespace TextAnalysisTool.NET.Plugin
{
public interface ITextAnalysisToolPlugin
{
// Return plugin name for display
string GetPluginName();
// Return plugin version
string GetPluginVersion();
// Check if this plugin can handle the given file
// Return true to claim responsibility for parsing
bool CanHandleFile(string filePath);
// Parse the file and return lines for display
// Each string in the list becomes one line in TextAnalysisTool.NET
IList ParseFile(string filePath);
// Optional: Return true if plugin has configuration dialog
bool HasConfigurationDialog();
// Optional: Show configuration dialog
void ShowConfigurationDialog();
}
// Example: Plugin for compressed log files
public class CompressedLogPlugin : ITextAnalysisToolPlugin
{
public string GetPluginName() => "Compressed Log Reader";
public string GetPluginVersion() => "1.0.0";
public bool CanHandleFile(string filePath)
{
return filePath.EndsWith(".log.gz", StringComparison.OrdinalIgnoreCase);
}
public IList ParseFile(string filePath)
{
var lines = new List();
using (var fileStream = File.OpenRead(filePath))
using (var gzipStream = new System.IO.Compression.GZipStream(
fileStream, System.IO.Compression.CompressionMode.Decompress))
using (var reader = new StreamReader(gzipStream))
{
string line;
while ((line = reader.ReadLine()) != null)
{
lines.Add(line);
}
}
return lines;
}
public bool HasConfigurationDialog() => false;
public void ShowConfigurationDialog() { }
}
}
```
--------------------------------
### Execute Command-Line Operations
Source: https://context7.com/textanalysistool/textanalysistool.github.io/llms.txt
Automate file loading, filter application, and navigation using command-line arguments.
```bash
# Basic file opening
TextAnalysisTool.NET.exe C:\Logs\application.log
# Open file with pre-configured filters
TextAnalysisTool.NET.exe C:\Logs\application.log /Filters:"C:\Filters\ErrorFilters.tat"
# Open file and jump to specific line
TextAnalysisTool.NET.exe C:\Logs\application.log /Line:1500
# Load with configuration file
TextAnalysisTool.NET.exe C:\Logs\application.log /Config:"C:\Configs\MySettings.xml"
# Load multiple filter files (filters are appended)
TextAnalysisTool.NET.exe C:\Logs\application.log /Filters:"ErrorFilters.tat" /Filters:"WarningFilters.tat"
# Load text from clipboard instead of file
TextAnalysisTool.NET.exe /Clipboard
# Combined usage - file, filters, config, and starting line
TextAnalysisTool.NET.exe C:\Logs\debug.log /Filters:"debug.tat" /Config:"analysis.xml" /Line:500
```
--------------------------------
### Define Filter Configurations
Source: https://context7.com/textanalysistool/textanalysistool.github.io/llms.txt
Create XML-based .tat files to define substring, regex, exclusion, and marker filters with custom colors.
```xml
ERROR
Error messages
\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}
Timestamp patterns
DEBUG: Heartbeat
Hide heartbeat noise
1
Marked important lines
false
```
--------------------------------
### Common Regular Expression Patterns
Source: https://context7.com/textanalysistool/textanalysistool.github.io/llms.txt
A collection of .NET regular expression patterns for matching log data, timestamps, and common file formats.
```text
# Common log analysis patterns
# Match ISO timestamps
\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}
# Match log levels (case insensitive - enable in filter dialog)
(ERROR|WARN|INFO|DEBUG|TRACE)
# Match exception stack traces
^\s+at\s+[\w\.]+\(.*\)
# Match IP addresses
\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b
# Match HTTP status codes
HTTP/\d\.\d"\s+(4\d{2}|5\d{2})
# Match GUIDs
[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}
# Match duration/elapsed time patterns
(took|elapsed|duration)[:\s]+\d+(\.\d+)?\s*(ms|sec|s|milliseconds|seconds)
# Match memory sizes
\d+(\.\d+)?\s*(KB|MB|GB|bytes)
# Match SQL queries
(SELECT|INSERT|UPDATE|DELETE|FROM|WHERE|JOIN)\s+
# Match JSON-like key-value pairs
"\w+":\s*("[^"]*"|\d+|true|false|null)
# Match thread IDs in brackets
\[Thread[:\s]*\d+\]
# Match file paths (Windows)
[A-Za-z]:\\[\w\\\.]+
# Match URLs
https?://[\w\-\.]+(/[\w\-\./?%&=]*)?
```
=== COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.