Skip to content

Commit fcb413a

Browse files
committed
Initial source commit.
1 parent 1bd90a7 commit fcb413a

24 files changed

+1215
-0
lines changed

.gitignore

Lines changed: 263 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,263 @@
1+
## Ignore Visual Studio temporary files, build results, and
2+
## files generated by popular Visual Studio add-ons.
3+
4+
# User-specific files
5+
*.suo
6+
*.user
7+
*.userosscache
8+
*.sln.docstates
9+
10+
# User-specific files (MonoDevelop/Xamarin Studio)
11+
*.userprefs
12+
13+
# Build results
14+
[Dd]ebug/
15+
[Dd]ebugPublic/
16+
[Rr]elease/
17+
[Rr]eleases/
18+
x64/
19+
x86/
20+
bld/
21+
[Bb]in/
22+
[Oo]bj/
23+
[Ll]og/
24+
25+
# Visual Studio 2015 cache/options directory
26+
.vs/
27+
# Uncomment if you have tasks that create the project's static files in wwwroot
28+
#wwwroot/
29+
30+
# MSTest test Results
31+
[Tt]est[Rr]esult*/
32+
[Bb]uild[Ll]og.*
33+
34+
# NUNIT
35+
*.VisualState.xml
36+
TestResult.xml
37+
38+
# Build Results of an ATL Project
39+
[Dd]ebugPS/
40+
[Rr]eleasePS/
41+
dlldata.c
42+
43+
# DNX
44+
project.lock.json
45+
project.fragment.lock.json
46+
artifacts/
47+
48+
*_i.c
49+
*_p.c
50+
*_i.h
51+
*.ilk
52+
*.meta
53+
*.obj
54+
*.pch
55+
*.pdb
56+
*.pgc
57+
*.pgd
58+
*.rsp
59+
*.sbr
60+
*.tlb
61+
*.tli
62+
*.tlh
63+
*.tmp
64+
*.tmp_proj
65+
*.log
66+
*.vspscc
67+
*.vssscc
68+
.builds
69+
*.pidb
70+
*.svclog
71+
*.scc
72+
73+
# Chutzpah Test files
74+
_Chutzpah*
75+
76+
# Visual C++ cache files
77+
ipch/
78+
*.aps
79+
*.ncb
80+
*.opendb
81+
*.opensdf
82+
*.sdf
83+
*.cachefile
84+
*.VC.db
85+
*.VC.VC.opendb
86+
87+
# Visual Studio profiler
88+
*.psess
89+
*.vsp
90+
*.vspx
91+
*.sap
92+
93+
# TFS 2012 Local Workspace
94+
$tf/
95+
96+
# Guidance Automation Toolkit
97+
*.gpState
98+
99+
# ReSharper is a .NET coding add-in
100+
_ReSharper*/
101+
*.[Rr]e[Ss]harper
102+
*.DotSettings.user
103+
104+
# JustCode is a .NET coding add-in
105+
.JustCode
106+
107+
# TeamCity is a build add-in
108+
_TeamCity*
109+
110+
# DotCover is a Code Coverage Tool
111+
*.dotCover
112+
113+
# NCrunch
114+
_NCrunch_*
115+
.*crunch*.local.xml
116+
nCrunchTemp_*
117+
118+
# MightyMoose
119+
*.mm.*
120+
AutoTest.Net/
121+
122+
# Web workbench (sass)
123+
.sass-cache/
124+
125+
# Installshield output folder
126+
[Ee]xpress/
127+
128+
# DocProject is a documentation generator add-in
129+
DocProject/buildhelp/
130+
DocProject/Help/*.HxT
131+
DocProject/Help/*.HxC
132+
DocProject/Help/*.hhc
133+
DocProject/Help/*.hhk
134+
DocProject/Help/*.hhp
135+
DocProject/Help/Html2
136+
DocProject/Help/html
137+
138+
# Click-Once directory
139+
publish/
140+
141+
# Publish Web Output
142+
*.[Pp]ublish.xml
143+
*.azurePubxml
144+
# TODO: Comment the next line if you want to checkin your web deploy settings
145+
# but database connection strings (with potential passwords) will be unencrypted
146+
#*.pubxml
147+
*.publishproj
148+
149+
# Microsoft Azure Web App publish settings. Comment the next line if you want to
150+
# checkin your Azure Web App publish settings, but sensitive information contained
151+
# in these scripts will be unencrypted
152+
PublishScripts/
153+
154+
# NuGet Packages
155+
*.nupkg
156+
# The packages folder can be ignored because of Package Restore
157+
**/packages/*
158+
# except build/, which is used as an MSBuild target.
159+
!**/packages/build/
160+
# Uncomment if necessary however generally it will be regenerated when needed
161+
#!**/packages/repositories.config
162+
# NuGet v3's project.json files produces more ignoreable files
163+
*.nuget.props
164+
*.nuget.targets
165+
166+
# Microsoft Azure Build Output
167+
csx/
168+
*.build.csdef
169+
170+
# Microsoft Azure Emulator
171+
ecf/
172+
rcf/
173+
174+
# Windows Store app package directories and files
175+
AppPackages/
176+
BundleArtifacts/
177+
Package.StoreAssociation.xml
178+
_pkginfo.txt
179+
180+
# Visual Studio cache files
181+
# files ending in .cache can be ignored
182+
*.[Cc]ache
183+
# but keep track of directories ending in .cache
184+
!*.[Cc]ache/
185+
186+
# Others
187+
ClientBin/
188+
~$*
189+
*~
190+
*.dbmdl
191+
*.dbproj.schemaview
192+
*.jfm
193+
*.pfx
194+
*.publishsettings
195+
node_modules/
196+
orleans.codegen.cs
197+
198+
# Since there are multiple workflows, uncomment next line to ignore bower_components
199+
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
200+
#bower_components/
201+
202+
# RIA/Silverlight projects
203+
Generated_Code/
204+
205+
# Backup & report files from converting an old project file
206+
# to a newer Visual Studio version. Backup files are not needed,
207+
# because we have git ;-)
208+
_UpgradeReport_Files/
209+
Backup*/
210+
UpgradeLog*.XML
211+
UpgradeLog*.htm
212+
213+
# SQL Server files
214+
*.mdf
215+
*.ldf
216+
217+
# Business Intelligence projects
218+
*.rdl.data
219+
*.bim.layout
220+
*.bim_*.settings
221+
222+
# Microsoft Fakes
223+
FakesAssemblies/
224+
225+
# GhostDoc plugin setting file
226+
*.GhostDoc.xml
227+
228+
# Node.js Tools for Visual Studio
229+
.ntvs_analysis.dat
230+
231+
# Visual Studio 6 build log
232+
*.plg
233+
234+
# Visual Studio 6 workspace options file
235+
*.opt
236+
237+
# Visual Studio LightSwitch build output
238+
**/*.HTMLClient/GeneratedArtifacts
239+
**/*.DesktopClient/GeneratedArtifacts
240+
**/*.DesktopClient/ModelManifest.xml
241+
**/*.Server/GeneratedArtifacts
242+
**/*.Server/ModelManifest.xml
243+
_Pvt_Extensions
244+
245+
# Paket dependency manager
246+
.paket/paket.exe
247+
paket-files/
248+
249+
# FAKE - F# Make
250+
.fake/
251+
252+
# JetBrains Rider
253+
.idea/
254+
*.sln.iml
255+
256+
# CodeRush
257+
.cr/
258+
259+
# Python Tools for Visual Studio (PTVS)
260+
__pycache__/
261+
*.pyc
262+
263+
*-local.json

Directory.Build.props

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<Project>
2+
<PropertyGroup>
3+
4+
<ImplicitUsings>disable</ImplicitUsings>
5+
<Nullable>enable</Nullable>
6+
<SatelliteResourceLanguages>en</SatelliteResourceLanguages>
7+
8+
<Authors>FizzCode Ltd.</Authors>
9+
<Company>FizzCode Ltd.</Company>
10+
<Copyright>Copyright © 2024 FizzCode Ltd.</Copyright>
11+
<Product>FizzCode PBI Fizz Tool</Product>
12+
<RepositoryUrl>https://github.com/FizzCodeSoftware/PBIFizz</RepositoryUrl>
13+
14+
<UseArtifactsOutput>true</UseArtifactsOutput>
15+
16+
</PropertyGroup>
17+
</Project>

PBIFizz.Tests/PBIFizz.Tests.csproj

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFramework>net8.0</TargetFramework>
5+
<ImplicitUsings>enable</ImplicitUsings>
6+
<Nullable>enable</Nullable>
7+
8+
<IsPackable>false</IsPackable>
9+
<IsTestProject>true</IsTestProject>
10+
</PropertyGroup>
11+
12+
<ItemGroup>
13+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.6.0" />
14+
<PackageReference Include="MSTest.TestAdapter" Version="3.0.4" />
15+
<PackageReference Include="MSTest.TestFramework" Version="3.0.4" />
16+
<PackageReference Include="coverlet.collector" Version="6.0.0" />
17+
</ItemGroup>
18+
19+
<ItemGroup>
20+
<ProjectReference Include="..\PBIFizz\PBIFizz.csproj" />
21+
</ItemGroup>
22+
23+
</Project>
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
using Microsoft.VisualStudio.TestTools.UnitTesting;
2+
3+
namespace FizzCode.PBIFizz.Tests
4+
{
5+
[TestClass]
6+
public class FileNameEscaperTests
7+
{
8+
[TestMethod]
9+
public void EscapeTest()
10+
{
11+
Assert.AreEqual("_95_", FileNameEscaper.Escape("_"));
12+
Assert.AreEqual("_47_", FileNameEscaper.Escape("/"));
13+
Assert.AreEqual("_92_", FileNameEscaper.Escape("\\"));
14+
}
15+
16+
[TestMethod]
17+
public void UnescapeTest()
18+
{
19+
20+
FileNameEscaper.Escape("Test_Underscore");
21+
22+
Assert.AreEqual("Test_Underscore/Slash",
23+
FileNameEscaper.Unescape(
24+
FileNameEscaper.Escape("Test_Underscore/Slash")
25+
)
26+
);
27+
}
28+
}
29+
}

PBIFizz.sln

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
2+
Microsoft Visual Studio Solution File, Format Version 12.00
3+
# Visual Studio Version 17
4+
VisualStudioVersion = 17.8.34525.116
5+
MinimumVisualStudioVersion = 10.0.40219.1
6+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PBIFizz", "PBIFizz\PBIFizz.csproj", "{CDE581A8-4D0D-4010-BF65-EAB986A163D8}"
7+
EndProject
8+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PBIFizz.Tests", "PBIFizz.Tests\PBIFizz.Tests.csproj", "{9BBF8644-39B6-402D-A9AF-8C3F05544DAD}"
9+
EndProject
10+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Global", "Global", "{085BD897-016E-4C8C-A357-14052CAF0AEE}"
11+
ProjectSection(SolutionItems) = preProject
12+
.gitignore = .gitignore
13+
Directory.Build.props = Directory.Build.props
14+
LICENSE = LICENSE
15+
README.md = README.md
16+
EndProjectSection
17+
EndProject
18+
Global
19+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
20+
Debug|Any CPU = Debug|Any CPU
21+
Release|Any CPU = Release|Any CPU
22+
EndGlobalSection
23+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
24+
{CDE581A8-4D0D-4010-BF65-EAB986A163D8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
25+
{CDE581A8-4D0D-4010-BF65-EAB986A163D8}.Debug|Any CPU.Build.0 = Debug|Any CPU
26+
{CDE581A8-4D0D-4010-BF65-EAB986A163D8}.Release|Any CPU.ActiveCfg = Release|Any CPU
27+
{CDE581A8-4D0D-4010-BF65-EAB986A163D8}.Release|Any CPU.Build.0 = Release|Any CPU
28+
{9BBF8644-39B6-402D-A9AF-8C3F05544DAD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
29+
{9BBF8644-39B6-402D-A9AF-8C3F05544DAD}.Debug|Any CPU.Build.0 = Debug|Any CPU
30+
{9BBF8644-39B6-402D-A9AF-8C3F05544DAD}.Release|Any CPU.ActiveCfg = Release|Any CPU
31+
{9BBF8644-39B6-402D-A9AF-8C3F05544DAD}.Release|Any CPU.Build.0 = Release|Any CPU
32+
EndGlobalSection
33+
GlobalSection(SolutionProperties) = preSolution
34+
HideSolutionNode = FALSE
35+
EndGlobalSection
36+
GlobalSection(ExtensibilityGlobals) = postSolution
37+
SolutionGuid = {1F4D78C6-514F-4E9B-8981-E458932C9F45}
38+
EndGlobalSection
39+
EndGlobal
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
namespace FizzCode.PBIFizz;
2+
3+
public class AppCommandState
4+
{
5+
public string ActiveWatcher { get; set; } = "";
6+
public Dictionary<string, PbiFizz> RunningWatchers { get; set; } = [];
7+
}

0 commit comments

Comments
 (0)