Skip to content

Commit

Permalink
Merge pull request #1817 from pchaigno/fix-fs-heuristic
Browse files Browse the repository at this point in the history
Fix .fs heuristic
  • Loading branch information
arfon committed Dec 3, 2014
2 parents f1282b8 + 351e348 commit 6ae4aa5
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 2 deletions.
4 changes: 2 additions & 2 deletions lib/linguist/heuristics.rb
Original file line number Diff line number Diff line change
Expand Up @@ -137,9 +137,9 @@ def call(data)
disambiguate "F#", "Forth", "GLSL" do |data|
if /^(: |new-device)/.match(data)
Language["Forth"]
elsif /^(#light|import|let|module|namespace|open|type)/.match(data)
elsif /^\s*(#light|import|let|module|namespace|open|type)/.match(data)
Language["F#"]
elsif /^(#include|#pragma|precision|uniform|varying|void)/.match(data)
elsif /^\s*(#include|#pragma|precision|uniform|varying|void)/.match(data)
Language["GLSL"]
end
end
Expand Down
49 changes: 49 additions & 0 deletions samples/F#/Combinators.fs
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
namespace Nessos.FsPickler.Combinators

open Nessos.FsPickler
open Nessos.FsPickler.Json

/// Json pickling methods
[<RequireQualifiedAccess>]
module Json =

let private jsonSerializer = lazy(FsPickler.CreateJson(omitHeader = true))

/// <summary>
/// Pickles a value to Json.
/// </summary>
/// <param name="pickler">utilized pickler.</param>
/// <param name="value">input value.</param>
let pickle (pickler : Pickler<'T>) (value : 'T) : string =
jsonSerializer.Value.PickleToString (pickler, value)

/// <summary>
/// Unpickles a value from Json.
/// </summary>
/// <param name="pickler">utilized pickler.</param>
/// <param name="pickle">input pickle.</param>
let unpickle (pickler : Pickler<'T>) (pickle : string) : 'T =
jsonSerializer.Value.UnPickleOfString (pickler, pickle)


/// Bson pickling methods
[<RequireQualifiedAccess>]
module Bson =

let private bsonPickler = lazy(FsPickler.CreateBson())

/// <summary>
/// Pickles a value to Bson.
/// </summary>
/// <param name="pickler">utilized pickler.</param>
/// <param name="value">input value.</param>
let pickle (pickler : Pickler<'T>) (value : 'T) : byte [] =
bsonPickler.Value.Pickle (pickler, value)

/// <summary>
/// Unpickles a value from bson.
/// </summary>
/// <param name="pickler">utilized pickler.</param>
/// <param name="pickle">input pickle.</param>
let unpickle (pickler : Pickler<'T>) (pickle : byte []) : 'T =
bsonPickler.Value.UnPickle (pickler, pickle)

0 comments on commit 6ae4aa5

Please sign in to comment.